From 1695aa136a89421b1cff75d672888e81d2a24d9a Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期二, 29 八月 2023 18:30:23 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml                             |   60 +++---
 ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java                             |    6 
 ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java                |   41 ++++
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java    |    7 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysOperLog.java         |   27 +++
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java               |    9 +
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerMemberSimpleTotalVo.java   |   30 +++
 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml                          |    6 
 ruoyi-modules/ruoyi-shop/pom.xml                                                                      |    2 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopAllOrderTotal.java           |    4 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java |    5 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java                 |   10 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/config/WxCpConfiguration.java               |    1 
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/ShoppingCartMapper.xml                      |    2 
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml                                |   10 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java          |   15 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysWxCpService.java           |    8 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java          |   10 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java                   |   14 +
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java         |   11 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/scheduler/SystemScheduler.java              |   10 +
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml                       |    2 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java                     |   10 +
 ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java                                  |    4 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java          |   17 +
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java  |    5 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java  |   20 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysWxCpServiceImpl.java  |   44 ++++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtUserTaskMsgVo.java         |   23 ++
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java      |   12 +
 /dev/null                                                                                             |   33 ---
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java    |    1 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtGoodsPageVo.java                 |   28 +-
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java       |   15 +
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml                 |    2 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskServiceImpl.java    |    1 
 36 files changed, 400 insertions(+), 105 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysOperLog.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysOperLog.java
index 9cd6c06..638ff44 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysOperLog.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysOperLog.java
@@ -5,7 +5,9 @@
 import com.ruoyi.common.core.annotation.Excel.ColumnType;
 import com.ruoyi.common.core.web.domain.BaseEntity;
 
+import java.util.Arrays;
 import java.util.Date;
