|  | @@ -1,6 +1,7 @@
 | 
	
		
			
				|  |  |  package com.ym.mec.biz.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  | +import com.alibaba.fastjson.TypeReference;
 | 
	
		
			
				|  |  |  import com.ym.mec.auth.api.client.SysUserFeignService;
 | 
	
		
			
				|  |  |  import com.ym.mec.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  |  import com.ym.mec.auth.api.entity.SysUserRole;
 | 
	
	
		
			
				|  | @@ -181,7 +182,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());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 保存乐团付费主体列表
 | 
	
		
			
				|  |  |          //批量新增
 | 
	
	
		
			
				|  | @@ -251,6 +252,13 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 保存乐团声部商品规划
 | 
	
		
			
				|  |  |          if (musicGroupSubjectGoodsGroups != null && musicGroupSubjectGoodsGroups.size() > 0) {
 | 
	
		
			
				|  |  | +            for (MusicGroupSubjectGoodsGroup musicGroupSubjectGoodsGroup : musicGroupSubjectGoodsGroups) {
 | 
	
		
			
				|  |  | +                if(musicGroupSubjectGoodsGroup.getType().equals(GoodsType.INSTRUMENT) && (musicGroupSubjectGoodsGroup.getKitGroupPurchaseTypeJson() == null
 | 
	
		
			
				|  |  | +                        || musicGroupSubjectGoodsGroup.getKitGroupPurchaseTypeJson().isEmpty()
 | 
	
		
			
				|  |  | +                        || musicGroupSubjectGoodsGroup.getKitGroupPurchaseTypeJson().equals("{}"))){
 | 
	
		
			
				|  |  | +                    throw new BizException(musicGroupSubjectGoodsGroup.getName()+" 请选择提供方式");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              musicGroupSubjectGoodsGroupDao.batchInsert(musicGroupSubjectGoodsGroups, musicGroupId);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return musicGroupId;
 | 
	
	
		
			
				|  | @@ -265,7 +273,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 +282,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();
 | 
	
	
		
			
				|  | @@ -394,16 +402,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |                  if (orderDetail == null || orderDetail.getPrice() == null || orderDetail.getGoodsIdList() == null) {
 | 
	
		
			
				|  |  |                      continue;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                if (orderDetail.getType().equals(OrderDetailTypeEnum.MUSICAL) && musicOneSubjectClassPlan.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.FREE)) {
 | 
	
		
			
				|  |  | -                    orderDetail.setPrice(BigDecimal.ZERO);
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  |                  MusicGroupSubjectGoodsGroup musicGroupSubjectGoodsGroup = new MusicGroupSubjectGoodsGroup();
 | 
	
		
			
				|  |  |                  GoodsType goodsType = orderDetail.getType().equals(OrderDetailTypeEnum.MUSICAL) ? GoodsType.INSTRUMENT : GoodsType.ACCESSORIES;
 | 
	
		
			
				|  |  |                  musicGroupSubjectGoodsGroup.setType(goodsType);
 | 
	
		
			
				|  |  |                  musicGroupSubjectGoodsGroup.setGoodsIdList(orderDetail.getGoodsIdList());
 | 
	
		
			
				|  |  |                  musicGroupSubjectGoodsGroup.setPrice(orderDetail.getPrice());
 | 
	
		
			
				|  |  |                  musicGroupSubjectGoodsGroup.setKitGroupPurchaseType(orderDetail.getKitGroupPurchaseType());
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |                  goodsGroups.add(musicGroupSubjectGoodsGroup);
 | 
	
		
			
				|  |  |                  if (musicGroupSubjectGoodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
 | 
	
		
			
				|  |  |                      instrumentFee = instrumentFee.add(orderDetail.getPrice());
 | 
	
	
		
			
				|  | @@ -443,34 +447,36 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |              String goodsGroupIds = registerPayDto.getGoodsGroups().keySet().stream().map(Object::toString).collect(Collectors.joining(","));
 | 
	
		
			
				|  |  |              goodsGroups = musicGroupSubjectGoodsGroupService.findGoodsGroupByIds(goodsGroupIds);
 | 
	
		
			
				|  |  |              for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
 | 
	
		
			
				|  |  | -                Map groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), HashMap.class);
 | 
	
		
			
				|  |  | -                if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("GROUP")) {
 | 
	
		
			
				|  |  | -                    if(!groupType.containsKey("GROUP")){
 | 
	
		
			
				|  |  | +                Map<String, BigDecimal> groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), new TypeReference<Map<String, BigDecimal>>() {
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +                if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("GROUP")) {
 | 
	
		
			
				|  |  | +                    if (!groupType.containsKey("GROUP")) {
 | 
	
		
			
				|  |  |                          throw new BizException("乐器提供方式不存在");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.GROUP);
 | 
	
		
			
				|  |  | -                    remitFee = new BigDecimal((String) groupType.get("GROUP"));
 | 
	
		
			
				|  |  | +                    remitFee = groupType.get("GROUP");
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("LEASE")) {
 | 
	
		
			
				|  |  | -                    if(!groupType.containsKey("LEASE")){
 | 
	
		
			
				|  |  | -                       throw new BizException("乐器提供方式不存在");
 | 
	
		
			
				|  |  | +                if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("LEASE")) {
 | 
	
		
			
				|  |  | +                    if (!groupType.containsKey("LEASE")) {
 | 
	
		
			
				|  |  | +                        throw new BizException("乐器提供方式不存在");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      goodsGroup.setPrice(goodsGroup.getDepositFee());
 | 
	
		
			
				|  |  |                      goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.LEASE);
 | 
	
		
			
				|  |  | -                    remitFee = new BigDecimal((String) groupType.get("LEASE"));
 | 
	
		
			
				|  |  | +                    remitFee = groupType.get("LEASE");
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("FREE")) {
 | 
	
		
			
				|  |  | -                    if(!groupType.containsKey("FREE")){
 | 
	
		
			
				|  |  | +                if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("FREE")) {
 | 
	
		
			
				|  |  | +                    if (!groupType.containsKey("FREE")) {
 | 
	
		
			
				|  |  |                          throw new BizException("乐器提供方式不存在");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      goodsGroup.setPrice(new BigDecimal(0));
 | 
	
		
			
				|  |  | -                    remitFee = new BigDecimal((String) groupType.get("FREE"));
 | 
	
		
			
				|  |  | +                    goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.FREE);
 | 
	
		
			
				|  |  | +                    remitFee = 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 +572,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");
 | 
	
	
		
			
				|  | @@ -624,7 +630,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |          BigDecimal otherFee = BigDecimal.ZERO;
 | 
	
		
			
				|  |  |          BigDecimal remitFee = BigDecimal.ZERO;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          //乐器及打包辅件
 | 
	
		
			
				|  |  |          List<MusicGroupSubjectGoodsGroup> goodsGroups = new ArrayList<>();
 | 
	
		
			
				|  |  |          if (studentRegistration.getTemporaryCourseFee() != null) {
 | 
	
	
		
			
				|  | @@ -633,14 +638,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |                  if (orderDetail == null || orderDetail.getPrice() == null || orderDetail.getGoodsIdList() == null) {
 | 
	
		
			
				|  |  |                      continue;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                if (orderDetail.getType().equals(OrderDetailTypeEnum.MUSICAL) && musicOneSubjectClassPlan.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.FREE)) {
 | 
	
		
			
				|  |  | -                    orderDetail.setPrice(BigDecimal.ZERO);
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  |                  MusicGroupSubjectGoodsGroup musicGroupSubjectGoodsGroup = new MusicGroupSubjectGoodsGroup();
 | 
	
		
			
				|  |  |                  GoodsType goodsType = orderDetail.getType().equals(OrderDetailTypeEnum.MUSICAL) ? GoodsType.INSTRUMENT : GoodsType.ACCESSORIES;
 | 
	
		
			
				|  |  |                  musicGroupSubjectGoodsGroup.setType(goodsType);
 | 
	
		
			
				|  |  |                  musicGroupSubjectGoodsGroup.setGoodsIdList(orderDetail.getGoodsIdList());
 | 
	
		
			
				|  |  |                  musicGroupSubjectGoodsGroup.setPrice(orderDetail.getPrice());
 | 
	
		
			
				|  |  | +                musicGroupSubjectGoodsGroup.setKitGroupPurchaseType(orderDetail.getKitGroupPurchaseType());
 | 
	
		
			
				|  |  |                  goodsGroups.add(musicGroupSubjectGoodsGroup);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  if (musicGroupSubjectGoodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
 | 
	
	
		
			
				|  | @@ -652,7 +655,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  orderAmount = orderAmount.add(orderDetail.getPrice());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -        } else if (studentRegistration.getTemporaryCourseFee() == null && !registerPayDto.getGoodsGroupIds().equals("")) {
 | 
	
		
			
				|  |  | +        } else if (StringUtils.isNoneBlank(registerPayDto.getGoodsGroupIds())) {
 | 
	
		
			
				|  |  |              goodsGroups = musicGroupSubjectGoodsGroupService.findGoodsGroupByIds(registerPayDto.getGoodsGroupIds());
 | 
	
		
			
				|  |  |              for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
 | 
	
		
			
				|  |  |                  if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && musicOneSubjectClassPlan.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.LEASE)) {
 | 
	
	
		
			
				|  | @@ -680,34 +683,36 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |              String goodsGroupIds = registerPayDto.getGoodsGroups().keySet().stream().map(Object::toString).collect(Collectors.joining(","));
 | 
	
		
			
				|  |  |              goodsGroups = musicGroupSubjectGoodsGroupService.findGoodsGroupByIds(goodsGroupIds);
 | 
	
		
			
				|  |  |              for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
 | 
	
		
			
				|  |  | -                Map groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), HashMap.class);
 | 
	
		
			
				|  |  | -                if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("GROUP")) {
 | 
	
		
			
				|  |  | -                    if(!groupType.containsKey("GROUP")){
 | 
	
		
			
				|  |  | +                Map<String, BigDecimal> groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), new TypeReference<Map<String, BigDecimal>>() {
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +                if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("GROUP")) {
 | 
	
		
			
				|  |  | +                    if (!groupType.containsKey("GROUP")) {
 | 
	
		
			
				|  |  |                          throw new BizException("乐器提供方式不存在");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.GROUP);
 | 
	
		
			
				|  |  | -                    remitFee = new BigDecimal((String) groupType.get("GROUP"));
 | 
	
		
			
				|  |  | +                    remitFee = groupType.get("GROUP");
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("LEASE")) {
 | 
	
		
			
				|  |  | -                    if(!groupType.containsKey("LEASE")){
 | 
	
		
			
				|  |  | +                if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("LEASE")) {
 | 
	
		
			
				|  |  | +                    if (!groupType.containsKey("LEASE")) {
 | 
	
		
			
				|  |  |                          throw new BizException("乐器提供方式不存在");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      goodsGroup.setPrice(goodsGroup.getDepositFee());
 | 
	
		
			
				|  |  |                      goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.LEASE);
 | 
	
		
			
				|  |  | -                    remitFee = new BigDecimal((String) groupType.get("LEASE"));
 | 
	
		
			
				|  |  | +                    remitFee = groupType.get("LEASE");
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("FREE")) {
 | 
	
		
			
				|  |  | -                    if(!groupType.containsKey("FREE")){
 | 
	
		
			
				|  |  | +                if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("FREE")) {
 | 
	
		
			
				|  |  | +                    if (!groupType.containsKey("FREE")) {
 | 
	
		
			
				|  |  |                          throw new BizException("乐器提供方式不存在");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      goodsGroup.setPrice(new BigDecimal(0));
 | 
	
		
			
				|  |  | -                    remitFee = new BigDecimal((String) groupType.get("FREE"));
 | 
	
		
			
				|  |  | +                    goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.FREE);
 | 
	
		
			
				|  |  | +                    remitFee = 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 +808,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");
 | 
	
	
		
			
				|  | @@ -872,6 +877,14 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |                  musicGroupSubjectPlanDao.batchAdd(musicGroupSubjectPlans, musicGroupId);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              if (subFeeSettingDto.getMusicGroupSubjectGoodsGroups() != null && subFeeSettingDto.getMusicGroupSubjectGoodsGroups().size() > 0) {
 | 
	
		
			
				|  |  | +                for (MusicGroupSubjectGoodsGroup musicGroupSubjectGoodsGroup : subFeeSettingDto.getMusicGroupSubjectGoodsGroups()) {
 | 
	
		
			
				|  |  | +                    if(musicGroupSubjectGoodsGroup.getType().equals(GoodsType.INSTRUMENT) && (musicGroupSubjectGoodsGroup.getKitGroupPurchaseTypeJson() == null
 | 
	
		
			
				|  |  | +                            || musicGroupSubjectGoodsGroup.getKitGroupPurchaseTypeJson().isEmpty()
 | 
	
		
			
				|  |  | +                            || musicGroupSubjectGoodsGroup.getKitGroupPurchaseTypeJson().equals("{}"))){
 | 
	
		
			
				|  |  | +                        throw new BizException(musicGroupSubjectGoodsGroup.getName()+" 请选择提供方式");
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |                  musicGroupSubjectGoodsGroupDao.batchInsert(subFeeSettingDto.getMusicGroupSubjectGoodsGroups(), musicGroupId);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          } else {
 | 
	
	
		
			
				|  | @@ -911,7 +924,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 +943,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 +952,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 +983,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 +1018,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) {
 | 
	
		
			
				|  |  |              //是否有基础训练班
 | 
	
		
			
				|  |  |              Integer num = classGroupDao.countClassNumByType(musicGroupId);
 | 
	
		
			
				|  |  |              if(num != null && num > 0){
 | 
	
	
		
			
				|  | @@ -1021,7 +1034,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);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -1120,10 +1133,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());
 | 
	
	
		
			
				|  | @@ -1131,7 +1144,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));
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //记录建团日志
 | 
	
	
		
			
				|  | @@ -1140,7 +1153,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;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1243,7 +1256,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;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1273,7 +1286,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;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1351,7 +1364,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) {
 | 
	
	
		
			
				|  | @@ -1375,7 +1397,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;
 | 
	
	
		
			
				|  | @@ -1458,8 +1480,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) {
 | 
	
	
		
			
				|  | @@ -1483,7 +1513,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;
 | 
	
	
		
			
				|  | @@ -1503,6 +1533,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 | 
	
		
			
				|  |  |          if (musicGroupStudentFee == null) {
 | 
	
		
			
				|  |  |              throw new BizException("个人续费信息错误");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        StudentRegistration studentRegistration = studentRegistrationService.queryByUserIdAndMusicGroupId(userId, musicGroupId);
 | 
	
		
			
				|  |  | +        if(studentRegistration == null || studentRegistration.getPaymentStatus() != PaymentStatusEnum.YES){
 | 
	
		
			
				|  |  | +        	throw new BizException("请走报名缴费流程");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  |          //判断是否是续费
 | 
	
		
			
				|  |  |  		/*List<StudentPaymentOrder> orderList = studentPaymentOrderDao.queryByCondition(GroupType.MUSIC, musicGroupId, userId, DealStatusEnum.SUCCESS);
 | 
	
		
			
				|  |  |  		if (orderList == null || orderList.size() == 0) {
 | 
	
	
		
			
				|  | @@ -1679,11 +1715,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;
 | 
	
	
		
			
				|  | @@ -1694,12 +1730,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;
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -1744,8 +1780,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;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1819,9 +1855,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();
 | 
	
	
		
			
				|  | @@ -1833,7 +1869,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()));
 | 
	
	
		
			
				|  | @@ -1859,7 +1895,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();
 | 
	
	
		
			
				|  | @@ -1968,21 +2004,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;
 | 
	
	
		
			
				|  | @@ -2051,7 +2087,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);
 | 
	
	
		
			
				|  | @@ -2064,12 +2100,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());
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |