From e685b58fd40cf28a20844643d70cc5f5b46ca037 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 10 四月 2026 11:08:17 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/gtzxinglijicun

---
 server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 34 insertions(+), 24 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java
index c89435b..68a4903 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java
@@ -19,12 +19,16 @@
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.dto.*;
 import com.doumee.dao.vo.OrderReleaseVO;
+import com.doumee.dao.vo.PayResponse;
 import com.doumee.service.business.AliSmsService;
 import com.doumee.service.business.OrdersService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest;
+import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
+import com.github.binarywang.wxpay.exception.WxPayException;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.wechat.pay.java.service.partnerpayments.jsapi.model.Amount;
 import com.wechat.pay.java.service.partnerpayments.jsapi.model.Payer;
@@ -44,10 +48,15 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
@@ -194,30 +203,32 @@
         return orderReleaseVO;
     }
 
-    private Object getWxPayResponse(Orders orders,String openid){
-        Object response = null;
-        //璋冭捣鏀粯
-        PrepayRequest request = new PrepayRequest();
-        request.setAttach("createOrder");
-        request.setDescription("杩戝揩璁㈠崟鏀粯");
-        request.setSpMchid(WxMiniConfig.wxProperties.getMchId());
-        request.setSpAppid(WxMiniConfig.wxProperties.getAppId());
-        request.setSubMchid(WxMiniConfig.wxProperties.getSubMchId());
-        request.setSubAppid(WxMiniConfig.wxProperties.getSubAppId());
+    private PayResponse getWxPayResponse(Orders orders,String openid){
+        try {
+            Object response = null;
+            //璋冭捣鏀粯
+            WxPayUnifiedOrderRequest request = new WxPayUnifiedOrderRequest();
+            request.setAttach("createOrder");
+            request.setAttach("璁㈠崟鏀粯");
+            request.setOutTradeNo(orders.getOutTradeNo());
+            request.setTotalFee(BaseWxPayRequest.yuanToFen(orders.getPrice().toString()));
 
-        Payer payer = new Payer();
-        payer.setSubOpenid(openid);
-        request.setPayer(payer);
-        request.setOutTradeNo(orders.getOutTradeNo());
-        request.setNotifyUrl(WxMiniConfig.wxProperties.getNotifyUrl());//杩欎釜鍥炶皟url蹇呴』鏄痟ttps寮�澶寸殑
-        Amount amount = new Amount();
-        amount.setTotal(orders.getPayAccount().intValue());
-        request.setAmount(amount);
-//        PrepayResponse res = WxMiniConfig.wxPayService.prepay(request);
-        // 璺熶箣鍓嶄笅鍗曠ず渚嬩竴鏍凤紝濉厖棰勪笅鍗曞弬鏁�
-        PrepayWithRequestPaymentResponse resParam =  WxMiniConfig.jsapiExtService.prepayWithRequestPayment(request,WxMiniConfig.wxProperties.getSubAppId());
-        response =resParam;
-        return response;
+
+            request.setTimeStart(DateUtil.DateToString(new Date(), "yyyyMMddHHmmss"));
+            request.setSpbillCreateIp(Constants.getIpAddr());
+            //寰俊灏忕▼搴�
+            request.setOpenid(openid);
+            response = WxMiniConfig.wxPayService.createOrder(request);
+            PayResponse payResponse = new PayResponse();
+            payResponse.setResponse(response);
+            payResponse.setOrderId(orders.getId());
+            payResponse.setPayType(Constants.ZERO);
+
+            return payResponse;
+        } catch (WxPayException e) {
+            e.printStackTrace();
+        }
+        throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏀粯澶辫触锛�");
     }
 
     /**
@@ -2089,7 +2100,6 @@
         //鏇存柊缂撳瓨
         redisTemplate.opsForValue().set(Constants.RedisKeys.ORDER_CODE,0);
     }
-
 
 
 }

--
Gitblit v1.9.3