From a8e56f03a22c722ccf3f67a408919e6c8f256de3 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期四, 10 八月 2023 01:45:01 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |  221 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 177 insertions(+), 44 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..865eb95 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;
@@ -50,11 +41,11 @@
 import com.ruoyi.system.api.domain.poji.goods.Goods;
 import com.ruoyi.system.api.domain.poji.goods.GoodsFile;
 import com.ruoyi.system.api.domain.poji.goods.ShopGoods;
+import com.ruoyi.system.api.domain.poji.member.BirthdayCard;
 import com.ruoyi.system.api.domain.poji.member.Member;
 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 +58,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 +122,8 @@
     @Autowired
     private RedissonClient redissonClient;
 
-    @Autowired
-    private WxPayService wxService;
+    /*@Autowired
+    private WxPayService wxService;*/
 
     @Resource
     private PaymentMessageService paymentMessageService;
@@ -670,6 +660,7 @@
             orderGoods.setServiceNum(serviceNum);
             orderGoods.setGoodsType(goods.getGoodsType());
             orderGoods.setGoodsName(goods.getGoodsName());
+            orderGoods.setGoodsTag(goods.getGoodsTags());
             orderGoods.setGoodsIntroduction(goods.getGoodsIntroduction());
             orderGoods.setGoodsPicture(goodsFile.getFileUrl());
             // 保存订单商品
@@ -704,7 +695,6 @@
         order.setDiscountMoney(couponDiscount);
         order.setReceivableMoney(orderPayMoney);
         order.setReceivableDeposit(orderPayDeposit);
-        order.setChangeReceivableMoney(orderPayMoney);
         // 根据支付类型计算支付金额
         if (appPlaceOrderDto.getPayType() == 1) {
             order.setPayMoney(orderPayMoney);
@@ -721,6 +711,7 @@
             order.setPayType(2);
             order.setCloseFlag(0);
         }
+        order.setChangeReceivableMoney(appPlaceOrderVo.getUnpaidMoney());
         order.setOrderRemark(appPlaceOrderDto.getOrderRemark());
         order.setGoodsNum(goodsNum);
         order.setCreateTime(new Date());
@@ -742,9 +733,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 +772,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 +847,7 @@
         } catch (WxPayException e) {
             throw new ServiceException(e.getMessage());
         }
