zouxuan 3 năm trước cách đây
mục cha
commit
b63183f0e2

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java

@@ -87,6 +87,9 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
 
     void queryOrderStatus() throws Exception;
 
+    //退优惠券和余额
+    void quitCouponAndBalance(StudentPaymentOrder order);
+
     void updateOrder(Map<String, String> rpMap) throws Exception;
 
     List<StudentPaymentOrderExportDto> ExportQueryPage(Map<String, Object> params);
@@ -195,6 +198,15 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
      */
     HttpResponseResult checkRepeatPay(StudentPaymentOrder order, Boolean repeatPay) throws Exception;
 
+    /**
+    * @description: 订单关闭时需要更改已缴费学员数
+     * @param order
+    * @return void
+    * @author zx
+    * @date 2022/1/18 13:39
+    */
+    void cutSubjectPlan(StudentPaymentOrder order);
+
     PageInfo<StudentPaymentOrderVo> queryOrder(Map<String, Object> param) throws Exception;
 
     StudentPaymentOrderVo queryOrderDetail(String orderNo);

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

@@ -400,15 +400,6 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
      */
     PageInfoReg<RegisterDto> getRegisterOrPreList(RegistrationOrPreQueryInfo queryInfo);
 
-
-    /**
-     * 设置不需要云教练
-     *
-     * @param id
-     * @return
-     */
-    Boolean setNoneCloudTeacher(Long id);
-
     /**
      * 已付费解除审核增加缴费人数和0元缴费人数
      *

+ 13 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -320,6 +320,17 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void quitCouponAndBalance(StudentPaymentOrder order){
+        //增加用户余额
+        sysUserCashAccountService.updateBalance(order.getUserId(), order.getActualAmount(),
+                PlatformCashAccountDetailTypeEnum.REFUNDS, order.getMemo() + ",订单号:" + order.getOrderNo());
+
+        //退还优惠券
+        sysCouponCodeService.quit(order.getCouponCodeId());
+    }
+
+    @Transactional(rollbackFor = Exception.class)
     public void updateOrder(Map<String, String> rpMap) throws Exception {
         DealStatusEnum status = rpMap.get("tradeState").equals("1") ? DealStatusEnum.SUCCESS : DealStatusEnum.FAILED;
         StudentPaymentOrder order = findOrderByOrderNo(rpMap.get("merOrderNo"));
@@ -337,12 +348,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
             if (updateCount <= 0) {
                 throw new BizException("订单更新失败");
             }
-            //增加用户余额
-            sysUserCashAccountService.updateBalance(order.getUserId(), order.getActualAmount(),
-                    PlatformCashAccountDetailTypeEnum.REFUNDS, memo + ",订单号:" + order.getOrderNo());
-
-            //退还优惠券
-            sysCouponCodeService.quit(order.getCouponCodeId());
+            quitCouponAndBalance(order);
             if (StringUtils.isNotBlank(order.getPaymentChannel())
                     && order.getPaymentChannel().equals("ADAPAY")
                     && !rpMap.containsKey("simulation")) {
@@ -801,6 +807,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Transactional(rollbackFor = Exception.class)
+    @Override
     public void cutSubjectPlan(StudentPaymentOrder order){
         if(order.getType() == OrderTypeEnum.APPLY){
             //如果是报名订单,订单关闭时需要更改已缴费学员数

+ 20 - 40
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -1155,7 +1155,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         //成功报名状态变更
         StudentRegistration studentRegistration = studentRegistrationDao.lockWithUserAndMusic(studentPaymentOrder.getUserId(), studentPaymentOrder.getMusicGroupId());
 
-        MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getActualSubjectId());
+//        MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getActualSubjectId());
 
         if (studentPaymentOrder.getStatus().equals(DealStatusEnum.SUCCESS)) {
             MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
@@ -1239,22 +1239,25 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
             studentRegistration.setPayingStatus(0);
             studentRegistrationDao.update(studentRegistration);
+            //减去缴费人数(器乐收费,0元时不减缴费人数)
+            studentPaymentOrderService.cutSubjectPlan(studentPaymentOrder);
 
             //减去缴费人数(器乐收费,0元时不减缴费人数)
-            if (musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE) || musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE)) {
-                if (studentPaymentOrder.getPaymentAccountNo() != null && studentPaymentOrder.getPaymentAccountNo().equals("200")) {
-                    musicOneSubjectClassPlan.setPaidZeroNum(musicOneSubjectClassPlan.getPaidZeroNum() - 1);
-                    musicOneSubjectClassPlan.setPaidStudentNum(musicOneSubjectClassPlan.getPaidStudentNum() - 1);
-                } else if (studentPaymentOrder.getPaymentAccountNo() == null) {
-                    musicOneSubjectClassPlan.setPaidStudentNum(musicOneSubjectClassPlan.getPaidStudentNum() - 1);
-                }
-            } else {
-                musicOneSubjectClassPlan.setPaidStudentNum(musicOneSubjectClassPlan.getPaidStudentNum() - 1);
-            }
-            updateCount = musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
-            if (updateCount <= 0) {
-                throw new BizException("减去缴费人数失败");
-            }
+//            if (musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE) || musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE)) {
+//                if (studentPaymentOrder.getPaymentAccountNo() != null && studentPaymentOrder.getPaymentAccountNo().equals("200")) {
+//                    musicOneSubjectClassPlan.setPaidZeroNum(musicOneSubjectClassPlan.getPaidZeroNum() - 1);
+//                    musicOneSubjectClassPlan.setPaidStudentNum(musicOneSubjectClassPlan.getPaidStudentNum() - 1);
+//                } else if (studentPaymentOrder.getPaymentAccountNo() == null) {
+//                    musicOneSubjectClassPlan.setPaidStudentNum(musicOneSubjectClassPlan.getPaidStudentNum() - 1);
+//                }
+//            } else {
+//                musicOneSubjectClassPlan.setPaidStudentNum(musicOneSubjectClassPlan.getPaidStudentNum() - 1);
+//            }
+//            updateCount = musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
+//            if (updateCount <= 0) {
+//                throw new BizException("减去缴费人数失败");
+//            }
+//            studentPaymentOrderService.quitCouponAndBalance(studentPaymentOrder);
             if (studentPaymentOrder.getBalancePaymentAmount() != null && studentPaymentOrder.getBalancePaymentAmount().compareTo(BigDecimal.ZERO) > 0) {
                 sysUserCashAccountService.updateBalance(studentPaymentOrder.getUserId(), studentPaymentOrder.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "报名缴费失败");
             }
@@ -1778,24 +1781,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Override
-    public Boolean setNoneCloudTeacher(Long id) {
-        StudentRegistration studentRegistration = studentRegistrationDao.get(id);
-        if (!studentRegistration.getPayingStatus().equals(2)) {
-            throw new BizException("该学生不在审核中");
-        }
-        if (studentRegistration.getNoneNeedCloudTeacher().equals(1)) {
-            throw new BizException("该学生已设置");
-        }
-        studentRegistration.setPayingStatus(0);
-        studentRegistration.setNoneNeedCloudTeacher(1);
-        studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
-        if (studentRegistrationDao.update(studentRegistration) <= 0) {
-            throw new BizException("设置失败,请重试");
-        }
-        return true;
-    }
-
-    @Override
     @Transactional(rollbackFor = Exception.class)
     public HttpResponseResult<Boolean> addPaidNum(Long id, boolean isContinue) {
         StudentRegistration studentRegistration = studentRegistrationDao.lock(id);
@@ -1833,13 +1818,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         studentRegistration.setPaymentStatus(YES);
         studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
         studentRegistrationDao.update(studentRegistration);
-        /*StudentPaymentOrder order = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(studentRegistration.getUserId(), studentRegistration.getMusicGroupId(), DealStatusEnum.SUCCESS);
-		if (order != null) {
-			order.setPaymentAccountNo("200");
-			if (studentPaymentOrderService.update(order) <= 0) {
-				throw new BizException("订单处理失败,请重试");
-			}
-		}*/
 
         List<StudentPaymentOrder> studentPaymentOrderList = studentPaymentOrderService.queryByCondition(GroupType.MUSIC, studentRegistration.getMusicGroupId(), studentRegistration.getUserId(), DealStatusEnum.ING, OrderTypeEnum.APPLY);
 
@@ -1851,6 +1829,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                     studentPaymentOrder.setStatus(DealStatusEnum.CLOSE);
                     studentPaymentOrder.setMemo("用户未支付");
                     updateList.add(studentPaymentOrder);
+                    studentPaymentOrderService.quitCouponAndBalance(studentPaymentOrder);
                 }
             }
         }
@@ -1897,6 +1876,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                     studentPaymentOrder.setStatus(DealStatusEnum.CLOSE);
                     studentPaymentOrder.setMemo("云教练审核拒绝");
                     updateList.add(studentPaymentOrder);
+                    studentPaymentOrderService.quitCouponAndBalance(studentPaymentOrder);
                 }
             }
         }