Jelajahi Sumber

Merge branch 'merge_music_group'

周箭河 4 tahun lalu
induk
melakukan
c7a25d423b

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java

@@ -328,4 +328,12 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
      */
     List<StudentMusicGroupDto> queryStudentMusicGroupInfo(Integer userId);
 
+
+    /**
+     * 删除学生报名
+     * @param id
+     * @return
+     */
+    Boolean delReg(Long id);
+
 }

+ 15 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -2573,6 +2573,20 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             throw new BizException("获取用户信息失败");
         }
         List<StudentRegistration> studentRegistrations = studentRegistrationDao.findStudentListByIdList(registerIds);
+        List<StudentRegistration> oldRegs = studentRegistrationDao.getMusicGroupStu(musicGroupId);
+        Map<Integer, List<StudentRegistration>> oldRegMap = oldRegs.stream().collect(Collectors.groupingBy(StudentRegistration::getUserId));
+        //去掉相同的人
+        List<StudentRegistration> newRegs = new ArrayList<>();
+        Set<Integer> hasUsers = new HashSet<>();
+        for (StudentRegistration studentRegistration : studentRegistrations) {
+            if (oldRegMap.containsKey(studentRegistration.getUserId()) || hasUsers.contains(studentRegistration.getUserId())) {
+                continue;
+            }
+            hasUsers.add(studentRegistration.getUserId());
+            newRegs.add(studentRegistration);
+        }
+        studentRegistrations = newRegs;
+
         List<Integer> subjectIds = studentRegistrations.stream().map(StudentRegistration::getActualSubjectId).collect(Collectors.toList());
         List<Subject> subjects = subjectDao.findBySubjectIds(subjectIds);
         Map<Integer, List<Subject>> subjectMap = subjects.stream().collect(Collectors.groupingBy(Subject::getId));
@@ -2586,7 +2600,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             for (MusicGroupSubjectPlan musicGroupSubjectPlan : musicSubjectClassPlans) {
                 if (!subjectId.equals(musicGroupSubjectPlan.getSubjectId())) continue;
                 hasSubject = true;
-                musicGroupSubjectPlan.setApplyStudentNum(regs.size());
+                musicGroupSubjectPlan.setApplyStudentNum(musicGroupSubjectPlan.getApplyStudentNum() + regs.size());
                 subjectPlan = musicGroupSubjectPlan;
             }
             if (!hasSubject) {

+ 33 - 19
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -658,7 +658,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         }*/
         Date date = new Date();
         String musicGroupId = studentRegistration.getMusicGroupId();
-        
+
         studentRegistration.setCreateTime(date);
         studentRegistration.setUpdateTime(date);
 
