浏览代码

系统收费

zouxuan 4 年之前
父节点
当前提交
aeb75da5a6

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentService.java

@@ -66,4 +66,9 @@ public interface StudentService extends BaseService<Integer, Student> {
      * @return
      */
     CooperationOrgan getStudentEduTeacher(Integer userId);
+
+    /**
+     * 更新学员会员信息
+     */
+    void updateMemberRank(Integer userId,Integer rankSettingId);
 }

+ 1 - 19
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java

@@ -230,26 +230,8 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
 
 		// 支付成功
 		if (studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS) {
-
 			// 添加会员有效时长
-			Student student = studentService.get(userId);
-			if (student == null) {
-				throw new BizException("学员信息不存在");
-			}
-
-			student.setMemberRankSettingId(Integer.parseInt(studentPaymentOrder.getMusicGroupId()));
-			if (student.getMemberRankSettingId() == null) {
-				student.setMembershipEndTime(DateUtil.addMonths(nowDate, 6));
-				student.setMembershipStartTime(nowDate);
-			} else {
-				if (nowDate.after(student.getMembershipEndTime())) {
-					student.setMembershipEndTime(DateUtil.addMonths(nowDate, 6));
-				} else {
-					student.setMembershipEndTime(DateUtil.addMonths(student.getMembershipEndTime(), 6));
-				}
-			}
-			student.setUpdateTime(nowDate);
-			studentService.update(student);
+			studentService.updateMemberRank(userId,Integer.parseInt(studentPaymentOrder.getMusicGroupId()));
 
 			// 插入交易明细
 			BigDecimal amount = studentPaymentOrder.getActualAmount();

+ 17 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java

@@ -17,6 +17,7 @@ import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
 import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
 import com.ym.mec.biz.dal.page.ArrearageStudentsQueryInfo;
 import com.ym.mec.biz.event.source.GroupEventSource;
+import com.ym.mec.biz.service.*;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
@@ -31,10 +32,6 @@ import com.ym.mec.biz.dal.dto.SimpleUserDto;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
-import com.ym.mec.biz.service.MusicGroupPaymentCalenderDetailService;
-import com.ym.mec.biz.service.MusicGroupPaymentCalenderService;
-import com.ym.mec.biz.service.SysConfigService;
-import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
@@ -69,6 +66,8 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 	private SysMessageService sysMessageService;
 	@Autowired
 	private GroupEventSource groupEventSource;
+	@Autowired
+	private StudentService studentService;
 
 	@Override
 	public BaseDAO<Long, MusicGroupPaymentCalenderDetail> getDAO() {
@@ -97,7 +96,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 //		}
 		//为了解决学员欠费数量的问题,只要学员没有缴费就可以修改金额
 		Set<Integer> studentIds = new HashSet<>();
-				calenderDetails.forEach(e->{
+		calenderDetails.forEach(e->{
 			if(e.getPaymentStatus() == null || e.getPaymentStatus() != NON_PAYMENT){
 				throw new BizException("修改失败:缴费状态不匹配");
 			}
@@ -108,6 +107,10 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 					studentIds.add(e.getUserId());
 				}
 			}else {
+				// 添加会员有效时长
+				if(calender.getMemberRankSettingId() != null){
+					studentService.updateMemberRank(e.getUserId(),calender.getMemberRankSettingId());
+				}
 				calender.setActualNum((calender.getActualNum()==null?0:calender.getActualNum()) + 1);
 				e.setPaymentStatus(PAID_COMPLETED);
 				if(calender.getPaymentType() == MusicGroupPaymentCalender.PaymentType.ADD_STUDENT){
@@ -251,6 +254,10 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		musicGroupPaymentCalenderDetail.setCreateTime(date);
 		musicGroupPaymentCalenderDetail.setExpectAmount(totalPrice);
 		if (musicGroupPaymentCalenderDetail.getExpectAmount().compareTo(totalPrice) == 0) {
+			// 添加会员有效时长
+			if(calender.getMemberRankSettingId() != null){
+				studentService.updateMemberRank(userId,calender.getMemberRankSettingId());
+			}
 			musicGroupPaymentCalenderDetail.setPaymentStatus(MusicGroupStudentFee.PaymentStatus.PAID_COMPLETED);
 		} else {
 			musicGroupPaymentCalenderDetail.setPaymentStatus(MusicGroupStudentFee.PaymentStatus.NON_PAYMENT);
@@ -261,7 +268,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		musicGroupPaymentCalenderDetail.setDeadlinePaymentDate(calender.getDeadlinePaymentDate());
 		musicGroupPaymentCalenderDetail.setResponsibleUserId(calender.getOperator());
 		musicGroupPaymentCalenderDetailDao.insert(musicGroupPaymentCalenderDetail);
-		
+
 		List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetailList = new ArrayList<MusicGroupPaymentStudentCourseDetail>();
 		MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = null;
 		for (MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList) {
@@ -502,6 +509,10 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 				musicGroupPaymentCalenderDetail.setCreateTime(date);
 				musicGroupPaymentCalenderDetail.setExpectAmount(totalPrice);
 				if (musicGroupPaymentCalenderDetail.getExpectAmount().compareTo(new BigDecimal(0)) == 0) {
+					// 添加会员有效时长
+					if(musicGroupPaymentCalender.getMemberRankSettingId() != null){
+						studentService.updateMemberRank(studentId,musicGroupPaymentCalender.getMemberRankSettingId());
+					}
 					musicGroupPaymentCalenderDetail.setPaymentStatus(PaymentStatus.PAID_COMPLETED);
 					paymentNum++;
 				} else {

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -124,6 +124,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	private MemberFeeSettingDao memberFeeSettingDao;
 	@Autowired
 	private MemberRankSettingDao memberRankSettingDao;
+	@Autowired
+	private StudentService studentService;
 
 	@Override
 	public BaseDAO<Long, MusicGroupPaymentCalender> getDAO() {
@@ -960,6 +962,10 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				musicGroupPaymentCalenderDetailDao.insert(musicGroupPaymentCalenderDetail);
 				//如果是0元那么更新fee表和studentRegistration表
 				if(totalPrice.doubleValue() == 0d){
+					// 添加会员有效时长
+					if(musicGroupPaymentCalender.getMemberRankSettingId() != null){
+						studentService.updateMemberRank(Integer.parseInt(studentId),musicGroupPaymentCalender.getMemberRankSettingId());
+					}
 					MusicGroupStudentFee musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(Integer.parseInt(studentId), musicGroupPaymentCalender.getMusicGroupId());
 					if (musicGroupStudentFee != null) {
 						musicGroupStudentFee.setUpdateTime(date);

+ 0 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java

@@ -45,8 +45,6 @@ public class StudentServeServiceImpl implements StudentServeService {
     @Autowired
     private StudentServeService studentServeService;
     @Autowired
-    private ClassGroupTeacherMapperDao classGroupTeacherMapperDao;
-    @Autowired
     private SysConfigService sysConfigService;
     @Autowired
     private ClassGroupStudentMapperDao classGroupStudentMapperDao;

+ 26 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java

@@ -9,6 +9,8 @@ import com.ym.mec.biz.dal.entity.CooperationOrgan;
 import com.ym.mec.biz.dal.enums.FivePlusGradeEnum;
 import com.ym.mec.biz.dal.enums.GradeTypeEnum;
 import com.ym.mec.biz.dal.enums.SixPlusGradeEnum;
+import com.ym.mec.common.exception.BizException;
+import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -261,4 +263,28 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         cooperationOrgan.setLinkman(studentEduTeacher);
         return cooperationOrgan;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateMemberRank(Integer userId,Integer rankSettingId) {
+        // 添加会员有效时长
+        Student student = this.get(userId);
+        if (student == null) {
+            throw new BizException("学员信息不存在");
+        }
+        Date nowDate = new Date();
+        student.setMemberRankSettingId(rankSettingId);
+        if (student.getMemberRankSettingId() == null) {
+            student.setMembershipEndTime(DateUtil.addMonths(nowDate, 6));
+            student.setMembershipStartTime(nowDate);
+        } else {
+            if (nowDate.after(student.getMembershipEndTime())) {
+                student.setMembershipEndTime(DateUtil.addMonths(nowDate, 6));
+            } else {
+                student.setMembershipEndTime(DateUtil.addMonths(student.getMembershipEndTime(), 6));
+            }
+        }
+        student.setUpdateTime(nowDate);
+        this.update(student);
+    }
 }