浏览代码

Merge remote-tracking branch 'origin/master'

Joburgess 5 年之前
父节点
当前提交
aeb9169f03

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

@@ -126,9 +126,9 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 			String organCode = organ.getKey();
 			String orgName = organ.getValue();
 
-//			SysUserTsign sysUserTsign = sysUserTsignService.queryByCardNo(organCode);
+			SysUserTsign sysUserTsign = sysUserTsignService.queryByCardNo(organCode);
 
-			/*if (sysUserTsign == null) {
+			if (sysUserTsign == null) {
 
 				String accountId = eSealPlugin.createOrganAccount(orgName, organCode);
 
@@ -146,7 +146,7 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 
 				sysUserTsignService.insert(sysUserTsign);
 
-			}*/
+			}
 		}
 	}
 

+ 71 - 54
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -181,7 +181,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             Set<Integer> roleIds = new HashSet<>(1);
             roleIds.add(SysUserRole.SECTION_MANAGER);
 
-            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY,"",sysUser.getUsername());
+            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY, "", sysUser.getUsername());
         }
         // 保存乐团付费主体列表
         //批量新增
@@ -265,7 +265,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             throw new BizException("支付项不存在");
         }
         BigDecimal amount = chargeInfo.getAmount();
-        if(chargeInfo.getDiscountAmount() != null && chargeInfo.getDiscountAmount().compareTo(BigDecimal.ZERO)>0){
+        if (chargeInfo.getDiscountAmount() != null && chargeInfo.getDiscountAmount().compareTo(BigDecimal.ZERO) > 0) {
             amount = amount.subtract(chargeInfo.getDiscountAmount());
         }
         if (!(amount.compareTo(sporadicPayDto.getAmount()) == 0)) {
@@ -274,9 +274,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         OrderTypeEnum type = OrderTypeEnum.SPORADIC;
         String receiver = null;
-        if(chargeInfo.getChargeType().equals("6")){
+        if (chargeInfo.getChargeType().equals("6")) {
             type = OrderTypeEnum.LUCK;
-            receiver =  "PER";
+            receiver = "PER";
         }
 
         Integer userId = sporadicPayDto.getUserId();
@@ -445,32 +445,32 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
                 Map groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), HashMap.class);
                 if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("GROUP")) {
-                    if(!groupType.containsKey("GROUP")){
+                    if (!groupType.containsKey("GROUP")) {
                         throw new BizException("乐器提供方式不存在");
                     }
                     goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.GROUP);
                     remitFee = new BigDecimal((String) groupType.get("GROUP"));
                 }
                 if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("LEASE")) {
-                    if(!groupType.containsKey("LEASE")){
-                       throw new BizException("乐器提供方式不存在");
+                    if (!groupType.containsKey("LEASE")) {
+                        throw new BizException("乐器提供方式不存在");
                     }
                     goodsGroup.setPrice(goodsGroup.getDepositFee());
                     goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.LEASE);
                     remitFee = new BigDecimal((String) groupType.get("LEASE"));
                 }
                 if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("FREE")) {
-                    if(!groupType.containsKey("FREE")){
+                    if (!groupType.containsKey("FREE")) {
                         throw new BizException("乐器提供方式不存在");
                     }
                     goodsGroup.setPrice(new BigDecimal(0));
                     remitFee = new BigDecimal((String) groupType.get("FREE"));
                 }
-                if(goodsGroup.getType().equals(GoodsType.INSTRUMENT)){
+                if (goodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
                     instrumentFee = instrumentFee.add(goodsGroup.getPrice());
-                }else if(goodsGroup.getType().equals(GoodsType.ACCESSORIES)) {
+                } else if (goodsGroup.getType().equals(GoodsType.ACCESSORIES)) {
                     accessoriesFee = accessoriesFee.add(goodsGroup.getPrice());
-                }else {
+                } else {
                     otherFee = otherFee.add(goodsGroup.getPrice());
                 }
                 orderAmount = orderAmount.add(goodsGroup.getPrice());
@@ -566,7 +566,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
 
         String orderSubject = "乐团报名";
-        if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType().equals(CooperationOrgan.OwnershipType.COOPERATION)){
+        if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType().equals(CooperationOrgan.OwnershipType.COOPERATION)) {
             orderSubject = "乐团相关费用";
         }
         String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
@@ -682,14 +682,14 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
                 Map groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), HashMap.class);
                 if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("GROUP")) {
-                    if(!groupType.containsKey("GROUP")){
+                    if (!groupType.containsKey("GROUP")) {
                         throw new BizException("乐器提供方式不存在");
                     }
                     goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.GROUP);
                     remitFee = new BigDecimal((String) groupType.get("GROUP"));
                 }
                 if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("LEASE")) {
-                    if(!groupType.containsKey("LEASE")){
+                    if (!groupType.containsKey("LEASE")) {
                         throw new BizException("乐器提供方式不存在");
                     }
                     goodsGroup.setPrice(goodsGroup.getDepositFee());
@@ -697,17 +697,17 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     remitFee = new BigDecimal((String) groupType.get("LEASE"));
                 }
                 if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("FREE")) {
-                    if(!groupType.containsKey("FREE")){
+                    if (!groupType.containsKey("FREE")) {
                         throw new BizException("乐器提供方式不存在");
                     }
                     goodsGroup.setPrice(new BigDecimal(0));
                     remitFee = new BigDecimal((String) groupType.get("FREE"));
                 }
-                if(goodsGroup.getType().equals(GoodsType.INSTRUMENT)){
+                if (goodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
                     instrumentFee = instrumentFee.add(goodsGroup.getPrice());
-                }else if(goodsGroup.getType().equals(GoodsType.ACCESSORIES)) {
+                } else if (goodsGroup.getType().equals(GoodsType.ACCESSORIES)) {
                     accessoriesFee = accessoriesFee.add(goodsGroup.getPrice());
-                }else {
+                } else {
                     otherFee = otherFee.add(goodsGroup.getPrice());
                 }
                 orderAmount = orderAmount.add(goodsGroup.getPrice());
@@ -803,7 +803,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             }
         }
         String orderSubject = "乐团报名";
