Browse Source

退款调用微信支付

Memory_LG 3 weeks ago
parent
commit
49f522f35a

+ 19 - 7
qmjszx-admin/src/main/java/beilv/web/controller/carinformation/CardAppController.java

@@ -20,12 +20,11 @@ import beilv.usermembershipcard.service.IUserMembershipCardService;
 import beilv.vipCard.domain.VipCard;
 import beilv.vipCard.service.IVipCardService;
 import beilv.vipCardAmountLog.domain.VipCardAmountLog;
-import beilv.vipCardAmountLog.service.IVipCardAmountLogService;
 import beilv.vipCardLog.domain.VipCardLog;
 import beilv.vipCardLog.service.IVipCardLogService;
+import beilv.wx.pay.controller.WxPayController;
+import beilv.wx.pay.domain.vo.AppRefundParam;
 import lombok.extern.slf4j.Slf4j;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Controller;
@@ -34,8 +33,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.time.temporal.ChronoUnit;
@@ -75,7 +72,7 @@ public class CardAppController extends BaseController {
     private StringRedisTemplate redisTemplate;
 
     @Autowired
-    private IVipCardAmountLogService amountLogService;
+    private WxPayController payController;
 
     /**
      * 新增充值记录
@@ -158,7 +155,22 @@ public class CardAppController extends BaseController {
     @PostMapping("/refund")
     @ResponseBody
     public AjaxResult refund(@RequestBody VipCardLog vipCardLog) {
-        return AjaxResult.success(vipCardLogService.refundById(vipCardLog, true));
+        AjaxResult ajaxResult = vipCardLogService.refundById(vipCardLog, true);
+        if(ajaxResult.get("data")!= null){
+            VipCardLog data = (VipCardLog) ajaxResult.get("data");
+            AppRefundParam appRefundParam = new AppRefundParam();
+            appRefundParam.setOrderId(data.getId());
+            appRefundParam.setTotalPrice(data.getOriginalPrice());
+            appRefundParam.setRefundAmount(data.getRefundPrice());
+            appRefundParam.setUserId(Long.valueOf(data.getUserId()));
+            appRefundParam.setDescription(vipCardLog.getDescription());
+            try{
+                payController.refund(appRefundParam);
+            }catch (Exception e){
+                return AjaxResult.error("退款失败!");
+            }
+        }
+        return ajaxResult;
     }
 
     /**

+ 1 - 1
qmjszx-business/src/main/java/beilv/vipCard/service/impl/VipCardServiceImpl.java

@@ -54,7 +54,7 @@ public class VipCardServiceImpl implements IVipCardService {
     @Override
     public String insertVipCard(VipCard vipCard) {
         String vipCardId = UuidUtils.getVipCardId();
-        vipCard.setId(UuidUtils.getVipCardId());
+        vipCard.setId(vipCardId);
         vipCard.setCreateTime(DateUtils.getNowDate());
         vipCard.setCardState("vip_card_state_open");
         vipCard.setVipLevel("普通会员");

+ 2 - 0
qmjszx-business/src/main/java/beilv/vipCardLog/domain/VipCardLog.java

@@ -115,6 +115,8 @@ public class VipCardLog extends BaseEntity {
     private String competitionMobile;
     private BigDecimal refundPrice;
 
+    private String description;
+
     public VipCardLog(String busId, String orderType, String paymentStatus, Date verifyTime) {
         this.busId = busId;
         this.orderType = orderType;

+ 7 - 4
qmjszx-business/src/main/java/beilv/vipCardLog/service/impl/VipCardLogServiceImpl.java

@@ -22,6 +22,7 @@ import beilv.vipCardAmountLog.mapper.VipCardAmountLogMapper;
 import beilv.vipCardLog.domain.VipCardLog;
 import beilv.vipCardLog.mapper.VipCardLogMapper;
 import beilv.vipCardLog.service.IVipCardLogService;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -42,7 +43,7 @@ import java.util.Map;
  */
 @Service
 public class VipCardLogServiceImpl implements IVipCardLogService {
-    @Autowired
+    @Resource
     private VipCardLogMapper vipCardLogMapper;
 
     @Autowired
@@ -351,9 +352,7 @@ public class VipCardLogServiceImpl implements IVipCardLogService {
             amountLogMapper.insertVipCardAmountLog(new VipCardAmountLog(orderInfo.getUserId(), orderInfo.getPaymentId(), orderInfo.getId(), vipCard.getBalance(), refundPrice,"1"));
 
         } else if ("weChart".equals(orderInfo.getPaymentType())) {
-            //微信支付, 退款到微信
-
-
+            orderInfo.setRefundPrice(refundPrice);
         } else if ("numCard".equals(orderInfo.getPaymentType())) {
             //查询次卡信息
             UserMembershipCard userMembershipCard = userMembershipCardService.selectUserMembershipCardById(Long.valueOf(orderInfo.getPaymentId()));
@@ -366,6 +365,10 @@ public class VipCardLogServiceImpl implements IVipCardLogService {
         vipCardLog.setRefundTime(DateUtils.getNowDate());
         vipCardLog.setPaymentStatus("payment_status_refunded");
         vipCardLogMapper.updateVipCardLog(vipCardLog);
+
+        if ("weChart".equals(orderInfo.getPaymentType())){
+            return AjaxResult.success(orderInfo);
+        }
         return AjaxResult.success("退款成功!");
 
     }