Просмотр исходного кода

添加微信支付类型,发起微信下单时设置attach,用于微信支付回调时使用

wangzhijun 1 неделя назад
Родитель
Сommit
8c19a00b55

+ 18 - 0
nightFragrance-common/src/main/java/com/ylx/common/weixinPay/enums/WxPayTypeEnum.java

@@ -0,0 +1,18 @@
+package com.ylx.common.weixinPay.enums;
+
+import lombok.Getter;
+
+@Getter
+public enum WxPayTypeEnum {
+
+    GIFT_CARD("GIFT_CARD", "购物卡"),
+    EMOTION_GOODS("EMOTION_GOODS", "情感服务商品");
+
+    private final String code;
+    private final String desc;
+
+    WxPayTypeEnum(String code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+}

+ 7 - 1
nightFragrance-common/src/main/java/com/ylx/common/weixinPay/service/WxPayV3Service.java

@@ -1,5 +1,6 @@
 package com.ylx.common.weixinPay.service;
 
+import cn.hutool.core.util.StrUtil;
 import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderV3Request;
 import com.github.binarywang.wxpay.bean.result.WxPayUnifiedOrderV3Result;
 import com.github.binarywang.wxpay.bean.result.enums.TradeTypeEnum;
@@ -26,7 +27,7 @@ public class WxPayV3Service {
     /**
      * V3 JSAPI下单 公众号/小程序
      */
-    public Map<String, Object> createV3JsapiOrder(String orderNo, BigDecimal amount, String body, String openId) {
+    public Map<String, Object> createV3JsapiOrder(String orderNo, BigDecimal amount, String body, String openId, String attach) {
         try {
             // 1. 获取支付配置
             WxPayConfig payConfig = wxPayService.getConfig();
@@ -37,6 +38,11 @@ public class WxPayV3Service {
             request.setDescription(body);
             request.setNotifyUrl(payConfig.getNotifyUrl());
 
+            // 设置 attach 字段
+            if (StrUtil.isNotBlank(attach)) {
+                request.setAttach(attach);
+            }
+
             // 金额转换(元转分,精度校验)
             int total = amount.multiply(new BigDecimal(100))
                     .setScale(0, RoundingMode.HALF_UP).intValue();

+ 3 - 1
nightFragrance-massage/src/main/java/com/ylx/giftCard/service/impl/GiftCardServiceImpl.java

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ylx.common.core.domain.model.WxLoginUser;
 import com.ylx.common.exception.ServiceException;
 import com.ylx.common.utils.SecurityUtils;
+import com.ylx.common.weixinPay.enums.WxPayTypeEnum;
 import com.ylx.common.weixinPay.service.WxPayV3Service;
 import com.ylx.giftCard.domain.GiftCard;
 import com.ylx.giftCard.domain.GiftCardOrder;
@@ -176,7 +177,8 @@ public class GiftCardServiceImpl extends ServiceImpl<GiftCardMapper, GiftCard> i
                     order.getOrderNo(),
                     order.getPayAmount(),
                     "购物卡购买",
-                    wxLoginUser.getCOpenid()
+                    wxLoginUser.getCOpenid(),
+                    WxPayTypeEnum.GIFT_CARD.getCode()
             );
         } catch (Exception e) {
             log.error("微信支付下单失败,订单号: {}", order.getOrderNo(), e);