-        if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType().equals(CooperationOrgan.OwnershipType.COOPERATION)){
+        if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType().equals(CooperationOrgan.OwnershipType.COOPERATION)) {
             orderSubject = "乐团相关费用";
         }
         String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
@@ -911,7 +911,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 throw new BizException("课酬未确认");
             }
         }
-        updateTeamTeacher(musicGroup,musicGroup);
+        updateTeamTeacher(musicGroup, musicGroup);
         //生成学员费用表
         List<MusicGroupStudentFee> musicGroupStudentFees = musicGroupStudentFeeDao.initMusicGroupStudentFee(musicGroupId);
         if (musicGroupStudentFees != null && musicGroupStudentFees.size() > 0) {
@@ -930,7 +930,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Map<Integer, String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(musicGroupDao.queryTeacherIdMap(musicGroupId))), HashMap.class);
         if (map != null && map.size() > 0) {
             sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_MUSIC_GROUP_COURSE_ADD_PLAN,
-                    map, null, 0, "1","TEACHER", musicGroup.getName());
+                    map, null, 0, "1", "TEACHER", musicGroup.getName());
         }
         Set<Integer> roleIds = new HashSet<>(5);
         roleIds.add(SysUserRole.SECTION_MANAGER);
@@ -939,7 +939,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
         roleIds.add(SysUserRole.DEAN_OF_STUDIES);
 
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_ACTION_GROUP,"1",musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_ACTION_GROUP, "1", musicGroup.getName());
     }
 
     private MusicGroup saveLog(String musicGroupId, MusicGroupStatusEnum statusEnum) throws Exception {
@@ -970,7 +970,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
 
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY,"",sysUser.getUsername());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY, "", sysUser.getUsername());
     }
 
     @Override
@@ -1005,13 +1005,13 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
         roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
 
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_ACTION_APPLY,"",musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_ACTION_APPLY, "", musicGroup.getName());
     }
 
     @Override
     public void pushMessage(String musicGroupId) throws IOException {
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-        if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN){
+        if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
             //3.0发送该消息
             if (new Integer(3).equals(musicGroup.getChargeTypeId())) {
                 Map<Integer, String> studentMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(studentRegistrationDao.findIdMapByMusicGroupId(musicGroupId, 2))), HashMap.class);
@@ -1020,7 +1020,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     String url = baseURL + "/#/smallRegister?musicGroupId=" + musicGroupId;
                     String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
                     sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE,
