From 1f43b711ebb1c18b83d86189312e2f1abe8a54d6 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期四, 04 七月 2024 09:00:00 +0800
Subject: [PATCH] 增加支付回调地址

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 101 insertions(+), 7 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java
index e585bc1..39af9fa 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java
@@ -33,6 +33,7 @@
 import com.ruoyi.order.util.tencent.common.XMLParser;
 import com.ruoyi.order.util.tencent.protocol.AppPayReqData;
 import com.ruoyi.order.util.tencent.protocol.UnifiedorderReqData;
+import com.ruoyi.system.api.domain.GoodsSku;
 import com.ruoyi.system.api.domain.Order;
 import com.ruoyi.system.api.domain.OrderAuctionBond;
 import com.ruoyi.system.api.domain.dto.BondDTO;
@@ -40,6 +41,7 @@
 import com.ruoyi.system.api.domain.dto.RefundDTO;
 import com.ruoyi.system.api.domain.dto.updMembeOneDTO;
 import com.ruoyi.system.api.feignClient.AuctionClient;
+import com.ruoyi.system.api.feignClient.GoodsSkuClient;
 import com.ruoyi.system.api.feignClient.MemberClient;
 
 import java.io.IOException;
@@ -84,6 +86,9 @@
     @Resource
     private OrderAuctionBondMapper orderAuctionBondMapper;
 
+    @Resource
+    private GoodsSkuClient GoodsSkuClient;
+
     @Override
     public R<Map<String, Object>> getPayInfo(Integer uid, Integer type, String orderNO,String openId, HttpServletRequest request) {
         Double price = 0.0;
@@ -95,6 +100,67 @@
                     LambdaQueryWrapper<OrderAuctionBond> wrapper1= Wrappers.lambdaQuery();
                     wrapper1.eq(OrderAuctionBond::getOrderNo,orderNO);
                     wrapper1.eq(OrderAuctionBond::getDelFlag,0);
+                    OrderAuctionBond one1 = orderAuctionBondMapper.selectOne(wrapper1);
+                    if (one1.getBond().compareTo(new BigDecimal(0))==0){
+                        one1.setBoundStatus(BondStatusEnum.PAID);
+                        Map<String, Object> returnMap = new HashMap<>();
+                        returnMap.put("Type",1);
+                       return R.ok(returnMap);
+                    }
+
+
+                }else{
+                    LambdaQueryWrapper<Order> wrapper1= Wrappers.lambdaQuery();
+                    wrapper1.eq(Order::getOrderNo,orderNO);
+                    wrapper1.eq(Order::getDelFlag,0);
+                    Order page1 = OrderMapper.selectOne(wrapper1);
+                    if (page1.getTotalAmount().compareTo(new BigDecimal(0))==0){
+                        page1.setOrderStatus(OrderStatusEnum.TO_BE_SHIPPED);
+                        page1.setPayTime(LocalDateTime.now());
+                        OrderMapper.updateById(page1);
+                        Map<String, Object> returnMap = new HashMap<>();
+                        returnMap.put("Type",1);
+                        return R.ok(returnMap);
+                    }
+
+                    page1.setOrderStatus(OrderStatusEnum.TO_BE_SHIPPED);
+                    page1.setPayTime(LocalDateTime.now());
+                    OrderMapper.updateById(page1);
+
+                    if(page1.getOrderNo().contains("SP")){
+                        GoodsSku goodsSku =new GoodsSku();
+                        goodsSku.setId(page1.getGoodsSkuId());
+                        goodsSku.setSoldQuantity(page1.getGoodsQuantity());
+                        GoodsSkuClient.updGoods(goodsSku, SecurityConstants.INNER);
+                    }
+
+                    if(page1.getOrderNo().contains("MS")){
+                        GoodsSku goodsSku =new GoodsSku();
+                        goodsSku.setId(page1.getGoodsSkuId());
+                        goodsSku.setSoldQuantity(page1.getGoodsQuantity());
+                        GoodsSkuClient.updGoodsSeckill1(goodsSku, SecurityConstants.INNER);
+                    }
+
+
+                    MemberPointsDTO memberPointsDTO=new MemberPointsDTO();
+                    memberPointsDTO.setMemberId(page1.getMemberId());
+                    memberPointsDTO.setPointsType(1);
+                    memberPointsDTO.setPointsStatus(PointStatusEnum.INCREASE);
+                    memberPointsDTO.setPoints(page1.getPoints());
+                    memberClient.addMemberPoints(memberPointsDTO);
+
+                    updMembeOneDTO MembeOneDTO=new updMembeOneDTO();
+                    MembeOneDTO.setType(1);
+                    MembeOneDTO.setMemberId(page1.getMemberId());
+                    MembeOneDTO.setMoney(page1.getTotalAmount());
+                    MembeOneDTO.setTotalPoints(page1.getPoints());
+                    memberClient.updMembeOne(MembeOneDTO, SecurityConstants.INNER);
+                }
+
+                if (orderNO.contains("BO")) {
+                    LambdaQueryWrapper<OrderAuctionBond> wrapper1= Wrappers.lambdaQuery();
+                    wrapper1.eq(OrderAuctionBond::getOrderNo,orderNO);
+                    wrapper1.eq(OrderAuctionBond::getDelFlag,0);
                     OrderAuctionBond one = orderAuctionBondMapper.selectOne(wrapper1);
                     price=one.getBond().doubleValue();
                     body = " 订单支付";
@@ -102,9 +168,9 @@
                     if (type == 1) {
                         // 支付宝预下单
                         return this.alipay(orderNO, subject, body, price, request);
-                    } else {
+                    } if (type == 2){
                         // 微信预下单
-                        return this.wxpay(2, orderNO, body,openId, price, request);
+                        return this.wxpay(2, orderNO, body, openId, price, request);
                     }
                 }else{
                     LambdaQueryWrapper<Order> wrapper1= Wrappers.lambdaQuery();
@@ -118,7 +184,7 @@
                     if (type == 1) {
                         // 支付宝预下单
                         return this.alipay(orderNO, subject, body, price, request);
-                    } else {
+                    } if (type == 2) {
                         // 微信预下单
                         return this.wxpay(2, orderNO, body,openId, price, request);
                     }
@@ -188,7 +254,20 @@
                             wrapper1.eq(Order::getOrderNo,paylog1.getOutTradeNo());
                             wrapper1.eq(Order::getDelFlag,0);
                             Order page1 = OrderMapper.selectOne(wrapper1);
-                            page1.setOrderStatus(OrderStatusEnum.GOODS_TO_BE_RECEIVED);
+                            if(page1.getOrderNo().contains("SP")){
+                                GoodsSku goodsSku =new GoodsSku();
+                                goodsSku.setId(page1.getGoodsSkuId());
+                                goodsSku.setSoldQuantity(page1.getGoodsQuantity());
+                                GoodsSkuClient.updGoods(goodsSku, SecurityConstants.INNER);
+                            }
+
+                            if(page1.getOrderNo().contains("MS")){
+                                GoodsSku goodsSku =new GoodsSku();
+                                goodsSku.setId(page1.getGoodsSkuId());
+                                goodsSku.setSoldQuantity(page1.getGoodsQuantity());
+                                GoodsSkuClient.updGoodsSeckill1(goodsSku, SecurityConstants.INNER);
+                            }
+                            page1.setOrderStatus(OrderStatusEnum.TO_BE_SHIPPED);
                             page1.setPayTime(LocalDateTime.now());
                             OrderMapper.updateById(page1);
 
@@ -203,7 +282,7 @@
                             MembeOneDTO.setMemberId(page1.getMemberId());
                             MembeOneDTO.setMoney(page1.getTotalAmount());
                             MembeOneDTO.setTotalPoints(page1.getPoints());
-                            memberClient.updMembeOne(MembeOneDTO);
+                            memberClient.updMembeOne(MembeOneDTO, SecurityConstants.INNER);
                         }
 
                     }
