From aec323b302fdc60429ecf8944e40ebae1a85a7fa Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 12 一月 2024 14:18:53 +0800
Subject: [PATCH] 修改bug和新增加功能

---
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml                                |    1 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/MsgUtils.java                             |    3 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppActivityController.java    |    6 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java     |  101 +++++++++++++++++++-
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java             |    5 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java     |    7 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtTotalOrderTotalVo.java              |    7 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java |   40 +++++++
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java         |   36 +++----
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppHomeController.java        |    6 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageVo.java                |   30 +++--
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/HuiFuTianXiaUtil.java                         |    2 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/MsgUtils.java                               |    5 
 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml                             |    4 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffPageDto.java                |    3 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java                |    2 
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml                            |    3 
 17 files changed, 203 insertions(+), 58 deletions(-)

diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppActivityController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppActivityController.java
index ea94908..291dc07 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppActivityController.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppActivityController.java
@@ -59,9 +59,9 @@
         if(shopId==null){
             throw new ServiceException(AppErrorConstant.NO_POSITION);
         }
-        if(member!=null&&member.getBindingFlag()==0){
-            shopId = null;
-        }
+//        if(member!=null&&member.getBindingFlag()==0){
+//            shopId = null;
+//        }
         Page<AppActivityPageVo> page = new Page<>();
         page.setSize(appPageDto.getPageSize());
         page.setCurrent(appPageDto.getPageNum());
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppHomeController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppHomeController.java
index 8e25340..18d3e6f 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppHomeController.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/miniapp/AppHomeController.java
@@ -63,9 +63,9 @@
         if(shopId==null){
             throw new ServiceException(AppErrorConstant.NO_POSITION);
         }
-        if(member!=null&&member.getBindingFlag()==0){
-            shopId = null;
-        }
+//        if(member!=null&&member.getBindingFlag()==0){
+//            shopId = null;
+//        }
         AppHomeActivityVo homeActivityVo = goodsService.pageActivityGoods(shopId);
         return R.ok(homeActivityVo);
     }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
index d81beb3..d3ba203 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
@@ -418,7 +418,7 @@
      * @param
      * @return  List<String>
      */