-                            studentMap, null, 0, "5?" + url,"STUDENT", musicGroup.getName(), HttpUtil.getSortUrl(url), serverPhone);
+                            studentMap, null, 0, "5?" + url, "STUDENT", musicGroup.getName(), HttpUtil.getSortUrl(url), serverPhone);
                 }
             }
         }
@@ -1119,10 +1119,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             sysUserCashAccountService.updateBalance(order.getUserId(), order.getActualAmount());
             // 增加交易流水
             sysUserCashAccountDetailService.addCashAccountDetail(order.getUserId(), order.getActualAmount(), SysUserCashAccountDetailService.MUSIC_GROUP
-                    + musicGroupId, "", PlatformCashAccountDetailTypeEnum.REFUNDS, null, DealStatusEnum.SUCCESS, "取消乐团",null);
+                    + musicGroupId, "", PlatformCashAccountDetailTypeEnum.REFUNDS, null, DealStatusEnum.SUCCESS, "取消乐团", null);
         }
         //获取当前乐团所有已报名学员
-        if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN){
+        if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
             List<StudentRegistration> registrations = studentRegistrationDao.findClassGroupStu(musicGroupId, null);
             if (registrations != null && registrations.size() > 0) {
                 Map<Integer, String> map = new HashMap<>(registrations.size());
@@ -1130,7 +1130,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     map.put(e.getUserId(), e.getUserId().toString());
                 });
                 sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_CLOSE,
-                        map, null, 0, "1","STUDENT", musicGroup.getName(), sysConfigDao.findConfigValue(SysConfigService.REFUND_PERIOD));
+                        map, null, 0, "1", "STUDENT", musicGroup.getName(), sysConfigDao.findConfigValue(SysConfigService.REFUND_PERIOD));
             }
         }
         //记录建团日志
@@ -1139,7 +1139,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.SECTION_MANAGER);
         roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
 
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_STOP,"1",musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_STOP, "1", musicGroup.getName());
         return true;
     }
 
@@ -1242,7 +1242,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
         roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
 
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_LENGTHEN_PAYMENT,"",musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_LENGTHEN_PAYMENT, "", musicGroup.getName());
         return true;
     }
 
@@ -1272,7 +1272,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         memo.put("Id", musicGroupQuit.getId());
         memo.put("type", "MUSICGROUP");
 
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP,JSONObject.toJSONString(memo),sysUser.getUsername());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP, JSONObject.toJSONString(memo), sysUser.getUsername());
         return true;
     }
 
@@ -1350,7 +1350,16 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
             List<StudentPaymentOrderDetail> orderDetailList = studentPaymentOrderDetailDao.findApplyOrderGoods(studentPaymentOrder.getId());
 
+            BigDecimal remitFee = studentPaymentOrder.getRemitFee() == null ? BigDecimal.ZERO : studentPaymentOrder.getRemitFee();
             for (StudentPaymentOrderDetail detail : orderDetailList) {
+                if (remitFee.compareTo(detail.getPrice()) >= 0) {
+                    remitFee = remitFee.subtract(detail.getPrice());
+                    detail.setPrice(BigDecimal.ZERO);
+                } else {
+                    detail.setPrice(detail.getPrice().subtract(remitFee));
+                    remitFee = BigDecimal.ZERO;
+                }
+
                 if (isRefundCourseFee) {
                     // 退课程费用
                     if (detail.getType() == OrderDetailTypeEnum.COURSE) {
@@ -1374,7 +1383,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             if (amount.doubleValue() > 0) {
                 // 增加交易流水
                 sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
-                        PlatformCashAccountDetailTypeEnum.REFUNDS, null, DealStatusEnum.SUCCESS, "退出乐团",null);
+                        PlatformCashAccountDetailTypeEnum.REFUNDS, null, DealStatusEnum.SUCCESS, "退出乐团", null);
             }
         }
         return true;
@@ -1457,8 +1466,16 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
 
         List<StudentPaymentOrderDetail> orderDetailList = studentPaymentOrderDetailDao.findApplyOrderGoods(studentPaymentOrder.getId());
