From df18a89ffc1c97884207897f3876602f2addecdb Mon Sep 17 00:00:00 2001
From: jiangqs <343695869@qq.com>
Date: 星期日, 06 八月 2023 12:45:17 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/HongRuiTang

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |  162 +++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 129 insertions(+), 33 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index 9d12bd4..9b87c85 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -1,21 +1,13 @@
 package com.ruoyi.order.service.impl.order;
 
 
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.github.binarywang.wxpay.bean.ecommerce.*;
-import com.github.binarywang.wxpay.bean.ecommerce.ProfitSharingRequest.Receiver;
-import com.github.binarywang.wxpay.bean.ecommerce.enums.TradeTypeEnum;
+import com.github.binarywang.wxpay.bean.ecommerce.PartnerTransactionsResult;
+import com.github.binarywang.wxpay.bean.ecommerce.RefundNotifyResult;
 import com.github.binarywang.wxpay.bean.profitsharingV3.ProfitSharingNotifyResult;
-import com.github.binarywang.wxpay.config.WxPayConfig;
-import com.github.binarywang.wxpay.exception.WxPayException;
-import com.github.binarywang.wxpay.service.WxPayService;
-import com.google.common.base.Joiner;
-import com.google.gson.Gson;
-import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.utils.StringUtils;
@@ -23,7 +15,6 @@
 import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.common.security.utils.CodeFactoryUtil;
 import com.ruoyi.common.security.utils.SecurityUtils;
-import com.ruoyi.order.config.MyWxPayConfig;
 import com.ruoyi.order.domain.dto.*;
 import com.ruoyi.order.domain.pojo.account.OrderPayment;
 import com.ruoyi.order.domain.pojo.account.OrderRefund;
@@ -54,7 +45,6 @@
 import com.ruoyi.system.api.domain.poji.member.MemberCoupon;
 import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord;
 import com.ruoyi.system.api.domain.poji.shop.Shop;
-import com.ruoyi.system.api.domain.poji.shop.ShopProportionVo;
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
 import com.ruoyi.system.api.domain.vo.*;
 import com.ruoyi.system.api.service.*;
@@ -67,7 +57,6 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
@@ -132,8 +121,8 @@
     @Autowired
     private RedissonClient redissonClient;
 
-    @Autowired
-    private WxPayService wxService;
+    /*@Autowired
+    private WxPayService wxService;*/
 
     @Resource
     private PaymentMessageService paymentMessageService;
@@ -670,6 +659,7 @@
             orderGoods.setServiceNum(serviceNum);
             orderGoods.setGoodsType(goods.getGoodsType());
             orderGoods.setGoodsName(goods.getGoodsName());
+            orderGoods.setGoodsTag(goods.getGoodsTags());
             orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
             orderGoods.setGoodsPicture(goodsFile.getFileUrl());
             // 保存订单商品
@@ -742,9 +732,9 @@
         }
 
         // 小程序微信下单支付
