Quellcode durchsuchen

增加分润逻辑

周箭河 vor 5 Jahren
Ursprung
Commit
7c2df59d09

+ 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;
+
 }

+ 21 - 30
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -23,6 +23,7 @@ import com.ym.mec.util.date.DateUtil;
 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;
@@ -313,7 +314,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){
@@ -322,25 +323,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, "乐团续费");
@@ -351,10 +346,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 				}
         	}
         }
-        
+
 
         Map payMap = payService.getPayMap(
-                orderAmount,
+                amount,
                 orderNo,
                 "http://mstutest.dayaedu.com/api-student/studentOrder/notify",
                 "http://mstutest.dayaedu.com/#/paymentresult?orderNo=" + orderNo,
@@ -468,22 +463,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, "乐团续费");
@@ -496,7 +487,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
 
         Map payMap = payService.getPayMap(
-                orderAmount,
+                amount,
                 orderNo,
                 "http://mstutest.dayaedu.com/api-student/studentOrder/notify",
                 "http://mstutest.dayaedu.com/#/paymentresult?orderNo=" + orderNo,

+ 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)) {

+ 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));
     }