Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan 5 years ago
parent
commit
8e7fcea45d

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDao.java

@@ -9,6 +9,7 @@ import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -33,6 +34,17 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
                                               @Param("status") String status);
 
     /**
+     * @describe 统计学员剩余课时的课程费用
+     * @author Joburgess
+     * @date 2019/12/3
+     * @param vipGroupId:
+     * @param userId:
+     * @return java.math.BigDecimal
+     */
+    BigDecimal sumSurplusCourseFee(@Param("vipGroupId") String vipGroupId,
+                                   @Param("userId") Integer userId);
+
+    /**
      * @Author: Joburgess
      * @Date: 2019/10/3
      * 根据学生vip课获取非失败缴费订单

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/PaymentChannelTypeEnum.java

@@ -3,7 +3,7 @@ package com.ym.mec.biz.dal.enums;
 import com.ym.mec.common.enums.BaseEnum;
 
 public enum PaymentChannelTypeEnum implements BaseEnum<String, PaymentChannelTypeEnum> {
-	PER("PER", "个人"), COM("com", "公司");
+	PER("PER", "个人"), COM("COM", "公司");
 
 	private String code;
 

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

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 import com.huifu.adapay.model.payment.PayChannelEnum;
 import com.ym.mec.biz.dal.entity.Goods;
@@ -65,4 +66,6 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
 
 	void queryOrderStatus() throws Exception;
 
+	void updateOrder(Map<String, String> rpMap) throws Exception;
+
 }

+ 13 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -301,8 +301,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             }
         }
 
+        List<CourseSchedule> courseScheduleList = new ArrayList<>();
+        List<ClassGroupTeacherMapper> classGroupTeacherMapperList = new ArrayList<>();
         Integer schoolId = musicGroup.getSchoolId();
         for (HighClassGroupDto highClassGroup : highClassGroupList) {
+            if (highClassGroup.getDayOfWeek() < 1 || highClassGroup.getDayOfWeek() > 7) {
+                throw new BizException("上课星期错误,请核查");
+            }
             //1、插入班级信息
             Date date;
             date = new Date();
@@ -324,10 +329,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             classGroupTeacherMapper.setGroupType(GroupType.MUSIC);
             classGroupTeacherMapper.setCreateTime(date);
             classGroupTeacherMapper.setUpdateTime(date);
-            classGroupTeacherMapperService.insert(classGroupTeacherMapper);
+            classGroupTeacherMapperList.add(classGroupTeacherMapper);
 
             //3、插入班级排课信息
-            List<CourseSchedule> courseScheduleList = new ArrayList<>();
             int times = 0;
             //LocalDateTime now = LocalDateTime.ofInstant(highClassGroup.getStartDate().toInstant(), ZoneId.systemDefault());
             LocalDateTime now = LocalDate.parse(highClassGroup.getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay();
@@ -366,17 +370,18 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 }
                 now = now.plusDays(1);
             }
-            //检测新排课冲突
-            courseScheduleService.checkNewCourseSchedules(courseScheduleList, false);
-            courseScheduleDao.batchAddCourseSchedules(courseScheduleList);
 
             List<Integer> userIdList = new ArrayList<>();
             userIdList.add(classGroupTeacherMapper.getUserId());
 
             //加入Im群组
             addImGroup(highClassGroup, userIdList);
-
         }
+        classGroupTeacherMapperService.classGroupTeachersInsert(classGroupTeacherMapperList);
+        //检测新排课冲突
+        courseScheduleService.checkNewCourseSchedules(courseScheduleList, false);
+        courseScheduleDao.batchAddCourseSchedules(courseScheduleList);
+
         redisCache.releaseLocked(key, value);
         return highClassGroupList;
     }
@@ -1681,8 +1686,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
             Calendar calendar = Calendar.getInstance();
             calendar.setTime(courseSchedule.getClassDate());
-            Integer dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK)-1;
-            dayOfWeek =dayOfWeek.equals(0) ? 7 :dayOfWeek;
+            Integer dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
+            dayOfWeek = dayOfWeek.equals(0) ? 7 : dayOfWeek;
             highClassGroup.setDayOfWeek(dayOfWeek);
         }
         return highClassGroupList;

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

@@ -24,6 +24,7 @@ import com.ym.mec.util.http.HttpUtil;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
@@ -319,7 +320,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         studentPaymentOrder.setVersion(0);
 
         Date date = new Date();
-        
+
         if(registerPayDto.getIsUseBalancePayment() || amount.doubleValue() == 0){
         	SysUserCashAccount userCashAccount = sysUserCashAccountService.getLocked(userId);
         	if(userCashAccount == null){
@@ -328,25 +329,19 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         	if(userCashAccount.getBalance().subtract(amount).doubleValue() > 0){
         		// 更新订单信息
         		studentPaymentOrder.setBalancePaymentAmount(amount);
-                studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS);
                 studentPaymentOrder.setUpdateTime(date);
                 studentPaymentOrderService.update(studentPaymentOrder);
                 studentPaymentOrder.setVersion(studentPaymentOrder.getVersion()+1);
-                
-        		sysUserCashAccountService.updateBalance(userId, amount.negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE,"乐团续费");
-        		
-        		//更新下次续费时间
-        		/*musicGroupStudentFee.setUpdateTime(date);
-                musicGroupStudentFee.setLatestPaidTime(date);
-                musicGroupStudentFee.setPaymentStatus(PaymentStatus.PAID_COMPLETED);
-                musicGroupStudentFee.setTemporaryCourseFee(new BigDecimal(0));
-                musicGroupStudentFee.setNextPaymentDate(musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId));
-                musicGroupStudentFeeDao.update(musicGroupStudentFee);*/
 