-        createWxPayInfo(appPlaceOrderVo, userId, order.getShopId(), goodsName, orderNo,
+        /*createWxPayInfo(appPlaceOrderVo, userId, order.getShopId(), goodsName, orderNo,
                 orderId, order.getPayMoney(), appPlaceOrderDto.getOpenid(),
-                appPlaceOrderDto.getSpbillCreateIp(), goodsNameList);
+                appPlaceOrderDto.getSpbillCreateIp(), goodsNameList);*/
 
 
         //减去优惠券
@@ -781,7 +771,7 @@
      * @param payerClientIp
      * @param goodsNameList
      */
-    private void createWxPayInfo(AppPlaceOrderVo appPlaceOrderVo, Long userId, Long shopId,
+    /*private void createWxPayInfo(AppPlaceOrderVo appPlaceOrderVo, Long userId, Long shopId,
                                  String goodsName, String orderNo,
                                  String orderId, BigDecimal payMoney,
                                  String openid, String payerClientIp, List<String> goodsNameList){
@@ -856,7 +846,7 @@
         } catch (WxPayException e) {
             throw new ServiceException(e.getMessage());
         }
-    }
+    }*/
 
 
     /**
@@ -996,6 +986,7 @@
         orderGoods.setCycleNumFlag(goods.getCycleNumFlag());
         orderGoods.setServiceNum(serviceNum);
         orderGoods.setGoodsType(goods.getGoodsType());
+        orderGoods.setGoodsTag(goods.getGoodsTags());
         orderGoods.setGoodsName(goods.getGoodsName());
         orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
         orderGoods.setGoodsPicture(goodsFile.getFileUrl());
@@ -1322,8 +1313,21 @@
         merVerifyOrderVo.setPayTime(order.getPayTime());
         merVerifyOrderVo.setUseTime(order.getUseTime());
         merVerifyOrderVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList);
+        merVerifyOrderVo.setPayType(order.getPayType());
+        merVerifyOrderVo.setRealReceiveMoney(order.getChangeReceivableMoney());
+        if(order.getPayType()==1){
+            merVerifyOrderVo.setReceiveMoney(order.getPayMoney());
+        }else{
+            if(order.getOfflinePayMoney()!=null){
+                merVerifyOrderVo.setReceiveMoney(order.getOfflinePayMoney());
+            }else{
+                merVerifyOrderVo.setReceiveMoney(BigDecimal.ZERO);
+            }
+        }
+        merVerifyOrderVo.setUnReceiveMoney(merVerifyOrderVo.getRealReceiveMoney().subtract(order.getReceivableMoney()));
         // 根据订单用户ID获取用户信息
         Member member = remoteMemberService.getMember(order.getUserId()).getData();
+        merVerifyOrderVo.setUserId(order.getUserId());
         merVerifyOrderVo.setUserName(member.getRealName());
         merVerifyOrderVo.setUserMobile(member.getMobile());
         merVerifyOrderVo.setCloseFlag(order.getCloseFlag());
@@ -1400,6 +1404,7 @@
                 consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
                 consumerGoods.setUsedNum(0);
                 consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
+                consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag());
                 consumerGoods.setCreateTime(nowTime);
                 consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
                 consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
@@ -1425,6 +1430,7 @@
                     consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
                     consumerGoods.setUsedNum(0);
                     consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
+                    consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag());
                     consumerGoods.setCreateTime(nowTime);
                     consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
                     consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
@@ -1451,7 +1457,20 @@
         merVerifyOrderVo.setCreateTime(order.getCreateTime());
         merVerifyOrderVo.setPayTime(order.getPayTime());
         merVerifyOrderVo.setUseTime(order.getUseTime());
+        merVerifyOrderVo.setPayType(order.getPayType());
+        merVerifyOrderVo.setRealReceiveMoney(order.getChangeReceivableMoney());
+        if(order.getPayType()==1){
+            merVerifyOrderVo.setReceiveMoney(order.getPayMoney());
+        }else{
+            if(order.getOfflinePayMoney()!=null){
+                merVerifyOrderVo.setReceiveMoney(order.getOfflinePayMoney());
+            }else{
+                merVerifyOrderVo.setReceiveMoney(BigDecimal.ZERO);
+            }
+        }
+        merVerifyOrderVo.setUnReceiveMoney(merVerifyOrderVo.getRealReceiveMoney().subtract(order.getReceivableMoney()));
         Member member = remoteMemberService.getMember(order.getUserId()).getData();
+        merVerifyOrderVo.setUserId(order.getUserId());
         merVerifyOrderVo.setUserName(member.getRealName());
         merVerifyOrderVo.setUserMobile(member.getMobile());
         merVerifyOrderVo.setCloseFlag(order.getCloseFlag());
@@ -1466,23 +1485,24 @@
         payRecord.setOrderId(order.getOrderId());
         payRecord.setPayMoney(merVerifyOrderDto.getRelPayMoney());
         payRecord.setPayTime(new Date());
-        payRecord.setPayType(2);
+        payRecord.setPayType(merVerifyOrderDto.getPayType());
         payRecordService.save(payRecord);
 
-        submitProfitSharing(orderId, order.getOrderNo(), order.getShopId(), order.getOrderMoney());
+        //submitProfitSharing(orderId, order.getOrderNo(), order.getShopId(), order.getOrderMoney());
 
         return merVerifyOrderVo;
     }
 
-    private void submitProfitSharing(String orderId, String orderNo, Long shopId, BigDecimal orderMoney) {
+    /*private void submitProfitSharing(String orderId, String orderNo, Long shopId, BigDecimal orderMoney) {
         String sendMessage = "";
         String resultMessage = "";
         try {
-            // TODO 核销完成 开始分账(平台收取服务费)
+            // 核销完成 开始分账(平台收取服务费)
             OrderPayment payment = orderPaymentService.getByOrderId(orderId);
             String transactionId = payment.getTransactionId();
 
-            String platformTyMacId = MyWxPayConfig.getPlatformTyMacId();
+            // 平台特约商户号,用户平台收取服务费
+            String platformTyMacId = WxPayConfiguration.getPlatformTyMacId();
 
             R<String> resultMch = remoteShopService.getShopSubMchId(shopId);
             String subMchId = resultMch.getData();
@@ -1548,7 +1568,7 @@
 
         // 保存分账信息
         paymentMessageService.savePaymentMessage("4", orderId, sendMessage, resultMessage);
-    }
+    }*/
 
     /**
      * @param merVerifyCouponDto
@@ -1630,6 +1650,7 @@
             }
             consumerGoods.setUsedNum(0);
             consumerGoods.setGoodsType(goods.getGoodsType());
+            consumerGoods.setGoodsTag(goods.getGoodsTags());
             consumerGoods.setCreateTime(new Date());
             consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
             goodsFile = remoteGoodsService.getGoodsFile(goods.getGoodsId()).getData();
@@ -1748,7 +1769,7 @@
     @Override
     public List<MerMemberNoClearOrderVo> pageMerMemberNoClearOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto) {
         List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderMapper.pageMerMemberNoClearOrder(page, merMemberNoClearOrderDto.getMemberUserId());
-        if (merMemberNoClearOrderVoList != null && !merMemberNoClearOrderVoList.isEmpty()) {
+        /*if (merMemberNoClearOrderVoList != null && !merMemberNoClearOrderVoList.isEmpty()) {
             BigDecimal zeroBig = new BigDecimal("0.00");
             for (MerMemberNoClearOrderVo merMemberNoClearOrderVo : merMemberNoClearOrderVoList) {
                 merMemberNoClearOrderVo.setUnPaidMoney(merMemberNoClearOrderVo.getReceivableMoney().subtract(merMemberNoClearOrderVo.getPayMoney()));
@@ -1756,7 +1777,7 @@
                     merMemberNoClearOrderVo.setUnPaidMoney(zeroBig);
                 }
             }
-        }
+        }*/
         return merMemberNoClearOrderVoList;
     }
 
@@ -1783,7 +1804,7 @@
         payRecord.setOrderId(order.getOrderId());
         payRecord.setPayMoney(merCloseOrderDto.getPayMoney());
         payRecord.setPayTime(new Date());
-        payRecord.setPayType(2);
+        payRecord.setPayType(merCloseOrderDto.getPayType());
         payRecordService.save(payRecord);
     }
 