+        BigDecimal remitFee = studentPaymentOrder.getRemitFee() == null ? BigDecimal.ZERO : studentPaymentOrder.getRemitFee();
 
         for (StudentPaymentOrderDetail detail : orderDetailList) {
+            if (remitFee.compareTo(detail.getPrice()) >= 0) {
+                remitFee = remitFee.subtract(detail.getPrice());
+                detail.setPrice(BigDecimal.ZERO);
+            } else {
+                detail.setPrice(detail.getPrice().subtract(remitFee));
+                remitFee = BigDecimal.ZERO;
+            }
             if (isRefundCourseFee) {
                 // 退课程费用
                 if (detail.getType() == OrderDetailTypeEnum.COURSE) {
@@ -1482,7 +1499,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (amount.doubleValue() > 0) {
             // 增加交易流水
             sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
-                    PlatformCashAccountDetailTypeEnum.REFUNDS, null, DealStatusEnum.SUCCESS, "退出乐团",null);
+                    PlatformCashAccountDetailTypeEnum.REFUNDS, null, DealStatusEnum.SUCCESS, "退出乐团", null);
         }
 
         return true;
@@ -1678,11 +1695,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             paymentDetail.setPerAmount(studentPaymentOrder.getPerAmount().negate());
             sysUserCashAccountDetailService.insert(paymentDetail);
             MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-            if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN){
+            if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
                 // 发送续费结果通知
-                sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_MUSIC_GROUP_RENEW_SUCCESS, push, null, 0, "1","STUDENT",
+                sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_MUSIC_GROUP_RENEW_SUCCESS, push, null, 0, "1", "STUDENT",
                         studentRegistration.getParentsName(), studentPaymentOrder.getActualAmount());
-                sysMessageService.batchSendMessage(MessageSender.YIMEI, MessageTypeEnum.STUDENT_SMS_MUSIC_GROUP_RENEW_SUCCESS, yimei, null, 0, "1","",
+                sysMessageService.batchSendMessage(MessageSender.YIMEI, MessageTypeEnum.STUDENT_SMS_MUSIC_GROUP_RENEW_SUCCESS, yimei, null, 0, "1", "",
                         studentRegistration.getParentsName(), studentPaymentOrder.getActualAmount());
             }
             return true;
@@ -1693,12 +1710,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             }
         }
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-        if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN){
+        if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
             if (studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAILED) {
                 String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
                 String memo = baseUrl + "/#/renew?musicGroupId=" + musicGroupId;
                 //4?http://mstudev.dayaedu.com/#/renew?musicGroupId=" +musicGroupId
-                sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_RENEW_FAILED, push, null, 0, "4?" + memo,"STUDENT",
+                sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_RENEW_FAILED, push, null, 0, "4?" + memo, "STUDENT",
                         HttpUtil.getSortUrl(memo));
                 return false;
             }
@@ -1743,8 +1760,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
 
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_TEACHER_AMOUNT_CHANGE,"",
-                teacher.getRealName(),musicGroup.getName(),scope.equals("all")?"所有":"本次");
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_TEACHER_AMOUNT_CHANGE, "",
+                teacher.getRealName(), musicGroup.getName(), scope.equals("all") ? "所有" : "本次");
         return true;
     }
 
@@ -1818,9 +1835,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         return musicGroupPageInfo;
     }
 