-                Map<String,Object> result=new HashMap<>();
-                result.put("orderNo",studentPaymentOrder.getOrderNo());
+        		sysUserCashAccountService.updateBalance(userId, amount.negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE,"乐团续费");
 
-                return result;
+                Map<String,String> notifyMap=new HashMap<>();
+                notifyMap.put("tradeState", "1");
+                notifyMap.put("merOrderNo", studentPaymentOrder.getOrderNo());
+                notifyMap.put("channelType", channelType);
+                notifyMap.put("orderNo", "");
+                studentPaymentOrderService.updateOrder(notifyMap);
+                return notifyMap;
         	}else{
 				if (userCashAccount.getBalance().doubleValue() > 0) {
 					sysUserCashAccountService.updateBalance(userId, userCashAccount.getBalance().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "乐团续费");
@@ -357,17 +352,18 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 				}
         	}
         }
-        
 
+
+        String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
         Map payMap = payService.getPayMap(
-                orderAmount,
+                amount,
                 orderNo,
-                "http://mstutest.dayaedu.com/api-student/studentOrder/notify",
-                "http://mstutest.dayaedu.com/#/paymentresult?orderNo=" + orderNo,
+                baseApiUrl+"/api-student/studentOrder/notify",
+                baseApiUrl+"/#/paymentresult?orderNo=" + orderNo,
                 "乐团报名缴费",
                 "乐团报名缴费",
                 userId);
-        
+
         studentPaymentOrder.setPaymentChannel((String) payMap.get("type"));
         studentPaymentOrder.setUpdateTime(date);
         studentPaymentOrderService.update(studentPaymentOrder);
@@ -474,22 +470,18 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         	if(userCashAccount.getBalance().subtract(amount).doubleValue() > 0){
         		// 更新订单信息
         		studentPaymentOrder.setBalancePaymentAmount(amount);
-                studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS);
                 studentPaymentOrder.setUpdateTime(date);
                 studentPaymentOrderService.update(studentPaymentOrder);
                 
         		sysUserCashAccountService.updateBalance(userId, amount.negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE,"乐团续费");
-        		
-        		//更新下次续费时间
-        		/*musicGroupStudentFee.setUpdateTime(date);
-                musicGroupStudentFee.setLatestPaidTime(date);
-                musicGroupStudentFee.setPaymentStatus(PaymentStatus.PAID_COMPLETED);
-                musicGroupStudentFee.setTemporaryCourseFee(new BigDecimal(0));
-                musicGroupStudentFee.setNextPaymentDate(musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId));
-                musicGroupStudentFeeDao.update(musicGroupStudentFee);*/
-                Map<String,Object> result=new HashMap<>();
-                result.put("orderNo",studentPaymentOrder.getOrderNo());
-        		return result;
+
+                Map<String,String> notifyMap=new HashMap<>();
+                notifyMap.put("tradeState", "1");
+                notifyMap.put("merOrderNo", studentPaymentOrder.getOrderNo());
+                notifyMap.put("channelType", channelType);
+                notifyMap.put("orderNo", "");
+                studentPaymentOrderService.updateOrder(notifyMap);
+                return notifyMap;
         	}else{
 				if (userCashAccount.getBalance().doubleValue() > 0) {
 					sysUserCashAccountService.updateBalance(userId, userCashAccount.getBalance().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "乐团续费");
@@ -501,11 +493,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         	}
         }
 