-    }
+    }*/
 
 
     /**
@@ -996,6 +987,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());
@@ -1037,7 +1029,6 @@
         order.setDiscountMoney(couponDiscount);
         order.setReceivableMoney(orderPayMoney);
         order.setReceivableDeposit(orderPayDeposit);
-        order.setChangeReceivableMoney(orderPayMoney);
         order.setActivityId(activityId);
         order.setActivityName(activityGoodsGetVo.getActivityName());
         // 根据支付类型设置订单支付金额,在线支付金额,订单支付金额,未支付金额,关闭标志
@@ -1048,6 +1039,7 @@
             appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney()));
             order.setPayType(1);
             order.setCloseFlag(1);
+            order.setChangeReceivableMoney(orderGoodsMoney.subtract(couponDiscount));
         } else if (appPlaceActivityDto.getPayType() == 2) {
             order.setPayMoney(orderPayDeposit);
             order.setOnlinePayMoney(orderPayDeposit);
@@ -1055,6 +1047,7 @@
             appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney()));
             order.setPayType(2);
             order.setCloseFlag(0);
+            order.setChangeReceivableMoney(orderGoodsMoney.subtract(couponDiscount).subtract(orderPayDeposit));
         }
         // 设置订单备注,商品数量,创建时间
         order.setOrderRemark(appPlaceActivityDto.getOrderRemark());
@@ -1315,15 +1308,32 @@
         merVerifyOrderVo.setOrderGoodsMoney(order.getOrderMoney());
         merVerifyOrderVo.setCouponDiscount(order.getCouponMoney());
         merVerifyOrderVo.setReceivableDeposit(order.getReceivableDeposit());
-        merVerifyOrderVo.setReceivableMoney(order.getReceivableMoney());
+        if(order.getPayType()==1){
+            merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getPayMoney()));
+        }else{
+            merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getCouponMoney()).subtract(order.getReceivableDeposit()));
+        }
         merVerifyOrderVo.setPayMoney(order.getPayMoney());
         merVerifyOrderVo.setOrderRemark(order.getOrderRemark());
         merVerifyOrderVo.setCreateTime(order.getCreateTime());
         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(merVerifyOrderVo.getReceiveMoney()));
         // 根据订单用户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 +1410,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 +1436,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());
@@ -1444,14 +1456,31 @@
         merVerifyOrderVo.setOrderGoodsMoney(order.getOrderMoney());
         merVerifyOrderVo.setCouponDiscount(order.getCouponMoney());
         merVerifyOrderVo.setReceivableDeposit(order.getReceivableDeposit());
-        merVerifyOrderVo.setReceivableMoney(order.getReceivableMoney());
+        if(order.getPayType()==1){
+            merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getPayMoney()));
+        }else{
+            merVerifyOrderVo.setReceivableMoney(order.getOrderMoney().subtract(order.getCouponMoney()).subtract(order.getReceivableDeposit()));
+        }
         merVerifyOrderVo.setPayMoney(order.getPayMoney());
         merVerifyOrderVo.setOrderRemark(order.getOrderRemark());
         merVerifyOrderVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList);
         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(merVerifyOrderVo.getReceiveMoney()));
         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 +1495,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 +1578,7 @@
 
         // 保存分账信息
         paymentMessageService.savePaymentMessage("4", orderId, sendMessage, resultMessage);
-    }
+    }*/
 
     /**
      * @param merVerifyCouponDto
@@ -1630,6 +1660,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 +1779,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 +1787,7 @@
                     merMemberNoClearOrderVo.setUnPaidMoney(zeroBig);
                 }
             }
-        }
+        }*/
         return merMemberNoClearOrderVoList;
     }
 
