Jelajahi Sumber

add 乐团报名逻辑修改

river 4 tahun lalu
induk
melakukan
ec10c9340e

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

@@ -413,4 +413,11 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
      */
     Boolean setNoneCloudTeacher(Long id);
 
+    /**
+     * 已付费解除审核增加缴费人数和0元缴费人数
+     * @param id
+     * @return
+     */
+    Boolean addPaidNum(Long id);
+
 }

+ 14 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -709,6 +709,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         StudentPaymentOrder studentPaymentOrder = studentRegistrationService.addOrder(studentRegistration, amount, orderNo, channelType, courseFee, goodsGroups, remitFee, courseRemitFee, newCourses, registerPayDto.getBuyMaintenance(), registerPayDto.getBuyCloudTeacher(), registerPayDto.getBuyCloudTeacherPlus());
         studentPaymentOrder = studentPaymentOrderService.get(studentPaymentOrder.getId());
+        boolean canPay = studentPaymentOrder.getClassGroupId() != null && studentPaymentOrder.getClassGroupId().equals(206);
 
         Date date = new Date();
         BigDecimal balance = BigDecimal.ZERO;
@@ -751,10 +752,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.NO_BUY_CLOUD_TEACHER_MSG,
                     userPhoneMap, null, 0, null, null, musicGroup.getName(), studentRegistration.getName());
 
-            Map<String, String> notifyMap = new HashMap<>();
-            notifyMap.put("hasPaidZero", "205");
-            notifyMap.put("orderNo", studentPaymentOrder.getOrderNo());
-            return notifyMap;
+            if(!canPay){
+                Map<String, String> notifyMap = new HashMap<>();
+                notifyMap.put("hasPaidZero", "205");
+                notifyMap.put("orderNo", studentPaymentOrder.getOrderNo());
+                return notifyMap;
+            }
         }
 
         if (amount.compareTo(BigDecimal.ZERO) == 0) {
@@ -898,6 +901,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         StudentPaymentOrder studentPaymentOrder = studentRegistrationService.addOrder(studentRegistration, amount, orderNo, channelType, courseFee, goodsGroups, remitFee, courseRemitFee, newCourses, registerPayDto.getBuyMaintenance(), registerPayDto.getBuyCloudTeacher(), registerPayDto.getBuyCloudTeacherPlus());
         studentPaymentOrder = studentPaymentOrderService.get(studentPaymentOrder.getId());
+        boolean canPay = studentPaymentOrder.getClassGroupId() != null && studentPaymentOrder.getClassGroupId().equals(206);
         Date date = new Date();
 
         BigDecimal balance = BigDecimal.ZERO;
@@ -939,11 +943,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.NO_BUY_CLOUD_TEACHER_MSG,
                     userPhoneMap, null, 0, null, null, musicGroup.getName(), studentRegistration.getName());
 
-
-            Map<String, String> notifyMap = new HashMap<>();
-            notifyMap.put("hasPaidZero", "205");
-            notifyMap.put("orderNo", studentPaymentOrder.getOrderNo());
-            return notifyMap;
+            if(!canPay) {
+                Map<String, String> notifyMap = new HashMap<>();
+                notifyMap.put("hasPaidZero", "205");
+                notifyMap.put("orderNo", studentPaymentOrder.getOrderNo());
+                return notifyMap;
+            }
         }
 
         if (amount.compareTo(BigDecimal.ZERO) == 0) {

+ 38 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -527,6 +527,9 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             studentPaymentOrder.setVersion(0);
             String code = studentRegistration.getNoneNeedCloudTeacher().equals(1) ? "200" : "205";
             studentPaymentOrder.setPaymentAccountNo(code);
+            if (code.equals("205") && !"".equals(maintenanceGoodsId)) {
+                studentPaymentOrder.setClassGroupId(206);
+            }
             studentPaymentOrderService.update(studentPaymentOrder);
         }
         return studentPaymentOrder;
@@ -1087,7 +1090,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             }
             studentRegistration.setPaymentStatus(YES);
             studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
-            studentRegistration.setPayingStatus(0);
+
+            if (studentPaymentOrder.getClassGroupId() == null || !studentPaymentOrder.getClassGroupId().equals(206)) {
+                studentRegistration.setPayingStatus(0);
+            }
 
             List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailService.getOrderDetail(studentPaymentOrder.getId());
 
@@ -1838,21 +1844,21 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         int registerNum = studentRegistrationDao.getRegisterNum(queryInfo.getMusicGroupId());
         pageInfo.setRegNum(registerNum);
         RegisterDto registerOrPreMinTime = studentRegistrationDao.getRegisterOrPreMinTime(queryInfo.getMusicGroupId());