-    private void updateTeamTeacher(MusicGroup oldMusicGroup,MusicGroup newMusicGroup){
+    private void updateTeamTeacher(MusicGroup oldMusicGroup, MusicGroup newMusicGroup) {
         List<ClassGroup> classGroups = classGroupDao.findClassGroupByMusicGroupIdAndType(newMusicGroup.getId(), null);
-        if(classGroups == null || classGroups.size() == 0){
+        if (classGroups == null || classGroups.size() == 0) {
             return;
         }
         Integer teamTeacherId = newMusicGroup.getTeamTeacherId();
@@ -1832,7 +1849,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         ImGroupMember[] nowImGroupMembers2 = {new ImGroupMember(educationalTeacherId.toString())};
         ImGroupMember[] oldImGroupMembers3 = {new ImGroupMember(oldMusicGroup.getDirectorUserId().toString())};
         ImGroupMember[] nowImGroupMembers3 = {new ImGroupMember(directorUserId.toString())};
-        classGroups.forEach(e->{
+        classGroups.forEach(e -> {
             imFeignService.groupQuit(new ImGroupModel(e.getId().toString(), oldImGroupMembers1, e.getName()));
             imFeignService.groupJoin(new ImGroupModel(e.getId().toString(), nowImGroupMembers1, e.getName()));
             imFeignService.groupQuit(new ImGroupModel(e.getId().toString(), oldImGroupMembers2, e.getName()));
@@ -1858,7 +1875,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             //如果已生成课表,那么修改未上课时教学点
             courseScheduleDao.updateCourseScheduleSchool("MUSIC", musicGroupId, musicGroup.getSchoolId());
         }
-        updateTeamTeacher(musicGroup,group);
+        updateTeamTeacher(musicGroup, group);
         List<Integer> months = subFeeSettingDto.getMonths();
 
         Date date = new Date();
@@ -1967,21 +1984,21 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroup.setStatus(MusicGroupStatusEnum.PAY);
         musicGroupDao.update(musicGroup);
         //三方乐团不发送缴费通知
-        if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN){
+        if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
             //获取所有已报名学员列表
-            HashMap<Integer,String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(studentRegistrationDao.findMapByMusicGroupId(musicGroupId,0))), HashMap.class);
-            if(map != null && map.size() > 0){
+            HashMap<Integer, String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(studentRegistrationDao.findMapByMusicGroupId(musicGroupId, 0))), HashMap.class);
+            if (map != null && map.size() > 0) {
                 String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + musicGroupId;
                 String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
-                sysMessageService.batchSendMessage(MessageSender.YIMEI,MessageTypeEnum.SMS_PAYMENT_MESSAGE,
-                        map,null,0,"","",musicGroup.getName(),studentApplyUrl,DateUtil.format(musicGroup.getPaymentExpireDate(),DateUtil.DATE_FORMAT_MIN),serverPhone);
+                sysMessageService.batchSendMessage(MessageSender.YIMEI, MessageTypeEnum.SMS_PAYMENT_MESSAGE,
+                        map, null, 0, "", "", musicGroup.getName(), studentApplyUrl, DateUtil.format(musicGroup.getPaymentExpireDate(), DateUtil.DATE_FORMAT_MIN), serverPhone);
             }
         }
         Set<Integer> roleIds = new HashSet<>(3);
         roleIds.add(SysUserRole.SECTION_MANAGER);
         roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
         roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_ACTION_PAYMENT,"",musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_ACTION_PAYMENT, "", musicGroup.getName());
         //所有人开启缴费
         studentRegistrationDao.musicGroupOpenPay(musicGroupId, PaymentStatusEnum.OPEN);
         return musicGroup;
@@ -2050,7 +2067,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, event, sysUser.getId(), ""));
         musicGroup.setStatus(MusicGroupStatusEnum.PREPARE);
         musicGroupDao.update(musicGroup);
-        if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN){
+        if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
             //给家长发送乐团基础训练课短信
             //获取所有乐团学员列表
             List<StudentRegistration> students = studentRegistrationDao.queryStudentByMusicGroupId(musicGroupId);
@@ -2063,12 +2080,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 if (userIds != null && userIds.size() > 0) {
                     String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + musicGroupId;
                     String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
-                    sysMessageService.batchSendMessage(MessageSender.YIMEI, MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE, userIds, null, 0, "","", musicGroup.getName(), studentApplyUrl, serverPhone);
+                    sysMessageService.batchSendMessage(MessageSender.YIMEI, MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE, userIds, null, 0, "", "", musicGroup.getName(), studentApplyUrl, serverPhone);
                 }
             }
         }
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_MARKING,"",musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_MARKING, "", musicGroup.getName());
     }
 }

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

@@ -336,9 +336,6 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 			dataList = courseScheduleStudentPaymentDao.findStudentByClassGroup(params);
 			//学生编号列表
 			List<Integer> userIds = dataList.stream().map(StudentAttendanceStatisticsResponse::getUserId).collect(Collectors.toList());
-			//学生-科目名称关联集合
-			List<Map<Integer, String>> byMusicGroupAndUsers = subjectDao.findByMusicGroupAndUsers(classGroup.getMusicGroupId(), userIds);
-			Map<Integer, String> userSubjectNameMap = MapUtil.convertMybatisMap(byMusicGroupAndUsers);
 			//学生-旷课次数关联集合
 			List<Map<Integer, Integer>> continuousAbsenteeismTimesByUsersAndMusicGroup = musicGroupStudentFeeDao.findContinuousAbsenteeismTimesByUsersAndMusicGroup(classGroup.getMusicGroupId(), userIds);
 			Map<Integer,Integer> continuousAbsenteeismTimesWithUser=MapUtil.convertIntegerMap(continuousAbsenteeismTimesByUsersAndMusicGroup);