@@ -1941,6 +1962,7 @@
             orderGoods.setCycleNumFlag(goods.getCycleNumFlag());
             orderGoods.setServiceNum(serviceNum);
             orderGoods.setGoodsType(goods.getGoodsType());
+            orderGoods.setGoodsTag(goods.getGoodsTags());
             orderGoods.setGoodsName(goods.getGoodsName());
             orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
             orderGoods.setGoodsPicture(goodsFile.getFileUrl());
@@ -1988,7 +2010,6 @@
         order.setOrderRemark(merNewOrderDto.getOrderRemark());
         order.setGoodsNum(goodsNum);
         order.setCreateTime(nowTime);
-        order.setPayTime(nowTime);
         order.setUseTime(nowTime);
         order.setUseUserId(merNewOrderDto.getUserId());
         order.setPayMoney(merNewOrderDto.getPayMoney());
@@ -2026,6 +2047,7 @@
                 consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
                 consumerGoods.setUsedNum(0);
                 consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
+                consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag());
                 consumerGoods.setCreateTime(nowTime);
                 consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
                 consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
@@ -2051,6 +2073,7 @@
                     consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum());
                     consumerGoods.setUsedNum(0);
                     consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType());
+                    consumerGoods.setGoodsTag(appUserOrderGoodsPageVo.getGoodsTag());
                     consumerGoods.setCreateTime(nowTime);
                     consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
                     consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture());
@@ -2123,6 +2146,9 @@
                 if (orderFrom != null) {
                     if (orderFrom == 1) {
                         orderFromDesc = "商城订单";
+                    } else if(orderFrom == 2){
+
+                        orderFromDesc = "店铺砍价活动("+merOrderPageVo.getActivityName()+")";
                     } else {
                         orderFromDesc = "线下创建";
                     }
@@ -2330,7 +2356,7 @@
             }
         }
         MgtOrderTotal mgtOrderTotal = new MgtOrderTotal();
-        MgtOrderTotal mgtOrderTotalFirst = orderMapper.totalOrderFirst();
+        MgtOrderTotal mgtOrderTotalFirst = orderMapper.totalOrderFirst(mgtShopOrderPageDto);
         MgtOrderTotal mgtOrderTotalSecond = orderMapper.totalOrderSecond(mgtShopOrderPageDto);
         MgtOrderTotal mgtOrderTotalThird = orderMapper.totalOrderThird(mgtShopOrderPageDto);
         mgtOrderTotal.setOrderTotal(mgtOrderTotalFirst.getOrderTotal());
@@ -2535,6 +2561,8 @@
     @Override
     public MgtBulletinBoardVo boardOrderTotal() {
         MgtBulletinBoardVo mgtBulletinBoardVo = orderMapper.boardOrderTotal();
+        Integer activityUserTotal = orderMapper.activityUserTotal();
+        mgtBulletinBoardVo.setActivityUserTotal(activityUserTotal);
         return mgtBulletinBoardVo;
     }
 
@@ -3684,6 +3712,9 @@
         if (haveGoods) {
             memberTotalChangeDto.setGoodsOrderChange(1);
         }