+        String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
         Map payMap = payService.getPayMap(
-                orderAmount,
+                amount,
                 orderNo,
-                "http://mstutest.dayaedu.com/api-student/studentOrder/notify",
-                "http://mstutest.dayaedu.com/#/paymentresult?orderNo=" + orderNo,
+                baseApiUrl+"/api-student/studentOrder/notify",
+                baseApiUrl+"/#/paymentresult?orderNo=" + orderNo,
                 "乐团报名缴费",
                 "乐团报名缴费",
                 userId);
@@ -1165,10 +1158,14 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 				}
         	}
         }
+        String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
 
         try {
-            Map<String, Object> payMap = payService.getPayMap(amount, studentPaymentOrder.getOrderNo(), "https://pay.dayaedu.com/api/yqpay/notify",
-                    "http://dev.dayaedu.com", "续费", "乐团续费",userId);
+
+            Map<String, Object> payMap = payService.getPayMap(amount, studentPaymentOrder.getOrderNo(),
+                    baseApiUrl+"/api-student/studentOrder/notify",
+                    baseApiUrl+"/#/paymentresult?orderNo=" + studentPaymentOrder.getOrderNo(),
+                    "续费", "乐团续费",userId);
             studentPaymentOrder.setPaymentChannel((String) payMap.get("type"));
             studentPaymentOrder.setUpdateTime(date);
             studentPaymentOrderService.update(studentPaymentOrder);

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

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.entity.CooperationOrgan;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.SysAccount;
+import com.ym.mec.biz.dal.enums.PaymentChannelTypeEnum;
 import com.ym.mec.biz.service.PayService;
 import com.ym.mec.biz.service.StudentPaymentOrderService;
 import com.ym.mec.biz.service.SysAccountService;
@@ -61,11 +62,15 @@ public class PayServiceImpl implements PayService {
 
         //支付通道决策
         Map unionPay = new HashMap();
-        SysAccount routingAccount = getRoutingAccount(company,amount);
+        SysAccount routingAccount = getRoutingAccount(company, amount);
+        PaymentChannelTypeEnum paymentChannelType = PaymentChannelTypeEnum.COM;
+        if(routingAccount.getType().equals("PER")){
+            paymentChannelType = PaymentChannelTypeEnum.PER;
+        }
         Map payMap = null;
         String type = null;
         if (routingAccount.getChannel().equals("YQPAY")) {
-            payMap = YqPayUtil.getPayMap(amount, orderNo, notifyUrl, returnUrl, orderSubject, orderBody,routingAccount.getMerNo(), routingAccount.getRoutingMerNo());
+            payMap = YqPayUtil.getPayMap(amount, orderNo, notifyUrl, returnUrl, orderSubject, orderBody, routingAccount.getMerNo(), routingAccount.getRoutingMerNo());
             type = "YQPAY";
         } else {
             payMap = new Pay().getPayMap(amount, orderNo, notifyUrl, orderSubject, orderBody);
@@ -74,6 +79,7 @@ public class PayServiceImpl implements PayService {
 
         unionPay.put("orderNo", orderNo);
         unionPay.put("type", type);
+        unionPay.put("paymentChannelType", paymentChannelType);
         unionPay.put("payMap", payMap);
         return unionPay;
     }
@@ -85,6 +91,7 @@ public class PayServiceImpl implements PayService {
 
     /**
      * 获取收款账户
+     *
      * @param company
      * @param money
      * @return
@@ -105,6 +112,9 @@ public class PayServiceImpl implements PayService {
             channel = sysConfigDao.findConfigValue("com_account_channel");
             type = "COM";
         }
+        if (company.equals("yadie")) {
+            type = "PER";
+        }
         routingAccount = sysAccountService.getAccount(company, channel, type, null);
 
         return routingAccount;

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

@@ -164,7 +164,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
         closeOrders(orderNoList);
     }
 
-    private void updateOrder(Map<String, String> rpMap) throws Exception {
+    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"));
         if (order == null || !order.getStatus().equals(DealStatusEnum.ING)) {

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -507,6 +507,9 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     @Transactional(rollbackFor = Exception.class)
     public StudentRegistration queryByUserIdAndMusicGroupId(Integer userId, String musicGroupId) {
         StudentRegistration registration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
+        if(registration == null){
+            return null;
+        }
         SysUserCashAccount account = sysUserCashAccountDao.getLocked(userId);
         registration.setBalance(account.getBalance());
         registration.setTransferStudent(registration.getTemporaryCourseFee() == null ? 0 : 1);

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

@@ -1006,12 +1006,13 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			e.printStackTrace();
 		}
 
+		String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
 		try {
 			Map<String,Object> payMap = payService.getPayMap(
 					amount,
 					orderNo,
-					"http://mstutest.dayaedu.com/api-student/studentOrder/notify",
-					"http://mstutest.dayaedu.com/#/paymentresult?orderNo=" + orderNo,
+					baseApiUrl+"/api-student/studentOrder/notify",
+					baseApiUrl+"/#/paymentresult?orderNo=" + orderNo,
 					"vip课购买",
 					vipGroup.getName(),
 					user.getId());
@@ -1201,7 +1202,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		if(vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING)){
 			StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupId, studentId, DealStatusEnum.SUCCESS.getCode());
 			if(Objects.isNull(studentPaymentOrder)){
-				result.put("suplusCourseFee",new BigDecimal(0));
+				BigDecimal surplusCourseFee = studentPaymentOrderDao.sumSurplusCourseFee(vipGroupId.toString(), studentId);
+				if(Objects.isNull(surplusCourseFee)){
+					result.put("suplusCourseFee",new BigDecimal(0));
+				}else{
+					result.put("suplusCourseFee",surplusCourseFee);
+				}
 			}else{
 				result.put("suplusCourseFee",studentPaymentOrder.getActualAmount());
 			}
@@ -1209,7 +1215,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		}
 		ClassGroup classGroup = classGroupDao.findByVipGroup(vipGroupId, null);
 		if(Objects.isNull(classGroup)){
-			throw new BizException("找到对应班级");
+			throw new BizException("找到对应班级");
 		}
 		BigDecimal bigDecimal = courseScheduleStudentPaymentDao.countSurplusCourseFee(classGroup.getId(), studentId);
 		result.put("suplusCourseFee",Objects.isNull(bigDecimal)?new BigDecimal(0):bigDecimal);
@@ -1618,6 +1624,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				courseScheduleStudentPayment.setClassGroupId(vipGroupCourseSchedule.getClassGroupId());
 				courseScheduleStudentPayment.setCourseScheduleId(vipGroupCourseSchedule.getId());
 				courseScheduleStudentPayment.setUserId(studentId);
+				//通过课程余额兑换的课程不会产生实际费用
 				courseScheduleStudentPayment.setExpectPrice(new BigDecimal(0));
 				courseScheduleStudentPayment.setCreateTime(now);
 				courseScheduleStudentPayment.setUpdateTime(now);
@@ -1720,7 +1727,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                         vipGroup.setStatus(VipGroupStatusEnum.NOT_START);
                     }
                     if(vipGroup.getRegistrationStartTime().before(now)&&vipGroup.getCoursesExpireDate().after(now)){
-                        vipGroup.setStatus(VipGroupStatusEnum.APPLYING);
+                        if(vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING)){
+							vipGroup.setStatus(VipGroupStatusEnum.APPLYING);
+						}
                     }
                     if(vipGroup.getCoursesExpireDate().before(now)&&vipGroup.getCourseStartDate().after(now)){
                         vipGroup.setStatus(VipGroupStatusEnum.APPLYING_END);

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

@@ -317,7 +317,7 @@
 			csts.subsidy_ = #{subsidy},
 			csts.expect_salary_ = #{salary},
 			csts.update_time_ = now()
-		WHERE csts.user_id_ = #{userId} and csts.class_group_id_ = #{classGroupId} and csts.settlement_time_ is null and CONCAT(cs.class_date_,' ',cs.start_class_time_) &gt; #{startDateTime}
+		WHERE csts.user_id_ = #{userId} and csts.class_group_id_ = #{classGroupId} and csts.settlement_time_ is null and CONCAT(cs.class_date_,' ',cs.start_class_time_) &gt;= #{startDateTime}
 	</update>
     <update id="batchUpdateTeacherExpectSalary">
 		UPDATE course_schedule_teacher_salary

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

@@ -383,7 +383,7 @@
 	<select id="findUserMusicGroup" resultMap="MusicGroup">
 		SELECT mg.* FROM music_group mg
 		LEFT JOIN student_registration sr on sr.music_group_id_ = mg.id_
-		WHERE sr.user_id_ = #{UserId} AND sr.payment_status_= '2' ORDER BY sr.id_ ASC LIMIT 1
+		WHERE sr.user_id_ = #{UserId} ORDER BY sr.id_ ASC LIMIT 1
 	</select>
 
     <select id="findMusicGroup" resultMap="MusicGroup">

+ 11 - 0
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml

@@ -215,6 +215,17 @@
             </if>
             AND spo.type_ = 'SMALL_CLASS_TO_BUY'
     </select>
+    <select id="sumSurplusCourseFee" resultType="java.math.BigDecimal">
+        SELECT
+            SUM(cssp.expect_price_)
+        FROM
+            course_schedule_student_payment cssp
+            LEFT JOIN course_schedule cs ON cssp.course_schedule_id_=cs.id_
+        WHERE
+            cssp.user_id_ = #{userId}
+            AND cssp.music_group_id_ = #{vipGroupId}
+            AND cs.status_='NOT_START'
+    </select>
     <select id="findNotFailedOrderByStudentVipGroup" resultMap="StudentPaymentOrder">
         SELECT
           spo.*

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

@@ -743,7 +743,7 @@
         FROM
           vip_group
         WHERE
-          payment_expire_date_ &lt; NOW( )
+          payment_expire_date_ &lt; DATE_FORMAT(NOW( ),'%Y-%m-%d')
           AND status_ =1
     </select>
 

+ 10 - 1
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -8,6 +8,7 @@ import io.swagger.annotations.ApiOperation;
 import java.math.BigDecimal;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 
 import javax.annotation.Resource;
@@ -237,8 +238,12 @@ public class MusicGroupController extends BaseController {
         if (ApplyOrder != null) {
             return failed(HttpStatus.CONTINUE, "您有待支付的订单");
         }
+        Map payMap = musicGroupService.pay(registerPayDto);
+        if(payMap.containsKey("tradeState")){
+            return failed(HttpStatus.CREATED, "恭喜您,报名成功!");
+        }
 
-        return succeed(musicGroupService.pay(registerPayDto));
+        return succeed(payMap);
     }
 
     @ApiOperation(value = "乐团报名重新支付")
@@ -256,6 +261,10 @@ public class MusicGroupController extends BaseController {
         if (ApplyOrder != null) {
             return failed("您已支付成功,请勿重复支付");
         }
+        Map payMap = musicGroupService.rePay(registerPayDto);
+        if(payMap.containsKey("tradeState")){
+            return failed(HttpStatus.CREATED, "恭喜您,报名成功!");
+        }
 
         return succeed(musicGroupService.rePay(registerPayDto));
     }

+ 4 - 4
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/yqpay/YqPayUtil.java

@@ -15,7 +15,7 @@ public class YqPayUtil {
 
     public static Map<String, Object> getRequestMap(String notifyUrl, Map<String, Object> resultMap) throws Exception {
         Map<String, Object> rqMap = new LinkedHashMap<>();
-        rqMap.put("merNo", merNo);
+        rqMap.put("merNo",merNo);
         rqMap.put("version", version);
         rqMap.put("notifyUrl", notifyUrl);
         rqMap.put("timestamp", DateUtils.getDateTime());
@@ -40,7 +40,7 @@ public class YqPayUtil {
      * @return
      * @throws Exception
      */
-    public static Map<String, Object> getPayMap(BigDecimal amount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody,String merNo, String routingMerNo) throws Exception {
+    public static Map<String, Object> getPayMap(BigDecimal amount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody,String sellerNo, String routingMerNo) throws Exception {
         List<Map> tempRoutingList = new ArrayList();
         Map<String, Object> routingList = new HashMap<>();
         routingList.put("routingMerNo", routingMerNo);//分佣账户
@@ -48,7 +48,7 @@ public class YqPayUtil {
         tempRoutingList.add(routingList);
 
         Map<String, Object> contentMap = new LinkedHashMap<>();
-        contentMap.put("sellerNo", merNo); //收款商户号
+        contentMap.put("sellerNo", sellerNo); //收款商户号
         contentMap.put("payChannels", payChannels); //支付方式
         contentMap.put("orderBody", orderBody); //订单信息
         contentMap.put("payAmount", amount); //支付金额
@@ -57,7 +57,7 @@ public class YqPayUtil {
         contentMap.put("merMerOrderNo", orderNo); //商户订单号
         contentMap.put("orderSubject", orderSubject); //订单标题
         contentMap.put("returnUrl", returnUrl); //前台页面地址
-        if (routingMerNo != null && !routingMerNo.isEmpty() && !merNo.equals(routingMerNo)) {
+        if (routingMerNo != null && !routingMerNo.isEmpty() && !sellerNo.equals(routingMerNo)) {
             contentMap.put("tempRoutingList", JSON.toJSONString(tempRoutingList));//分账设置
         }
         Map<String, Object> payMap = getRequestMap(notifyUrl, contentMap);