@@ -360,18 +357,13 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 							student.setTruant(true);
 						}
 					}
-					//获取科目名
-					String userSubjectName = userSubjectNameMap.get(student.getSubjectName());
-					if(Objects.nonNull(userSubjectName)){
-						student.setSubjectName(userSubjectName);
-					}
 					//当前学生的签到状态统计
 					List<StudentAttendanceStatusCountDto> currentStudentAttendanceStatusCountDtos = studentAttendanceStatusCountDtosByUser.get(student.getUserId());
 					if(!CollectionUtils.isEmpty(currentStudentAttendanceStatusCountDtos)){
 						Map<StudentAttendanceStatusEnum, Integer> statusAndNumMap = currentStudentAttendanceStatusCountDtos.stream().collect(Collectors.toMap(StudentAttendanceStatusCountDto::getStatus, StudentAttendanceStatusCountDto::getNum));
 						student.setNormalDay(statusAndNumMap.get(StudentAttendanceStatusEnum.NORMAL));
-						student.setNormalDay(statusAndNumMap.get(StudentAttendanceStatusEnum.TRUANT));
-						student.setNormalDay(statusAndNumMap.get(StudentAttendanceStatusEnum.LEAVE));
+						student.setTruantDay(statusAndNumMap.get(StudentAttendanceStatusEnum.TRUANT));
+						student.setLeaveDay(statusAndNumMap.get(StudentAttendanceStatusEnum.LEAVE));
 					}
 
 					//当前学生签到记录

+ 12 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -300,7 +300,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
             Map<Integer, String> map = new HashMap<>(1);
             map.put(studentRegistration.getUserId(), studentRegistration.getParentsPhone());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_APPLY_MESSAGE, map, null, 0, "","",
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_APPLY_MESSAGE, map, null, 0, "", "",
                     studentRegistration.getParentsName(), subject.getName(), serverPhone);
         } finally {
             redisCache.releaseLocked(key, threadId);
@@ -660,10 +660,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 receivers.put(studentRegistration.getUserId(), studentRegistration.getParentsPhone());
                 if (reduce == BigDecimal.ZERO) {
                     sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_MUSIC_GROUP_ADD_STUDENT_FREE,
-                            receivers, null, 0, null,"", studentRegistration.getParentsName(), studentRegistration.getName(), musicGroup.getName());
+                            receivers, null, 0, null, "", studentRegistration.getParentsName(), studentRegistration.getName(), musicGroup.getName());
                 } else {
                     String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + musicGroupId;
-                    sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_MUSIC_GROUP_ADD_STUDENT, receivers, null, 0, null,"", studentRegistration.getParentsName(), studentRegistration.getName(), musicGroup.getName(), HttpUtil.getSortUrl(studentApplyUrl));
+                    sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_MUSIC_GROUP_ADD_STUDENT, receivers, null, 0, null, "", studentRegistration.getParentsName(), studentRegistration.getName(), musicGroup.getName(), HttpUtil.getSortUrl(studentApplyUrl));
                 }
             }
             return userId;
@@ -842,22 +842,23 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 Map<Integer, String> map = new HashMap<>(1);
                 map.put(studentPaymentOrder.getUserId(), studentRegistration.getParentsPhone());
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,
-                        MessageTypeEnum.STUDENT_SMS_PAYMENT_SUCCESS, map, null, 0, "1","",
+                        MessageTypeEnum.STUDENT_SMS_PAYMENT_SUCCESS, map, null, 0, "1", "",
                         studentRegistration.getParentsName(), studentPaymentOrder.getActualAmount());
                 //push
                 Map<Integer, String> map1 = new HashMap<>(1);
                 map1.put(studentPaymentOrder.getUserId(), studentPaymentOrder.getUserId().toString());
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,
-                        MessageTypeEnum.STUDENT_SMS_PAYMENT_SUCCESS, map1, null, 0, "1","STUDENT",
+                        MessageTypeEnum.STUDENT_SMS_PAYMENT_SUCCESS, map1, null, 0, "1", "STUDENT",
                         studentRegistration.getParentsName(), studentPaymentOrder.getActualAmount());
             }