+        if(order.getOrderFrom()==2){
+            memberTotalChangeDto.setActivityTime(order.getCreateTime());
+        }
         // 更新会员统计信息
         remoteMemberService.changeMemberTotal(memberTotalChangeDto);
         // 如果订单来源于活动,则更新活动统计信息
@@ -3878,7 +3909,7 @@
         BigDecimal onlinePayMoney = order.getOnlinePayMoney();
         if(BigDecimal.ZERO.compareTo(onlinePayMoney) < 0){
             // 订单支付金额大于0,可发起退款
-            orderWxApplyRefund(orderId, refundId, onlinePayMoney, orderRefund);
+            //orderWxApplyRefund(orderId, refundId, onlinePayMoney, orderRefund);
         }
 
         orderRefund.setRefundStatus(1);
@@ -3888,7 +3919,7 @@
     /**
      * 申请退款API
      */
-    private void orderWxApplyRefund(String orderId, String outRefundNo, BigDecimal payMoney, OrderRefund orderRefund){
+    /*private void orderWxApplyRefund(String orderId, String outRefundNo, BigDecimal payMoney, OrderRefund orderRefund){
         try {
             // 创建支付订单
             OrderPayment orderPayment = orderPaymentService.getByOrderId(orderId);
@@ -3927,7 +3958,7 @@
         } catch (WxPayException e) {
             throw new ServiceException(e.getMessage());
         }
-    }
+    }*/
 
     /**
      * @param staffTotalDto
@@ -4287,4 +4318,69 @@
             }
         }
     }
+
+    /**
+     * @description  获取商户订单统计
+     * @author  jqs
+     * @date    2023/8/4 10:25
+     * @param mgtShopAllOrderPageDto
+     * @return  MgtShopAllOrderTotal
+     */
+    @Override
+    public MgtShopAllOrderTotal getMgtShopAllOrderTotal(MgtShopAllOrderPageDto mgtShopAllOrderPageDto){
+        MgtShopAllOrderTotal shopAllOrderTotal = orderMapper.getMgtShopAllOrderTotal(mgtShopAllOrderPageDto);
+        return shopAllOrderTotal;
+    }
+
+    /**
+     * 分页获取会员消费记录
+     * @param merOrderPageDto
+     * @return
+     */
+    @Override
+    public List<MerOrderPageVo> pageMerMemberPayOrder(Page page,MerMemberNoClearOrderDto merOrderPageDto){
+        List<MerOrderPageVo> merOrderPageVoList = orderMapper.pageMerMemberPayOrder(page, merOrderPageDto);
+        if (merOrderPageVoList != null && !merOrderPageVoList.isEmpty()) {
+            Long userId;
+            Member member;
+            Integer orderFrom;
+            String orderFromDesc;
+            BigDecimal zeroBig = new BigDecimal("0.00");
+            StringJoiner userIdSj = new StringJoiner(",");
+            for (MerOrderPageVo merOrderPageVo : merOrderPageVoList) {
+                userId = merOrderPageVo.getUserId();
+                userIdSj.add(userId.toString());
+                orderFrom = merOrderPageVo.getOrderFrom();
+                if (orderFrom != null) {
+                    if (orderFrom == 1) {
+                        orderFromDesc = "商城订单";
+                    } else {
+                        orderFromDesc = "线下创建";
+                    }
+                } else {
+                    orderFromDesc = "商城订单";
+                }
+                merOrderPageVo.setOrderFromDesc(orderFromDesc);
+                merOrderPageVo.setUnPaidMoney(merOrderPageVo.getPayMoney().subtract(merOrderPageVo.getReceiveMoney()));
+                if (merOrderPageVo.getUnPaidMoney() == null) {
+                    merOrderPageVo.setUnPaidMoney(zeroBig);
+                }
+            }
+            MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
+            mgtBaseBathDto.setIds(userIdSj.toString());
+            List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(mgtBaseBathDto).getData();
+            Map<Long, MgtSimpleMemberVo> userMap = simpleMemberVoList.stream()
+                    .collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity()));
+            for (MerOrderPageVo merOrderPageVo : merOrderPageVoList) {
+                if(merOrderPageVo.getUserId()!=null&&userMap.get(merOrderPageVo.getUserId())!=null){
+                    merOrderPageVo.setUserName(userMap.get(merOrderPageVo.getUserId()).getRealName());
+                    merOrderPageVo.setNickName(userMap.get(merOrderPageVo.getUserId()).getNickName());
+                    merOrderPageVo.setUserMobile(userMap.get(merOrderPageVo.getUserId()).getUserMobile());
+                }else{
+                    log.debug("订单merOrderPageVo"+merOrderPageVo.getOrderId()+"缺少用户");
+                }
+            }
+        }
+        return merOrderPageVoList;
+    }
 }

--
Gitblit v1.7.1