Jelajahi Sumber

Merge branch 'active_course_2021-09-26~29' of http://git.dayaedu.com/yonge/mec into 2021-double-eleven

zouxuan 3 tahun lalu
induk
melakukan
7a8bde929c

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

@@ -19,6 +19,7 @@ import org.springframework.util.CollectionUtils;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
@@ -74,7 +75,7 @@ public class GroupClassServiceImpl implements GroupClassService {
     @Autowired
     private VipGroupCategoryDao vipGroupCategoryDao;
     @Autowired
-    private CourseScheduleTeacherSalaryService courseScheduleTeacherSalaryService;
+    private VipGroupService vipGroupService;
     @Autowired
     private ImGroupMemberService imGroupMemberService;
     @Autowired
@@ -237,7 +238,7 @@ public class GroupClassServiceImpl implements GroupClassService {
                         return BaseController.failed(HttpStatus.PARTIAL_CONTENT,format);
                     }
                     if(activityUserMapper.getGivePracticeFlag() == 2){
-                        PracticeGroup practiceGroup = practiceGroupDao.get(activityUserMapper.getGiveVipGroupId());
+                        PracticeGroup practiceGroup = practiceGroupDao.get(activityUserMapper.getGivePracticeGroupId());
                         String format = String.format("该课程组通过%s创建,含赠课课程组%s %s,确认退学(关闭)后赠课课程组也将退学", activity.getName(),practiceGroup.getId(),practiceGroup.getName());
                         return BaseController.failed(HttpStatus.PARTIAL_CONTENT,format);
                     }
@@ -300,7 +301,22 @@ public class GroupClassServiceImpl implements GroupClassService {
                     VipGroupCategory giveVipGroupCategory = vipGroupCategoryDao.get(giveVipGroup.getVipGroupCategoryId());
 
                     if(!giveVipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING) || (Objects.nonNull(giveVipGroupCategory) && giveVipGroupCategory.getMusicTheory())){
-                        courseScheduleTeacherSalaryService.updateVipGroupCourseTeacherSalary(giveVipGroupId.intValue(), giveVipGroup.getUserId());
+                        BigDecimal offlineTeacherSalary=BigDecimal.ZERO;
+
+                        List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByGroupWithNotStart(giveVipGroupId.toString(), GroupType.VIP.getCode());
+                        if(!CollectionUtils.isEmpty(courseScheduleTeacherSalaries)){
+                            for(int i=0;i<courseScheduleTeacherSalaries.size();i++){
+                                if(!courseScheduleTeacherSalaries.get(i).getEnableChangeSalary()){
+                                    continue;
+                                }
+                                Map<String, BigDecimal> salary = vipGroupService.countVipGroupPredictFee1(giveVipGroup, giveVipGroup.getUserId(), courseScheduleTeacherSalaries.get(i).getCourseScheduleId());
+                                if(Objects.nonNull(salary)){
+                                    offlineTeacherSalary = salary.get("giveOfflineTeacherSalary");
+                                }
+                                courseScheduleTeacherSalaries.get(i).setExpectSalary(offlineTeacherSalary);
+                            }
+                            courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalarys(courseScheduleTeacherSalaries);
+                        }
                     }
 
                     giveClassGroup.setStudentNum(giveClassGroup.getStudentNum() - 1);

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

@@ -2249,7 +2249,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			ActivityUserMapper activityUserMapper = activityUserMapperService.findVipUserMapper(vipGroup.getId(),"VIP");
 			if(activityUserMapper != null){
 				if(vipGroup.getId().equals(activityUserMapper.getGiveVipGroupId())){
-					vipOfflineSalarySettlement = vipGroupSalarySettlementDto.getGiveVipOfflineSalarySettlement();
+					giveVipOfflineSalarySettlement = vipGroupSalarySettlementDto.getGiveVipOfflineSalarySettlement();
 				}else if(vipGroup.getId().equals(activityUserMapper.getVipGroupId())){
 					vipOfflineSalarySettlement = vipGroupSalarySettlementDto.getVipOfflineSalarySettlement();
 				}
@@ -2322,7 +2322,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		if(Objects.isNull(gofts)){
 			gofts = BigDecimal.ZERO;
 		}
-		if(!vipGroupCategory.getMusicTheory() && (Objects.isNull(giveVipOfflineSalarySettlement) || giveVipOfflineSalarySettlement.getSalarySettlementType() == SalarySettlementTypeEnum.TEACHER_DEFAULT)){
+		if(!vipGroupCategory.getMusicTheory()){
 			gofts = gofts.divide(new BigDecimal(vipGroupCategory.getStudentNum()),CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(normalStudentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
 			ofts = ofts.divide(new BigDecimal(vipGroupCategory.getStudentNum()),CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(normalStudentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
 		}

+ 4 - 1
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java

@@ -70,6 +70,8 @@ public class VipGroupManageController extends BaseController {
     private ClassGroupStudentMapperDao classGroupStudentMapperDao;
     @Autowired
     private CourseScheduleDao courseScheduleDao;
+    @Autowired
+    private VipGroupCategoryDao vipGroupCategoryDao;
 
     @GetMapping("/teacherSalarySettlement")
     public Object teacherSalarySettlement(){
@@ -94,7 +96,8 @@ public class VipGroupManageController extends BaseController {
         if(Objects.isNull(classGroup)){
             throw new BizException("课程信息错误");
         }
-        if(Objects.isNull(oldVipGroup.getVipGroupActivityId())){
+        VipGroupCategory vipGroupCategory = vipGroupCategoryDao.get(oldVipGroup.getVipGroupCategoryId());
+        if(vipGroupCategory != null && vipGroupCategory.getMusicTheory()){
             if(VipGroupStatusEnum.PROGRESS.equals(vipGroup.getStatus())&&!VipGroupStatusEnum.FINISHED.equals(oldVipGroup.getStatus())&&oldVipGroup.getStatus().getCode()>VipGroupStatusEnum.PROGRESS.getCode()){
                 throw new BizException("此课程组状态暂不支持修改");
             }