@@ -1783,7 +1814,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 +1972,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 +2020,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 +2057,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 +2083,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 +2156,9 @@
                 if (orderFrom != null) {
                     if (orderFrom == 1) {
                         orderFromDesc = "商城订单";
+                    } else if(orderFrom == 2){
+
+                        orderFromDesc = "店铺砍价活动("+merOrderPageVo.getActivityName()+")";
                     } else {
                         orderFromDesc = "线下创建";
                     }
@@ -2330,7 +2366,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 +2571,8 @@
     @Override
     public MgtBulletinBoardVo boardOrderTotal() {
         MgtBulletinBoardVo mgtBulletinBoardVo = orderMapper.boardOrderTotal();
+        Integer activityUserTotal = orderMapper.activityUserTotal();
+        mgtBulletinBoardVo.setActivityUserTotal(activityUserTotal);
         return mgtBulletinBoardVo;
     }
 
@@ -3161,10 +3199,39 @@
         if (memberGiftRecord == null || memberGiftRecord.getVerifyStatus() != 1) {
             throw new ServiceException(AppErrorConstant.COUPON_USED);
         }
+        Shop shop = null;
+        if (memberGiftRecord.getGiftFrom() == 1) {
+            BirthdayCard birthdayCard = remoteMemberService.getBirthdayCard().getData();
+            if(birthdayCard!=null){
+                shop = remoteShopService.getShop(shopId).getData();
+                //判断指定区域全部店铺
+                if(birthdayCard.getAreaFlag()==2&&birthdayCard.getShopFlag()==1&&!StringUtils.checkString(birthdayCard.getDesignatedArea(),shop.getShopCityCode())){
+                    throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
+                }
+                //判断指定店铺
+                if(birthdayCard.getShopFlag()==2&&!StringUtils.checkString(birthdayCard.getApplicableShop(),shopId.toString())){
+                    throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
+                }
+            }else{
+                throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
+            }
+        }
         if (memberGiftRecord.getGiftFrom() == 2 && !memberGiftRecord.getShopId().equals(shopId)) {
             throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
         }
         Member member = remoteMemberService.getMember(memberGiftRecord.getUserId()).getData();
+        if(member.getBindingFlag()==0){
+            //绑定用户
+            if(shop==null){
+                shop = remoteShopService.getShop(shopId).getData();
+            }
+            AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto();
+            appMemberBindingDto.setBindingFlag(1);
+            appMemberBindingDto.setShopId(shopId);
+            appMemberBindingDto.setShopName(shop.getShopName());
+            appMemberBindingDto.setUserId(memberGiftRecord.getUserId());
+            remoteMemberService.updateMemberBinding(appMemberBindingDto);
+        }
         merVerifyAwardVo.setUserName(member.getRealName());
         merVerifyAwardVo.setUserMobile(member.getMobile());
         if (memberGiftRecord.getGiftFrom() == 1) {
@@ -3172,8 +3239,8 @@
         } else {
             merVerifyAwardVo.setGiftFrom("商户生日卡");
         }
-
         merVerifyAwardVo.setGiftType(memberGiftRecord.getGiftType());
+        //礼物类型1优惠券2商品3现金4实物
         switch (memberGiftRecord.getGiftType()) {
             case 1:
                 merVerifyAwardVo.setGiftName(memberGiftRecord.getCouponName());
@@ -3232,11 +3299,6 @@
      */
     @Override
     public MerOrderTotalVo getMerOrderTotal(MerTotalDto merTotalDto) {
-        if (merTotalDto.getShopAllFlag() != null && merTotalDto.getShopAllFlag() == 1) {
-            List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData();
-            merTotalDto.setShopIdList(shopIdList);
-            merTotalDto.setShopId(null);
-        }
         if (merTotalDto.getShopAllFlag() != null && merTotalDto.getShopAllFlag() == 1) {
             List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData();
             merTotalDto.setShopIdList(shopIdList);
@@ -3647,6 +3709,7 @@
             goodsTotalChangeDtoList.add(goodsTotalChangeDto);
         }
         //更新商品统计
+        remoteGoodsService.changeGoodsTotal(goodsTotalChangeDtoList);
         // 更新商户统计信息
         ShopTotalChangeDto shopTotalChangeDto = new ShopTotalChangeDto();
         shopTotalChangeDto.setShopId(order.getShopId());
@@ -3663,10 +3726,12 @@
         if (redisService.hasKey(SecurityConstant.PAY_MONEY_INTEGRAL)) {
             Integer moneyValue = redisService.getCacheObject(SecurityConstant.PAY_MONEY_INTEGRAL);
             BigDecimal moneyValueBig = BigDecimal.valueOf(moneyValue);
-            BigDecimal integralBig = moneyValueBig.multiply(order.getPayMoney());
+            BigDecimal integralBig = moneyValueBig.multiply(order.getPayMoney()).setScale(0,BigDecimal.ROUND_HALF_UP);
             Integer integral = Integer.valueOf(integralBig.toString());
             memberTotalChangeDto.setChangeIntegral(integral);
             memberTotalChangeDto.setTypeIntegral(1);
+            memberTotalChangeDto.setOrderId(orderId);
+            memberTotalChangeDto.setOrderNo(order.getOrderNo());
         }
         // 设置会员支付金额和支付时间
         memberTotalChangeDto.setPayMoney(order.getPayMoney());
@@ -3683,6 +3748,9 @@
         }
         if (haveGoods) {
             memberTotalChangeDto.setGoodsOrderChange(1);
+        }
+        if(order.getOrderFrom()==2){
+            memberTotalChangeDto.setActivityTime(order.getCreateTime());
         }
         // 更新会员统计信息
         remoteMemberService.changeMemberTotal(memberTotalChangeDto);
@@ -3878,7 +3946,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 +3956,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 +3995,7 @@
         } catch (WxPayException e) {
             throw new ServiceException(e.getMessage());
         }
-    }
+    }*/
 
     /**
      * @param staffTotalDto
@@ -4287,4 +4355,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