+import java.util.StringJoiner;
 
 /**
  * 操作日志记录表 oper_log
@@ -207,6 +209,7 @@
         this.operParam = operParam;
     }
 
+
     public String getJsonResult()
     {
         return jsonResult;
@@ -264,4 +267,28 @@
     public void setOperContent(String operContent) {
         this.operContent = operContent;
     }
+
+    @Override
+    public String toString() {
+        return new StringJoiner(", ", SysOperLog.class.getSimpleName() + "[", "]")
+                .add("operId=" + operId)
+                .add("title='" + title + "'")
+                .add("businessType=" + businessType)
+                .add("businessTypes=" + Arrays.toString(businessTypes))
+                .add("method='" + method + "'")
+                .add("requestMethod='" + requestMethod + "'")
+                .add("operatorType=" + operatorType)
+                .add("operName='" + operName + "'")
+                .add("deptName='" + deptName + "'")
+                .add("operUrl='" + operUrl + "'")
+                .add("operIp='" + operIp + "'")
+                .add("operParam='" + operParam + "'")
+                .add("jsonResult='" + jsonResult + "'")
+                .add("status=" + status)
+                .add("errorMsg='" + errorMsg + "'")
+                .add("operTime=" + operTime)
+                .add("costTime=" + costTime)
+                .add("operContent='" + operContent + "'")
+                .toString();
+    }
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerMemberSimpleTotalVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerMemberSimpleTotalVo.java
new file mode 100644
index 0000000..f0df84d
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerMemberSimpleTotalVo.java
@@ -0,0 +1,30 @@
+package com.ruoyi.system.api.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @ClassName MerMemberTotalVo
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/8/29 16:55
+ * @Version 1.0
+ */
+@Data
+public class MerMemberSimpleTotalVo {
+
+    @ApiModelProperty(value = "次数剩余")
+    private Integer surpNumber;
+
+    @ApiModelProperty(value = "消费次数")
+    private Integer userNumber;
+
+    @ApiModelProperty(value = "消费总额")
+    private BigDecimal payMoney;
+
+    @ApiModelProperty(value = "待支付金额")
+    private BigDecimal unpaidMoney;
+
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtUserTaskMsgVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtUserTaskMsgVo.java
new file mode 100644
index 0000000..2b8b7f1
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtUserTaskMsgVo.java
@@ -0,0 +1,23 @@
+package com.ruoyi.system.api.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName MgtUserTaskMsgVo
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/8/29 14:20
+ * @Version 1.0
+ */
+@Data
+public class MgtUserTaskMsgVo {
+
+    @ApiModelProperty(value="userId")
+    private Long userId;
+
+    @ApiModelProperty(value="任务名")
+    private String taskTitle;
+
+
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java
index 2026eeb..be2e16b 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java
@@ -80,6 +80,11 @@
             public R<AgencyTotalVo> getAgencyTotalVo(List<Long> shopIdList) {
                 return R.fail("获取区域统计失败:" + throwable.getMessage());
             }
+
+            @Override
+            public R<MerMemberSimpleTotalVo> getMerMemberSimpleTotalVo(MerBaseDto merBaseDto) {
+                return R.fail("获取商户会员订单统计失败:" + throwable.getMessage());
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java
index c2996e4..a60c799 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java
@@ -125,6 +125,11 @@
             public R<List<Long>> listShopIdByCityCode(List<String> cityCodes) {
                 return R.fail("获取商户列表失败:" + throwable.getMessage());
             }
+
+            @Override
+            public R<List<MgtUserTaskMsgVo>> getTaskMsgList() {
+                return R.fail("获取任务通知列表失败:" + throwable.getMessage());
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java
index 1d4a1c1..d499fb1 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java
@@ -97,4 +97,15 @@
      */
     @PostMapping("/order/getAgencyTotalVo")
     public R<AgencyTotalVo> getAgencyTotalVo(@RequestBody List<Long> shopIdList);
+
+
+    /**
+     * @description  获取用户统计
+     * @author  jqs
+     * @date    2023/8/29 17:38
+     * @param merBaseDto
+     * @return  R<MerMemberSimpleTotalVo>
+     */
+    @PostMapping("/order/getMerMemberSimpleTotalVo")
+    public R<MerMemberSimpleTotalVo> getMerMemberSimpleTotalVo(@RequestBody MerBaseDto merBaseDto);
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java
index d583428..9672a85 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java
@@ -165,4 +165,14 @@
 
     @PostMapping("/shop/listShopIdByCityCode")
     R<List<Long>> listShopIdByCityCode(@RequestBody List<String> cityCodes);
+
+    /**
+     * @description  获取今日任务通知
+     * @author  jqs
+     * @date    2023/8/29 15:05
+     * @param
+     * @return  R<List<MgtUserTaskMsgVo>>
+     */
+    @PostMapping("/shop/getTaskMsgList")
+    R<List<MgtUserTaskMsgVo>> getTaskMsgList();
 }
diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java
index 4ee5f2c..60ba2c4 100644
--- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java
+++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java
@@ -207,6 +207,10 @@
         {
             throw new ServiceException(userResult.getMsg());
         }
+        if (401 == userResult.getCode())
+        {
+            throw new ServiceException("商户已被冻结,请联系管理员",401);
+        }
         QwH5LoginVo userInfo = userResult.getData();
         SysUser user = userInfo.getSysUser();
         String username = user.getUserName();
diff --git a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java
index b764fec..9b060f6 100644
--- a/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java
+++ b/ruoyi-common/ruoyi-common-log/src/main/java/com/ruoyi/common/log/aspect/LogAspect.java
@@ -1,6 +1,8 @@
 package com.ruoyi.common.log.aspect;
 
 import com.alibaba.fastjson2.JSON;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ruoyi.common.core.utils.ServletUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.ip.IpUtils;
@@ -28,6 +30,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.Map;
 
 /**
@@ -174,7 +177,43 @@
                 && (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod)))
         {
             String params = argsArrayToString(joinPoint.getArgs(), excludeParamNames);
-            operLog.setOperParam(StringUtils.substring(params, 0, 2000));
+            if(operLog.getOperContent().equals("编辑商户")){
+                // 将JSON字符串转换为Map
+                ObjectMapper objectMapper = new ObjectMapper();
+                Map<String, String> jsonMap = new HashMap<>();
+                try {
+                    jsonMap = objectMapper.readValue(params, HashMap.class);
+                } catch (JsonProcessingException e) {
+                    e.printStackTrace();
+                }
+                // 从Map中删除指定的元素
+                jsonMap.remove("shopDetail");
+                // 将Map转换回JSON字符串
+                try {
+                    params = objectMapper.writeValueAsString(jsonMap);
+                } catch (JsonProcessingException e) {
+                    e.printStackTrace();
+                }
+            }
+            if(operLog.getOperContent().equals("编辑商品")){
+                // 将JSON字符串转换为Map
+                ObjectMapper objectMapper = new ObjectMapper();
+                Map<String, String> jsonMap = new HashMap<>();
+                try {
+                    jsonMap = objectMapper.readValue(params, HashMap.class);
+                } catch (JsonProcessingException e) {
+                    e.printStackTrace();
+                }
+                // 从Map中删除指定的元素
+                jsonMap.remove("goodsDetail");
+                // 将Map转换回JSON字符串
+                try {
+                    params = objectMapper.writeValueAsString(jsonMap);
+                } catch (JsonProcessingException e) {
+                    e.printStackTrace();
+                }
+            }
+            operLog.setOperParam(StringUtils.substring(params, 0, 5000));
         }
         else
         {
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtGoodsPageVo.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtGoodsPageVo.java
index d9ceee4..9da3267 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtGoodsPageVo.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtGoodsPageVo.java
@@ -20,62 +20,62 @@
 @Data
 public class MgtGoodsPageVo {
 
-
+    @Excel(name = "商品图片", width = 30, sort = 1)
     @ApiModelProperty(value = "商品id")
     private String goodsId;
 
-    @Excel(name = "商品名称", width = 30, sort = 1)
+    @Excel(name = "商品名称", width = 30, sort = 3)
     @ApiModelProperty(value = "商品名称")
     private String goodsName;
 
-    @Excel(name = "商品简介", width = 30, sort = 2)
+    @Excel(name = "商品简介", width = 30, sort = 4)
     @ApiModelProperty(value = "商品简介")
     private String goodsIntroduction;
 
-    @Excel(name = "商品分类", width = 30, sort = 3)
+    @Excel(name = "所属分类", width = 30, sort = 6)
     @ApiModelProperty(value = "商品分类")
     private String goodsClass;
 
-    @Excel(name = "商品标签", width = 30, sort = 5)
+    @Excel(name = "标签", width = 30, sort = 7)
     @ApiModelProperty(value = "商品标签")
     private String goodsTags;
 
-    @Excel(name = "商品图片", width = 30)
+    @Excel(name = "商品图片", width = 30, sort = 2)
     @ApiModelProperty(value = "商品图片")
     private String goodsPicture;
 
-    @Excel(name = "商品类型", width = 30, sort = 4)
+    @Excel(name = "商品类型", width = 30, sort = 6)
     @ApiModelProperty(value = "商品类型1周期2服务3体验4单品")
     private String goodsType;
 
-    @Excel(name = "商品建议售价", width = 30, sort = 6)
+    @Excel(name = "建议售价", width = 30, sort = 8)
     @ApiModelProperty(value = "商品建议售价")
     @JsonSerialize(using = ToStringSerializer.class)
     private BigDecimal suggestSalesPrice;;
 
-    @Excel(name = "最低售价", width = 30, sort = 7)
+    @Excel(name = "最低售价", width = 30, sort = 9)
     @ApiModelProperty(value = "最低售价")
     @JsonSerialize(using = ToStringSerializer.class)
     private BigDecimal mininumPrice;;
 
-    @Excel(name = "销量", width = 30, sort = 8)
+    @Excel(name = "销量", width = 30, sort = 10)
     @ApiModelProperty(value = "销量")
     private Integer buyNumCount;
 
-    @Excel(name = "销售额", width = 30, sort = 9)
+    @Excel(name = "销售额", width = 30, sort = 11)
     @ApiModelProperty(value = "销售额")
     @JsonSerialize(using = ToStringSerializer.class)
     private BigDecimal buyMoneyTotal;
 
-    @Excel(name = "是否推荐", width = 30, sort = 10)
+    @Excel(name = "是否推荐", width = 30, sort = 12)
     @ApiModelProperty(value = "是否推荐")
     private String recommendFlag;
 
-    @Excel(name = "商品状态", width = 30, sort = 11)
+    @Excel(name = "状态", width = 30, sort = 13)
     @ApiModelProperty(value = "商品状态")
     private String goodsStatus;
 
-    @Excel(name = "创建时间", width = 30, dateFormat  = "yyyy-MM-dd HH:mm:ss", sort = 12)
+    @Excel(name = "创建时间", width = 30, dateFormat  = "yyyy-MM-dd HH:mm:ss", sort = 14)
     @ApiModelProperty(value = "创建时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml
index d75bcf8..37f3e1f 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml
@@ -50,6 +50,7 @@
         <if test="param.createEndTime!=null and param.createEndTime != ''">
             AND Date(ta.create_time) &lt;= #{param.createEndTime}
         </if>
+        ORDER BY ta.create_time DESC
     </select>
 
     <select id="pageMgtActivityRecord" resultType="com.ruoyi.goods.domain.vo.MgtActivityRecordPageVo">
@@ -74,6 +75,7 @@
         <if test="param.orderFlag!=null and param.orderFlag == 0">
             AND order_id IS NULL
         </if>
+        ORDER BY create_time DESC
     </select>
 
     <select id="pagePlatformMerActivity" resultType="com.ruoyi.goods.domain.vo.MerActivityPageVo">
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/ShoppingCartMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/ShoppingCartMapper.xml
index 743766e..621a7ef 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/ShoppingCartMapper.xml
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/ShoppingCartMapper.xml
@@ -96,7 +96,7 @@
         LEFT JOIN t_goods_file tgf ON tg.goods_id = tgf.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
         LEFT JOIN t_shop_goods tsg ON tg.goods_id = tsg.goods_id AND tsg.shop_id = #{shopId}
         WHERE tsc.del_flag = 0 AND tg.del_flag = 0 AND tsc.shop_id = #{shopId} AND tsc.user_id = #{userId} AND tg.del_flag = 0 AND tg.goods_status = 1
-        ORDER BY tg.create_time DESC
+        ORDER BY tsc.create_time DESC
     </select>
 
     <update id="deleteByUserIdAndGoodsId">
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 96766d4..9bbe28c 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
@@ -20,6 +20,7 @@
 import com.ruoyi.member.domain.pojo.member.IntegralRecord;
 import com.ruoyi.member.domain.pojo.member.MemberArchive;
 import com.ruoyi.member.domain.pojo.member.MemberTotal;
+import com.ruoyi.member.domain.vo.MerMemberTotalVo;
 import com.ruoyi.member.domain.vo.*;
 import com.ruoyi.member.mapper.member.MemberMapper;
 import com.ruoyi.member.service.member.IntegralRecordService;
@@ -476,16 +477,16 @@
         MemberTotal memberTotal = memberTotalService.getById(member.getMemberId());
         // 设置MerMemberInfoVo对象的属性值
         merMemberInfoVo.setSurpNumber(memberTotal.getUseableServiceCount());
-        merMemberInfoVo.setUserNumber(memberTotal.getTotalPayCount());
-        merMemberInfoVo.setPayMoney(memberTotal.getTotalPayMoney());
         // 创建MerBaseDto对象
         MerBaseDto merBaseDto = new MerBaseDto();
         // 设置MerBaseDto对象的属性值
         merBaseDto.setShopId(merBaseGetDto.getShopId());
         merBaseDto.setUserId(userId);
         // 获取未支付订单金额
-        BigDecimal unpaidMoney = remoteOrderService.getMemberUnpaidOrder(merBaseDto).getData();
-        merMemberInfoVo.setUnpaidMoney(unpaidMoney);
+        MerMemberSimpleTotalVo memberSimpleTotalVo = remoteOrderService.getMerMemberSimpleTotalVo(merBaseDto).getData();
+        merMemberInfoVo.setUserNumber(memberSimpleTotalVo.getUserNumber());
+        merMemberInfoVo.setPayMoney(memberSimpleTotalVo.getPayMoney());
+        merMemberInfoVo.setUnpaidMoney(memberSimpleTotalVo.getUnpaidMoney());
         // 获取最近的会员任务
         MemberTaskSimpleVo memberTaskSimpleVo = remoteShopService.getLastMemberTask(userId).getData();
         if (memberTaskSimpleVo != null) {
@@ -1366,12 +1367,13 @@
             mgtShopIdByCodeDto.setShopCityCode(mgtBasePlatformDto.getShopCityCode());
             mgtShopIdByCodeDto.setShopAreaCode(mgtBasePlatformDto.getShopAreaCode());
             MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData();
+            List<Long> list = new ArrayList<>();
             if (StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())) {
-                List<Long> list = Arrays.stream(mgtShopIdByCodeVo.getShopIds().split(","))
+                list = Arrays.stream(mgtShopIdByCodeVo.getShopIds().split(","))
                         .map(Long::valueOf)
                         .collect(Collectors.toList());
-                mgtBasePlatformDto.setShopIdList(list);
             }
+            mgtBasePlatformDto.setShopIdList(list);
         }
         //获取基础统计
         MgtPlTotalMemberTotalVo plTotalMemberTotalVo = memberMapper.getPlTotalMemberTotal(mgtBasePlatformDto);
@@ -1821,11 +1823,13 @@
         }
         MerMemberRecommendTotalVo memberRecommendTotalVo = new MerMemberRecommendTotalVo();
         //获取会员推荐排名
-        List<MgtMapIntTotalVo> recommendList = memberMapper.getMerMemberRecommendRank(merTotalDto);
+        /*List<MgtMapIntTotalVo> recommendList = memberMapper.getMerMemberRecommendRank(merTotalDto);
         if (recommendList != null && recommendList.size() > 0) {
             recommendList = listRemoveNull(recommendList);
             memberRecommendTotalVo.setRecommendList(recommendList);
-        }
+        }*/
+        List<MgtMapIntTotalVo> recommendList = new ArrayList<>();
+        memberRecommendTotalVo.setRecommendList(recommendList);
         return memberRecommendTotalVo;
     }
 
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 6a2c93b..1b101e7 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
@@ -151,7 +151,7 @@
     <select id="pageMerMember" resultType="com.ruoyi.member.domain.vo.MerMemberPageVo">
         SELECT
         tm.user_id userId,
-        tm.nick_name nickName,
+        tm.real_name nickName,
         tm.avatar avatar,
         CASE tm.gender WHEN 0 THEN '男' WHEN 1 THEN '女' ELSE '未知' END gender,
         tm.mobile mobile,
@@ -681,7 +681,7 @@
         FROM t_member tm
         INNER JOIN t_member_total tmt ON tm.member_id = tmt.member_id
         WHERE tm.del_flag = 0 AND binding_flag = 1
-        <if test="param.shopIdList != null and shopIdList.size() > 0">
+        <if test="param.shopIdList != null and param.shopIdList.size() > 0">
             AND tm.relation_shop_id IN
             <foreach collection="param.shopIdList" item="item" open="(" separator="," close=")">
                 #{item}
@@ -991,7 +991,7 @@
             </foreach>
         </if>
         <if test="param.ageType !=null and param.ageType == 1">
-            AND TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 1 AND 20
+            AND TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 0 AND 20
         </if>
         <if test="param.ageType !=null and param.ageType == 2">
             AND TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 21 AND 31
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java
index 205930b..10b7122 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java
@@ -62,6 +62,7 @@
         mgtBulletinBoardVo.setSalesTotal(mgtBulletinBoardVoOrder.getSalesTotal());
         mgtBulletinBoardVo.setUnUseOrderTotal(mgtBulletinBoardVoOrder.getUnUseOrderTotal());
         mgtBulletinBoardVo.setActivityOrderTotal(mgtBulletinBoardVoOrder.getActivityOrderTotal());
+        mgtBulletinBoardVo.setActivityUserTotal(mgtBulletinBoardVoOrder.getActivityUserTotal());
         return R.ok(mgtBulletinBoardVo);
     }
 
@@ -155,4 +156,18 @@
         AgencyTotalVo agencyTotalVo= orderService.getAgencyTotalVo(shopIdList);
         return R.ok(agencyTotalVo);
     }
