浏览代码

Merge branch 'feature/1022_vip' of http://git.dayaedu.com/yonge/mec into feature/1022_vip

刘俊驰 8 月之前
父节点
当前提交
e63929c55b

+ 1 - 1
mec-application/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -415,7 +415,7 @@ public class StudentOrderController extends BaseController {
             }
             orderDetail.put("detail", vipGroupActivities);
         } else if (orderByOrderNo.getGroupType().equals(GroupType.MEMBER)) {
-            CloudTeacherOrderDto orderDto = cloudTeacherOrderService.queryOrderInfoByOrderId(orderByOrderNo.getId());
+            CloudTeacherOrderDto orderDto = cloudTeacherOrderService.queryOrderInfoByOrderId(orderByOrderNo.getId()).get(0);
             orderDetail.put("detail", orderDto);
             if (orderDto != null) {
                 Map<String, Object> map = new HashMap<>(1);

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CloudTeacherOrderDao.java

@@ -45,7 +45,7 @@ public interface CloudTeacherOrderDao extends BaseDAO<Long, CloudTeacherOrder> {
      * @param orderId
      * @return
      */
-    CloudTeacherOrderDto queryOrderInfoByOrderId(Long orderId);
+    List<CloudTeacherOrderDto> queryOrderInfoByOrderId(Long orderId);
 
     List<Map<Long, String>> queryNoStartByUserIds(@Param("userIds") Set<Integer> userIds, @Param("isMusicMember") Boolean isMusicMember);
 

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderMemberDao.java

@@ -16,4 +16,6 @@ public interface MusicGroupPaymentCalenderMemberDao extends BaseDAO<Long, MusicG
     void batchInsert(@Param("beans") List<MusicGroupPaymentCalenderMember> calenderMemberList);
 
     void batchUpdate(@Param("beans") List<MusicGroupPaymentCalenderMember> calenderMemberList);
+
+    List<MusicGroupPaymentCalenderMember> findByIds(@Param("calenderMemberIds") List<Long> calenderMemberIds);
 }

+ 5 - 21
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/RegisterPayDto.java

@@ -37,11 +37,11 @@ public class RegisterPayDto extends PayParamBasicDto{
     @ApiModelProperty(value = "缴费项目关联会员Id",required = false)
     private List<Long> buyCalenderMemberId;
 
-    @ApiModelProperty(value = "购买云教练",required = false)
-    private Boolean buyCloudTeacher= false;
-
-    @ApiModelProperty(value = "购买云教练+",required = false)
-    private Boolean buyCloudTeacherPlus= false;
+//    @ApiModelProperty(value = "购买云教练",required = false)
+//    private Boolean buyCloudTeacher= false;
+//
+//    @ApiModelProperty(value = "购买云教练+",required = false)
+//    private Boolean buyCloudTeacherPlus= false;
 
     public String getBatchNo() {
         return batchNo;
@@ -130,20 +130,4 @@ public class RegisterPayDto extends PayParamBasicDto{
     public void setBuyCalenderMemberId(List<Long> buyCalenderMemberId) {
         this.buyCalenderMemberId = buyCalenderMemberId;
     }
-
-    public Boolean getBuyCloudTeacher() {
-        return buyCloudTeacher;
-    }
-
-    public void setBuyCloudTeacher(Boolean buyCloudTeacher) {
-        this.buyCloudTeacher = buyCloudTeacher;
-    }
-
-    public Boolean getBuyCloudTeacherPlus() {
-        return buyCloudTeacherPlus;
-    }
-
-    public void setBuyCloudTeacherPlus(Boolean buyCloudTeacherPlus) {
-        this.buyCloudTeacherPlus = buyCloudTeacherPlus;
-    }
 }

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrderDetail.java

@@ -75,7 +75,7 @@ public class StudentPaymentOrderDetail extends BaseEntity {
 	@ApiModelProperty(value = "子商品列表",required = false)
 	private List<Goods> childGoodsList;
 	
-	private CloudTeacherOrderDto cloudTeacherOrderDto;
+	private List<CloudTeacherOrderDto> cloudTeacherOrderDto;
 
 	private Integer userId;
 	
@@ -224,11 +224,11 @@ public class StudentPaymentOrderDetail extends BaseEntity {
 		this.isRenew = isRenew;
 	}
 
-	public CloudTeacherOrderDto getCloudTeacherOrderDto() {
+	public List<CloudTeacherOrderDto> getCloudTeacherOrderDto() {
 		return cloudTeacherOrderDto;
 	}
 
-	public void setCloudTeacherOrderDto(CloudTeacherOrderDto cloudTeacherOrderDto) {
+	public void setCloudTeacherOrderDto(List<CloudTeacherOrderDto> cloudTeacherOrderDto) {
 		this.cloudTeacherOrderDto = cloudTeacherOrderDto;
 	}
 

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/CloudTeacherOrderService.java

@@ -32,7 +32,7 @@ public interface CloudTeacherOrderService extends BaseService<Long, CloudTeacher
      * @param order
      * @return
      */
-    void addOrderDetail2CloudTeacher(StudentPaymentOrder order, BigDecimal cloudTeacherFee);
+    void addOrderDetail2CloudTeacher(StudentPaymentOrder order, BigDecimal cloudTeacherFee,List<MusicGroupPaymentCalenderMember> calenderMembers);
 
     /**
     * @description: 激活团练宝
@@ -61,7 +61,7 @@ public interface CloudTeacherOrderService extends BaseService<Long, CloudTeacher
      * @param orderId
      * @return
      */
-    CloudTeacherOrderDto queryOrderInfoByOrderId(Long orderId);
+    List<CloudTeacherOrderDto> queryOrderInfoByOrderId(Long orderId);
 
     List<Map<Long, String>> queryNoStartByUserIds(Set<Integer> userIds, Boolean isMusicMember);
 

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

@@ -14,4 +14,6 @@ public interface MusicGroupPaymentCalenderMemberService extends BaseService<Long
     void batchInsert(List<MusicGroupPaymentCalenderMember> calenderMemberList);
 
     void batchUpdate(List<MusicGroupPaymentCalenderMember> calenderMemberList);
+
+    List<MusicGroupPaymentCalenderMember> findByIds(List<Long> calenderMemberIds);
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderService.java

@@ -181,7 +181,7 @@ public interface MusicGroupPaymentCalenderService extends BaseService<Long, Musi
     BigDecimal getRepairAmount(Long calenderId);
 
     //获取会员金额
-    BigDecimal getMemberAmount(Long calenderId);
+    BigDecimal getMemberAmount(List<Long> calenderMemberIdList);
 
     //获取活动总金额
 	BigDecimal getActivityAmount(List<Long> buyCalenderActivityIdList);

+ 2 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java

@@ -367,8 +367,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void addOrderDetail2CloudTeacher(StudentPaymentOrder order, BigDecimal cloudTeacherFee) {
-        List<MusicGroupPaymentCalenderMember> calenderMembers = musicGroupPaymentCalenderMemberService.findByCalenderId(order.getCalenderId());
+    public void addOrderDetail2CloudTeacher(StudentPaymentOrder order, BigDecimal cloudTeacherFee,List<MusicGroupPaymentCalenderMember> calenderMembers) {
         for (MusicGroupPaymentCalenderMember calenderMember : calenderMembers) {
             CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
             cloudTeacherOrder.setTenantId(order.getTenantId());
@@ -434,7 +433,7 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
     }
 
     @Override
-    public CloudTeacherOrderDto queryOrderInfoByOrderId(Long orderId) {
+    public List<CloudTeacherOrderDto> queryOrderInfoByOrderId(Long orderId) {
         return cloudTeacherOrderDao.queryOrderInfoByOrderId(orderId);
     }
 

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

@@ -142,4 +142,9 @@ public class MusicGroupPaymentCalenderMemberServiceImpl extends BaseServiceImpl<
     public void batchUpdate(List<MusicGroupPaymentCalenderMember> calenderMemberList) {
         musicGroupPaymentCalenderMemberDao.batchUpdate(calenderMemberList);
     }
+
+    @Override
+    public List<MusicGroupPaymentCalenderMember> findByIds(List<Long> calenderMemberIds) {
+        return musicGroupPaymentCalenderMemberDao.findByIds(calenderMemberIds);
+    }
 }

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

@@ -1535,8 +1535,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
     }
 
     @Override
-    public BigDecimal getMemberAmount(Long calenderId) {
-        List<MusicGroupPaymentCalenderMember> calenderMembers = musicGroupPaymentCalenderMemberService.findByCalenderId(calenderId);
+    public BigDecimal getMemberAmount(List<Long> calenderMemberIdList) {
+        List<MusicGroupPaymentCalenderMember> calenderMembers = musicGroupPaymentCalenderMemberService.findByIds(calenderMemberIdList);
         if (CollectionUtils.isEmpty(calenderMembers)) {
             return BigDecimal.ZERO;
         }

+ 17 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1200,7 +1200,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 					studentPaymentOrderDao.insert(studentPaymentOrder);
 					StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(studentPaymentOrder.getUserId(), calender.getMusicGroupId());
 					//支付成功后处理课程、云教练、活动等数据
-					List<StudentPaymentOrderDetail> orderDetails = studentRegistrationService.addOrder1(studentPaymentOrder, calender, courseSettings, calenderMembers, calenderRepair, calenderActivities);
+					List<StudentPaymentOrderDetail> orderDetails = studentRegistrationService.addOrder1(studentPaymentOrder,
+							calender,
+							courseSettings,
+							calenderMembers,
+							calenderRepair,
+							calenderActivities);
 					studentPaymentRouteOrderService.addRouteOrder(orderNo, calender.getOrganId(), calender.getCurrentTotalAmount());
 					studentPaymentOrderDetailService.addOrderDetailTo1(studentPaymentOrder, musicGroup, studentRegistration,orderDetails);
 				}
@@ -1218,11 +1223,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     	}
 
     	boolean isGiveAccessories = musicGroup.getIsGiveAccessories();
+		boolean buyCloudTeacher = CollectionUtils.isNotEmpty(registerPayDto.getBuyCalenderMemberId());
 
-        MusicGroupApplyGoodsDto goodsDto = new MusicGroupApplyGoodsDto();
+		MusicGroupApplyGoodsDto goodsDto = new MusicGroupApplyGoodsDto();
         //乐器及打包辅件价格
         List<MusicGroupSubjectGoodsGroup> goodsGroups;
-        if (registerPayDto.getGoodsGroups() != null && registerPayDto.getGoodsGroups().size() > 0) {
+		if (registerPayDto.getGoodsGroups() != null && registerPayDto.getGoodsGroups().size() > 0) {
             String goodsGroupIds = registerPayDto.getGoodsGroups().keySet().stream().map(Object::toString).collect(Collectors.joining(","));
             goodsGroups = musicGroupSubjectGoodsGroupService.findGoodsGroupByIds(goodsGroupIds);
             goodsDto.setGoodsGroups(goodsGroups);
@@ -1230,7 +1236,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 Map<String, BigDecimal> groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), new TypeReference<Map<String, BigDecimal>>() {
                 });
 
-                if(isGiveAccessories && registerPayDto.getBuyCloudTeacher()){
+                if(isGiveAccessories && buyCloudTeacher){
                 	if (goodsGroup.getType().equals(GoodsType.ACCESSORIES)) {
                 		continue;
                 	}
@@ -1253,7 +1259,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 goodsGroup.setGoodsList(goodsService.findGoodsByIds(goodsGroup.getGoodsIdList()));
 
                 //齐齐哈尔走特殊规则
-                if (calender.getOrganId() == 55 && (registerPayDto.getNewCourse() == null || registerPayDto.getNewCourse().size() == 0) && !(registerPayDto.getBuyCloudTeacher() || registerPayDto.getBuyCloudTeacherPlus())) {
+                if (calender.getOrganId() == 55 && (CollectionUtils.isEmpty(registerPayDto.getNewCourse())) && !buyCloudTeacher) {
                     //取商品零售价
                     if (StringUtils.isNotBlank(goodsGroup.getGoodsIdList())) {
                         List<Goods> goodsList = goodsDao.findGoodsByIds(goodsGroup.getGoodsIdList());
@@ -1276,7 +1282,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         List<MusicGroupPaymentCalenderCourseSettings> newCourses;
         //因为前端会传newCourse过来所以这里加了合班缴费判断
         if (calender.getPaymentType() != PaymentType.SPAN_GROUP_CLASS_ADJUST &&
-                calender.getPayUserType() == PayUserType.STUDENT && registerPayDto.getNewCourse() != null && registerPayDto.getNewCourse().size() > 0) {
+                calender.getPayUserType() == PayUserType.STUDENT && CollectionUtils.isNotEmpty(registerPayDto.getNewCourse())) {
             newCourses = musicGroupPaymentCalenderCourseSettingsDao.getCalenderCourseSettings(registerPayDto.getNewCourse());
             for (MusicGroupPaymentCalenderCourseSettings calenderCourseSetting : newCourses) {
                 if (goodsDto.isRemitCourseRFeeFlag()) {
@@ -1289,7 +1295,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         //活动价格
         List<Long> buyCalenderActivityIdList = registerPayDto.getBuyCalenderActivityId();
-        if (buyCalenderActivityIdList != null && buyCalenderActivityIdList.size() > 0) {
+        if (CollectionUtils.isNotEmpty(buyCalenderActivityIdList)) {
             goodsDto.setOrderAmount(goodsDto.getOrderAmount().add(musicGroupPaymentCalenderService.getActivityAmount(buyCalenderActivityIdList)));
         }
         //乐器保养价格
@@ -1297,13 +1303,13 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             goodsDto.setOrderAmount(goodsDto.getOrderAmount().add(musicGroupPaymentCalenderService.getRepairAmount(calender.getId())));
         }
         //云教练价格和订单
-        if (registerPayDto.getBuyCloudTeacher()) {
-            goodsDto.setOrderAmount(goodsDto.getOrderAmount().add(musicGroupPaymentCalenderService.getMemberAmount(calender.getId())));
+        if (buyCloudTeacher) {
+            goodsDto.setOrderAmount(goodsDto.getOrderAmount().add(musicGroupPaymentCalenderService.getMemberAmount(registerPayDto.getBuyCalenderMemberId())));
         }
         //合班缴费
         List<MusicGroupPaymentCalenderStudentDetail> studentDetails = musicGroupPaymentCalenderStudentDetailDao.findByBatchNoAndUserId(registerPayDto.getBatchNo(), registerPayDto.getUserId());
-        if (studentDetails != null && studentDetails.size() > 0) {
-            goodsDto.setOrderAmount(goodsDto.getOrderAmount().add(studentDetails.stream().map(e -> e.getCourseCurrentPrice()).reduce(BigDecimal.ZERO, BigDecimal::add)));
+        if (CollectionUtils.isNotEmpty(studentDetails)) {
+            goodsDto.setOrderAmount(goodsDto.getOrderAmount().add(studentDetails.stream().map(MusicGroupPaymentCalenderStudentDetail::getCourseCurrentPrice).reduce(BigDecimal.ZERO, BigDecimal::add)));
         }
         return goodsDto;
     }

+ 26 - 24
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -727,9 +727,11 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
                 studentRegistration.setHasCloudTeacher(1);
                 //如果是报名订单,要处理云教练费用、以及溢出课费
             }
+            List<StudentPaymentOrderDetail> memberDetailList = allDetails.stream().filter(o -> o.getType() == CLOUD_TEACHER).collect(Collectors.toList());
+            List<Long> calenderMemberIds = memberDetailList.stream().map(StudentPaymentOrderDetail::getStudentInstrumentId).collect(Collectors.toList());
+            List<MusicGroupPaymentCalenderMember> calenderMembers = musicGroupPaymentCalenderMemberDao.findByIds(calenderMemberIds);
             if(musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE){
                 //获取云教练溢出费用
-                List<MusicGroupPaymentCalenderMember> calenderMembers = musicGroupPaymentCalenderMemberDao.findByCalenderId(paymentCalenderDetail.getMusicGroupPaymentCalenderId());
                 if (CollectionUtils.isNotEmpty(calenderMembers)) {
                     for (MusicGroupPaymentCalenderMember calenderMember : calenderMembers) {
                         BigDecimal courseIncome = memberFeeSettingService.getAmount(musicGroup.getOrganId(), 1, calenderMember.getPeriod(),
@@ -751,10 +753,10 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
                     }
                 }
             }
-            BigDecimal cloudTeacherFee = allDetails.stream().filter(o -> o.getType() == CLOUD_TEACHER)
+            BigDecimal cloudTeacherFee = memberDetailList.stream()
                     .map(o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee()))
                     .reduce(BigDecimal.ZERO, BigDecimal::add);
-            cloudTeacherOrderService.addOrderDetail2CloudTeacher(studentPaymentOrder, cloudTeacherFee);
+            cloudTeacherOrderService.addOrderDetail2CloudTeacher(studentPaymentOrder, cloudTeacherFee,calenderMembers);
         }
     }
 
@@ -830,34 +832,34 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
                 studentRegistration.setHasCloudTeacher(1);
                 //如果是报名订单,要处理云教练费用、以及溢出课费
             }
+            List<StudentPaymentOrderDetail> memberDetailList = allDetails.stream().filter(o -> o.getType() == CLOUD_TEACHER).collect(Collectors.toList());
+            List<Long> calenderMemberIds = memberDetailList.stream().map(StudentPaymentOrderDetail::getStudentInstrumentId).collect(Collectors.toList());
+            List<MusicGroupPaymentCalenderMember> calenderMembers = musicGroupPaymentCalenderMemberDao.findByIds(calenderMemberIds);
             if(musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE){
                 //获取云教练溢出费用
-                List<MusicGroupPaymentCalenderMember> calenderMembers = musicGroupPaymentCalenderMemberDao.findByCalenderId(paymentCalenderDetail.getMusicGroupPaymentCalenderId());
-                if (CollectionUtils.isNotEmpty(calenderMembers)) {
-                    for (MusicGroupPaymentCalenderMember calenderMember : calenderMembers) {
-                        BigDecimal courseIncome = memberFeeSettingService.getAmount(musicGroup.getOrganId(), 1, calenderMember.getPeriod(),
-                                calenderMember.getNum(), MemberFeeSettingServiceImpl::getIncome);
-                        if(calenderMember.getActualAmount().compareTo(courseIncome) > 0){
-                            BigDecimal subtract = calenderMember.getActualAmount().subtract(courseIncome);
-                            //累加充值金额
-                            studentRegistrationDao.updateCourseFee(studentRegistration.getId(),subtract);
-                            //添加日志
-                            StudentCourseFeeDetail studentCourseFeeDetail = new StudentCourseFeeDetail();
-                            studentCourseFeeDetail.setTenantId(tenantId);
-                            studentCourseFeeDetail.setStudentRegistrationId(studentRegistration.getId());
-                            studentCourseFeeDetail.setAmount(subtract);
-                            studentCourseFeeDetail.setSurplusCourseFee(studentRegistration.getSurplusCourseFee().add(subtract));
-                            studentCourseFeeDetail.setMemo("会员团,购买云教练赠送课费");
-                            studentCourseFeeDetail.setOperator(userId);
-                            studentCourseFeeDetailDao.insert(studentCourseFeeDetail);
-                        }
+                for (MusicGroupPaymentCalenderMember calenderMember : calenderMembers) {
+                    BigDecimal courseIncome = memberFeeSettingService.getAmount(musicGroup.getOrganId(), 1, calenderMember.getPeriod(),
+                            calenderMember.getNum(), MemberFeeSettingServiceImpl::getIncome);
+                    if(calenderMember.getActualAmount().compareTo(courseIncome) > 0){
+                        BigDecimal subtract = calenderMember.getActualAmount().subtract(courseIncome);
+                        //累加充值金额
+                        studentRegistrationDao.updateCourseFee(studentRegistration.getId(),subtract);
+                        //添加日志
+                        StudentCourseFeeDetail studentCourseFeeDetail = new StudentCourseFeeDetail();
+                        studentCourseFeeDetail.setTenantId(tenantId);
+                        studentCourseFeeDetail.setStudentRegistrationId(studentRegistration.getId());
+                        studentCourseFeeDetail.setAmount(subtract);
+                        studentCourseFeeDetail.setSurplusCourseFee(studentRegistration.getSurplusCourseFee().add(subtract));
+                        studentCourseFeeDetail.setMemo("会员团,购买云教练赠送课费");
+                        studentCourseFeeDetail.setOperator(userId);
+                        studentCourseFeeDetailDao.insert(studentCourseFeeDetail);
                     }
                 }
             }
-            BigDecimal cloudTeacherFee = allDetails.stream().filter(o -> o.getType() == CLOUD_TEACHER)
+            BigDecimal cloudTeacherFee = memberDetailList.stream()
                     .map(o -> o.getPrice().subtract(o.getRemitFee() == null ? BigDecimal.ZERO : o.getRemitFee()))
                     .reduce(BigDecimal.ZERO, BigDecimal::add);
-            cloudTeacherOrderService.addOrderDetail2CloudTeacher(studentPaymentOrder, cloudTeacherFee);
+            cloudTeacherOrderService.addOrderDetail2CloudTeacher(studentPaymentOrder, cloudTeacherFee,calenderMembers);
         }
     }
 

+ 8 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -702,7 +702,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
         //云教练/云教练+  todo  团练宝
         if (buyCloudTeacher || (Objects.nonNull(calender) && calender.getPayUserType() == MusicGroupPaymentCalender.PayUserType.SCHOOL)) {
-            List<MusicGroupPaymentCalenderMember> calenderMembers = musicGroupPaymentCalenderMemberService.findByCalenderId(studentPaymentOrder.getCalenderId());
+            List<MusicGroupPaymentCalenderMember> calenderMembers = musicGroupPaymentCalenderMemberService.findByIds(registerPayDto.getBuyCalenderMemberId());
             if(CollectionUtils.isNotEmpty(calenderMembers)){
                 for (MusicGroupPaymentCalenderMember calenderMember : calenderMembers) {
                     StudentPaymentOrderDetail cloudTeacherOrderDetail = new StudentPaymentOrderDetail();
@@ -716,7 +716,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                     cloudTeacherOrderDetail.setUpdateTime(date);
                     cloudTeacherOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
                     cloudTeacherOrderDetail.setIsRenew(0);
-                    cloudTeacherOrderDetail.setStudentInstrumentId(calenderMember.getMemberRankSettingId().longValue());
+                    cloudTeacherOrderDetail.setStudentInstrumentId(calenderMember.getId());
                     studentPaymentOrderDetailList.add(cloudTeacherOrderDetail);
                 }
             }
@@ -766,7 +766,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         //增加缴费学生数,0元订单不增加报名人数(没买云教练/云教练+的)
         boolean paidZeroFlag = false;
 
-        MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getActualSubjectId());
+        MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(),
+                studentRegistration.getActualSubjectId());
 
         if (studentRegistration.getMusicGroupStatus() != StudentMusicGroupStatusEnum.NORMAL) {
             // 判断之前是否已有订单
@@ -775,16 +776,16 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
             int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
             int paidZeroNum = musicOneSubjectClassPlan.getPaidZeroNum() == null ? 0 : musicOneSubjectClassPlan.getPaidZeroNum();
-            if ((musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE) && !registerPayDto.getBuyCloudTeacher() && StringUtils.isBlank(maintenanceGoodsId))) {
+            if ((musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE) && !buyCloudTeacher && StringUtils.isBlank(maintenanceGoodsId))) {
                 if (studentRegistration.getPaymentStatus() != YES) {
                     paidZeroFlag = true;
                 }
-                if (studentRegistration.getNoneNeedCloudTeacher().equals(1) && (oldStudentPaymentOrderList == null || oldStudentPaymentOrderList.size() == 0)) {
+                if (studentRegistration.getNoneNeedCloudTeacher().equals(1) && (CollectionUtils.isEmpty(oldStudentPaymentOrderList))) {
                     musicOneSubjectClassPlan.setPaidZeroNum(paidZeroNum + 1);
                     musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
                 }
             } else {
-                if (oldStudentPaymentOrderList == null || oldStudentPaymentOrderList.size() == 0) {
+                if (CollectionUtils.isEmpty(oldStudentPaymentOrderList)) {
                     musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
                 }
             }
@@ -882,7 +883,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 cloudTeacherOrderDetail.setUpdateTime(date);
                 cloudTeacherOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
                 cloudTeacherOrderDetail.setIsRenew(0);
-                cloudTeacherOrderDetail.setStudentInstrumentId(calenderMember.getMemberRankSettingId().longValue());
+                cloudTeacherOrderDetail.setStudentInstrumentId(calenderMember.getId());
                 studentPaymentOrderDetailList.add(cloudTeacherOrderDetail);
             }
         }

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMemberMapper.xml

@@ -145,4 +145,10 @@
     <select id="findByCalenderId" resultMap="MusicGroupPaymentCalenderMember">
 		SELECT * FROM music_group_payment_calender_member WHERE calender_id_ = #{calenderId}
 	</select>
+    <select id="findByIds" resultMap="MusicGroupPaymentCalenderMember">
+		SELECT * FROM music_group_payment_calender_member WHERE id_ IN
+		<foreach collection="calenderMemberIds" item="id" open="(" close=")" separator=",">
+			#{id}
+		</foreach>
+	</select>
 </mapper>