|
@@ -401,6 +401,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
musicGroupSubjectGoodsGroup.setType(goodsType);
|
|
|
musicGroupSubjectGoodsGroup.setGoodsIdList(orderDetail.getGoodsIdList());
|
|
|
musicGroupSubjectGoodsGroup.setPrice(orderDetail.getPrice());
|
|
|
+ musicGroupSubjectGoodsGroup.setKitGroupPurchaseType(orderDetail.getKitGroupPurchaseType());
|
|
|
|
|
|
goodsGroups.add(musicGroupSubjectGoodsGroup);
|
|
|
if (musicGroupSubjectGoodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
|
|
@@ -446,6 +447,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
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")) {
|
|
@@ -613,6 +615,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
BigDecimal instrumentFee = BigDecimal.ZERO;
|
|
|
BigDecimal accessoriesFee = BigDecimal.ZERO;
|
|
|
BigDecimal otherFee = BigDecimal.ZERO;
|
|
|
+ BigDecimal remitFee = BigDecimal.ZERO;
|
|
|
|
|
|
|
|
|
//乐器及打包辅件
|
|
@@ -666,6 +669,43 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
courseFee.subtract(goodsGroup.getRemissionCourseFee());
|
|
|
}
|
|
|
}
|
|
|
+ } else if (registerPayDto.getGoodsGroups() != null && registerPayDto.getGoodsGroups().size() > 0) {
|
|
|
+ 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")){
|
|
|
+ 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("乐器提供方式不存在");
|
|
|
+ }
|
|
|
+ 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")){
|
|
|
+ throw new BizException("乐器提供方式不存在");
|
|
|
+ }
|
|
|
+ goodsGroup.setPrice(new BigDecimal(0));
|
|
|
+ remitFee = new BigDecimal((String) groupType.get("FREE"));
|
|
|
+ }
|
|
|
+ if(goodsGroup.getType().equals(GoodsType.INSTRUMENT)){
|
|
|
+ instrumentFee = instrumentFee.add(goodsGroup.getPrice());
|
|
|
+ }else if(goodsGroup.getType().equals(GoodsType.ACCESSORIES)) {
|
|
|
+ accessoriesFee = accessoriesFee.add(goodsGroup.getPrice());
|
|
|
+ }else {
|
|
|
+ otherFee = otherFee.add(goodsGroup.getPrice());
|
|
|
+ }
|
|
|
+ orderAmount = orderAmount.add(goodsGroup.getPrice());
|
|
|
+ }
|
|
|
+ orderAmount = orderAmount.subtract(remitFee);
|
|
|
}
|
|
|
|
|
|
//单独辅件
|
|
@@ -860,6 +900,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
throw new BizException("课酬未确认");
|
|
|
}
|
|
|
}
|
|
|
+ updateTeamTeacher(musicGroup,musicGroup);
|
|
|
//生成学员费用表
|
|
|
List<MusicGroupStudentFee> musicGroupStudentFees = musicGroupStudentFeeDao.initMusicGroupStudentFee(musicGroupId);
|
|
|
if (musicGroupStudentFees != null && musicGroupStudentFees.size() > 0) {
|
|
@@ -1766,6 +1807,30 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
return musicGroupPageInfo;
|
|
|
}
|
|
|
|
|
|
+ private void updateTeamTeacher(MusicGroup oldMusicGroup,MusicGroup newMusicGroup){
|
|
|
+ List<ClassGroup> classGroups = classGroupDao.findClassGroupByMusicGroupIdAndType(newMusicGroup.getId(), null);
|
|
|
+ if(classGroups == null || classGroups.size() == 0){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Integer teamTeacherId = newMusicGroup.getTeamTeacherId();
|
|
|
+ Integer educationalTeacherId = newMusicGroup.getEducationalTeacherId();
|
|
|
+ Integer directorUserId = newMusicGroup.getDirectorUserId();
|
|
|
+ ImGroupMember[] oldImGroupMembers1 = {new ImGroupMember(oldMusicGroup.getTeamTeacherId().toString())};
|
|
|
+ ImGroupMember[] nowImGroupMembers1 = {new ImGroupMember(teamTeacherId.toString())};
|
|
|
+ ImGroupMember[] oldImGroupMembers2 = {new ImGroupMember(oldMusicGroup.getEducationalTeacherId().toString())};
|
|
|
+ ImGroupMember[] nowImGroupMembers2 = {new ImGroupMember(educationalTeacherId.toString())};
|
|
|
+ ImGroupMember[] oldImGroupMembers3 = {new ImGroupMember(oldMusicGroup.getDirectorUserId().toString())};
|
|
|
+ ImGroupMember[] nowImGroupMembers3 = {new ImGroupMember(directorUserId.toString())};
|
|
|
+ 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()));
|
|
|
+ imFeignService.groupJoin(new ImGroupModel(e.getId().toString(), nowImGroupMembers2, e.getName()));
|
|
|
+ imFeignService.groupQuit(new ImGroupModel(e.getId().toString(), oldImGroupMembers3, e.getName()));
|
|
|
+ imFeignService.groupJoin(new ImGroupModel(e.getId().toString(), nowImGroupMembers3, e.getName()));
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void updateBaseInfo(SubFeeSettingDto subFeeSettingDto) throws Exception {
|
|
@@ -1782,6 +1847,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
//如果已生成课表,那么修改未上课时教学点
|
|
|
courseScheduleDao.updateCourseScheduleSchool("MUSIC", musicGroupId, musicGroup.getSchoolId());
|
|
|
}
|
|
|
+ updateTeamTeacher(musicGroup,group);
|
|
|
List<Integer> months = subFeeSettingDto.getMonths();
|
|
|
|
|
|
Date date = new Date();
|