@@ -837,20 +837,20 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void insertStudent(String studentIds,String oldMusicGroupId,String newMusicGroupId,BigDecimal masterTotalPrice){
+    public void insertStudent(String studentIds, String oldMusicGroupId, String newMusicGroupId, BigDecimal masterTotalPrice) {
         SysUser sysUser1 = sysUserFeignService.queryUserInfo();
         //获取旧乐团学员注册信息
-        List<StudentRegistration> studentRegistrations = studentRegistrationDao.queryByUserIdsAndMusicGroupId(studentIds,oldMusicGroupId);
+        List<StudentRegistration> studentRegistrations = studentRegistrationDao.queryByUserIdsAndMusicGroupId(studentIds, oldMusicGroupId);
         List<StudentCourseFeeDetail> studentCourseFeeDetails = new ArrayList<>();
         BigDecimal amount = BigDecimal.ZERO;
         for (StudentRegistration studentRegistration : studentRegistrations) {
             //记录课程余额消费日志
-            if(studentRegistration.getSurplusCourseFee().doubleValue() > 0d && masterTotalPrice.doubleValue() > 0d){
+            if (studentRegistration.getSurplusCourseFee().doubleValue() > 0d && masterTotalPrice.doubleValue() > 0d) {
                 StudentCourseFeeDetail studentCourseFeeDetail = new StudentCourseFeeDetail();
-                if(studentRegistration.getSurplusCourseFee().doubleValue() > masterTotalPrice.doubleValue()){
+                if (studentRegistration.getSurplusCourseFee().doubleValue() > masterTotalPrice.doubleValue()) {
                     studentCourseFeeDetail.setAmount(masterTotalPrice.negate());
                     studentCourseFeeDetail.setSurplusCourseFee(studentRegistration.getSurplusCourseFee().subtract(masterTotalPrice));
-                }else {
+                } else {
                     studentCourseFeeDetail.setAmount(studentRegistration.getSurplusCourseFee().negate());
                     studentCourseFeeDetail.setSurplusCourseFee(BigDecimal.ZERO);
                 }
@@ -869,7 +869,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 //修改剩余课程余额
                 registration.setSurplusCourseFee(registration.getSurplusCourseFee().add(amount));
                 studentRegistrationDao.update(registration);
-            }else {
+            } else {
                 //生成学员乐团注册表
                 studentRegistration.setSurplusCourseFee(amount);
                 studentRegistration.setMusicGroupId(newMusicGroupId);
@@ -877,7 +877,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 registration = studentRegistration;
             }
             //主班新增余额日志
-            if(studentRegistration.getSurplusCourseFee().doubleValue() > 0d && masterTotalPrice.doubleValue() > 0d){
+            if (studentRegistration.getSurplusCourseFee().doubleValue() > 0d && masterTotalPrice.doubleValue() > 0d) {
                 StudentCourseFeeDetail studentCourseFeeDetail = new StudentCourseFeeDetail();
                 studentCourseFeeDetail.setAmount(amount);
                 studentCourseFeeDetail.setSurplusCourseFee(registration.getSurplusCourseFee().add(amount));
@@ -889,15 +889,15 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             //增加报名学生数
             musicGroupSubjectPlanService.addApplyStudentNum(newMusicGroupId, studentRegistration.getSubjectId(), 1);
             //新增Fee表
-            MusicGroupStudentFee musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(studentRegistration.getUserId(),oldMusicGroupId);
-            if(musicGroupStudentFee == null){
+            MusicGroupStudentFee musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(studentRegistration.getUserId(), oldMusicGroupId);
+            if (musicGroupStudentFee == null) {
                 musicGroupStudentFee = new MusicGroupStudentFee(newMusicGroupId,
-                        studentRegistration.getUserId(), studentRegistration.getSubjectId(),BigDecimal.ZERO,
-                        null, studentRegistration.getTemporaryCourseFee(), studentRegistration.getPaymentStatus()==YES?PAID_COMPLETED:NON_PAYMENT);
+                        studentRegistration.getUserId(), studentRegistration.getSubjectId(), BigDecimal.ZERO,
+                        null, studentRegistration.getTemporaryCourseFee(), studentRegistration.getPaymentStatus() == YES ? PAID_COMPLETED : NON_PAYMENT);
                 musicGroupStudentFeeDao.insert(musicGroupStudentFee);
             }
         }
-        if(studentCourseFeeDetails.size() > 0){
+        if (studentCourseFeeDetails.size() > 0) {
             studentCourseFeeDetailDao.batchInsert(studentCourseFeeDetails);
         }
     }
@@ -1386,7 +1386,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     @Override
     @Transactional
     public StudentRegistration updateStudent(StudentRegistration studentRegistration) {
-        if(StringUtils.isBlank(studentRegistration.getCertificateType())){
+        if (StringUtils.isBlank(studentRegistration.getCertificateType())) {
             studentRegistration.setCertificateType(CertificateTypeEnum.IDENTITY.getCode());
         }
         StudentRegistration student = get(studentRegistration.getId());
@@ -1398,7 +1398,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         update(student);
         studentRegistrationDao.updateUser(student.getUserId(), student.getParentsName(), student.getIdCardNo(), studentRegistration.getCertificateType());
         // 添加用户电子签章账户
-        if(CertificateTypeEnum.IDENTITY.getCode().equals(studentRegistration.getCertificateType())){
+        if (CertificateTypeEnum.IDENTITY.getCode().equals(studentRegistration.getCertificateType())) {
             contractService.register(student.getUserId(), student.getParentsName(), student.getIdCardNo(), student.getParentsPhone());
         }
         return student;
@@ -1586,8 +1586,22 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         return amount;
     }
 
-	@Override
-	public List<StudentMusicGroupDto> queryStudentMusicGroupInfo(Integer userId) {
-		return studentRegistrationDao.queryStudentMusicGroupInfo(userId);
-	}
+    @Override
+    public List<StudentMusicGroupDto> queryStudentMusicGroupInfo(Integer userId) {
+        return studentRegistrationDao.queryStudentMusicGroupInfo(userId);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean delReg(Long id) {
+        StudentRegistration studentRegistration = studentRegistrationDao.get(id);
+        MusicGroupSubjectPlan subjectPlan = musicGroupSubjectPlanDao.findSubjectPlan(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId());
+        int delNum = studentRegistrationDao.delete(id);
+        subjectPlan.setApplyStudentNum(subjectPlan.getApplyStudentNum() - 1);
+        int updateNum = musicGroupSubjectPlanDao.update(subjectPlan);
+        if (delNum <= 0 || updateNum <= 0) {
+            throw new BizException("删除失败,请重试");
+        }
+        return true;
+    }
 }

+ 12 - 0
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -11,6 +11,7 @@ import com.ym.mec.biz.service.MusicGroupSubjectPlanService;
 import com.ym.mec.biz.service.StudentRegistrationService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -179,4 +180,15 @@ public class StudentRegistrationController extends BaseController {
         return succeed(studentRegistrationService.getClassGroupCourseExpectPrice(classGroupIds));
     }
 
+    @ApiOperation(value = "删除报名的学生")
+    @PostMapping("/del")
+    @PreAuthorize("@pcs.hasPermissions('studentRegistration/del')")
+    public HttpResponseResult<Boolean> del(Long id) {
+        StudentRegistration studentRegistration = studentRegistrationService.get(id);
+        if(studentRegistration == null){
+            return failed("删除的报名信息不存在");
+        }
+        return succeed(studentRegistrationService.delReg(id));
+    }
+
 }