+
+    /**
+     * @description  获取用户统计
+     * @author  jqs
+     * @date    2023/8/29 17:38
+     * @param merBaseDto
+     * @return  R<MerMemberSimpleTotalVo>
+     */
+    @PostMapping("/getMerMemberSimpleTotalVo")
+    public R<MerMemberSimpleTotalVo> getMerMemberSimpleTotalVo(@RequestBody MerBaseDto merBaseDto){
+        MerMemberSimpleTotalVo memberSimpleTotalVo= orderService.getMerMemberSimpleTotalVo(merBaseDto);
+        return R.ok(memberSimpleTotalVo);
+    }
+
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java
index 692067d..71fb6c3 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java
@@ -3,7 +3,6 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.controller.BaseController;
-import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.order.domain.dto.*;
 import com.ruoyi.order.domain.vo.*;
@@ -12,7 +11,6 @@
 import com.ruoyi.system.api.domain.dto.AppMemberBindingDto;
 import com.ruoyi.system.api.domain.poji.member.Member;
 import com.ruoyi.system.api.model.LoginUser;
-import com.ruoyi.system.api.service.RemoteConfigService;
 import com.ruoyi.system.api.service.RemoteMemberService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -43,11 +41,6 @@
     @Resource
     private OrderService orderService;
 
-    @Resource
-    private RedisService redisService;
-
-    @Resource
-    private RemoteConfigService remoteConfigService;
 
 
     @RequestMapping(value = "/buyGoods", method = RequestMethod.POST)
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopAllOrderTotal.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopAllOrderTotal.java
index 3eeb5c1..edf5113 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopAllOrderTotal.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopAllOrderTotal.java
@@ -24,6 +24,10 @@
     @JsonSerialize(using = ToStringSerializer.class)
     private BigDecimal totalOrderMoney;
 
+    @ApiModelProperty(value = "总订金")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private BigDecimal totalDepositMoney;
+
     @ApiModelProperty(value = "实收金额")
     @JsonSerialize(using = ToStringSerializer.class)
     private BigDecimal totalReceiveMoney;
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
index ecfdb44..331ec33 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
@@ -703,4 +703,14 @@
      * @return  AgencyTotalVo
      */
     AgencyTotalVo getAgencyTotalVo(@Param("shopIdList")List<Long> shopIdList);
+
+
+    /**
+     * @description  商户端会员订单统计
+     * @author  jqs
+     * @date    2023/8/29 17:39
+     * @param merBaseDto
+     * @return  MerMemberSimpleTotalVo
+     */
+    MerMemberSimpleTotalVo getMerMemberSimpleTotalVo(@Param("param") MerBaseDto merBaseDto);
 }
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 c8e30a9..e59af1b 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
@@ -5494,4 +5494,16 @@
         AgencyTotalVo agencyTotalVo = orderMapper.getAgencyTotalVo(shopIdList);
         return agencyTotalVo;
     }
+
+    /**
+     * @description  商户端会员订单统计
+     * @author  jqs
+     * @date    2023/8/29 17:39
+     * @param merBaseDto
+     * @return  MerMemberSimpleTotalVo
+     */
+    @Override
+    public MerMemberSimpleTotalVo getMerMemberSimpleTotalVo(MerBaseDto merBaseDto){
+        return orderMapper.getMerMemberSimpleTotalVo(merBaseDto);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
index ffc2bfb..84d2608 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
@@ -579,4 +579,13 @@
      * @return
      */
     Order getByOutTradeNo(String outTradeNo);
+
+    /**
+     * @description  商户端会员订单统计
+     * @author  jqs
+     * @date    2023/8/29 17:39
+     * @param merBaseDto
+     * @return  MerMemberSimpleTotalVo
+     */
+    MerMemberSimpleTotalVo getMerMemberSimpleTotalVo(MerBaseDto merBaseDto);
 }
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 ab96e5d..5e560a4 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
@@ -459,8 +459,8 @@
         toc.order_from orderFrom,
         CASE toc.order_from
         WHEN 1 THEN "商城订单"
-        WHEN 2 THEN "秒杀活动订单"
-        WHEN 3 THEN "线下创建订单"
+        WHEN 2 THEN "秒杀订单"
+        WHEN 3 THEN "线下订单"
         END orderFromDesc,
         #{param.keyword} AS keyword
         FROM t_order toc
@@ -728,18 +728,18 @@
 
     <select id="boardOrderTotal" resultType="com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo">
         SELECT
-            IFNULL(SUM(CASE WHEN order_status = 3 THEN pay_money ELSE 0 END),0) salesTotal,
+            IFNULL(SUM(CASE WHEN order_status = 3 THEN change_receivable_money ELSE 0 END),0) salesTotal,
             IFNULL(SUM(CASE WHEN order_status = 2 THEN 1 ELSE 0 END),0) UnUseOrderTotal,
             IFNULL(SUM(CASE WHEN order_from = 2 THEN 1 ELSE 0 END),0) activityOrderTotal
         FROM t_order
-        WHERE del_flag = 0
+        WHERE del_flag = 0 AND order_status IN (2,3)
     </select>
 
     <select id="activityUserTotal" resultType="java.lang.Integer">
         SELECT
             COUNT(DISTINCT user_id)
         FROM t_order
-        WHERE del_flag = 0 AND order_from = 2
+        WHERE del_flag = 0 AND order_from = 2 AND order_status IN (2,3)
     </select>
 
     <select id="getTotalOrderTotalOrderFrom" resultType="com.ruoyi.order.domain.vo.MgtTotalOrderTotalVo">
@@ -820,7 +820,7 @@
             COUNT(order_id) AS mapValueFirst,
             IFNULL(SUM(CASE WHEN pay_type = 1 THEN change_receivable_money WHEN pay_type = 2 THEN change_receivable_money + online_pay_money ELSE 0 END),0) AS mapValueSecond
         FROM t_order
-        WHERE del_flag = 0 AND order_status IN (2,3)
+        WHERE del_flag = 0 AND order_status = 3
         <if test="param.shopId != null and param.shopId != ''">
             AND shop_id = #{param.shopId}
         </if>
@@ -878,8 +878,8 @@
         SELECT
         CASE toc.order_from
         WHEN 1 THEN "商城订单"
-        WHEN 2 THEN "秒杀活动订单"
-        WHEN 3 THEN "线下创建订单"
+        WHEN 2 THEN "秒杀订单"
+        WHEN 3 THEN "线下订单"
         END mapKey,
         IFNULL(SUM(CASE WHEN toc.pay_type = 1 THEN toc.change_receivable_money WHEN toc.pay_type = 2 THEN toc.change_receivable_money + toc.online_pay_money ELSE 0 END),0) mapValue
         FROM t_order toc
@@ -939,9 +939,9 @@
         SELECT
         DATE_FORMAT(create_time, '%Y-%m-%d') AS mapKey,
         COUNT(DISTINCT order_id) AS mapValueFirst,
-        SUM(order_money) AS mapValueSecond
+        IFNULL(SUM(CASE WHEN pay_type = 1 THEN change_receivable_money WHEN pay_type = 2 THEN change_receivable_money + online_pay_money ELSE 0 END),0) AS mapValueSecond
         FROM t_order
-        WHERE del_flag = 0 AND order_from = 2 AND order_status IN (2,3)
+        WHERE del_flag = 0 AND order_from = 2 AND order_status = 3
         <if test="param.shopId != null and param.shopId != ''">
             AND shop_id = #{param.shopId}
         </if>
@@ -1192,7 +1192,7 @@
         SELECT
         DATE_FORMAT(create_time, '%Y-%m-%d') AS mapKey,
         COUNT(order_id) AS mapValueFirst,
-        IFNULL(SUM(receivable_money),0) AS mapValueSecond
+        IFNULL(SUM(CASE WHEN pay_type = 1 THEN change_receivable_money WHEN pay_type = 2 THEN change_receivable_money + online_pay_money ELSE 0 END),0) AS mapValueSecond
         FROM
         t_order
         WHERE del_flag = 0 AND order_status = 3
@@ -1263,8 +1263,8 @@
         SELECT
         CASE toc.order_from
         WHEN 1 THEN "商城订单"
-        WHEN 2 THEN "秒杀活动订单"
-        WHEN 3 THEN "线下创建订单"
+        WHEN 2 THEN "秒杀订单"
+        WHEN 3 THEN "线下订单"
         END mapKey,
         IFNULL(SUM(toc.order_money),0) mapValue
         FROM t_order toc
@@ -1316,7 +1316,7 @@
         COUNT(DISTINCT CASE WHEN tog.goods_type = 3 THEN toc.user_id ELSE NULL END) servicePerson
         FROM t_order toc
         INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id
-        WHERE toc.del_flag = 0 AND toc.order_from = 2 AND toc.order_status IN (2,3) AND toc.new_member_flag = 1
+        WHERE toc.del_flag = 0 AND toc.order_from = 2 AND toc.order_status = 3 AND toc.new_member_flag = 1
         <if test="param.shopIdList != null and param.shopIdList.size() > 0">
             AND toc.shop_id IN
             <foreach collection="param.shopIdList" item="item" open="(" separator="," close=")">
@@ -1652,8 +1652,8 @@
         SELECT
         CASE toc.order_from
         WHEN 1 THEN "商城订单"
-        WHEN 2 THEN "秒杀活动订单"
-        WHEN 3 THEN "线下创建订单"
+        WHEN 2 THEN "秒杀订单"
+        WHEN 3 THEN "线下订单"
         END mapKey,
         IFNULL(SUM(tog.goods_receivable_money),0) mapValue
         FROM t_order toc
@@ -1733,8 +1733,8 @@
         toc.user_id userId,
         toc.order_money orderMoney,
         toc.discount_money discountMoney,