@@ -306,9 +385,23 @@
                             wrapper1.eq(Order::getOrderNo,paylog.getOutTradeNo());
                             wrapper1.eq(Order::getDelFlag,0);
                             Order page1 = OrderMapper.selectOne(wrapper1);
-                            page1.setOrderStatus(OrderStatusEnum.GOODS_TO_BE_RECEIVED);
+                            page1.setOrderStatus(OrderStatusEnum.TO_BE_SHIPPED);
                             page1.setPayTime(LocalDateTime.now());
                             OrderMapper.updateById(page1);
+
+                            if(page1.getOrderNo().contains("SP")){
+                                GoodsSku goodsSku =new GoodsSku();
+                                goodsSku.setId(page1.getGoodsSkuId());
+                                goodsSku.setSoldQuantity(page1.getGoodsQuantity());
+                                GoodsSkuClient.updGoods(goodsSku, SecurityConstants.INNER);
+                            }
+
+                            if(page1.getOrderNo().contains("MS")){
+                                GoodsSku goodsSku =new GoodsSku();
+                                goodsSku.setId(page1.getGoodsSkuId());
+                                goodsSku.setSoldQuantity(page1.getGoodsQuantity());
+                                GoodsSkuClient.updGoodsSeckill1(goodsSku, SecurityConstants.INNER);
+                            }
 
                             MemberPointsDTO memberPointsDTO=new MemberPointsDTO();
                             memberPointsDTO.setMemberId(page1.getMemberId());
@@ -321,7 +414,7 @@
                             MembeOneDTO.setMemberId(page1.getMemberId());
                             MembeOneDTO.setMoney(page1.getTotalAmount());
                             MembeOneDTO.setTotalPoints(page1.getPoints());
-                            memberClient.updMembeOne(MembeOneDTO);
+                            memberClient.updMembeOne(MembeOneDTO, SecurityConstants.INNER);
                         }
 
                         log.debug("WxpayController.notify__回调处理成功:SUCCESS");
@@ -501,6 +594,7 @@
             returnMap.put("trade_type", map.get("trade_type"));
 
             returnMap.put("sign", signature);
+            returnMap.put("Type",2);
             returnMap.put("err_code_des", map.get("err_code_des"));
             // 对获取预支付返回接口参数进行封装(生成支付订单接口数据)
             return R.ok(returnMap);

--
Gitblit v1.7.1