-    List<String> listTodayBirthday();
+    List<Member> listTodayBirthday();
 }
 
 
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
index 7f5be8b..468865d 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.member.service.impl.coupon;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.exception.ServiceException;
@@ -266,12 +267,102 @@
         CouponTotal couponTotal;
         if(StringUtils.isNotBlank(mgtCouponEditDto.getCouponId())){
             coupon = this.getById(mgtCouponEditDto.getCouponId());
-            couponTotal = couponTotalService.getById(mgtCouponEditDto.getCouponId());
-            if(couponTotal.getSendCount()!=null&&couponTotal.getSendCount()>0){
-                throw new ServiceException(AppErrorConstant.COUPON_SENT_EDIT);
+//            couponTotal = couponTotalService.getById(mgtCouponEditDto.getCouponId());
+//            if(couponTotal.getSendCount()!=null&&couponTotal.getSendCount()>0){
+//                throw new ServiceException(AppErrorConstant.COUPON_SENT_EDIT);
+//            }
+            /**
+             * 一:不可修改
+             *  1、优惠券类型
+             *  2、发放方式
+             *  3、优惠券金额
+             *  4、使用期限类型
+             *  5、有效时间段:开始时间不能修改,结束时间可以修改
+             * 二:部分可修改
+             *  1、发放方式为指定发放时
+             *     定时发放:已到发放时间不可修改
+             *     立即发放:不可修改
+             *  2、适用范围
+             *      全部商品:不可修改
+             *      部分商品:只能增加商品
+             *  3、发放数量:只能增加
+             *      不限制:不可修改
+             *  4、用户可领数量:只能增加
+             * 三:可修改
+             *  1、优惠券名称
+             *  2、宣传海报
+             * 四:发放对象
+             *  1、未到发放时间都可以修改
+             *  2、已到发放时间,只有自定义时可修改,且只能增加用户
+             */
+            if(!coupon.getCouponType().equals(mgtCouponEditDto.getCouponType())){
+                throw new ServiceException("不能修改优惠券类型");
             }
-            couponRelUserService.deleteCouponRelByCouponId(coupon.getCouponId());
-            couponRelGoodsService.deleteCouponRelByCouponId(coupon.getCouponId());
+            if(!coupon.getSendType().equals(mgtCouponEditDto.getSendType())){
+                throw new ServiceException("不能修改优惠券发放方式");
+            }
+            if(null != mgtCouponEditDto.getMoneyThreshold() && !coupon.getMoneyThreshold().equals(mgtCouponEditDto.getMoneyThreshold())){
+                throw new ServiceException("不能修改优惠券金额");
+            }
+            if(null != mgtCouponEditDto.getDiscountMoney() && !coupon.getDiscountMoney().equals(mgtCouponEditDto.getDiscountMoney())){
+                throw new ServiceException("不能修改优惠券金额");
+            }
+            if(null != mgtCouponEditDto.getDiscountPercent() && !coupon.getDiscountPercent().equals(mgtCouponEditDto.getDiscountPercent())){
+                throw new ServiceException("不能修改优惠券折扣");
+            }
+            if(null != mgtCouponEditDto.getValidTimeType() && !coupon.getValidTimeType().equals(mgtCouponEditDto.getValidTimeType())){
+                throw new ServiceException("不能修改优惠券适用期限类型");
+            }
+            if(null != mgtCouponEditDto.getValidTimeType() && coupon.getValidTimeType() == 1 && !coupon.getValidStartTime().equals(mgtCouponEditDto.getValidStartTime())){
+                throw new ServiceException("不能修改优惠券有效期开始时间");
+            }
+            if(coupon.getSendType() == 2 && coupon.getSendTimeType() == 1 && mgtCouponEditDto.getSendTimeType() != 1){
+                throw new ServiceException("不能修改优惠券发放方式");
+            }
+            if(coupon.getSendType() == 2 && coupon.getSendTimeType() == 2 && mgtCouponEditDto.getSendTimeType() != 2 && System.currentTimeMillis() <= coupon.getSendTime().getTime()){
+                throw new ServiceException("不能修改优惠券发放方式");
+            }
+            if(coupon.getSendType() == 2 && coupon.getSendTimeType() == 2 && mgtCouponEditDto.getSendTimeType() == 2 && !mgtCouponEditDto.getSendTime().equals(coupon.getSendTime()) && System.currentTimeMillis() <= coupon.getSendTime().getTime()){
+                throw new ServiceException("不能修改优惠券发放时间");
+            }
+            if(coupon.getUseScope() == 1 && !coupon.getUseScope().equals(mgtCouponEditDto.getUseScope())){
+                throw new ServiceException("不能修改优惠券适用范围");
+            }
+            if(coupon.getUseScope() == 2 && coupon.getUseScope().equals(mgtCouponEditDto.getUseScope())){
+                List<String> relGoodsIdList = mgtCouponEditDto.getRelGoodsIdList();
+                List<CouponRelGoods> list = couponRelGoodsService.list(new QueryWrapper<CouponRelGoods>().eq("coupon_id", coupon.getCouponId()).eq("del_flag", 0));
+                for (CouponRelGoods couponRelGoods : list) {
+                    if(!relGoodsIdList.contains(couponRelGoods.getGoodsId())){
+                        throw new ServiceException("不能删除优惠券适用商品");
+                    }
+                }
+            }
+            if(coupon.getSendLimitFlag() == 0 && mgtCouponEditDto.getSendLimitFlag() != 0){
+                throw new ServiceException("不能修改优惠券发放数量限制");
+            }
+            if(coupon.getSendLimitFlag() == 1 && !coupon.getSendLimitNumber().equals(mgtCouponEditDto.getSendLimitNumber())){
+                throw new ServiceException("不能修改优惠券发放数量限制");
+            }
+            if(coupon.getLimitNumber().compareTo(mgtCouponEditDto.getLimitNumber()) < 0){
+                throw new ServiceException("只能增加优惠券领取数量");
+            }
+            List<CouponRelUser> list = couponRelUserService.list(new QueryWrapper<CouponRelUser>().eq("coupon_id", coupon.getCouponId()).eq("del_flag", 0));
+            List<Long> relUserIdList = mgtCouponEditDto.getRelUserIdList();
+            for (CouponRelUser couponRelUser : list) {
+                if(!relUserIdList.contains(couponRelUser.getUserId())){
+                    throw new ServiceException("只能增加优惠发放对象");
+                }
+            }
+            if(relUserIdList.size() != list.size() && coupon.getSendType() == 2 && coupon.getSendTimeType() == 1){
+                throw new ServiceException("只能修改优惠发放对象");
+            }
+            if(relUserIdList.size() != list.size() && coupon.getSendType() == 2 && coupon.getSendTimeType() == 2 && System.currentTimeMillis() <= coupon.getSendTime().getTime()){
+                throw new ServiceException("只能修改优惠发放对象");
+            }
+
+
+//            couponRelUserService.deleteCouponRelByCouponId(coupon.getCouponId());
+//            couponRelGoodsService.deleteCouponRelByCouponId(coupon.getCouponId());
         }else{
             coupon = new Coupon();
             String couponId = IdUtils.simpleUUID();
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
index e974d50..21f0c1f 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -2191,12 +2191,13 @@
      */
     @Override
     public void sendBirthdayBless(){
-        List<String> mobileList = memberMapper.listTodayBirthday();
+        List<Member> mobileList = memberMapper.listTodayBirthday();
         if(mobileList!=null&&!mobileList.isEmpty()){
             log.info("生日祝福发送短信---"+mobileList.toString());
-            for(String mobile : mobileList){
+            for(Member member : mobileList){
                 try {
-                    MsgUtils.sendMsg(mobile,null,null);
+                    String msg = "{\"name\":\"" + (StringUtils.isEmpty(member.getRealName()) ? member.getNickName() : member.getRealName()) + "\"}";
+                    MsgUtils.sendMsg(member.getMobile(),null, msg);
                 } catch (Exception e) {
                     throw new RuntimeException(e);
                 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/MsgUtils.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/MsgUtils.java
index 7b081f7..45944a0 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/MsgUtils.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/MsgUtils.java
@@ -43,7 +43,8 @@
         SendSmsRequest sendSmsRequest = SendSmsRequest.builder()
                 .phoneNumbers(phoneNumber)
                 .signName("鸿瑞堂")
-                .templateCode("SMS_234035865")
+                .templateCode("SMS_464381169")
+                .templateParam(sendContent)
                 .build();
 
         CompletableFuture<SendSmsResponse> response = client.sendSms(sendSmsRequest);
diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
index 3318f72..6da2b14 100644
--- a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
+++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
@@ -1026,8 +1026,8 @@
         </foreach>
     </select>
 
-    <select id="listTodayBirthday" resultType="java.lang.String">
-        SELECT mobile
+    <select id="listTodayBirthday" resultType="com.ruoyi.system.api.domain.poji.member.Member">
+        SELECT *
         FROM t_member
         WHERE del_flag = 0 AND binding_flag = 1 AND birthday = CURRENT_DATE()
     </select>
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageVo.java
index 65e41a5..03537ef 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageVo.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageVo.java
@@ -28,70 +28,74 @@
     @ApiModelProperty(value="订单编号")
     private String orderNo;
 
+    @Excel(name = "支付流水号", width = 30, sort = 2)
+    @ApiModelProperty(value="支付流水号")
+    private String outTradeNo;
+
     @ApiModelProperty(value = "用户id")
     private Long userId;
 
-    @Excel(name = "用户昵称", width = 30, sort = 2)
+    @Excel(name = "用户昵称", width = 30, sort = 3)
     @ApiModelProperty(value = "用户昵称")
     private String nickName;
 
-    @Excel(name = "用户姓名", width = 30, sort = 3)
+    @Excel(name = "用户姓名", width = 30, sort = 4)
     @ApiModelProperty(value = "用户姓名")
     private String userName;
 
-    @Excel(name = "用户手机", width = 30, sort = 4)
+    @Excel(name = "用户手机", width = 30, sort = 5)
     @ApiModelProperty(value = "用户手机")
     private String userMobile;
 
     @ApiModelProperty(value="订单商品列表")
     private List<MgtOrderGoodsPageVo> mgtOrderGoodsPageVoList;
 
-    @Excel(name = "商品信息", width = 30, sort = 5)
+    @Excel(name = "商品信息", width = 30, sort = 6)
     @ApiModelProperty(value="商品信息")
     private String goodsInfo;
 
-    @Excel(name = "订单金额", width = 30, sort = 6)
+    @Excel(name = "订单金额", width = 30, sort = 7)
     @ApiModelProperty(value="订单金额")
     @JsonSerialize(using = ToStringSerializer.class)
     private BigDecimal orderMoney;
 
-    @Excel(name = "订单提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 9)
+    @Excel(name = "订单提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 10)
     @ApiModelProperty(value="创建时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
 
-    @Excel(name = "优惠金额", width = 30, sort = 7)
+    @Excel(name = "优惠金额", width = 30, sort = 8)
     @ApiModelProperty(value="优惠金额")
     @JsonSerialize(using = ToStringSerializer.class)
     private BigDecimal discountMoney;
 
-    @Excel(name = "应付金额", width = 30, sort = 8)
+    @Excel(name = "应付金额", width = 30, sort = 9)
     @ApiModelProperty(value="应付金额")
     @JsonSerialize(using = ToStringSerializer.class)
     private BigDecimal receivableMoney;
 
-    @Excel(name = "订单已付金额", width = 30, sort = 10)
+    @Excel(name = "订单已付金额", width = 30, sort = 11)
     @ApiModelProperty(value="订单实际支付金额")
     @JsonSerialize(using = ToStringSerializer.class)
     private BigDecimal payMoney;
 
-    @Excel(name = "剩余金额", width = 30, sort = 12)
+    @Excel(name = "剩余金额", width = 30, sort = 13)
     @ApiModelProperty(value="订单未支付金额")
     @JsonSerialize(using = ToStringSerializer.class)
     private BigDecimal unPaidMoney;
 
-    @Excel(name = "订单来源", width = 30, sort = 11)
+    @Excel(name = "订单来源", width = 30, sort = 12)
     @ApiModelProperty(value="订单来源")
     private String orderFrom;
 
     @ApiModelProperty(value="核销店铺id")
     private Long shopId;
 
-    @Excel(name = "核销店铺", width = 30, sort = 13)
+    @Excel(name = "核销店铺", width = 30, sort = 14)
     @ApiModelProperty(value="核销店铺")
     private String shopName;
 
-    @Excel(name = "核销时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 14)
+    @Excel(name = "核销时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 15)
     @ApiModelProperty(value="核销时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date verifyTime;
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtTotalOrderTotalVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtTotalOrderTotalVo.java
index 7ea30ae..29609b2 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtTotalOrderTotalVo.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtTotalOrderTotalVo.java
@@ -41,6 +41,9 @@
     @ApiModelProperty(value = "服务订单数")
     private Integer serviceTotal;
 
+    @ApiModelProperty(value = "单品数量")
+    private Integer itemTotal;
+
     @ApiModelProperty(value = "总订单金额")
     @JsonSerialize(using = ToStringSerializer.class)
     private BigDecimal orderMoney;
@@ -69,6 +72,10 @@
     @JsonSerialize(using = ToStringSerializer.class)
     private BigDecimal serviceMoney;
 
+    @ApiModelProperty(value = "单品金额")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private BigDecimal itemMoney;
+
     @ApiModelProperty(value = "订单分布日期")
     private String[] orderTotalKey;
 
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
index 6dcdcc6..2c0769a 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
@@ -27,8 +28,10 @@
 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.Member;
+import com.ruoyi.system.api.domain.poji.shop.Shop;
 import com.ruoyi.system.api.service.RemoteGoodsService;
 import com.ruoyi.system.api.service.RemoteMemberService;
+import com.ruoyi.system.api.service.RemoteShopService;
 import io.seata.spring.annotation.GlobalTransactional;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -63,6 +66,12 @@
 
     @Resource
     private ServiceRecordDetailService serviceRecordDetailService;
+
+    @Resource
+    private RemoteShopService remoteShopService;
+
+
+
 
     /**
      * 获取用户服务
@@ -242,7 +251,9 @@
             ServiceRecordDetail serviceRecordDetail;
             //MerMemberConsumerGoodsTotalVo memberGoodsTotal = this.getMemberConsumerGoodsTotalVo(merSureConsumerGoodsDto.getMemberUserId(), merSureConsumerGoodsDto.getShopId());
             List<String> consumerGoodsList = new ArrayList<>();
+            List<Map<String, Object>> sendData = new ArrayList<>();
             for (MerSureConsumerGoodsListDto goodsDto : goodsList) {
+                Map<String, Object> map = new HashMap<>();
                 consumerGoods = this.getById(goodsDto.getConsumerGoodsId());
                 serviceRecordDetail = new ServiceRecordDetail();
                 serviceNum = consumerGoods.getServiceNum();
@@ -261,6 +272,14 @@
                     consumerGoods.setCompleteTime(new Date());
                 }
                 this.saveOrUpdate(consumerGoods);
+
+                int number = consumerGoods.getServiceNum() - consumerGoods.getUsedNum();
+                if(number < 3){
+                    map.put("product", consumerGoods.getGoodsName());
+                    map.put("number", number);
+                    sendData.add(map);
+                }
+
                 shopId = consumerGoods.getShopId();
                 userId = consumerGoods.getUserId();
                 serviceType = consumerGoods.getGoodsType();
@@ -344,10 +363,27 @@
             shopTotalChange.setExperienceService(experienceService);
             shopTotalChange.setExperiencePerson(experiencePerson);
             remoteShopService.changeShopTotal(shopTotalChange);*/
-            if(!consumerGoodsList.isEmpty()){
+            if(!sendData.isEmpty()){
                 Member member = remoteMemberService.getMember(userId).getData();
+                R<Shop> r = remoteShopService.getShop(shopId);
+                if(r.getCode() != 200){
+                    throw new ServiceException(r.getMsg());
+                }
+                Shop shop = r.getData();
                 try {
-                    MsgUtils.sendMsg(member.getMobile(),null,null);
+                    for (Map<String, Object> sendDatum : sendData) {
+                        String product = sendDatum.get("product").toString();
+                        Integer number = Integer.valueOf(sendDatum.get("number").toString());
+                        String msg = "{\"name\":\"" + (StringUtils.isEmpty(member.getRealName()) ? member.getNickName() : member.getRealName()) + "\"," +
+                                "\"store\":\"" + shop.getShopName() + "\",\"product\":\"" + product + "\"}";
+                        if(number == 2){
+                            MsgUtils.sendMsg(member.getMobile(),"SMS_464376210",msg);
+                        }
+                        if(number == 0){
+                            MsgUtils.sendMsg(member.getMobile(),"SMS_464321234",msg);
+                        }
+                    }
+
                 } catch (Exception e) {
                     throw new RuntimeException(e);
                 }
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 c5713ed..9a9745d 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
@@ -65,6 +65,7 @@
 import lombok.extern.log4j.Log4j2;
 import org.redisson.api.RLock;
 import org.redisson.api.RedissonClient;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -1650,20 +1651,10 @@
         //判断用户是否绑定
         if(member.getBindingFlag()==1){
             //绑定用户判断核销商户
-            if(order.getOrderFrom()==2&&order.getUnbindingFlag()==1){
-                if (!member.getRelationShopId().equals(shopId)) {
-                    throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
-                }
-                //未绑定时下的活动订单只需要判断店铺是否支持
-                String activityId = order.getActivityId();
-                MerActivityShopDto merActivityShopDto = new MerActivityShopDto();
-                merActivityShopDto.setShopId(shopId);
-                merActivityShopDto.setActivityId(activityId);
-                Boolean judge = remoteActivityService.judgeActivityShop(merActivityShopDto).getData();
-                if(!judge){
-                    throw new ServiceException(AppErrorConstant.SHOP_NO_ACTIVITY);
-                }
-            }else{
+            if (order.getOrderFrom()==2&&!member.getRelationShopId().equals(shopId)) {
+                throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
+            }
+            if(order.getOrderFrom() == 1){
                 //商城订单和绑定后活动订单判断核销商户和订单商户和用户关联商户是否统一
                 if (!order.getShopId().equals(shopId)) {
                     throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
@@ -1801,12 +1792,16 @@
         //获取核销商户
         ShopRelUserVo shopRelUserVo = remoteShopService.getShopByUserId(merVerifyOrderDto.getUserId()).getData();
         Long shopId = shopRelUserVo.getShopId();
+        log.info("当前核销员工【" + shopRelUserVo.getUserName() + "】门店ID:" + shopId);
         //获取订单商品列表
         List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId);
         //绑定用户判断核销商户
         if(member.getBindingFlag()==1){
             //未绑定的活动订单只需要判断店铺是否支持
-            if(order.getOrderFrom()==2&&order.getUnbindingFlag()==1){
+            if(order.getOrderFrom()==2 && !member.getRelationShopId().equals(shopId)){
+                throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
+            }
+            if(order.getOrderFrom()==2 && member.getRelationShopId().equals(shopId)){
                 String activityId = order.getActivityId();
                 MerActivityShopDto merActivityShopDto = new MerActivityShopDto();
                 merActivityShopDto.setShopId(shopId);
@@ -1814,11 +1809,6 @@
                 Boolean judge = remoteActivityService.judgeActivityShop(merActivityShopDto).getData();
                 if(!judge){
                     throw new ServiceException(AppErrorConstant.SHOP_NO_ACTIVITY);
-                }
-            }else{
-                //绑定用户需直接判断商户一致
-                if (!order.getShopId().equals(shopId)) {
-                    throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
                 }
             }
         }else{
@@ -3983,6 +3973,7 @@
         mgtTotalOrderTotalVo.setCycleTotal(0);
         mgtTotalOrderTotalVo.setExperienceTotal(0);
         mgtTotalOrderTotalVo.setServiceTotal(0);
+        mgtTotalOrderTotalVo.setItemTotal(0);
         mgtTotalOrderTotalVo.setOrderMoney(new BigDecimal("0"));
         mgtTotalOrderTotalVo.setOnlineMoney(new BigDecimal("0"));
         mgtTotalOrderTotalVo.setOfflineMoney(new BigDecimal("0"));
@@ -3990,6 +3981,7 @@
         mgtTotalOrderTotalVo.setCycleMoney(new BigDecimal("0"));
         mgtTotalOrderTotalVo.setExperienceMoney(new BigDecimal("0"));
         mgtTotalOrderTotalVo.setServiceMoney(new BigDecimal("0"));
+        mgtTotalOrderTotalVo.setItemMoney(new BigDecimal("0"));
         mgtTotalOrderTotalVo.setOrderTotalKey(new String[0]);
         mgtTotalOrderTotalVo.setOrderTotalValue(new Integer[0]);
         mgtTotalOrderTotalVo.setOrderMoneyValue(new BigDecimal[0]);
@@ -4026,6 +4018,8 @@
         mgtTotalOrderTotalVo.setCycleMoney(BigDecimal.ZERO);
         mgtTotalOrderTotalVo.setServiceTotal(0);
         mgtTotalOrderTotalVo.setServiceMoney(BigDecimal.ZERO);
+        mgtTotalOrderTotalVo.setItemTotal(0);
+        mgtTotalOrderTotalVo.setItemMoney(BigDecimal.ZERO);
         mgtTotalOrderTotalVo.setExperienceTotal(0);
         mgtTotalOrderTotalVo.setExperienceMoney(BigDecimal.ZERO);
         if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) {
@@ -4062,6 +4056,8 @@
                 } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) {
                     mgtMapIntTotalVo.setMapKey("单品");
                     mgtMapBigTotalVo.setMapKey("单品");
+                    mgtTotalOrderTotalVo.setItemTotal(mgtTotalOrderTotalVo.getItemTotal() + MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst());
+                    mgtTotalOrderTotalVo.setItemMoney(mgtTotalOrderTotalVo.getItemMoney().add(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()));
                     noGoods = false;
                 }
                 goodsTypeTotalList.add(mgtMapIntTotalVo);
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/MsgUtils.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/MsgUtils.java
index d8243a8..a690d70 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/MsgUtils.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/MsgUtils.java
@@ -23,7 +23,7 @@
 
 public class MsgUtils {
 
-    public static void sendMsg(String phoneNumber,Integer sendType,String sendContent) throws Exception {
+    public static void sendMsg(String phoneNumber,String templateCode,String sendContent) throws Exception {
 
         StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
                 .accessKeyId("LTAI5tAfKFuhyKFH12CTkXFj")
@@ -42,7 +42,8 @@
         SendSmsRequest sendSmsRequest = SendSmsRequest.builder()
                 .phoneNumbers(phoneNumber)
                 .signName("鸿瑞堂")
-                .templateCode("SMS_234035865")
+                .templateCode(templateCode)
+                .templateParam(sendContent)
                 .build();
 
         CompletableFuture<SendSmsResponse> response = client.sendSms(sendSmsRequest);
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
index 9342343..3df5c6e 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -123,6 +123,7 @@
     <resultMap id="mgtShopOrderResultMap" type="com.ruoyi.order.domain.vo.MgtShopOrderPageVo">
         <result column="orderId" property="orderId"/>
         <result column="orderNo" property="orderNo"/>
+        <result column="outTradeNo" property="outTradeNo"/>
         <result column="userId" property="userId"/>
         <result column="orderMoney" property="orderMoney"/>
         <result column="createTime" property="createTime"/>
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
index d2cd395..25083ba 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -599,8 +599,9 @@
                     shopPageVo.setSignUser(signUserMap.get(shopPageVo.getSignUserId()).getNickName());
                 }
                 if (belongUserMap!=null&&!belongUserMap.isEmpty()&&shopPageVo.getBelongUserId() != null) {
-                    shopPageVo.setBelongUser(belongUserMap.get(shopPageVo.getBelongUserId()).getNickName());
-                    shopPageVo.setBelongDept(belongUserMap.get(shopPageVo.getBelongUserId()).getDeptName());
+                    MgtSysSimpleUserVo mgtSysSimpleUserVo = belongUserMap.get(shopPageVo.getBelongUserId());
+                    shopPageVo.setBelongUser(null == mgtSysSimpleUserVo ? "" : mgtSysSimpleUserVo.getNickName());
+                    shopPageVo.setBelongDept(null == mgtSysSimpleUserVo ? "" : mgtSysSimpleUserVo.getDeptName());
                 }
             }
         }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/HuiFuTianXiaUtil.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/HuiFuTianXiaUtil.java
index aa454b9..6befa72 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/HuiFuTianXiaUtil.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/HuiFuTianXiaUtil.java
@@ -422,7 +422,7 @@
 //        data.put("mer_icp", dto.getMerIcp());
         data.put("mer_icp", "");
         data.put("open_licence_no", dto.getOpenLicenceNo());
-        data.put("head_huifu_id", huifu_id);
+//        data.put("head_huifu_id", huifu_id);
         R<String> r = supplementaryPicture(dto.getRegAcctPic(), IdUtils.simpleUUID(), "F08");
         if(r.getCode() == 200){
             data.put("reg_acct_pic", r.getData());
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffPageDto.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffPageDto.java
index 3f01dcf..77cf11d 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffPageDto.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffPageDto.java
@@ -19,4 +19,7 @@
 
     @ApiModelProperty(value = "员工姓名")
     private String staffName;
+
+    @ApiModelProperty(value = "员工电话")
+    private String staffMobile;
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml
index b0872d7..d335ea4 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml
@@ -57,6 +57,9 @@
         <if test="param.staffName!=null and param.staffName!=''">
             AND tss.staff_name LIKE CONCAT('%',#{param.staffName},'%')
         </if>
+        <if test="param.staffMobile!=null and param.staffMobile!=''">
+            AND tss.staff_mobile LIKE CONCAT('%',#{param.staffMobile},'%')
+        </if>
     </select>
 
     <select id="listSimpleDept" resultType="com.ruoyi.system.domain.vo.DeptSimpleVo">

--
Gitblit v1.7.1