-        toc.receivable_money receivableMoney,
-        toc.pay_money payMoney,
+        CASE toc.pay_type WHEN 1 THEN toc.order_money-toc.coupon_money WHEN 2 THEN toc.order_money-toc.coupon_money-toc.online_pay_money END receivableMoney,
+        toc.change_receivable_money payMoney,
         CASE toc.order_from WHEN 1 THEN '小程序' WHEN 2 THEN CONCAT('秒杀活动(',toc.activity_name,')') WHEN 3 THEN '线下创建' END orderFrom,
         CASE toc.order_status
         WHEN 0 THEN "已取消"
@@ -1743,7 +1743,7 @@
         WHEN 3 THEN "已完成"
         END orderStatus
         FROM t_order toc
-        WHERE toc.del_flag = 0 AND (toc.order_from = 1 OR toc.order_from = 3)
+        WHERE toc.del_flag = 0
         <if test="param.orderFrom != null">
             AND toc.order_from = #{param.orderFrom}
         </if>
@@ -1836,7 +1836,7 @@
         SUM(tog.goods_receivable_money) AS mapValueSecond
         FROM t_order toc
         INNER JOIN t_order_goods tog ON toc.order_id = tog.order_id
-        WHERE toc.del_flag = 0 AND toc.shop_id = #{param.shopId} AND toc.order_from = 2 AND toc.order_status IN (2,3)
+        WHERE toc.del_flag = 0 AND toc.shop_id = #{param.shopId} AND toc.order_from = 2 AND toc.order_status = 3
         <if test="param.goodsType !=null and param.goodsType != ''">
             AND tog.goods_type = #{param.goodsType}
         </if>
@@ -1867,7 +1867,7 @@
             COUNT(DISTINCT toc.user_id) AS mapValue
         FROM t_order toc
         INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id
-        WHERE toc.order_from = 2 AND toc.new_member_flag = 1 AND toc.order_status IN (2,3) AND toc.shop_id = #{param.shopId}
+        WHERE toc.order_from = 2 AND toc.new_member_flag = 1 AND toc.order_status = 3 AND toc.shop_id = #{param.shopId}
         <if test="param.activityId !=null and param.activityId != ''">
             AND toc.activity_id = #{param.activityId}
         </if>
@@ -1889,7 +1889,7 @@
         COUNT(DISTINCT toc.user_id) AS mapValue
         FROM t_order toc
         INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id
-        WHERE toc.order_from = 2 AND toc.new_member_flag = 1 AND toc.order_status IN (2,3)
+        WHERE toc.order_from = 2 AND toc.new_member_flag = 1 AND toc.order_status = 3
         <if test="param.shopIdList != null and param.shopIdList.size() > 0">
             AND toc.shop_id IN
             <foreach collection="param.shopIdList" item="item" open="(" separator="," close=")">
@@ -1920,9 +1920,6 @@
         WHERE toc.del_flag = 0 AND toc.shop_id = #{param.shopId} AND toc.order_from = 2 AND toc.order_status IN (2,3)
         <if test="param.activityId !=null and param.activityId != ''">
             AND toc.activity_id = #{param.activityId}
-        </if>
-        <if test="param.goodsType !=null and param.goodsType != ''">
-            AND tog.goods_type = #{param.goodsType}
         </if>
         <if test="param.userIdList !=null and param.userIdList.size()>0">
             AND toc.user_id IN
@@ -2004,9 +2001,10 @@
         SELECT
         COUNT(DISTINCT toc.order_id) orderTotal,
         IFNULL(SUM(toc.order_money),0) totalOrderMoney,
-        IFNULL(SUM(toc.change_receivable_money),0) totalReceiveMoney
+        IFNULL(SUM(toc.change_receivable_money),0) totalReceiveMoney,
+        IFNULL(SUM(CASE WHEN toc.pay_type = 2 THEN toc.online_pay_money ELSE 0 END),0) totalDepositMoney
         FROM t_order toc
-        WHERE toc.del_flag = 0 AND (toc.order_from = 1 OR toc.order_from = 3)
+        WHERE toc.del_flag = 0
         <if test="param.orderFrom != null">
             AND toc.order_from = #{param.orderFrom}
         </if>
@@ -2098,4 +2096,12 @@
         </foreach>
     </select>
 
+    <select id="getMerMemberSimpleTotalVo" resultType="com.ruoyi.system.api.domain.vo.MerMemberSimpleTotalVo">
+        SELECT
+            COUNT(DISTINCT toc.order_id) userNumber,
+            IFNULL(SUM(toc.change_receivable_money),0) payMoney,
+            IFNULL(SUM(CASE WHEN toc.close_flag = 0 THEN toc.change_receivable_money - (CASE toc.pay_type WHEN 1 THEN toc.pay_money WHEN 2 THEN IFNULL(toc.offline_pay_money,0) END) ELSE 0 END),0) unpaidMoney
+        FROM t_order toc
+        WHERE toc.del_flag = 0 AND toc.user_id = #{param.userId} AND toc.shop_id = #{param.shopId} AND toc.order_status IN (2,3)
+    </select>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml
index 12e115e..94a278e 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml
@@ -104,7 +104,7 @@
         tsrd.consumer_goods_name consumerGoodsName,
         tusr.service_type serviceType,
         tusr.create_time createTime,
-        tsrd.service_num serviceNum,
+        1 serviceNum,
         tsrd.surp_num surpNum
         FROM t_user_service_record tusr
         LEFT JOIN t_service_record_detail tsrd ON tsrd.record_id = tusr.id
diff --git a/ruoyi-modules/ruoyi-shop/pom.xml b/ruoyi-modules/ruoyi-shop/pom.xml
index cc0716a..13a5313 100644
--- a/ruoyi-modules/ruoyi-shop/pom.xml
+++ b/ruoyi-modules/ruoyi-shop/pom.xml
@@ -108,6 +108,8 @@
             <artifactId>weixin-java-pay</artifactId>
             <version>4.5.0</version>
         </dependency>
+
+        <!-- 微信支付 -->
         <dependency>
             <groupId>com.github.wechatpay-apiv3</groupId>
             <artifactId>wechatpay-apache-httpclient</artifactId>
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
index 1b8986b..c36aa00 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
@@ -94,7 +94,7 @@
         if(shop.getFrozenFlag()==1){
             String userKey = SecurityUtils.getUserKey();
             redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY+userKey);
-            throw new ServiceException("商户已被冻结",401);
+            throw new ServiceException("商户已被冻结,请联系管理员",401);
         }
         // 构造登录返回信息
         QwH5LoginVo qwH5LoginVo = new QwH5LoginVo();
@@ -360,4 +360,17 @@
         return R.ok();
     }
 
+    /**
+     * @description  获取今日任务通知列表
+     * @author  jqs
+     * @date    2023/8/29 15:03
+     * @param
+     * @return  R<List<MgtUserTaskMsgVo>>
+     */
+    @PostMapping("/getTaskMsgList")
+    R<List<MgtUserTaskMsgVo>> getTaskMsgList(){
+        List<MgtUserTaskMsgVo> userTaskMsgVoList = shopService.getTaskMsgList();
+        return R.ok(userTaskMsgVoList);
+    }
+
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
index 89ae793..76670e2 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
@@ -10,6 +10,7 @@
 import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
 import com.ruoyi.system.api.domain.vo.MgtMapIntTotalVo;
 import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
+import com.ruoyi.system.api.domain.vo.MgtUserTaskMsgVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -247,4 +248,13 @@
      * @return  List<Long>
      */
     List<Long> listShopIdByCityCode(List<String> cityCodes);
+
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/8/29 14:36
+     * @param
+     * @return  List<MgtUserTaskMsgVo>
+     */
+    List<MgtUserTaskMsgVo> getTaskMsgList();
 }
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 c4a0f43..205641b 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
@@ -859,7 +859,7 @@
         if(shop.getFrozenFlag()==1){
             String userKey = SecurityUtils.getUserKey();
             redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY+userKey);
-            throw new ServiceException("商户已被冻结",401);
+            throw new ServiceException("商户已被冻结,请联系管理员",401);
         }
         merHomeShopTotalVo.setShopType(shop.getShopType());
         MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData();
@@ -1607,4 +1607,19 @@
             throw new RuntimeException(e);
         }
     }
+
+
+
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/8/29 14:33
+     * @param
+     * @return  List<MgtUserTaskMsgVo>
+     */
+    @Override
+    public List<MgtUserTaskMsgVo> getTaskMsgList(){
+        return shopMapper.getTaskMsgList();
+    }
+
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskServiceImpl.java
index 517e573..1b785ad 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskServiceImpl.java
@@ -184,6 +184,7 @@
             if(taskFileList!=null&&!taskFileList.isEmpty()){
                 taskFileService.saveBatch(taskFileList);
             }