-        if(registerOrPreMinTime != null && registerOrPreMinTime.getMinPayTime() != null){
+        if (registerOrPreMinTime != null && registerOrPreMinTime.getMinPayTime() != null) {
             Date startTime = DateUtil.trunc(registerOrPreMinTime.getMinPayTime());
             Date endTime = DateUtil.getLastTimeWithDay(startTime);
             int firstPayNum = studentRegistrationDao.getFirstPayNum(queryInfo.getMusicGroupId(), startTime, endTime);
-            int totalPayNum = studentRegistrationDao.getFirstPayNum(queryInfo.getMusicGroupId(), startTime,null);
+            int totalPayNum = studentRegistrationDao.getFirstPayNum(queryInfo.getMusicGroupId(), startTime, null);
             pageInfo.setFirstDayPayNum(firstPayNum);
             pageInfo.setPayNum(totalPayNum);
-            pageInfo.setPayScale(new BigDecimal(firstPayNum).multiply(new BigDecimal(100)).divide(new BigDecimal(totalPayNum),2,BigDecimal.ROUND_HALF_UP));
+            pageInfo.setPayScale(new BigDecimal(firstPayNum).multiply(new BigDecimal(100)).divide(new BigDecimal(totalPayNum), 2, BigDecimal.ROUND_HALF_UP));
         }
 
         pageInfo.setTotal(count);
         params.put("offset", pageInfo.getOffset());
         if (queryInfo.getPage() <= pageInfo.getTotalPage()) {
-            Date firstPreTime = registerOrPreMinTime != null ?registerOrPreMinTime.getMinPerRegisterTime():null;
-            Date firstPayTime = registerOrPreMinTime != null ?registerOrPreMinTime.getMinPayTime():null;
+            Date firstPreTime = registerOrPreMinTime != null ? registerOrPreMinTime.getMinPerRegisterTime() : null;
+            Date firstPayTime = registerOrPreMinTime != null ? registerOrPreMinTime.getMinPayTime() : null;
             dataList = studentRegistrationDao.getRegisterOrPreList(params);
             for (RegisterDto registerDto : dataList) {
                 if (DateUtil.dateToString(registerDto.getPerRegisterTime()).equals("2099-12-31") ||
@@ -1887,7 +1893,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     public Boolean setNoneCloudTeacher(Long id) {
         StudentRegistration studentRegistration = studentRegistrationDao.get(id);
         if (!studentRegistration.getPayingStatus().equals(2)) {
-            throw new BizException("该学生不在预约中");
+            throw new BizException("该学生不在审核中");
         }
         if (studentRegistration.getNoneNeedCloudTeacher().equals(1)) {
             throw new BizException("该学生已设置");
@@ -1898,4 +1904,29 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         }
         return true;
     }
+
+    @Override
+    public Boolean addPaidNum(Long id) {
+        StudentRegistration studentRegistration = studentRegistrationDao.get(id);
+        if (!studentRegistration.getPayingStatus().equals(2)) {
+            throw new BizException("该学生不在审核");
+        }
+        if (!studentRegistration.getPaymentStatus().equals(YES)) {
+            throw new BizException("该学生状态已更新,请刷新查看");
+        }
+        studentRegistration.setPayingStatus(0);
+        studentRegistrationDao.update(studentRegistration);
+
+
+        MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getActualSubjectId());
+        int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
+        int paidZeroNum = musicOneSubjectClassPlan.getPaidZeroNum() == null ? 0 : musicOneSubjectClassPlan.getPaidZeroNum();
+        musicOneSubjectClassPlan.setPaidZeroNum(paidZeroNum + 1);
+        musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
+        int count = musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
+        if (count <= 0) {
+            throw new BizException("缴费人数更新失败,请重试");
+        }
+        return true;
+    }
 }

+ 10 - 3
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -6,6 +6,7 @@ import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
+import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
 import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.service.EmployeeService;
 
@@ -396,8 +397,8 @@ public class StudentRegistrationController extends BaseController {
         OutputStream outputStream = response.getOutputStream();
         HSSFWorkbook workbook = null;
         try {
-            String[] header = {"学员编号", "学员姓名", "声部", "预报名时间", "预报名时间差","预报名排名", "缴费时间", "缴费时间差","缴费排名"};
-            String[] body = {"userId", "studentName", "actualSubjectName", "perRegisterTime", "perRegIntervalStr","perRegSort", "payTime", "payIntervalStr","paySort"};
+            String[] header = {"学员编号", "学员姓名", "声部", "预报名时间", "预报名时间差", "预报名排名", "缴费时间", "缴费时间差", "缴费排名"};
+            String[] body = {"userId", "studentName", "actualSubjectName", "perRegisterTime", "perRegIntervalStr", "perRegSort", "payTime", "payIntervalStr", "paySort"};
             workbook = POIUtil.exportExcel(header, body, registerOrPreList.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=registerOrPer-" + DateUtil.getDate(new Date()) + ".xls");
@@ -425,6 +426,12 @@ public class StudentRegistrationController extends BaseController {
     @GetMapping("/setNoneCloudTeacher")
     @PreAuthorize("@pcs.hasPermissions('studentRegistration/setNoneCloudTeacher')")
     public HttpResponseResult<Boolean> setNoneCloudTeacher(Long id) {
-        return succeed(studentRegistrationService.setNoneCloudTeacher(id));
+        StudentRegistration studentRegistration = studentRegistrationService.get(id);
+        //已付费的增加,已缴费人数、和0元付费人数
+        if (studentRegistration.getPaymentStatus().equals(PaymentStatusEnum.YES)) {
+            return succeed(studentRegistrationService.addPaidNum(id));
+        } else {
+            return succeed(studentRegistrationService.setNoneCloudTeacher(id));
+        }
     }
 }