Эх сурвалжийг харах

fix bug 微信支付回调无资金流水记录

skyline 2 жил өмнө
parent
commit
8d3a1e9cfb

+ 2 - 0
entity/src/main/java/com/kym/entity/miniapp/WalletDetail.java

@@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import com.kym.entity.BaseEntity;
 import lombok.Getter;
 import lombok.Setter;
+import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
@@ -20,6 +21,7 @@ import java.time.LocalDateTime;
 @Getter
 @Setter
 @TableName("t_wallet_detail")
+@Accessors(chain = true)
 public class WalletDetail extends BaseEntity implements Serializable {
 
     public static final int TYPE_充值 = 1;

+ 10 - 0
service/src/main/java/com/kym/service/wechat/impl/WxPayServiceImpl.java

@@ -9,6 +9,7 @@ import com.kym.common.constant.ResponseEnum;
 import com.kym.common.exception.BusinessException;
 import com.kym.common.utils.OrderUtils;
 import com.kym.entity.miniapp.PayLog;
+import com.kym.entity.miniapp.WalletDetail;
 import com.kym.service.miniapp.PayLogService;
 import com.kym.service.miniapp.WalletDetailService;
 import com.kym.service.wechat.WxPayService;
@@ -106,8 +107,17 @@ public class WxPayServiceImpl implements WxPayService {
         }
         var rechargeAmount = params.getInteger("amount");
         var openid = StpUtil.getSession().getString("openid");
+        var userId = StpUtil.getLoginIdAsLong();
         // 生成订单号
         String outTradeNo = OrderUtils.getOrderNo();
+        // 创建支付记录
+        var walletDetail = new WalletDetail()
+                .setType(WalletDetail.TYPE_充值)
+                .setUserId(userId)
+                .setAmount(rechargeAmount)
+                .setOrderNo(outTradeNo);
+        walletDetailService.save(walletDetail);
+
         // request.setXxx(val)设置所需参数,具体参数可见Request定义
         PrepayRequest request = new PrepayRequest();
         Amount amount = new Amount();