+            agencyTaskRecordService.saveOrUpdate(agencyTaskRecord);
         }
         //创建新任务
         if(StringUtils.isNotBlank(merFollowAgencyTaskDto.getNextTaskDate())){
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java
index 3ba3861..41b8142 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java
@@ -199,6 +199,7 @@
             if(taskFileList!=null&&!taskFileList.isEmpty()){
                 taskFileService.saveBatch(taskFileList);
             }
+
         }
         // 判断下一个任务日期是否为空,并处理
         if (StringUtils.isNotBlank(merFollowMemberTaskDto.getNextTaskDate())) {
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
index fb3de74..03ff06d 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
@@ -12,10 +12,7 @@
 import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
 import com.ruoyi.system.api.domain.poji.member.Member;
 import com.ruoyi.system.api.domain.poji.shop.Shop;
-import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
-import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
-import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo;
-import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
+import com.ruoyi.system.api.domain.vo.*;
 
 import java.util.List;
 
@@ -379,4 +376,13 @@
      * @return  void
      */
     ProfitSharingReceiverResult addProfitSharingReceiver(ProfitSharingReceiverRequest request);
+
+    /**
+     * @description  
+     * @author  jqs
+     * @date    2023/8/29 14:36
+     * @param 
+     * @return  List<MgtUserTaskMsgVo>
+     */
+    List<MgtUserTaskMsgVo> getTaskMsgList();
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/Certificate.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/Certificate.java
deleted file mode 100644
index f8c0dc1..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/Certificate.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package com.ruoyi.shop.util;
-
-import lombok.extern.slf4j.Slf4j;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @date 2020-03-18 15:06
- * @description
- */
-@Slf4j
-public class Certificate {
-
-    private static final Logger logger = LoggerFactory.getLogger(Certificate.class);
-
-    /**
-     * 获取微信支付平台证书
-     *
-     * @param merchantId
-     * @param timeout
-     * @param serialNo
-     * @param mchPrivateKeyPath
-     * @param APIv3Key
-     * @param savePath
-     * @return
-     */
-    /*public static List<X509Certificate> getCertByAPI(String merchantId, int timeout, String serialNo, String mchPrivateKeyPath, String wechatPubKeyPath, String APIv3Key, String savePath) {
-        String result = "";
-        //创建http请求
-        HttpGet httpGet = new HttpGet("https://api.mch.weixin.qq.com/v3/certificates");
-        httpGet.addHeader("Content-Type", "application/json");
-        httpGet.addHeader("Accept", "application/json");
-
-        String authorization = SignUtils.authorization("GET", "/v3/certificates", merchantId, serialNo, "", mchPrivateKeyPath);
-
-        //设置认证信息
-        httpGet.setHeader("Authorization", authorization);
-
-        //设置请求器配置:如超时限制等
-        RequestConfig config = RequestConfig.custom().setSocketTimeout(timeout * 1000).setConnectTimeout(timeout * 1000).build();
-        httpGet.setConfig(config);
-        List<X509Certificate> x509Certs = new ArrayList<X509Certificate>();
-        try {
-            CloseableHttpClient httpClient = HttpClients.createDefault();
-            CloseableHttpResponse response = httpClient.execute(httpGet);
-            int statusCode = response.getStatusLine().getStatusCode();
-            HttpEntity httpEntity = response.getEntity();
-            result = EntityUtils.toString(httpEntity, "UTF-8");
-            if (statusCode == 200) {
-                logger.info("下载平台证书返回结果:" + result);
-                Header[] timestampHeader = response.getHeaders("Wechatpay-Timestamp");
-                Header[] nonceHeader = response.getHeaders("Wechatpay-Nonce");
-                Header[] signatureHeader = response.getHeaders("Wechatpay-Signature");
-                if (timestampHeader != null && timestampHeader.length > 0 &&
-                        nonceHeader != null && nonceHeader.length > 0 &&
-                        signatureHeader != null && signatureHeader.length > 0) {
-                    // 验证微信支付返回签名
-                    String wTimestamp = timestampHeader[0].getValue();
-                    String wNonce = nonceHeader[0].getValue();
-                    String wSign = signatureHeader[0].getValue();
-
-                    logger.info("wTimestamp:{},wNonce:{},wSign:{}", wTimestamp, wNonce, wSign);
-                    // 拼装待签名串
-                    StringBuffer ss = new StringBuffer();
-                    ss.append(wTimestamp).append("\n");
-                    ss.append(wNonce).append("\n");
-                    ss.append(result).append("\n");
-                    // 验证签名
-                    if (SignUtils.v3VerifyRSA(ss.toString(), Base64.decodeBase64(wSign.getBytes()), wechatPubKeyPath)) {
-                        List<CertificateItem> certList = new ArrayList<CertificateItem>();
-                        JSONObject json = JSONObject.parseObject(result);
-                        logger.info("查询结果json字符串转证书List:" + json.get("data"));
-                        JSONArray jsonArray = (JSONArray) json.get("data");
-                        for (int i = 0; i < jsonArray.size(); i++) {
-                            CertificateItem certificateItem = new CertificateItem();
-                            EncryptedCertificateItem encryptCertificate = new EncryptedCertificateItem();
-                            JSONObject bo = JSONObject.parseObject(jsonArray.get(i).toString());
-                            certificateItem.setSerial_no(bo.get("serial_no").toString());
-                            certificateItem.setEffective_time(bo.get("effective_time").toString());
-                            certificateItem.setExpire_time(bo.get("expire_time").toString());
-                            JSONObject encryptBo = JSONObject.parseObject(bo.get("encrypt_certificate").toString());
-                            encryptCertificate.setAlgorithm(encryptBo.get("algorithm").toString());
-                            encryptCertificate.setNonce(encryptBo.get("nonce").toString());
-                            encryptCertificate.setAssociated_data(encryptBo.get("associated_data").toString());
-                            encryptCertificate.setCiphertext(encryptBo.get("ciphertext").toString());
-                            certificateItem.setEncrypt_certificate(encryptCertificate);
-                            certList.add(certificateItem);
-                        }
-                        logger.info("证书List:" + certList);
-
-                        *//*List<PlainCertificateItem> plainList = decrypt(certList, APIv3Key);
-                        if (CollectionUtils.isNotEmpty(plainList)) {
-                            logger.info("平台证书开始保存");
-                            x509Certs = saveCertificate(plainList, savePath);
-                        }*//*
-                    }
-                }
-            }
-            response.close();
-            httpClient.close(); //throw
-            return x509Certs;
-        } catch (Exception e) {
-            e.printStackTrace();
-            logger.error("下载平台证书返回结果:" + e);
-        }
-        return x509Certs;
-    }*/
-
-
-    /*private static List<PlainCertificateItem> decrypt(List<CertificateItem> certList,CloseableHttpResponse response) throws GeneralSecurityException, IOException {
-        List<PlainCertificateItem> plainCertificateList = new ArrayList<PlainCertificateItem>();
-        AesUtil aesUtil = new AesUtil("".getBytes(StandardCharsets.UTF_8));
-        for(CertificateItem item:certList){
-            PlainCertificateItem bo = new PlainCertificateItem();
-            bo.setSerialNo(item.getSerial_no());
-            bo.setEffectiveTime(item.getEffective_time());
-            bo.setExpireTime(item.getExpire_time());
-            logger.info("平台证书密文解密");
-            bo.setPlainCertificate(aesUtil.decryptToString(item.getEncrypt_certificate().getAssociated_data().getBytes(StandardCharsets.UTF_8),
-                    item.getEncrypt_certificate().getNonce().getBytes(StandardCharsets.UTF_8), item.getEncrypt_certificate().getCiphertext()));
-            logger.info("平台证书公钥明文:"+bo.getPlainCertificate());
-            plainCertificateList.add(bo);
-        }
-        return plainCertificateList;
-    }*/
-
-
-    //证书保存
-    /*private static List<X509Certificate> saveCertificate(List<PlainCertificateItem> cert) throws IOException {
-        List<X509Certificate> x509Certs = new ArrayList<X509Certificate>();
-        File file = new File("平台证书路径");
-        file.mkdirs();
-        for (PlainCertificateItem item : cert) {
-            ByteArrayInputStream inputStream = new ByteArrayInputStream(item.getPlainCertificate().getBytes(StandardCharsets.UTF_8));
-            X509Certificate x509Cert = PemUtil.loadCertificate(inputStream);
-            x509Certs.add(x509Cert);
-            String outputAbsoluteFilename = file.getAbsolutePath() + File.separator + "wechatpay_" + item.getSerialNo() + ".pem";
-            try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputAbsoluteFilename), StandardCharsets.UTF_8))) {
-                writer.write(item.getPlainCertificate());
-            }
-            logger.info("输出证书文件目录:" + outputAbsoluteFilename);
-        }
-        return x509Certs;
-    }*/
-}
\ No newline at end of file
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/CertificateUtils.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/CertificateUtils.java
deleted file mode 100644
index 8b6cfae..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/CertificateUtils.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package com.ruoyi.shop.util;
-
-/**
- * @date 2020-03-18 11:25
- * @description 证书相关
- */
-public class CertificateUtils {
-
-
-    /**
-     * 获取商户私钥
-     * @param priKeyPath 商户私钥证书路径
-     * @return
-     */
-    /*public static String getPrivateKey(String priKeyPath) throws Exception {
-        String originalKey = FileUtil.readUtf8String(priKeyPath);
-        String privateKey = originalKey
-                .replace("-----BEGIN PRIVATE KEY-----", "")
-                .replace("-----END PRIVATE KEY-----", "")
-                .replaceAll("\\s+", "");
-        return getPrivateKeyStr(loadPrivateKey(privateKey));
-    }
-
-
-    private static String getPrivateKeyStr(PrivateKey privateKey) {
-        return Base64.encode(privateKey.getEncoded());
-    }
-
-
-    *//**
-     * 从字符串中加载私钥
-     * @param privateKeyStr 私钥
-     * @return
-     *//*
-    public static PrivateKey loadPrivateKey(String privateKeyStr) throws Exception {
-        try {
-            byte[] buffer = Base64.decode(privateKeyStr);
-            PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(buffer);
-            KeyFactory keyFactory = KeyFactory.getInstance("RSA");
-            return keyFactory.generatePrivate(keySpec);
-        } catch (NoSuchAlgorithmException e) {
-            throw new Exception("无此算法");
-        } catch (InvalidKeySpecException e) {
-            throw new Exception("私钥非法");
-        } catch (NullPointerException e) {
-            throw new Exception("私钥数据为空");
-        }
-    }
-
-
-    *//**
-     * 获取证书
-     * @param fileName 证书文件路径  (required)
-     * @return
-     *//*
-    public static X509Certificate getCertificate(String fileName) throws IOException {
-        InputStream fis = new FileInputStream(fileName);
-        try (BufferedInputStream bis = new BufferedInputStream(fis)) {
-            CertificateFactory cf = CertificateFactory.getInstance("X509");
-            X509Certificate cert = (X509Certificate) cf.generateCertificate(bis);
-            cert.checkValidity();
-            return cert;
-        } catch (CertificateExpiredException e) {
-            throw new RuntimeException("证书已过期", e);
-        } catch (CertificateNotYetValidException e) {
-            throw new RuntimeException("证书尚未生效", e);
-        } catch (CertificateException e) {
-            throw new RuntimeException("无效的证书文件", e);
-        }
-    }
-
-
-    *//**
-     * 获取证书
-     * @param inputStream 证书文件
-     * @return
-     *//*
-    public static X509Certificate getCertificate(InputStream inputStream) {
-        try {
-            CertificateFactory cf = CertificateFactory.getInstance("X509");
-            X509Certificate cert = (X509Certificate) cf.generateCertificate(inputStream);
-            cert.checkValidity();
-            return cert;
-        } catch (CertificateExpiredException e) {
-            throw new RuntimeException("证书已过期", e);
-        } catch (CertificateNotYetValidException e) {
-            throw new RuntimeException("证书尚未生效", e);
-        } catch (CertificateException e) {
-            throw new RuntimeException("无效的证书", e);
-        }
-    }*/
-}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/SignUtils.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/SignUtils.java
deleted file mode 100644
index ac5c3f1..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/SignUtils.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package com.ruoyi.shop.util;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @date 2020-03-18 11:02
- * @description 签名相关
- */
-public class SignUtils {
-    private static final Logger logger = LoggerFactory.getLogger(SignUtils.class);
-
-    /**
-     * 签名生成
-     * @param method 请求方法 如POST
-     * @param urlSuffix 请求地址后缀 如/v3/certificates
-     * @param mchId 电商平台商户号
-     * @param serialNo 电商平台商户API证书序列号
-     * @param body 请求请求报文主体,如果没有,就传空字符串
-     * @param mchPrivateKeyPath 电商平台商户API私钥
-     * @return
-     */
-    /*public static String authorization(String method,String urlSuffix,String mchId,String serialNo,String body,String mchPrivateKeyPath) {
-        try {
-            String mchPrivateKey = CertificateUtils.getPrivateKey(mchPrivateKeyPath);
-            //时间戳
-            String timestamp = Long.toString(System.currentTimeMillis()/1000);
-            //随机数
-            String nonceStr = IdUtils.randomUUID();
-
-            //拼签名串
-            StringBuilder sb = signMessage(method,urlSuffix,timestamp,nonceStr,body);
-
-            logger.info("sign original string:{}",sb.toString());
-
-            //计算签名
-            String sign = new String(Base64.encodeBase64(v3signRSA(sb.toString(),mchPrivateKey)));
-
-            logger.info("sign result:{}",sign);
-
-            //拼装http头的Authorization内容
-            String authorization ="WECHATPAY2-SHA256-RSA2048 mchid=\""+mchId+"\",nonce_str=\""+nonceStr+"\",signature=\""+sign+"\",timestamp=\""+timestamp+"\",serial_no=\""+serialNo+"\"";
-
-            logger.info("authorization result:{}",authorization);
-
-            return authorization;
-
-        } catch (Exception e) {
-            logger.error("authorization Exception result:{}",e);
-            e.printStackTrace();
-            return null;
-        }
-    }
-
-    *//**
-     * Authorization 签名串
-     * @param method
-     * @param urlSuffix
-     * @param timestamp
-     * @param nonceStr
-     * @param body
-     * @return
-     *//*
-    private static StringBuilder signMessage(String method,String urlSuffix,String timestamp,String nonceStr,String body) {
-        return new StringBuilder()
-                .append(method)
-                .append("\n")
-                .append(urlSuffix)
-                .append("\n")
-                .append(timestamp)
-                .append("\n")
-                .append(nonceStr)
-                .append("\n")
-                .append(body)
-                .append("\n");
-    }
-
-    *//**
-     * 私钥签名
-     * @param data 需要加密的数据
-     * @param mchPriKey
-     * @return
-     * @throws Exception
-     *//*
-    public static byte[] v3signRSA(String data, String mchPriKey) throws Exception {
-        //签名的类型
-        Signature sign = Signature.getInstance("SHA256withRSA");
-        //读取商户私钥,该方法传入商户私钥证书的内容即可
-        byte[] keyBytes = Base64.decodeBase64(mchPriKey);
-        PKCS8EncodedKeySpec keySpec =new PKCS8EncodedKeySpec(keyBytes);
-        KeyFactory keyFactory = KeyFactory.getInstance("RSA");
-        PrivateKey priKey = keyFactory.generatePrivate(keySpec);
-        sign.initSign(priKey);
-        sign.update(data.getBytes(StandardCharsets.UTF_8));
-        return sign.sign();
-    }
-
-    public static boolean v3VerifyRSA(HttpResponse response,String wechatPubKeyPath) {
-
-        if (response == null || StringUtils.isEmpty(wechatPubKeyPath)) {
-            return false;
-        }
-        Map<String, List<String>> headers = response.headers();
-        //验证微信支付返回签名
-        String headsTimestamp = headers.get("Wechatpay-Timestamp").get(0);
-        String headsNonce = headers.get("Wechatpay-Nonce").get(0);
-        String headsSign = headers.get("Wechatpay-Signature").get(0);
-        String resContent = response.body();
-        //拼装待签名串
-        StringBuilder sb =new StringBuilder();
-        sb.append(headsTimestamp).append("\n");
-        sb.append(headsNonce).append("\n");
-        sb.append(resContent).append("\n");
-        try {
-            //验证签名
-            return v3VerifyRSA(sb.toString(), Base64.decodeBase64(headsSign.getBytes()), wechatPubKeyPath);
-        } catch (Exception e) {
-            e.printStackTrace();
-            return false;
-        }
-    }
-    public static boolean v3VerifyRSA(String data,byte[] sign, String wechatPubKeyPath) throws Exception{
-        if(data == null || sign == null || wechatPubKeyPath == null){
-            return false;
-        }
-        CertificateFactory cf = CertificateFactory.getInstance("X.509");
-        FileInputStream in =new FileInputStream(wechatPubKeyPath);
-        Certificate c = cf.generateCertificate(in);
-        in.close();
-        PublicKey publicKey = c.getPublicKey();
-        Signature signature = Signature.getInstance("SHA256WithRSA");
-        signature.initVerify(publicKey);
-        signature.update(data.getBytes(StandardCharsets.UTF_8));
-
-        boolean result = signature.verify(sign);
-        if (result) {
-            logger.info("v3VerifyRSA result:{}","签名验证成功");
-        } else {
-            logger.info("v3VerifyRSA result:{}","签名验证失败");
-        }
-        return result;
-    }*/
-}
\ No newline at end of file
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/WxShopUtils.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/WxShopUtils.java
deleted file mode 100644
index 084d93f..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/WxShopUtils.java
+++ /dev/null
@@ -1,189 +0,0 @@
-package com.ruoyi.shop.util;
-
-import com.alibaba.fastjson2.JSONObject;
-import com.ruoyi.common.core.utils.StringUtils;
-import com.ruoyi.shop.util.dto.ContactInfo;
-import com.ruoyi.shop.util.dto.IdCardInfo;
-import com.ruoyi.shop.util.dto.SubmitInfo;
-import com.wechat.pay.contrib.apache.httpclient.WechatPayHttpClientBuilder;
-import com.wechat.pay.contrib.apache.httpclient.auth.AutoUpdateCertificatesVerifier;
-import com.wechat.pay.contrib.apache.httpclient.auth.PrivateKeySigner;
-import com.wechat.pay.contrib.apache.httpclient.auth.WechatPay2Credentials;
-import com.wechat.pay.contrib.apache.httpclient.auth.WechatPay2Validator;
-import com.wechat.pay.contrib.apache.httpclient.exception.HttpCodeException;
-import com.wechat.pay.contrib.apache.httpclient.exception.NotFoundException;
-import com.wechat.pay.contrib.apache.httpclient.util.PemUtil;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.util.EntityUtils;
-
-import javax.crypto.Cipher;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-import java.security.GeneralSecurityException;
-import java.security.PrivateKey;
-import java.security.PublicKey;
-import java.security.cert.CertificateFactory;
-import java.security.cert.X509Certificate;
-import java.util.Base64;
-
-/**
- * @ClassName WxShopUtils
- * @Description TODO
- * @Author jqs
- * @Date 2023/6/19 11:11
- * @Version 1.0
- */
-
-public class WxShopUtils {
-
-    private final static String PRIVATE_KEY = "";
-
-    private final static String MCH_ID = "";
-
-    private final static String MCH_SERIAL_NO = "";
-
-    private final static String API_V3_KEY = "";
-
-
-    /**
-     * @description  创建httpClient
-     * @author  jqs
-     * @date    2023/6/19 12:50
-     * @param
-     * @return  CloseableHttpClient
-     */
-    private static CloseableHttpClient createHttpClient() throws NotFoundException, IOException, GeneralSecurityException, HttpCodeException {
-
-        String privateKey = PRIVATE_KEY;
-        String mchId = MCH_ID;
-        String mchSerialNo = MCH_SERIAL_NO;
-        String apiV3Key = API_V3_KEY;
-        // 加载商户私钥(privateKey:私钥字符串)
-        PrivateKey merchantPrivateKey = PemUtil
-                .loadPrivateKey(new ByteArrayInputStream(privateKey.getBytes("utf-8")));
-
-        // 加载平台证书(mchId:商户号,mchSerialNo:商户证书序列号,apiV3Key:V3密钥)
-        AutoUpdateCertificatesVerifier verifier = new AutoUpdateCertificatesVerifier(
-                new WechatPay2Credentials(mchId, new PrivateKeySigner(mchSerialNo, merchantPrivateKey)),apiV3Key.getBytes("utf-8"));
-
-        // 初始化httpClient
-        CloseableHttpClient httpClient = WechatPayHttpClientBuilder.create()
-                .withMerchant(mchId, mchSerialNo, merchantPrivateKey)
-                .withValidator(new WechatPay2Validator(verifier)).build();
-        return httpClient;
-    }
-
-    /**
-     * @description  提交申请
-     * @author  jqs
-     * @date    2023/7/19 11:01
-     * @param submitInfo
-     * @return  void
-     */
-    public static void ApplymentSubMch(SubmitInfo submitInfo) throws Exception {
-
-        // 初始化httpClient
-        CloseableHttpClient httpClient = createHttpClient();
-        //请求URL
-        HttpPost httpPost = new HttpPost("https://api.mch.weixin.qq.com/v3/ecommerce/applyments/");
-        // 请求body参数
-        String reqdata = convertToStr(submitInfo);
-        StringEntity entity = new StringEntity(reqdata,"utf-8");
-        entity.setContentType("application/json");
-        httpPost.setEntity(entity);
-        httpPost.setHeader("Accept", "application/json");
-        //完成签名并执行请求
-        CloseableHttpResponse response = httpClient.execute(httpPost);
-        try {
-            int statusCode = response.getStatusLine().getStatusCode();
-            if (statusCode == 200) { //处理成功
-                System.out.println("success,return body = " + EntityUtils.toString(response.getEntity()));
-            } else if (statusCode == 204) { //处理成功,无返回Body
-                System.out.println("success");
-            } else {
-                System.out.println("failed,resp code = " + statusCode+ ",return body = " + EntityUtils.toString(response.getEntity()));
-                throw new IOException("request failed");
-            }
-        } finally {
-            httpClient.close();
-            response.close();
-        }
-
-    }
-
-    /**
-     * @description  获取申请状态
-     * @author  jqs
-     * @date    2023/7/19 11:01
-     * @param applymentId
-     * @return  void
-     */
-    public static void QueryApplyments(String applymentId) throws Exception{
-
-        // 初始化httpClient
-        CloseableHttpClient httpClient = createHttpClient();
-        //请求URL
-        HttpGet httpGet = new HttpGet("https://api.mch.weixin.qq.com/v3/ecommerce/applyments/out-request-no/"+applymentId);
-        httpGet.setHeader("Accept", "application/json");
-        //完成签名并执行请求
-        CloseableHttpResponse response = httpClient.execute(httpGet);
-        try {
-            int statusCode = response.getStatusLine().getStatusCode();
-            if (statusCode == 200) { //处理成功
-                System.out.println("success,return body = " + EntityUtils.toString(response.getEntity()));
-            } else if (statusCode == 204) { //处理成功,无返回Body
-                System.out.println("success");
-            } else {
-                System.out.println("failed,resp code = " + statusCode+ ",return body = " + EntityUtils.toString(response.getEntity()));
-                throw new IOException("request failed");
-            }
-        } finally {
-            httpClient.close();
-            response.close();
-        }
-    }
-
-
-    //加密申请信息
-    private static String convertToStr(SubmitInfo submitInfo) throws Exception {
-        rsaEncryptSubmitInfo(submitInfo);
-        return JSONObject.toJSONString(submitInfo);
-    }
-
-
-    private static void rsaEncryptSubmitInfo(SubmitInfo submitInfo) throws Exception {
-        IdCardInfo idCardInfo=submitInfo.getId_card_info();
-        if(idCardInfo!=null){
-            idCardInfo.setId_card_name(rsaEncryptByCert(idCardInfo.getId_card_name()));
-            idCardInfo.setId_card_number(rsaEncryptByCert(idCardInfo.getId_card_number()));
-        }
-        ContactInfo contactInfo=submitInfo.getContact_info();
-        if(contactInfo!=null){
-            contactInfo.setContact_name(rsaEncryptByCert(contactInfo.getContact_name()));
-            contactInfo.setContact_id_card_number(rsaEncryptByCert(contactInfo.getContact_id_card_number()));
-            contactInfo.setMobile_phone(rsaEncryptByCert(contactInfo.getMobile_phone()));
-            if(!StringUtils.isEmpty(contactInfo.getContact_email())){
-                contactInfo.setContact_email(rsaEncryptByCert(contactInfo.getContact_email()));
-            }
-        }
-    }
-
-    private static String rsaEncryptByCert(String content) throws Exception {
-        String platPrivateKey = PRIVATE_KEY;
-        InputStream inStream=new ByteArrayInputStream(platPrivateKey.getBytes(StandardCharsets.UTF_8));
-        CertificateFactory cf = CertificateFactory.getInstance("X.509");
-        X509Certificate certificate = (X509Certificate)cf.generateCertificate(inStream);
-        PublicKey publicKey=certificate.getPublicKey();
-        Cipher ci= Cipher.getInstance("RSA/ECB/OAEPWithSHA-1AndMGF1Padding");
-        ci.init(Cipher.ENCRYPT_MODE,publicKey);
-        return Base64.getEncoder().encodeToString(ci.doFinal(content.getBytes(StandardCharsets.UTF_8)));
-    }
-
-
-}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/AccountInfo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/AccountInfo.java
deleted file mode 100644
index 7e46bb9..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/AccountInfo.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.ruoyi.shop.util.dto;
-
-/**
- * @ClassName AccountInfo
- * @Description TODO
- * @Author jqs
- * @Date 2023/6/19 12:55
- * @Version 1.0
- */
-
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * 结算银行账户
- */
-@Data
-public class AccountInfo implements Serializable {
-    private static final long serialVersionUID=1L;
-    /**账户类型*/
-    private String bank_account_type;
-    /**开户银行*/
-    private String account_bank;
-    /**开户名称*/
-    private String account_name;
-    /**开户银行省市编码*/
-    private String bank_address_code;
-    /**开户银行联行号*/
-    private String bank_branch_id;
-    /**开户银行全称 (含支行)*/
-    private String bank_name;
-    /**银行帐号*/
-    private String account_number;
-}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/BusinessLicenseInfo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/BusinessLicenseInfo.java
deleted file mode 100644
index e30b92d..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/BusinessLicenseInfo.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.ruoyi.shop.util.dto;
-
-/**
- * @ClassName BusinessLicenseInfo
- * @Description TODO
- * @Author jqs
- * @Date 2023/6/19 12:54
- * @Version 1.0
- */
-
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * 营业执照/登记证书信息
- */
-@Data
-public class BusinessLicenseInfo implements Serializable {
-    private static final long serialVersionUID=1L;
-    /**证件扫描件*/
-    private String business_license_copy;
-    /**证件注册号*/
-    private String business_license_number;
-    /**商户名称*/
-    private String merchant_name;
-    /**经营者/法定代表人姓名*/
-    private String legal_person;
-    /**注册地址*/
-    private String company_address;
-    /**营业期限*/
-    private String business_time;
-}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/CertificateItem.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/CertificateItem.java
deleted file mode 100644
index 5a9c13e..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/CertificateItem.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.shop.util.dto;
-
-
-import lombok.Data;
-
-//平台证书item
-@Data
-public class CertificateItem {
-
-    //加密的平台证书序列号
-    private String serial_no;
-
-    //加密的平台证书序列号
-    private String effective_time;
-
-    //证书弃用时间
-    private String expire_time;
-
-    //证书加密信息
-    private EncryptedCertificateItem encrypt_certificate;
-
-}
\ No newline at end of file
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/ContactInfo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/ContactInfo.java
deleted file mode 100644
index c5a5752..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/ContactInfo.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.ruoyi.shop.util.dto;
-
-/**
- * @ClassName ContactInfo
- * @Description TODO
- * @Author jqs
- * @Date 2023/6/19 12:55
- * @Version 1.0
- */
-
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * 超级管理员信息
- */
-@Data
-public class ContactInfo implements Serializable {
-    private static final long serialVersionUID=1L;
-    /**超级管理员类型*/
-    private String contact_type;
-    /**超级管理员姓名*/
-    private String contact_name;
-    /**超级管理员身份证件号码*/
-    private String contact_id_doc_type;
-    private String contact_id_card_number;
-    private String mobile_phone;
-    private String contact_email;
-}
\ No newline at end of file
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/EncryptedCertificateItem.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/EncryptedCertificateItem.java
deleted file mode 100644
index f0402b4..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/EncryptedCertificateItem.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.ruoyi.shop.util.dto;
-
-import lombok.Data;
-
-/**
- * @ClassName EncryptedCertificateItem
- * @Description TODO
- * @Author jqs
- * @Date 2023/6/19 14:12
- * @Version 1.0
- */
-@Data
-public class EncryptedCertificateItem {
-
-    //加密的平台证书序列号
-    private String algorithm;
-
-    //加密的平台证书序列号
-    private String nonce;
-
-    //证书弃用时间
-    private String associated_data;
-
-    //证书弃用时间
-    private String ciphertext;
-}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/IdCardInfo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/IdCardInfo.java
deleted file mode 100644
index 787d62c..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/IdCardInfo.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.ruoyi.shop.util.dto;
-
-/**
- * @ClassName IdCardInfo
- * @Description TODO
- * @Author jqs
- * @Date 2023/6/19 12:54
- * @Version 1.0
- */
-
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * 经营者/法人身份证信息
- */
-@Data
-public class IdCardInfo implements Serializable {
-    private static final long serialVersionUID=1L;
-    /**身份证人像面照片*/
-    private String id_card_copy;
-    /**身份证国徽面照片*/
-    private String id_card_national;
-    /**身份证姓名*/
-    private String id_card_name;
-    /**身份证号码*/
-    private String id_card_number;
-    /**身份证有效期限*/
-    private String id_card_valid_time_begin;
-    private String id_card_valid_time;
-}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/IdDocInfo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/IdDocInfo.java
deleted file mode 100644
index 0656198..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/IdDocInfo.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.ruoyi.shop.util.dto;
-
-/**
- * @ClassName IdDocInfo
- * @Description TODO
- * @Author jqs
- * @Date 2023/6/19 12:55
- * @Version 1.0
- */
-
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * 经营者/法人其他类型证件信息
- */
-@Data
-public class IdDocInfo implements Serializable {
-    private static final long serialVersionUID=1L;
-    /**证件姓名*/
-    private String id_doc_name;
-    /**证件号码*/
-    private String id_doc_number;
-    /**证件照片*/
-    private String id_doc_copy;
-    /**证件结束日期*/
-    private String doc_period_end;
-}
\ No newline at end of file
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/OrganizationCertInfo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/OrganizationCertInfo.java
deleted file mode 100644
index d656e02..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/OrganizationCertInfo.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.ruoyi.shop.util.dto;
-
-/**
- * @ClassName OrganizationCertInfo
- * @Description TODO
- * @Author jqs
- * @Date 2023/6/19 12:54
- * @Version 1.0
- */
-
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * 组织机构代码证信息
- */
-@Data
-public class OrganizationCertInfo implements Serializable {
-    private static final long serialVersionUID=1L;
-    /**组织机构代码证照片*/
-    private String organization_copy;
-    /**组织机构代码*/
-    private String organization_number;
-    /**组织机构代码有效期限*/
-    private String organization_time;
-}
\ No newline at end of file
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/PlainCertificateItem.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/PlainCertificateItem.java
deleted file mode 100644
index 1db8021..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/PlainCertificateItem.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.ruoyi.shop.util.dto;
-
-import lombok.Data;
-
-/**
- * @ClassName PlainCertificateItem
- * @Description TODO
- * @Author jqs
- * @Date 2023/6/19 14:14
- * @Version 1.0
- */
-@Data
-public class PlainCertificateItem {
-
-    private String serialNo;
-
-    private String effectiveTime;
-
-    private String expireTime;
-
-    private String plainCertificate;
-
-}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/SalesSceneInfo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/SalesSceneInfo.java
deleted file mode 100644
index d08376c..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/SalesSceneInfo.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.ruoyi.shop.util.dto;
-
-/**
- * @ClassName SalesSceneInfo
- * @Description TODO
- * @Author jqs
- * @Date 2023/6/19 12:56
- * @Version 1.0
- */
-
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * 店铺信息
- */
-@Data
-public class SalesSceneInfo implements Serializable {
-    private static final long serialVersionUID=1L;
-    /**店铺名称*/
-    private String store_name;
-    /**店铺链接*/
-    private String store_url;
-    /**店铺二维码*/
-    private String store_qr_code;
-
-}
\ No newline at end of file
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/SubmitInfo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/SubmitInfo.java
deleted file mode 100644
index 4654a1f..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/SubmitInfo.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package com.ruoyi.shop.util.dto;
-
-/**
- * @ClassName SubmitInfo
- * @Description TODO
- * @Author jqs
- * @Date 2023/6/19 12:53
- * @Version 1.0
- */
-
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * 进件信息
- */
-@Data
-public class SubmitInfo implements Serializable {
-    private static final long serialVersionUID=1L;
-    /**业务申请编号*/
-    private String out_request_no;
-    /**主体类型*/
-    private String organization_type;
-    /**营业执照/登记证书信息*/
-    private BusinessLicenseInfo business_license_info;
-    /**组织机构代码证信息*/
-    private OrganizationCertInfo organization_cert_info;
-    /**经营者/法人证件类型*/
-    private String id_doc_type;
-    /**经营者/法人身份证信息*/
-    private IdCardInfo id_card_info;
-    /**经营者/法人其他类型证件信息*/
-    private IdDocInfo id_doc_info;
-    /**经营者/法人是否为受益人*/
-    private Boolean owner;
-    /**是否填写结算银行账户*/
-    private Boolean need_account_info;
-    /**结算银行账户*/
-    private AccountInfo account_info;
-    /**超级管理员信息*/
-    private ContactInfo contact_info;
-    /**店铺信息*/
-    private SalesSceneInfo sales_scene_info;
-    /**商户简称*/
-    private String merchant_shortname;
-    /**特殊资质*/
-    private String qualifications;
-    /**补充材料*/
-    private String business_addition_pics;
-    /**补充说明*/
-    private String business_addition_desc;
-
-    private List<UboInfo> ubo_info_list;
-}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/UboInfo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/UboInfo.java
deleted file mode 100644
index bd29c13..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/dto/UboInfo.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.ruoyi.shop.util.dto;
-
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * @ClassName UboInfo
- * @Description TODO
- * @Author jqs
- * @Date 2023/7/18 15:57
- * @Version 1.0
- */
-@Data
-public class UboInfo implements Serializable {
-    private static final long serialVersionUID=1L;
-
-    private String ubo_id_doc_type;
-
-    private String ubo_id_doc_copy;
-
-    private String ubo_id_doc_copy_back;
-
-    private String ubo_id_doc_name;
-
-    private String ubo_id_doc_number;
-
-    private String ubo_id_doc_address;
-
-    private String ubo_id_doc_period_begin;
-
-    private String ubo_id_doc_period_end;
-}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
index 6c28571..079c59a 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
+++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
@@ -926,4 +926,14 @@
             #{id}
         </foreach>
     </select>
+
+    <select id="getTaskMsgList" resultType="com.ruoyi.system.api.domain.vo.MgtUserTaskMsgVo">
+        SELECT
+            ts.belong_user_id userId,
+            CONCAT('[', GROUP_CONCAT(tst.task_title SEPARATOR '],['), ']') taskTitles
+        FROM t_shop_task tst
+        INNER JOIN t_shop ts ON tst.shop_id = ts.shop_id
+        WHERE tst.del_flag = 0 AND tst.task_status = 1 AND tst.task_date = CURRENT_DATE
+        GROUP BY userId
+    </select>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/config/WxCpConfiguration.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/config/WxCpConfiguration.java
index 4dedcc4..3398f36 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/config/WxCpConfiguration.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/config/WxCpConfiguration.java
@@ -41,6 +41,7 @@
         return wxService;
     }
 
