From 3aef471b170a703b501ddb4d9d2a12791d07ff28 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 15 四月 2026 20:06:56 +0800
Subject: [PATCH] 代码生成

---
 server/services/src/main/java/com/doumee/config/wx/WxMiniUtilService.java |   94 +++++++++++++++--------------------------------
 1 files changed, 30 insertions(+), 64 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/config/wx/WxMiniUtilService.java b/server/services/src/main/java/com/doumee/config/wx/WxMiniUtilService.java
index 736d9f3..1b650b8 100644
--- a/server/services/src/main/java/com/doumee/config/wx/WxMiniUtilService.java
+++ b/server/services/src/main/java/com/doumee/config/wx/WxMiniUtilService.java
@@ -1,35 +1,16 @@
 package com.doumee.config.wx;
 
-import com.alibaba.fastjson.JSONObject;
-import com.doumee.biz.system.SystemDictDataBiz;
-import com.doumee.core.constants.Constants;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
-import com.doumee.core.utils.DateUtil;
-import com.doumee.core.utils.HttpsUtil;
-import com.doumee.dao.business.WithdrawalOrdersMapper;
-import com.doumee.dao.business.model.Orders;
-import com.doumee.dao.business.model.WithdrawalOrders;
-import com.doumee.dao.system.model.SystemDictData;
-import com.wechat.pay.java.service.refund.model.AmountReq;
-import com.wechat.pay.java.service.refund.model.CreateRequest;
-import com.wechat.pay.java.service.refund.model.QueryByOutRefundNoRequest;
+import com.doumee.core.utils.ID;
+import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
+import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
+import com.github.binarywang.wxpay.exception.WxPayException;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
 
 /**
  * 寰俊灏忕▼搴�-鍏叡鏂规硶
@@ -38,47 +19,32 @@
 @Slf4j
 public class WxMiniUtilService {
 
-    @Autowired
-    private WithdrawalOrdersMapper withdrawalOrdersMapper;
 
-    @Autowired
-    private SystemDictDataBiz systemDictDataBiz;
-
-    @Autowired
-    private WxPayProperties wxPayProperties;
-
-    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
-    public boolean wxRefund(WithdrawalOrders withdrawalOrders,Orders orders) {
-//        // 鍙戦�侀��娆捐姹�
-//        withdrawalOrders.setCreateTime(new Date());
-//        withdrawalOrdersMapper.insert(withdrawalOrders);
-//        CreateRequest request = new CreateRequest();
-//        request.setOutTradeNo(orders.getOutTradeNo());
-//        request.setOutRefundNo(withdrawalOrders.getId().toString());
-//        request.setSubMchid(WxMiniConfig.wxProperties.getSubMchId());
-//        request.setNotifyUrl(WxMiniConfig.wxProperties.getRefundNotifyUrl());
-//        AmountReq amountReq = new AmountReq();
-//        amountReq.setTotal(1L);//withdrawalOrders.getAmount());
-//        amountReq.setRefund(1L);//withdrawalOrders.getAmount());
-//        amountReq.setCurrency("CNY");
-//        request.setAmount(amountReq);
-//        try {
-//            log.error("=============="+JSONObject.toJSONString(request));
-//            com.wechat.pay.java.service.refund.model.Refund response = WxMiniConfig.wxPayService.refund(request);
-//            log.error("=============="+JSONObject.toJSONString(response));
-//            if ("SUCCESS".equals(response.getStatus().name())
-//                    || "PROCESSING".equals(response.getStatus().name()) ) {
-//                return  true;
-//            }else{
-//                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝閫�娆剧敵璇峰け璐ュ摝锛�");
-//            }
-//        }catch (Exception e){
-//            e.printStackTrace();
-//            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝閫�娆剧敵璇峰け璐ワ紒");
-//        }
-        return false;
+    /**
+     * 璁㈠崟寰俊閫�娆�
+     * orderNo:鍟嗘埛璁㈠崟鍙�
+     * totalPrice锛氳鍗曟�婚噾棰�
+     * refundPrice锛涢��娆鹃噾棰�
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public String wxRefund(String orderNo, Long totalPrice, Long refundPrice) {
+        try {
+            // 鍙戦�侀��娆捐姹�
+            String refNum = ID.nextGUID();
+            WxPayRefundRequest request = new WxPayRefundRequest();
+            request.setOutTradeNo(orderNo);
+            request.setOutRefundNo(refNum);
+            request.setTotalFee(totalPrice.intValue());
+            request.setRefundFee(refundPrice.intValue());
+            WxPayRefundResult response = WxMiniConfig.wxPayService.refund(request);
+            if ("SUCCESS".equals(response.getReturnCode()) && "SUCCESS".equals(response.getResultCode())) {
+                return refNum;
+            } else {
+                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),response.getErrCode() + response.getErrCodeDes());
+            }
+        } catch (WxPayException e) {
+            e.printStackTrace();
+        }
+        throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"閫�娆惧彂鐢熷紓甯歌鑱旂郴绠$悊鍛�");
     }
-
-
-
 }

--
Gitblit v1.9.3