Procházet zdrojové kódy

Merge remote-tracking branch 'origin/master'

Joburgess před 5 roky
rodič
revize
c29702cedb

+ 37 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1755,18 +1755,43 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         Date date = new Date();
         List<Integer> months = subFeeSettingDto.getMonths();
-        //删除乐团相关付费周期
-        musicGroupPaymentCalenderDao.delByGroupId(musicGroupId);
-        if(months != null && months.size() > 0){
-            //批量插入
-            musicGroupPaymentCalenderDao.batchAdd(months,musicGroupId);
-            Integer num = musicGroupStudentFeeDao.countStudentNoPayNum(musicGroupId);
-            if(num > 0){
-                throw new BizException("缴费周期更新失败,当前乐团有未缴费的学员");
-            }
-            //修改学员下次缴费日期
-            musicGroupStudentFeeDao.updateNextPaymentDate(musicGroupId,musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId));
-        }
+        
+        //判断缴费日历是否修改
+		boolean isModifiedOfCalender = false;
+
+		List<MusicGroupPaymentCalender> calenderList = musicGroupPaymentCalenderDao.findByMusicGroupId(musicGroupId);
+		if (months.size() == calenderList.size()) {
+			for (MusicGroupPaymentCalender cal : calenderList) {
+				if (!months.contains(cal.getPaymentMonth())) {
+					isModifiedOfCalender = true;
+					break;
+				}
+			}
+		} else {
+			isModifiedOfCalender = true;
+		}
+
+		if (isModifiedOfCalender) {
+			
+			Integer num = musicGroupStudentFeeDao.countStudentNoPayNum(musicGroupId);
+			if (num > 0) {
+				throw new BizException("缴费周期更新失败,当前乐团有未缴费的学员");
+			}
+			
+			// 删除乐团相关付费周期
+			musicGroupPaymentCalenderDao.delByGroupId(musicGroupId);
+			musicGroupStudentFeeDao.deleteByMusicGroupId(musicGroupId);
+			if (months != null && months.size() > 0) {
+				// 批量插入
+				musicGroupPaymentCalenderDao.batchAdd(months, musicGroupId);
+				
+				//生成学员费用表
+		        List<MusicGroupStudentFee> musicGroupStudentFees = musicGroupStudentFeeDao.initMusicGroupStudentFee(musicGroupId);
+		        if(musicGroupStudentFees != null && musicGroupStudentFees.size() > 0){
+		            musicGroupStudentFeeDao.batchInsert(musicGroupStudentFees,musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId),"PAID_COMPLETED");
+		        }
+			}
+		}
         musicGroupDao.update(musicGroup);
         //修改课程里面的教学点
         if(!musicGroup.getSchoolId().equals(musicGroup.getSchoolId())){

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -408,7 +408,7 @@
         <result property="isActive" column="isActive_"/>
     </resultMap>
     <select id="queryMusicGroupStudent" resultMap="MusicGroupStudentsDto">
-        SELECT sr.user_id_,su.username_ real_name_,su.gender_,su.phone_ parents_phone_,sr.current_grade_,
+        SELECT sr.user_id_,su.username_ real_name_,su.gender_,su.phone_ parents_phone_,sr.current_grade_,sr.payment_status_,
         sr.current_class_,sr.music_group_status_,mgsf.next_payment_date_,mgsf.course_fee_,
         s.name_ subject_name_,sr.music_group_id_,case when su.password_ is null then 0 else 1 end isActive_,
         IF(DATE_FORMAT(sr.create_time_,'%Y-%m-%d') > DATE_FORMAT(mg.payment_expire_date_,'%Y-%m-%d'),1,0) is_new_student_

+ 7 - 33
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -13,6 +13,7 @@ import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.thirdparty.adapay.NotifyEvent;
 import com.ym.mec.thirdparty.adapay.Pay;
 import com.ym.mec.thirdparty.yqpay.Msg;
@@ -236,17 +237,15 @@ public class StudentOrderController extends BaseController {
     }
 
     @GetMapping("/fixOrder")
-    private int fixOrder() throws Exception {
-        List<StudentPaymentOrder> payingOrders = studentPaymentOrderDao.findFixOrder(DealStatusEnum.SUCCESS, "YQPAY");
+    private HttpResponseResult fixOrder(String orderNo) throws Exception {
 
-        if (payingOrders.size() == 0) {
-            return 0;
+        if (orderNo == null || orderNo.isEmpty()) {
+            return failed("订单号必须填");
         }
-        String merOrderNos = payingOrders.stream().map(StudentPaymentOrder::getOrderNo).collect(Collectors.joining(","));
 
         String notifyUrl = ""; //回调地址
         Map<String, Object> resultMap = new LinkedHashMap<>();
-        resultMap.put("merOrderNoList", merOrderNos);
+        resultMap.put("merOrderNoList", orderNo);
         Map<String, Object> requestMap = YqPayUtil.getRequestMap(notifyUrl, resultMap);
 
         RsqMsg rsqMsg = new RsqMsg(requestMap);
@@ -256,33 +255,8 @@ public class StudentOrderController extends BaseController {
         if (queryRs.getCode().equals("88")) {
             String responseParameters = queryRs.getResponseParameters();
             List<Map<String, Object>> responseList = JSON.parseObject(responseParameters, List.class);
-            for (Map<String, Object> response : responseList) {
-                String type = "per";
-                String orderNo = (String) response.get("merOrderNo");
-                String tempRoutingResultList = response.get("tempRoutingResultList").toString();
-                System.out.println(tempRoutingResultList);
-
-                if (tempRoutingResultList.contains("武汉大雅乐盟教育咨询有限公司")) {
-                    type = "com";
-                }
-                fixUpdateOrder(orderNo,type);
-            }
-        }
-        return payingOrders.size();
-    }
-
-    void fixUpdateOrder(String orderNo,String type) {
-        StudentPaymentOrder order = studentPaymentOrderService.findOrderByOrderNo(orderNo);
-        if(type.equals("com")){
-            order.setComAmount(order.getActualAmount());
-            order.setPerAmount(BigDecimal.ZERO);
-            order.setMerNos("0023115");
-        }else {
-            order.setComAmount(BigDecimal.ZERO);
-            order.setPerAmount(order.getActualAmount());
-            order.setMerNos("0031215");
+            return succeed(responseList);
         }
-        studentPaymentOrderService.update(order);
+        return succeed("订单不存在");
     }
-
 }