+
     @Bean
     public WxCryptUtil wxCryptUtil() {
 
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/scheduler/SystemScheduler.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/scheduler/SystemScheduler.java
index 2921a7d..be5a2b8 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/scheduler/SystemScheduler.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/scheduler/SystemScheduler.java
@@ -32,4 +32,14 @@
         }
     }
 
+    /**
+     * 定时同步企业微信部门
+     */
+    @Scheduled(cron="0 35 8 * * ?")
+    private void timingSendTaskMessage(){
+        if(schedulerUtils.getSchedulerRun()) {
+            log.info("定时发送通知任务任务开始执行");
+            sysWxCpService.sendTaskMessage();
+        }
+    }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysWxCpServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysWxCpServiceImpl.java
index 2b94fce..1665be2 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysWxCpServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysWxCpServiceImpl.java
@@ -1,6 +1,11 @@
 package com.ruoyi.system.service.impl.staff;
 
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.system.api.domain.poji.sys.SysDept;
+import com.ruoyi.system.api.domain.vo.MgtUserTaskMsgVo;
+import com.ruoyi.system.api.service.RemoteShopService;
+import com.ruoyi.system.domain.pojo.staff.SysStaff;
+import com.ruoyi.system.service.staff.SysStaffService;
 import com.ruoyi.system.service.staff.SysWxCpService;
 import com.ruoyi.system.service.sys.ISysDeptService;
 import lombok.extern.log4j.Log4j2;