-//            //生成课程协议
             try {
+                //生成课程协议
                 contractService.transferMusicGroupCoursesContract(studentRegistration.getUserId(), studentRegistration.getMusicGroupId());
                 // 商品协议(租赁时候有)
-                if (musicOneSubjectClassPlan.getKitGroupPurchaseType() != null && musicOneSubjectClassPlan.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.LEASE)) {
-                    StudentPaymentOrderDetail applyOrderMusical = studentPaymentOrderDetailService.findApplyOrderMusical(studentPaymentOrder.getId());
-                    if (applyOrderMusical != null && applyOrderMusical.getGoodsIdList() != null && !applyOrderMusical.getGoodsIdList().equals("")) {
+                StudentPaymentOrderDetail applyOrderMusical = studentPaymentOrderDetailService.findApplyOrderMusical(studentPaymentOrder.getId());
+                if ((applyOrderMusical != null && applyOrderMusical.getKitGroupPurchaseType() != null && applyOrderMusical.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.LEASE))
+                        || (musicOneSubjectClassPlan.getKitGroupPurchaseType() != null && musicOneSubjectClassPlan.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.LEASE))) {
+                    if (applyOrderMusical != null) {
                         contractService.transferGoodsContract(studentPaymentOrder.getUserId(), studentPaymentOrder.getMusicGroupId(),
                                 applyOrderMusical.getGoodsIdList(), musicOneSubjectClassPlan.getKitGroupPurchaseType());
                     }
@@ -887,7 +888,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 Map<Integer, String> map = new HashMap<>(1);
                 map.put(studentPaymentOrder.getUserId(), studentRegistration.getParentsPhone());
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,
-                        MessageTypeEnum.STUDENT_SMS_PAYMENT_FAILED, map, null, 0, "1","",
+                        MessageTypeEnum.STUDENT_SMS_PAYMENT_FAILED, map, null, 0, "1", "",
                         HttpUtil.getSortUrl(studentApplyUrl));
             }
 //            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,
@@ -963,7 +964,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                     receivers.put(e.getUserId(), e.getParentsPhone());
                 });
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,
-                        MessageTypeEnum.SMS_STUDENT_OPEN_PAYMENT, receivers, null, 0, null,"",
+                        MessageTypeEnum.SMS_STUDENT_OPEN_PAYMENT, receivers, null, 0, null, "",
                         musicGroup.getName(), HttpUtil.getSortUrl(configValue + musicGroup.getId()));
             }
         }

+ 3 - 6
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -153,13 +153,12 @@
 	<select id="findStudentByClassGroup" resultMap="StudentAttendanceStatisticsResp">
 		SELECT
 			cssp.user_id_,
-			su.real_name_
+			su.username_
 		FROM
 			course_schedule_student_payment cssp
-			LEFT JOIN course_schedule cs ON cssp.course_schedule_id_ = cs.id_
 			LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
 		WHERE
-			cs.class_group_id_ = #{classGroupId}
+			cssp.class_group_id_ = #{classGroupId}
 		GROUP BY
 			cssp.user_id_
 		ORDER BY cssp.user_id_
@@ -171,10 +170,8 @@
 			COUNT(DISTINCT cssp.user_id_)
 		FROM
 			course_schedule_student_payment cssp
-			LEFT JOIN course_schedule cs ON cssp.course_schedule_id_ = cs.id_
-			LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
 		WHERE
-			cs.class_group_id_ = #{classGroupId}
+			cssp.class_group_id_ = #{classGroupId}
 	</select>
     <select id="countSurplusCourseFee" resultType="java.math.BigDecimal">
 		SELECT

+ 2 - 1
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -227,7 +227,8 @@ public class ExportController extends BaseController {
                     row.setSubjectName(studentRegistration.getSubjectName());
                     row.setSchoolName(studentRegistration.getSchoolName());
                     //更新数据后删除
-                    if (row.getType().equals(OrderTypeEnum.APPLY) && studentRegistration.getKitType() != null && studentRegistration.getKitType().equals("LEASE")) {
+                    if (leaseFee.compareTo(BigDecimal.ZERO) >0 ||
+                            row.getType().equals(OrderTypeEnum.APPLY) && studentRegistration.getKitType() != null && studentRegistration.getKitType().equals("LEASE")) {
                         row.setLeaseFee(musicalFee);
                         row.setMusicalFee(BigDecimal.ZERO);
                     }