@@ -8,6 +13,8 @@
 import me.chanjar.weixin.cp.api.WxCpDepartmentService;
 import me.chanjar.weixin.cp.api.WxCpService;
 import me.chanjar.weixin.cp.bean.WxCpDepart;
+import me.chanjar.weixin.cp.bean.message.WxCpMessage;
+import me.chanjar.weixin.cp.bean.message.WxCpMessageSendResult;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -28,7 +35,13 @@
     private WxCpService wxCpService;
 
     @Resource
+    private RemoteShopService remoteShopService;
+
+    @Resource
     private ISysDeptService  sysDeptService;
+
+    @Resource
+    private SysStaffService sysStaffService;
     /**
      * @description
      * @author  jqs
@@ -94,4 +107,35 @@
             throw new RuntimeException(e);
         }
     }
+
+    /**
+     * @description  企业微信消息推送
+     * @author  jqs
+     * @date    2023/8/29 11:05
+     * @return  void
+     */
+    @Override
+    public void sendTaskMessage(){
+        List<MgtUserTaskMsgVo> userTaskMsgVoList = remoteShopService.getTaskMsgList().getData();
+        WxCpMessage message;
+        SysStaff sysStaff;
+        if(userTaskMsgVoList!=null&&!userTaskMsgVoList.isEmpty()){
+            for(MgtUserTaskMsgVo mgtUserTaskMsgVo : userTaskMsgVoList){
+                sysStaff = sysStaffService.getByUserId(mgtUserTaskMsgVo.getUserId());
+                if(sysStaff!=null&& StringUtils.isNotBlank(sysStaff.getWxUserId())){
+                    message = new WxCpMessage();
+                    message.setAgentId(1000024);
+                    message.setToUser(sysStaff.getWxUserId());
+                    message.setMsgType("text");
+                    message.setContent(mgtUserTaskMsgVo.getTaskTitle()+"今日需要任务跟进,请注意!");
+                    try {
+                        WxCpMessageSendResult result = wxCpService.getMessageService().send(message);
+                        System.out.println(result);
+                    } catch (WxErrorException e) {
+                        throw new RuntimeException(e);
+                    }
+                }
+            }
+        }
+    }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysWxCpService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysWxCpService.java
index 0bfc9ad..173155e 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysWxCpService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysWxCpService.java
@@ -26,4 +26,12 @@
      * @return  void
      */
     void syncDepartment();
+
+    /**
+     * @description  企业微信消息推送
+     * @author  jqs
+     * @date    2023/8/29 11:05
+     * @return  void
+     */
+    void sendTaskMessage();
 }
diff --git a/ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java b/ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java
index 3c10423..680da4b 100644
--- a/ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java
+++ b/ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java
@@ -2,7 +2,6 @@
 
 
 import com.ruoyi.system.service.staff.SysWxCpService;
-import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@@ -23,8 +22,7 @@
     @Resource
     private SysWxCpService sysWxCpService;
 
-    @Test
+    /*@Test
     public void main() {
-        sysWxCpService.syncDepartment();
-    }
+    }*/
 }

--
Gitblit v1.7.1