From b0b52cbabf7a4bc8e00fc328d14ac05336d0221e Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期六, 15 七月 2023 20:07:44 +0800
Subject: [PATCH] 员工端

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java               |    9 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopCCEditDto.java                  |   23 
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml                                 |   13 
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml                                 |    2 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtPlTotalMemberTotalVo.java      |    3 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopECEditDto.java                  |   26 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/ArticleServiceImpl.java     |   10 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java           |  115 ++
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java           |   54 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CooperationServiceImpl.java |   10 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffMyShopTaskRecordPageVo.java          |   65 +
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java            |   11 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/BrowseRecordMapper.java           |    2 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseGetDto.java             |   22 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java                      |    4 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java      |   15 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java          |   63 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskMapper.java                     |   25 
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopTotalMapper.xml                               |    2 
 ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml                                                |    8 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java              |   10 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java              |    3 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtTotalMemberTotalVo.java            |    3 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java    |    5 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseBatchDto.java           |   19 
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml                           |    2 
 ruoyi-gateway/src/main/resources/bootstrap.yml                                                            |   12 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java              |  284 +++++
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java      |   45 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopPageVo.java                      |   42 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysStaffService.java              |    9 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberFixedTotalVo.java            |    3 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseDto.java                |    9 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java        |    5 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffAddTaskDto.java                     |   29 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopTaskPageVo.java                  |   46 +
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffPageDto.java                |    4 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopSimpleTotalVo.java               |   24 
 ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml                                               |    8 
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml                     |    9 
 ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml                                                 |    8 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteStaffFallbackFactory.java     |   33 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopTaskPageDto.java                |   22 
 ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml                                                  |    8 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java        |   10 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java                 |    7 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java        |    1 
 ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java                                    |   24 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java                   |    4 
 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml                              |   67 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/ExtendContactsVo.java                     |   22 
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskRecordMapper.xml                          |   34 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java         |    8 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffAgencyPageDto.java                  |   19 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopPageDto.java                    |   50 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteSysStaffService.java          |   23 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskRecordMapper.java               |   23 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskRecordService.java             |   23 
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml                                    |  141 ++
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffAgencyTaskRecordPageVo.java          |   60 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java                       |   75 +
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java              |   29 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopEstimateEditDto.java            |   47 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffHomeShopTotalVo.java                 |   33 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/AgencyTaskRecordMapper.java             |   14 
 ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml                                                |    8 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java     |   15 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java                         |   46 +
 ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java                                      |   64 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskRecordServiceImpl.java    |   96 ++
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtTaskController.java        |    2 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopInfoGetVo.java                   |  103 ++
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml                              |   13 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java      |    5 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtFrozenShopDto.java                    |   22 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/StaffController.java        |    2 
 ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml                                               |    8 
 ruoyi-auth/src/main/resources/bootstrap.yml                                                               |    8 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java          |   82 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopPageVo.java                        |    6 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/AgencyTaskRecordService.java           |   14 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java                   |   34 
 ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml                                                 |    8 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java                  |   22 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffTaskController.java           |  106 ++
 /dev/null                                                                                                 |   33 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTaskRecord.java                |   14 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerHomeShopTotalVo.java           |    7 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java                 |   38 
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskRecordMapper.xml                        |   24 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java  |   52 +
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/scheduler/MemberScheduler.java                  |    2 
 ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml                                               |    8 
 ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml                                                  |    8 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java        |   14 
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml                                |   44 
 96 files changed, 2,402 insertions(+), 344 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseBatchDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseBatchDto.java
new file mode 100644
index 0000000..bd4035d
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseBatchDto.java
@@ -0,0 +1,19 @@
+package com.ruoyi.system.api.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName StaffBaseBatchDto
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/14 11:31
+ * @Version 1.0
+ */
+@Data
+public class StaffBaseBatchDto extends StaffBaseDto{
+
+    @ApiModelProperty(value = "请求对象id集合 多个用,隔开")
+    private String ids;
+
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseDto.java
index 186c606..2b49770 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseDto.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseDto.java
@@ -3,12 +3,17 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * @author cheny
  */
 @Data
 public class StaffBaseDto {
 
-    @ApiModelProperty(value = "请求对象id集合 多个用,隔开")
-    private String ids;
+    @ApiModelProperty(value = "userId",hidden = true)
+    private Long userId;
+
+    @ApiModelProperty(value = "部门员工list",hidden = true)
+    private List<Long> userIdList;
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseGetDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseGetDto.java
new file mode 100644
index 0000000..1a46c88
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseGetDto.java
@@ -0,0 +1,22 @@
+package com.ruoyi.system.api.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @ClassName StaffBaseGetDto
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/14 18:29
+ * @Version 1.0
+ */
+@Data
+public class StaffBaseGetDto extends StaffBaseDto{
+
+    @ApiModelProperty(value = "请求对象id")
+    @NotNull(message = "对象id为必传参数")
+    private String id;
+
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffPageDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffPageDto.java
index d408d7b..a1e5d9a 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffPageDto.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffPageDto.java
@@ -7,7 +7,9 @@
  * @author cheny
  */
 @Data
-public class StaffPageDto {
+public class StaffPageDto extends StaffBaseDto{
+
+
     @ApiModelProperty(name = "pagenum", value = "页码")
     private Integer pageNum = 1;
 
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java
index 4dadebc..a8ead45 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java
@@ -1,16 +1,16 @@
 package com.ruoyi.system.api.domain.poji.shop;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
 
 /**
  * <p>
@@ -269,7 +269,17 @@
     @TableField("cooperative_flag")
     private Integer cooperativeFlag;
 
+    /**
+     * 扩展联系人
+     */
+    @TableField("extend_contacts")
+    private String extendContacts;
 
+    /**
+     * 进件标记
+     */
+    @TableField("auth_flag")
+    private Integer authFlag;
 
     @Override
     protected Serializable pkVal() {
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerHomeShopTotalVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerHomeShopTotalVo.java
index 99a56ab..9b7fd78 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerHomeShopTotalVo.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerHomeShopTotalVo.java
@@ -1,11 +1,9 @@
 package com.ruoyi.system.api.domain.vo;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
-import java.util.List;
 
 /**
  * @author jqs34
@@ -29,7 +27,7 @@
     @ApiModelProperty(value = "待处理订单")
     private Integer unHandleOrder;
 
-    @ApiModelProperty(value = "跟进任务")
+    @ApiModelProperty(value = "会员跟进任务")
     private Integer task;
 
     @ApiModelProperty(value = "店铺营业额")
@@ -40,8 +38,5 @@
 
     @ApiModelProperty(value = "剩余体验人数")
     private Integer explorationSurp;
-
-    @ApiModelProperty(value = "多个商户id")
-    private List<Long> shopIds;
 
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtPlTotalMemberTotalVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtPlTotalMemberTotalVo.java
index c8df9fc..e693c0a 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtPlTotalMemberTotalVo.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtPlTotalMemberTotalVo.java
@@ -39,6 +39,9 @@
     @ApiModelProperty(value = "会员调理")
     private List<MgtMapIntTotalVo> nurseTotalVos;
 
+    @ApiModelProperty(value = "会员等级")
+    private List<MgtMapIntTotalVo> memberLevelTotalVos;
+
     @ApiModelProperty(value = "商品类型")
     private List<MgtMapIntTotalVo> goodsTypeTotalVos;
 
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java
index 2df8740..6eec4a0 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java
@@ -133,6 +133,11 @@
                 return R.fail("积分变动失败:" + throwable.getMessage());
             }
 
+            @Override
+            public R<Integer> getAreaNewMember(List<Long> shopIdList) {
+                return null;
+            }
+
 
         };
     }
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 b012c43..358d52b 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
@@ -102,6 +102,11 @@
             public R<Integer> getShopMarketingStatus(Long shopId) {
                 return null;
             }
+
+            @Override
+            public R<ShopRelUserVo> getShopByBelongUserId(Long userId) {
+                return R.fail("获取商户失败:" + throwable.getMessage());
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteStaffFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteStaffFallbackFactory.java
new file mode 100644
index 0000000..ddd4c8c
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteStaffFallbackFactory.java
@@ -0,0 +1,33 @@
+package com.ruoyi.system.api.factory;
+
+import com.ruoyi.system.api.service.RemoteSysStaffService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
+
+/**
+ * @ClassName RemoteStaffFallbackFactory
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/14 10:30
+ * @Version 1.0
+ */
+public class RemoteStaffFallbackFactory implements FallbackFactory<RemoteSysStaffService> {
+
+    private static final Logger log = LoggerFactory.getLogger(RemoteStaffFallbackFactory.class);
+
+    @Override
+    public RemoteSysStaffService create(Throwable throwable)
+    {
+        log.error("员工服务调用失败:{}", throwable.getMessage());
+        return new RemoteSysStaffService()
+        {
+
+            @Override
+            public Boolean isLeader() {
+                return null;
+            }
+        };
+    }
+
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java
index 6824987..4d886f8 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java
@@ -4,11 +4,15 @@
 import com.ruoyi.system.api.domain.dto.AppEditUserDto;
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
 import com.ruoyi.system.api.model.LoginUser;
+import com.ruoyi.system.api.model.QwH5LoginVo;
+import com.ruoyi.system.api.model.QwUserDetailDto;
 import com.ruoyi.system.api.service.RemoteUserService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
+
+import java.util.List;
 
 /**
  * 用户服务
@@ -70,6 +74,17 @@
             public R frozenUser(Long userId) {
                 return R.fail("冻结用户失败:" + throwable.getMessage());
             }
+
+            @Override
+            public R<QwH5LoginVo> qwH5StaffLogin(QwUserDetailDto qwUserDetail) {
+                return R.fail("员工端登录信息获取失败:" + throwable.getMessage());
+            }
+
+            @Override
+            public R<List<Long>> getUserIdsByDept(Long userId) {
+                return null;
+            }
+
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java
index 36000e5..fb20ef8 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java
@@ -204,4 +204,15 @@
      */
     @PostMapping("/member/changeIntegral")
     public R signShare(@RequestBody IntegralChangeDto integralChangeDto);
+
+
+    /**
+     * @description  统计商户今日新增会员
+     * @author  jqs
+     * @date    2023/7/14 20:00
+     * @param shopIdList
+     * @return  R<Integer>
+     */
+    @PostMapping("/member/getAreaNewMember")
+    public R<Integer> getAreaNewMember(@RequestBody List<Long> shopIdList);
 }
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 0939dad..783d14d 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
@@ -138,4 +138,7 @@
      */
     @PostMapping("/shop/getShopMarketingStatus")
     public R<Integer> getShopMarketingStatus(@RequestBody Long shopId);
+
+    @PostMapping("/shop/getShopByBelongUserId")
+    public R<ShopRelUserVo> getShopByBelongUserId(@RequestBody Long userId);
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteSysStaffService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteSysStaffService.java
index 6207213..2fac1ac 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteSysStaffService.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteSysStaffService.java
@@ -1,36 +1,21 @@
 package com.ruoyi.system.api.service;
 
-import com.ruoyi.common.core.constant.SecurityConstants;
 import com.ruoyi.common.core.constant.ServiceNameConstants;
-import com.ruoyi.common.core.domain.R;
-import com.ruoyi.system.api.model.LoginUser;
+import com.ruoyi.system.api.factory.RemoteUserFallbackFactory;
 import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
 
 /**
  * 用户服务
  *
  * @author jqs
  */
-@FeignClient(contextId = "remoteSysStaffService", value = ServiceNameConstants.SYSTEM_SERVICE/*, fallbackFactory = RemoteUserFallbackFactory.class*/)
+@FeignClient(contextId = "remoteSysStaffService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
 public interface RemoteSysStaffService
 {
-    /**
-     * 通过用户名查询用户信息
-     *
-     * @param username 用户名
-     * @param source 请求来源
-     * @return 结果
-     */
-    @GetMapping("/user/info/{username}")
-    public R<LoginUser> getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
     @RequestMapping(value = "/staff/isLeader", method = RequestMethod.POST)
     public Boolean isLeader() ;
-
-    @GetMapping("/user/dept/{deptId}")
-    public R<List<Long>> getUserIds(@PathVariable("deptId") Long deptId);
 
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java
index 9caedb6..9f6a132 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java
@@ -7,8 +7,12 @@
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
 import com.ruoyi.system.api.factory.RemoteUserFallbackFactory;
 import com.ruoyi.system.api.model.LoginUser;
+import com.ruoyi.system.api.model.QwH5LoginVo;
+import com.ruoyi.system.api.model.QwUserDetailDto;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 /**
  * 用户服务
@@ -39,9 +43,6 @@
     public R<Boolean> registerUserInfo(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
 
-
-
-
     /**
     * @description: TODO
     * @author jqs34
@@ -60,6 +61,7 @@
     @PostMapping("/user/getSysUserByMobile")
     public R<SysUser> getSysUserByMobile(@RequestBody String mobile);
 
+
     /**
      * @description: 更新用户手机
      * @author jqs34
@@ -68,7 +70,6 @@
      */
     @PostMapping("/user/registerUser")
     public R<SysUser> registerUser(@RequestBody SysUser sysUser);
-
 
 
     /**
@@ -95,6 +96,24 @@
      * @param userId
      * @return  R<Activeness>
      */
-    @PostMapping("/config/frozenUser")
+    @PostMapping("/user/frozenUser")
     public R frozenUser(@RequestBody Long userId);
+
+    /**
+     * @description  员工端登录
+     * @author  jqs
+     * @date    2023/7/14 10:04
+     * @param qwUserDetail
+     * @return  R<QwH5LoginVo>
+     */
+    @PostMapping("/user/qwH5StaffLogin")
+    public R<QwH5LoginVo> qwH5StaffLogin(@RequestBody QwUserDetailDto qwUserDetail);
+
+    /**
+     * 根据部门获取所有员工id
+     * @param userId
+     * @return
+     */
+    @GetMapping("/user/getUserIdsByDept/{userId}")
+    public R<List<Long>> getUserIdsByDept(@PathVariable("userId") Long userId);
 }
diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java
index a4a33db..0ca7174 100644
--- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java
+++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java
@@ -1,6 +1,5 @@
 package com.ruoyi.auth.controller;
 
-import com.alibaba.fastjson.JSONObject;
 import com.ruoyi.auth.service.QywxInnerService;
 import com.ruoyi.auth.service.SysLoginService;
 import com.ruoyi.common.core.domain.R;
@@ -56,21 +55,34 @@
     }
 
 
-    @GetMapping("/h5/oauthUser")
-    @ApiOperation("通过code获取访问用户登录")
-    public R<OauthUserVo> oauthUser(@ApiParam(value = "成员授权获取到的code", required = true) @RequestParam("code") String code) throws IOException {
+    @GetMapping("/h5/oauthStaff")
+    @ApiOperation("通过code获取员工端用户登录")
+    public R<OauthUserVo> oauthStaff(@ApiParam(value = "成员授权获取到的code", required = true) @RequestParam("code") String code) throws IOException {
         // 通过code获取访问用户敏感信息
-        JSONObject result = qywxInnerService.getOauthUser(code);
+        //JSONObject result = qywxInnerService.getOauthUser(code);
         //QwUserDetailDto qwUserDetail = JSONObject.parseObject(result.toJSONString(), QwUserDetailDto.class);
         QwUserDetailDto qwUserDetail = new QwUserDetailDto();
         qwUserDetail.setMobile("13882237106");
-        qwUserDetail.setUserid("146");
         // 1、查数据库获取人员
         QwH5LoginVo qwH5LoginVo = sysLoginService.qwH5Login(qwUserDetail);
         // 2、生成Token
        return R.ok(tokenService.createQwH5Token(qwH5LoginVo));
     }
 
+    @GetMapping("/h5/oauthUser")
+    @ApiOperation("通过code获取商户端用户登录")
+    public R<OauthUserVo> oauthUser(@ApiParam(value = "成员授权获取到的code", required = true) @RequestParam("code") String code) throws IOException {
+        // 通过code获取访问用户敏感信息
+        //JSONObject result = qywxInnerService.getOauthUser(code);
+        //QwUserDetailDto qwUserDetail = JSONObject.parseObject(result.toJSONString(), QwUserDetailDto.class);
+        QwUserDetailDto qwUserDetail = new QwUserDetailDto();
+        qwUserDetail.setMobile("13882237106");
+        // 1、查数据库获取人员
+        QwH5LoginVo qwH5LoginVo = sysLoginService.qwH5StaffLogin(qwUserDetail);
+        // 2、生成Token
+        return R.ok(tokenService.createQwH5Token(qwH5LoginVo));
+    }
+
     @GetMapping("/h5/getAgentConfig")
     @ApiOperation("通过code获取访问用户登录")
     public R<AgentConfigVo> getAgentConfig(@ApiParam(value = "url", required = true) String url, @ApiParam(value = "type", required = false) String type) throws IOException {
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 760b528..c527bee 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
@@ -1,14 +1,5 @@
 package com.ruoyi.auth.service;
 
-import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto;
-import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo;
-import com.ruoyi.system.api.service.RemoteMemberService;
-import com.ruoyi.system.api.service.RemoteShopService;
-import com.ruoyi.system.api.domain.vo.ShopRelUserVo;
-import com.ruoyi.system.api.model.*;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
 import com.ruoyi.common.core.constant.CacheConstants;
 import com.ruoyi.common.core.constant.Constants;
 import com.ruoyi.common.core.constant.SecurityConstants;
@@ -21,8 +12,16 @@
 import com.ruoyi.common.core.utils.ip.IpUtils;
 import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.common.security.utils.SecurityUtils;
-import com.ruoyi.system.api.service.RemoteUserService;
+import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto;
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
+import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo;
+import com.ruoyi.system.api.domain.vo.ShopRelUserVo;
+import com.ruoyi.system.api.model.*;
+import com.ruoyi.system.api.service.RemoteMemberService;
+import com.ruoyi.system.api.service.RemoteShopService;
+import com.ruoyi.system.api.service.RemoteUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 
 /**
  * 登录校验方法
@@ -230,9 +229,52 @@
             throw new ServiceException("未查询到商户信息");
         }
         userInfo.setShopId(shopInfo.getShopId());
-
         recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功",Constants.FROM_SHOP);
+        return userInfo;
+    }
 
+    /**
+     * 企业微信H5登录
+     */
+    public QwH5LoginVo qwH5StaffLogin(QwUserDetailDto qwUserDetail)
+    {
+        // 查询用户信息
+        R<QwH5LoginVo> userResult = remoteShopService.qwH5Login(qwUserDetail);
+        if (R.FAIL == userResult.getCode())
+        {
+            throw new ServiceException(userResult.getMsg());
+        }
+        QwH5LoginVo userInfo = userResult.getData();
+        SysUser user = userInfo.getSysUser();
+        String username = user.getUserName();
+        // IP黑名单校验
+        String blackStr = Convert.toStr(redisService.getCacheObject(CacheConstants.SYS_LOGIN_BLACKIPLIST));
+        if (IpUtils.isMatchedIp(blackStr, IpUtils.getIpAddr()))
+        {
+            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "很遗憾,访问IP已被列入系统黑名单",Constants.FROM_SHOP);
+            throw new ServiceException("很遗憾,访问IP已被列入系统黑名单");
+        }
+        if (UserStatus.DELETED.getCode().equals(user.getDelFlag()))
+        {
+            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "对不起,您的账号已被删除",Constants.FROM_SHOP);
+            throw new ServiceException("对不起,您的账号:" + username + " 已被删除");
+        }
+        if (UserStatus.DISABLE.getCode().equals(user.getStatus()))
+        {
+            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户已停用,请联系管理员",Constants.FROM_SHOP);
+            throw new ServiceException("对不起,您的账号:" + username + " 已停用");
+        }
+        // 查询用户商户
+        R<ShopRelUserVo> shopResult = remoteShopService.getShopByBelongUserId(user.getUserId());
+        if (R.FAIL == userResult.getCode()) {
+            throw new ServiceException(userResult.getMsg());
+        }
+        ShopRelUserVo shopInfo = shopResult.getData();
+        if(null == shopInfo){
+            throw new ServiceException("未查询到商户信息");
+        }
+        userInfo.setShopId(shopInfo.getShopId());
+        recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功",Constants.FROM_SHOP);
         return userInfo;
     }
 
diff --git a/ruoyi-auth/src/main/resources/bootstrap.yml b/ruoyi-auth/src/main/resources/bootstrap.yml
index 650d4e1..2f5a770 100644
--- a/ruoyi-auth/src/main/resources/bootstrap.yml
+++ b/ruoyi-auth/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
     nacos:
       discovery:
         # 服务注册地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
       config:
         # 配置中心地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
diff --git a/ruoyi-gateway/src/main/resources/bootstrap.yml b/ruoyi-gateway/src/main/resources/bootstrap.yml
index fdae1b6..4a64425 100644
--- a/ruoyi-gateway/src/main/resources/bootstrap.yml
+++ b/ruoyi-gateway/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
     nacos:
       discovery:
         # 服务注册地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
       config:
         # 配置中心地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
@@ -35,8 +35,8 @@
       datasource:
         ds1:
           nacos:
-            #server-addr: 47.109.78.184:5000
-            server-addr: 127.0.0.1:8848
+            server-addr: 47.109.78.184:5000
+            #server-addr: 127.0.0.1:8848
             dataId: sentinel-ruoyi-gateway
             groupId: DEFAULT_GROUP
             data-type: json
diff --git a/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml
index d4fcd40..423911f 100644
--- a/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml
@@ -18,12 +18,12 @@
     nacos:
       discovery:
         # 服务注册地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
       config:
         # 配置中心地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
diff --git a/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml
index c1065bc..1367b5d 100644
--- a/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
     nacos:
       discovery:
         # 服务注册地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
       config:
         # 配置中心地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml
index b70af9b..91e477e 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
     nacos:
       discovery:
         # 服务注册地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
       config:
         # 配置中心地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
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 7b50681..d9a39cf 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
@@ -106,7 +106,7 @@
     <select id="getRecommendActivity" resultType="com.ruoyi.goods.domain.pojo.activity.Activity">
         SELECT * FROM t_activity
         WHERE del_flag = 0 AND recommend_flag = 1 AND NOW() BETWEEN activity_start_time AND activity_end_time
-        AND activity_status = 1 AND shop_flag = 1 OR (shop_flag = 2 AND FIND_IN_SET(#{shopId}, applicable_shop) &gt; 0)
+        AND activity_status = 1 AND (shop_flag = 1 OR (shop_flag = 2 AND FIND_IN_SET(#{shopId}, applicable_shop) &gt; 0))
         ORDER BY activity_end_time - NOW()
         LIMIT 1;
     </select>
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
index 9a8a9ef..d24638a 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
@@ -223,26 +223,25 @@
         <if test="param.keyword!=null and param.keyword != ''">
             AND tg.goods_name LIKE CONCAT('%',#{param.keyword},'%')
         </if>
-        ORDER BY
         <if test="param.sort != null and param.sort != ''">
             <choose>
                 <when test="param.sort==1">
-                    salesPrice DESC,tg.create_time DESC
+                    ORDER BY salesPrice DESC,tg.create_time DESC
                 </when>
                 <when test="param.sort==2">
-                    salesPrice ASC,tg.create_time DESC
+                    ORDER BY salesPrice ASC,tg.create_time DESC
                 </when>
                 <when test="param.sort==3">
-                    tgt.buy_num_count ASC,tg.create_time DESC
+                    ORDER BY tgt.buy_num_count ASC,tg.create_time DESC
                 </when>
                 <when test="param.sort==4">
-                    tgt.buy_num_count DESC,tg.create_time DESC
+                    ORDER BY tgt.buy_num_count DESC,tg.create_time DESC
                 </when>
                 <when test="param.sort==5">
-                    tg.create_time DESC
+                    ORDER BY tg.create_time DESC
                 </when>
                 <otherwise>
-                    tg.create_time DESC
+                    ORDER BY tg.create_time DESC
                 </otherwise>
             </choose>
         </if>
diff --git a/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml
index 89bee3a..e2cda09 100644
--- a/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
     nacos:
       discovery:
         # 服务注册地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
       config:
         # 配置中心地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
index c3d5632..c6da197 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
@@ -303,4 +303,18 @@
         memberService.changeIntegral(integralChangeDto);
         return R.ok();
     }
+
+    /**
+     * @description  统计商户今日新增会员
+     * @author  jqs
+     * @date    2023/7/14 20:00
+     * @param shopIdList
+     * @return  R<Integer>
+     */
+    @PostMapping("/getAreaNewMember")
+    public R<Integer> getAreaNewMember(@RequestBody List<Long> shopIdList)
+    {
+        Integer count = memberService.getAreaNewMember(shopIdList);
+        return R.ok(count);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberFixedTotalVo.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberFixedTotalVo.java
index e206030..97962ff 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberFixedTotalVo.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberFixedTotalVo.java
@@ -38,6 +38,9 @@
     @ApiModelProperty(value = "会员调理")
     private List<MgtMapIntTotalVo> nurseTotalVos;
 
+    @ApiModelProperty(value = "会员等级")
+    private List<MgtMapIntTotalVo> memberLevelTotalVos;
+
     @ApiModelProperty(value = "商品类型")
     private List<MgtMapIntTotalVo> goodsTypeTotalVos;
 
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtTotalMemberTotalVo.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtTotalMemberTotalVo.java
index a018e75..adb11c2 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtTotalMemberTotalVo.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtTotalMemberTotalVo.java
@@ -59,6 +59,9 @@
     @ApiModelProperty(value = "会员调理")
     private List<MgtMapIntTotalVo> nurseTotalVos;
 
+    @ApiModelProperty(value = "会员等级")
+    private List<MgtMapIntTotalVo> memberLevelTotalVos;
+
     @ApiModelProperty(value = "商品类型")
     private List<MgtMapIntTotalVo> goodsTypeTotalVos;
 
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/BrowseRecordMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/BrowseRecordMapper.java
index e483829..8e27fd7 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/BrowseRecordMapper.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/BrowseRecordMapper.java
@@ -39,5 +39,5 @@
      * @param merMemberBrowsePageDto
      * @return  List<MerMemberBrowsePageVo>
      */
-    List<MerMemberBrowsePageVo> pageMerMemberBrowse(Page page, MerMemberBrowsePageDto merMemberBrowsePageDto);
+    List<MerMemberBrowsePageVo> pageMerMemberBrowse(Page page, @Param("param")MerMemberBrowsePageDto merMemberBrowsePageDto);
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
index 181ff9b..1f325ff 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
@@ -159,6 +159,15 @@
      */
     List<MgtMapIntTotalVo> getTotalMemberTotalNurse(@Param("param") MgtBaseShopDto mgtBaseShopDto);
 
+    /**
+     * @description  会员人数统计
+     * @author  jqs
+     * @date    2023/6/19 15:26
+     * @param
+     * @return  MgtTotalMemberTotalVo
+     */
+    List<MgtMapIntTotalVo> getTotalMemberTotalLevel(@Param("param") MgtBaseShopDto mgtBaseShopDto);
+
 
     /**
      * @description  会员人数统计
@@ -236,6 +245,15 @@
      * @return  MgtTotalMemberTotalVo
      */
     List<MgtMapIntTotalVo> getPlTotalMemberTotalNurse(@Param("param") MgtBasePlatformDto mgtBasePlatformDto);
+
+    /**
+     * @description  会员人数统计
+     * @author  jqs
+     * @date    2023/6/19 15:26
+     * @param
+     * @return  MgtTotalMemberTotalVo
+     */
+    List<MgtMapIntTotalVo> getPlTotalMemberTotalLevel(@Param("param") MgtBasePlatformDto mgtBasePlatformDto);
 
     /**
      * @description  会员人数统计
@@ -322,6 +340,15 @@
     List<MgtMapIntTotalVo> getMerMemberTotalNurse(@Param("param") MerTotalDto merTotalDto);
 
     /**
+     * @description  会员调理问题人数统计
+     * @author  jqs
+     * @date    2023/6/19 15:26
+     * @param
+     * @return  MgtTotalMemberTotalVo
+     */
+    List<MgtMapIntTotalVo> getMerMemberTotalLevel(@Param("param") MerTotalDto merTotalDto);
+
+    /**
      * @description  会员商品类型人数统计
      * @author  jqs
      * @date    2023/6/19 15:26
@@ -370,10 +397,19 @@
      * @description  获取各年龄层用户
      * @author  jqs
      * @date    2023/7/4 9:55
-     * @param ageType
+     * @param merTotalDto
      * @return  List<Long>
      */
     List<Long> listOrderAgeUser(@Param("param") MerTotalDto merTotalDto);
+
+    /**
+     * @description  统计商户今日新增会员
+     * @author  jqs
+     * @date    2023/7/14 19:54
+     * @param shopIdList
+     * @return  Integer
+     */
+    Integer getAreaNewMember(@Param("shopIdList")List<Long> shopIdList);
 }
 
 
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/scheduler/MemberScheduler.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/scheduler/MemberScheduler.java
index e352993..cf18fe6 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/scheduler/MemberScheduler.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/scheduler/MemberScheduler.java
@@ -39,7 +39,7 @@
     /**
      * 定时检查优惠券过期
      */
-    @Scheduled(cron="5 0 * * * ?")
+    @Scheduled(cron="2 0 * * * ?")
     private void timingCheckMemberCoupon(){
         if(schedulerUtils.getSchedulerRun()) {
             log.info("定时检查优惠券过期任务开始执行");
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 cf95a7c..2dbd752 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
@@ -84,8 +84,6 @@
     @Resource
     private RemoteOrderService orderService;
 
-    @Resource
-    private MemberNurseService memberNurseService;
 
     @Resource
     private RemoteConfigService remoteConfigService;
@@ -325,27 +323,22 @@
         switch (editType) {
             case 1:
                 member.setNickName(editValue);
-                member.setUpdateTime(new Date());
-                member.setUpdateUserId(appEditUserDto.getUserId());
-                this.saveOrUpdate(member);
                 break;
             case 2:
+                member.setAvatar(editValue);
                 break;
             case 3:
                 member.setGender(Integer.valueOf(editValue));
-                member.setUpdateTime(new Date());
-                member.setUpdateUserId(appEditUserDto.getUserId());
-                this.saveOrUpdate(member);
                 break;
             case 4:
                 member.setBirthday(editValue);
-                member.setUpdateTime(new Date());
-                member.setUpdateUserId(appEditUserDto.getUserId());
-                this.saveOrUpdate(member);
                 break;
             default:
                 break;
         }
+        member.setUpdateTime(new Date());
+        member.setUpdateUserId(appEditUserDto.getUserId());
+        this.saveOrUpdate(member);
         sysUserService.editUserInfo(appEditUserDto);
     }
 
@@ -1152,6 +1145,12 @@
             nurseTotalVos = listRemoveNull(nurseTotalVos);
             mgtTotalMemberTotalVo.setNurseTotalVos(nurseTotalVos);
         }
+        //获取不同等级的会员数
+        List<MgtMapIntTotalVo> memberLevelTotalVos = memberMapper.getTotalMemberTotalLevel(mgtBaseShopDto);
+        if (memberLevelTotalVos != null && memberLevelTotalVos.size() > 0) {
+            memberLevelTotalVos = listRemoveNull(memberLevelTotalVos);
+            mgtTotalMemberTotalVo.setMemberLevelTotalVos(memberLevelTotalVos);
+        }
         // 获取不同商品类型的会员数
         List<MgtMapIntTotalVo> goodsTypeTotalVos = memberMapper.getTotalMemberTotalGoodsType(mgtBaseShopDto);
         if (goodsTypeTotalVos != null && goodsTypeTotalVos.size() > 0) {
@@ -1257,6 +1256,12 @@
         if (nurseTotalVos != null && nurseTotalVos.size() > 0) {
             nurseTotalVos = listRemoveNull(nurseTotalVos);
             plTotalMemberTotalVo.setNurseTotalVos(nurseTotalVos);
+        }
+        //获取不同等级的会员数
+        List<MgtMapIntTotalVo> memberLevelTotalVos = memberMapper.getPlTotalMemberTotalLevel(mgtBasePlatformDto);
+        if (memberLevelTotalVos != null && memberLevelTotalVos.size() > 0) {
+            memberLevelTotalVos = listRemoveNull(memberLevelTotalVos);
+            plTotalMemberTotalVo.setMemberLevelTotalVos(memberLevelTotalVos);
         }
         // 获取不同商品类型的会员数
         List<MgtMapIntTotalVo> goodsTypeTotalVos = memberMapper.getPlTotalMemberTotalGoodsType(mgtBasePlatformDto);
@@ -1513,6 +1518,12 @@
         if (nurseTotalVos != null && nurseTotalVos.size() > 0) {
             nurseTotalVos = listRemoveNull(nurseTotalVos);
             memberFixedTotalVo.setNurseTotalVos(nurseTotalVos);
+        }
+        //获取不同等级的会员数
+        List<MgtMapIntTotalVo> memberLevelTotalVos = memberMapper.getMerMemberTotalLevel(merTotalDto);
+        if (memberLevelTotalVos != null && memberLevelTotalVos.size() > 0) {
+            memberLevelTotalVos = listRemoveNull(memberLevelTotalVos);
+            memberFixedTotalVo.setMemberLevelTotalVos(memberLevelTotalVos);
         }
         // 获取不同商品类型的会员数
         List<MgtMapIntTotalVo> goodsTypeTotalVos = memberMapper.getMerMemberTotalGoodsType(merTotalDto);
@@ -1815,4 +1826,16 @@
         integralRecordService.saveOrUpdate(integralRecord);
         return completeFlag;
     }
+
+    /**
+     * @description  统计商户今日新增会员
+     * @author  jqs
+     * @date    2023/7/14 19:54
+     * @param shopIdList
+     * @return  Integer
+     */
+    @Override
+    public Integer getAreaNewMember(List<Long> shopIdList){
+        return memberMapper.getAreaNewMember(shopIdList);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
index 3b0e3ca..7b7f93f 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
@@ -348,4 +348,13 @@
      * @return  void
      */
     Boolean changeIntegral(IntegralChangeDto integralChangeDto);
+
+    /**
+     * @description  统计商户今日新增会员
+     * @author  jqs
+     * @date    2023/7/14 19:54
+     * @param shopIdList
+     * @return  Integer
+     */
+    Integer getAreaNewMember(List<Long> shopIdList);
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml
index 73eb18f..58dc3e4 100644
--- a/ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
     nacos:
       discovery:
         # 服务注册地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
       config:
         # 配置中心地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
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 07c9973..1b9d21d 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
@@ -430,6 +430,22 @@
         GROUP BY member_nurse
     </select>
 
+    <select id="getTotalMemberTotalLevel" resultType="com.ruoyi.system.api.domain.vo.MgtMapIntTotalVo">
+        SELECT level mapKey, COUNT(*) mapValue
+        FROM t_member
+        WHERE (level IS NOT NULL OR level != '')
+        <if test="param.shopId != null and param.shopId != ''">
+            AND relation_shop_id = #{param.shopId}
+        </if>
+        <if test="param.startDate!=null and param.startDate!=''">
+            AND create_time &gt;= #{param.startDate}
+        </if>
+        <if test="param.endDate!=null and param.endDate!=''">
+            AND create_time &lt;= #{param.endDate}
+        </if>
+        GROUP BY level
+    </select>
+
     <select id="getTotalMemberTotalGoodsType" resultType="com.ruoyi.system.api.domain.vo.MgtMapIntTotalVo">
         SELECT goods_type mapKey, COUNT(*) mapValue
         FROM (
@@ -584,6 +600,25 @@
         ) x
         WHERE member_nurse IS NOT NULL OR member_nurse != ''
         GROUP BY member_nurse
+    </select>
+
+    <select id="getPlTotalMemberTotalLevel" resultType="com.ruoyi.system.api.domain.vo.MgtMapIntTotalVo">
+        SELECT level mapKey, COUNT(*) mapValue
+        FROM t_member
+        WHERE (level IS NOT NULL OR level != '')
+        <if test="param.shopIdList != null and param.shopIdList.size() > 0">
+            AND relation_shop_id IN
+            <foreach collection="param.shopIdList" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="param.startDate!=null and param.startDate!=''">
+            AND create_time &gt;= #{param.startDate}
+        </if>
+        <if test="param.endDate!=null and param.endDate!=''">
+            AND create_time &lt;= #{param.endDate}
+        </if>
+        GROUP BY level
     </select>
 
     <select id="getPlTotalMemberTotalGoodsType" resultType="com.ruoyi.system.api.domain.vo.MgtMapIntTotalVo">
@@ -786,6 +821,28 @@
         GROUP BY member_nurse
     </select>
 
+    <select id="getMerMemberTotalLevel" resultType="com.ruoyi.system.api.domain.vo.MgtMapIntTotalVo">
+        SELECT level mapKey, COUNT(*) mapValue
+        FROM t_member
+        WHERE (level IS NOT NULL OR level != '')
+        <if test="param.shopId != null and param.shopId != ''">
+            AND relation_shop_id = #{param.shopId}
+        </if>
+        <if test="param.shopIdList != null and param.shopIdList.size() > 0">
+            AND relation_shop_id IN
+            <foreach collection="param.shopIdList" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="param.startDate!=null and param.startDate!=''">
+            AND create_time &gt;= #{param.startDate}
+        </if>
+        <if test="param.endDate!=null and param.endDate!=''">
+            AND create_time &lt;= #{param.endDate}
+        </if>
+        GROUP BY level
+    </select>
+
     <select id="getMerMemberTotalGoodsType" resultType="com.ruoyi.system.api.domain.vo.MgtMapIntTotalVo">
         SELECT goods_type mapKey, COUNT(*) mapValue
         FROM (
@@ -945,4 +1002,14 @@
             AND TIMESTAMPDIFF(YEAR, birthday, CURDATE()) &gt;= 51
         </if>
     </select>
+
+    <select id="getAreaNewMember" resultType="java.lang.Integer">
+        SELECT COUNT(member_id)
+        FROM t_member
+        WHERE del_flag = 0 AND binding_flag = 1 AND DATE(binding_time) = CURDATE()
+        AND relation_shop_id IN
+        <foreach collection="shopIdList" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </select>
 </mapper>
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 27aa8ac..ed2f151 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
@@ -56,6 +56,7 @@
         return R.ok(appSureOrderVo);
     }
 
+
     @RequestMapping(value = "/panicBuyGoods", method = RequestMethod.POST)
     @ApiOperation(value = "抢购商品")
     public R<AppPanicBuyVo> panicBuyGoods(@RequestBody AppPanicBuyDto appPanicBuyDto) {
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java
index 22129f5..b396354 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java
@@ -63,11 +63,5 @@
      * @return  Integer
      */
     Integer countShopServicePerson(@Param("shopId")Long shopId);
-    /**
-     * @description  商户端统计商户到店人数
-     * @author  cheny
-     * @param shopIds
-     * @return  Integer
-     */
-    Integer countShopServicePersons(List<Long> shopIds);
+
 }
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 6b2ad45..6120b1d 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
@@ -152,14 +152,19 @@
         BigDecimal orderPayDeposit = new BigDecimal("0.00");
         BigDecimal orderPayMoney = new BigDecimal("0.00");
         // 遍历购买商品列表
+        HashSet<String> userCouponIdSet = new HashSet<>();
         for (AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList) {
             appSureOrderGoodsVo = new AppSureOrderGoodsVo();
+            discountMoney = BigDecimal.ZERO;
             useCoupon = 0;
             goodsId = appBuyGoodsDto.getGoodsId();
             buyNum = appBuyGoodsDto.getBuyNum();
             memberCouponId = appBuyGoodsDto.getMemberCouponId();
             // 获取商品信息
             goods = remoteGoodsService.getGoods(goodsId).getData();
+            if(goods.getGoodsStatus()!=1){
+                throw new ServiceException(AppErrorConstant.GOODS_DOWN);
+            }
             // 设置订单商品信息
             appSureOrderGoodsVo.setGoodsId(goodsId);
             appSureOrderGoodsVo.setGoodsName(goods.getGoodsName());
@@ -183,7 +188,7 @@
             goodsTotalPrice = goodsPrice.multiply(buyNumBig);
             goodsRealPrice = goodsTotalPrice;
             // 处理优惠券
-            if (memberCouponId != null) {
+            if (StringUtils.isNotBlank(memberCouponId)) {
                 appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId);
                 if (StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId)) {
                     couponType = appMemberCouponVo.getCouponType();
@@ -193,16 +198,25 @@
                             discountMoney = appMemberCouponVo.getDiscountMoney();
                             goodsRealPrice = goodsTotalPrice.subtract(discountMoney);
                             useCoupon = 1;
+                            userCouponIdSet.add(memberCouponId);
+                            appSureOrderGoodsVo.setMemberCouponId(memberCouponId);
                         }
                     } else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) {
                         discountPercent = appMemberCouponVo.getDiscountPercent();
                         goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2, BigDecimal.ROUND_HALF_UP);
                         discountMoney = goodsRealPrice.subtract(goodsTotalPrice);
                         useCoupon = 1;
+                        userCouponIdSet.add(memberCouponId);
+                        appSureOrderGoodsVo.setMemberCouponId(memberCouponId);
                     } else if (couponType == 3 && appMemberCouponVo.getDiscountMoney() != null) {
                         discountMoney = appMemberCouponVo.getDiscountMoney();
                         goodsRealPrice = goodsTotalPrice.subtract(discountMoney);
+                        if(goodsRealPrice.compareTo(BigDecimal.ZERO)<0){
+                            goodsRealPrice = BigDecimal.ZERO;
+                        }
                         useCoupon = 1;
+                        userCouponIdSet.add(memberCouponId);
+                        appSureOrderGoodsVo.setMemberCouponId(memberCouponId);
                     }
                 }
             }
@@ -220,33 +234,60 @@
             couponDiscount = couponDiscount.add(discountMoney);
             orderPayDeposit = orderPayDeposit.add(goodsDeposit);
             orderPayMoney = orderPayMoney.add(goodsRealPrice);
+            appSureOrderGoodsVoList.add(appSureOrderGoodsVo);
+        }
+        //处理优惠券列表
+        if (appMemberCouponVoList != null && !appMemberCouponVoList.isEmpty()) {
             // 获取商品关联优惠券
             appGoodsMemberCouponVoList = new ArrayList<>();
-            if (appMemberCouponVoList != null && !appMemberCouponVoList.isEmpty()) {
+            for(AppSureOrderGoodsVo sureOrderGoodsVo : appSureOrderGoodsVoList){
                 for (AppMemberCouponVo entity : appMemberCouponVoList) {
                     if (StringUtils.isBlank(entity.getRelGoodsIds())) {
                         if (entity.getCouponType() == 1 && entity.getMoneyThreshold() != null && entity.getDiscountMoney() != null) {
                             moneyThreshold = entity.getMoneyThreshold();
-                            if (goodsTotalPrice.compareTo(moneyThreshold) >= 0) {
-                                appGoodsMemberCouponVoList.add(entity);
+                            if (sureOrderGoodsVo.getGoodsTotalPrice().compareTo(moneyThreshold) >= 0) {
+                                if(userCouponIdSet==null||!userCouponIdSet.contains(entity.getMemberCouponId())){
+                                    appGoodsMemberCouponVoList.add(entity);
+                                }else{
+                                    if(sureOrderGoodsVo.getMemberCouponId()!=null&&sureOrderGoodsVo.getMemberCouponId().equals(entity.getMemberCouponId())){
+                                        appGoodsMemberCouponVoList.add(entity);
+                                    }
+                                }
                             }
                         }else{
-                            appGoodsMemberCouponVoList.add(entity);
+                            if(userCouponIdSet==null||!userCouponIdSet.contains(entity.getMemberCouponId())){
+                                appGoodsMemberCouponVoList.add(entity);
+                            }else{
+                                if(sureOrderGoodsVo.getMemberCouponId()!=null&&sureOrderGoodsVo.getMemberCouponId().equals(entity.getMemberCouponId())){
+                                    appGoodsMemberCouponVoList.add(entity);
+                                }
+                            }
                         }
-                    } else if (entity.getRelGoodsIds().contains(goodsId)) {
+                    } else if (entity.getRelGoodsIds().contains(sureOrderGoodsVo.getGoodsId())) {
                         if (entity.getCouponType() == 1 && entity.getMoneyThreshold() != null && entity.getDiscountMoney() != null) {
                             moneyThreshold = entity.getMoneyThreshold();
-                            if (goodsTotalPrice.compareTo(moneyThreshold) >= 0) {
-                                appGoodsMemberCouponVoList.add(entity);
+                            if (sureOrderGoodsVo.getGoodsTotalPrice().compareTo(moneyThreshold) >= 0) {
+                                if(userCouponIdSet==null||!userCouponIdSet.contains(entity.getMemberCouponId())){
+                                    appGoodsMemberCouponVoList.add(entity);
+                                }else{
+                                    if(sureOrderGoodsVo.getMemberCouponId()!=null&&sureOrderGoodsVo.getMemberCouponId().equals(entity.getMemberCouponId())){
+                                        appGoodsMemberCouponVoList.add(entity);
+                                    }
+                                }
                             }
                         }else{
-                            appGoodsMemberCouponVoList.add(entity);
+                            if(userCouponIdSet==null||!userCouponIdSet.contains(entity.getMemberCouponId())){
+                                appGoodsMemberCouponVoList.add(entity);
+                            }else{
+                                if(sureOrderGoodsVo.getMemberCouponId()!=null&&sureOrderGoodsVo.getMemberCouponId().equals(entity.getMemberCouponId())){
+                                    appGoodsMemberCouponVoList.add(entity);
+                                }
+                            }
                         }
                     }
                 }
-                appSureOrderGoodsVo.setAppMemberCouponVoList(appGoodsMemberCouponVoList);
+                sureOrderGoodsVo.setAppMemberCouponVoList(appGoodsMemberCouponVoList);
             }
-            appSureOrderGoodsVoList.add(appSureOrderGoodsVo);
         }
         // 设置订单相关金额
         appSureOrderVo.setOrderGoodsMoney(orderGoodsMoney);
@@ -297,6 +338,9 @@
             throw new ServiceException(AppErrorConstant.ACTIVITY_GOODS_NULL);
         }
         Goods goods = remoteGoodsService.getGoods(goodsId).getData();
+        if(goods.getGoodsStatus()!=1){
+            throw new ServiceException(AppErrorConstant.GOODS_DOWN);
+        }
         appPanicBuyVo.setGoodsId(goodsId);
         appPanicBuyVo.setGoodsName(goods.getGoodsName());
         appPanicBuyVo.setGoodsIntroduction(goods.getGoodsIntroduction());
@@ -913,18 +957,10 @@
      */
     @Override
     public MerHomeShopTotalVo getMerHomeTotal(MerHomeShopTotalVo merHomeShopTotalVo) {
-        List<Long> shopIds = merHomeShopTotalVo.getShopIds();
-        if (null != shopIds && shopIds.size() != 0) {
-            Integer todayShop = userServiceRecordMapper.countShopServicePersons(shopIds);
-            merHomeShopTotalVo = orderMapper.getMerHomeShopsTotalVo(shopIds);
-            merHomeShopTotalVo.setTodayShop(todayShop);
-        }else{
-            Long shopId = merHomeShopTotalVo.getShopId();
-            Integer todayShop = userServiceRecordService.countShopServicePerson(shopId);
-            merHomeShopTotalVo.setTodayShop(todayShop);
-            merHomeShopTotalVo = orderMapper.getMerHomeShopTotalVo(shopId);
-
-        }
+        Long shopId = merHomeShopTotalVo.getShopId();
+        Integer todayShop = userServiceRecordService.countShopServicePerson(shopId);
+        merHomeShopTotalVo = orderMapper.getMerHomeShopTotalVo(shopId);
+        merHomeShopTotalVo.setTodayShop(todayShop);
         return merHomeShopTotalVo;
     }
 
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml
index 8db7a2e..79ddc73 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
     nacos:
       discovery:
         # 服务注册地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
       config:
         # 配置中心地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
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 23e3b35..65e6944 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
@@ -1264,7 +1264,7 @@
             IFNULL(SUM(CASE WHEN order_status = 2 THEN 1 ELSE 0 END),0) unHandleOrder,
             IFNULL(SUM(pay_money),0) shopTurnover
         FROM t_order
-        WHERE del_flag = 0 AND shopId = #{shopId}
+        WHERE del_flag = 0 AND shop_id = #{shopId}
     </select>
 
     <select id="getMerHomeShopsTotalVo" resultType="com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo">
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 53af0b0..35f7d29 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
@@ -142,13 +142,4 @@
         WHERE shop_id = #{shopId} AND DATE(create_time) = CURDATE()
     </select>
 
-    <select id="countShopServicePersons" resultType="java.lang.Integer">
-        SELECT COUNT(DISTINCT user_id)
-        FROM t_user_service_record
-        WHERE shop_id in
-        <foreach item="id" collection="list" open="(" separator="," close=")">
-            #{id}
-        </foreach>
-         AND DATE(create_time) = CURDATE()
-    </select>
 </mapper>
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 6daa718..77213f8 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
@@ -101,6 +101,16 @@
         return R.ok(shopRelUserVo);
     }
 
+    @PostMapping("/getShopByBelongUserId")
+    public R<ShopRelUserVo> getShopByBelongUserId(@RequestBody Long userId)
+    {
+        Shop shop = shopService.getShopByBelongUserId(userId);
+        Optional.ofNullable(shop).orElseThrow(() -> new ServiceException("未查询到商户信息"));
+        ShopRelUserVo shopRelUserVo = new ShopRelUserVo();
+        shopRelUserVo.setShopId(shop.getShopId());
+        return R.ok(shopRelUserVo);
+    }
+
     /**
      * @description  删除商户标签
      * @author  jqs
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
index d2a9d9c..dcc54e9 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
@@ -128,6 +128,16 @@
         return R.ok();
     }
 
+    @RequestMapping(value = "/frozenMgtShop", method = RequestMethod.POST)
+    @Log(title = "商户管理", businessType = BusinessType.UPDATE,operContent = "终止合作")
+    @ApiOperation(value = "冻结商户")
+    public R frozenMgtShop(@RequestBody MgtFrozenShopDto mgtFrozenShopDto) {
+        Long userId = SecurityUtils.getUserId();
+        mgtFrozenShopDto.setUserId(userId);
+        shopService.frozenMgtShop(mgtFrozenShopDto);
+        return R.ok();
+    }
+
     @RequestMapping(value = "/changeMgtCooperationTime", method = RequestMethod.POST)
     @Log(title = "商户管理", businessType = BusinessType.UPDATE,operContent = "修改合作时间")
     @ApiOperation(value = "修改合作时间")
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtTaskController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtTaskController.java
index 8688535..e99018c 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtTaskController.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtTaskController.java
@@ -84,4 +84,6 @@
         List<MgtMemberFollowPageVo> mgtMemberFollowPageVoList = memberTaskRecordService.pageMgtMemberFollow(mgtMemberTaskPageDto);
         return R.ok(mgtMemberFollowPageVoList);
     }
+
+
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffController.java
deleted file mode 100644
index 09adae9..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffController.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package com.ruoyi.shop.controller.staff;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.security.utils.SecurityUtils;
-import com.ruoyi.shop.domain.dto.MgtShopPageDto;
-import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto;
-import com.ruoyi.shop.domain.vo.MgtShopPageVo;
-import com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo;
-import com.ruoyi.shop.service.shop.ShopService;
-import com.ruoyi.system.api.domain.poji.shop.Shop;
-import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
-import com.ruoyi.system.api.service.RemoteSysStaffService;
-import com.ruoyi.system.api.service.RemoteUserService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-
-@Api(value = "员工端商户接口", tags = "员工端商户接口", description = "员工端商户接口")
-@RestController
-@RequestMapping("/staff/shop")
-public class StaffController {
-
-    @Resource
-    private ShopService shopService;
-    @Resource
-    private RemoteUserService sysUserService;
-    @Resource
-    private RemoteSysStaffService remoteSysStaffService;
-
-    /**
-     * 未完成实际统计
-     * @return
-     */
-    @RequestMapping(value = "/getStaffHomeTotal", method = RequestMethod.POST)
-    @ApiOperation(value = "获取员工端商铺统计(首页)")
-    public R<MerHomeShopTotalVo> getStaffHomeTotal() {
-        Long userId = SecurityUtils.getUserId();
-        MerHomeShopTotalVo merHomeShopTotalVo = shopService.getStaffHomeTotal(userId);
-        return R.ok(merHomeShopTotalVo);
-    }
-
-    @RequestMapping(value = "/list", method = RequestMethod.POST)
-    @ApiOperation(value = "获取商户端商业统计")
-    public R getShopByUserId(@RequestBody MgtShopPageDto mgtShopPageDto) {
-        Long userId = SecurityUtils.getUserId();
-        if (remoteSysStaffService.isLeader()) {
-            Long deptId = sysUserService.getSysUser(userId).getData().getDeptId();
-            List<Long> userIds = remoteSysStaffService.getUserIds(deptId).getData();
-            if(userIds.size()==0){
-                return R.ok("未关联商户");
-            }
-            mgtShopPageDto.setIds(userIds);
-        } else {
-            mgtShopPageDto.setBelongUserId(userId);
-        }
-        Page<MgtShopPageVo> page = new Page<>();
-        page.setSize(mgtShopPageDto.getPageSize());
-        page.setCurrent(mgtShopPageDto.getPageNum());
-        List<MgtShopPageVo> mgtShopPageVoList = shopService.pageMgtShop(page,mgtShopPageDto);
-        return R.ok(page.setRecords(mgtShopPageVoList));
-    }
-
-    @RequestMapping(value = "/editShop", method = RequestMethod.POST)
-    @ApiOperation(value = "修改商户")
-    public R<Boolean> editShopStatus(Shop shop) {
-        return R.ok(shopService.updateById(shop));
-    }
-}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java
new file mode 100644
index 0000000..3e9330d
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java
@@ -0,0 +1,115 @@
+package com.ruoyi.shop.controller.staff;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.shop.domain.dto.StaffShopCCEditDto;
+import com.ruoyi.shop.domain.dto.StaffShopECEditDto;
+import com.ruoyi.shop.domain.dto.StaffShopEstimateEditDto;
+import com.ruoyi.shop.domain.dto.StaffShopPageDto;
+import com.ruoyi.shop.domain.vo.StaffHomeShopTotalVo;
+import com.ruoyi.shop.domain.vo.StaffShopInfoGetVo;
+import com.ruoyi.shop.domain.vo.StaffShopPageVo;
+import com.ruoyi.shop.domain.vo.StaffShopSimpleTotalVo;
+import com.ruoyi.shop.service.shop.ShopService;
+import com.ruoyi.system.api.domain.dto.StaffBaseGetDto;
+import com.ruoyi.system.api.service.RemoteSysStaffService;
+import com.ruoyi.system.api.service.RemoteUserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+@Api(value = "员工端商户接口", tags = "员工端商户接口", description = "员工端商户接口")
+@RestController
+@RequestMapping("/staff/shop")
+public class StaffShopController {
+
+    @Resource
+    private ShopService shopService;
+    @Resource
+    private RemoteUserService sysUserService;
+    @Resource
+    private RemoteSysStaffService remoteSysStaffService;
+
+    /**
+     * 未完成实际统计
+     * @return
+     */
+    @RequestMapping(value = "/getStaffHomeTotal", method = RequestMethod.POST)
+    @ApiOperation(value = "获取员工端商铺统计(首页)")
+    public R<StaffHomeShopTotalVo> getStaffHomeTotal() {
+        Long userId = SecurityUtils.getUserId();
+        StaffHomeShopTotalVo staffHomeShopTotalVo = shopService.getStaffHomeTotal(userId);
+        return R.ok(staffHomeShopTotalVo);
+    }
+
+    @RequestMapping(value = "/listStaffShop", method = RequestMethod.POST)
+    @ApiOperation(value = "分页获取员工端商户列表")
+    public R<Page<StaffShopPageVo>> listStaffShop(@RequestBody StaffShopPageDto staffShopPageDto) {
+        Long userId = SecurityUtils.getUserId();
+        if (remoteSysStaffService.isLeader()) {
+            List<Long> userIds = sysUserService.getUserIdsByDept(userId).getData();
+            userIds.add(userId);
+            staffShopPageDto.setUserIdList(userIds);
+        } else {
+            staffShopPageDto.setBelongUserId(userId);
+        }
+        Page<StaffShopPageVo> page = new Page<>();
+        page.setSize(staffShopPageDto.getPageSize());
+        page.setCurrent(staffShopPageDto.getPageNum());
+        List<StaffShopPageVo> staffShopPageVoList = shopService.pageStaffShop(page,staffShopPageDto);
+        return R.ok(page.setRecords(staffShopPageVoList));
+    }
+
+    @RequestMapping(value = "/getStaffSimpleTotal", method = RequestMethod.POST)
+    @ApiOperation(value = "获取员工端商铺数量统计")
+    public R<StaffShopSimpleTotalVo> getStaffSimpleTotal() {
+        Long userId = SecurityUtils.getUserId();
+        StaffShopSimpleTotalVo staffShopSimpleTotalVo = shopService.getStaffSimpleTotal(userId);
+        return R.ok(staffShopSimpleTotalVo);
+    }
+
+    @RequestMapping(value = "/getStaffShopInfo", method = RequestMethod.POST)
+    @ApiOperation(value = "获取员工端商户信息")
+    public R<StaffShopInfoGetVo> getStaffShopInfo(@RequestBody StaffBaseGetDto staffBaseGetDto) {
+        Long userId = SecurityUtils.getUserId();
+        StaffShopInfoGetVo staffShopInfoGetVo = shopService.getStaffShopInfo(Long.valueOf(staffBaseGetDto.getId()));
+        return R.ok(staffShopInfoGetVo);
+    }
+
+    @RequestMapping(value = "/editShopEstimate", method = RequestMethod.POST)
+    @ApiOperation(value = "修改店铺评估")
+    public R editShopEstimate(@RequestBody StaffShopEstimateEditDto staffShopEstimateEditDto) {
+        Long userId = SecurityUtils.getUserId();
+        staffShopEstimateEditDto.setUserId(userId);
+        shopService.editShopEstimate(staffShopEstimateEditDto);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/editExtendContacts", method = RequestMethod.POST)
+    @ApiOperation(value = "修改店铺扩展联系人")
+    public R editExtendContacts(@RequestBody StaffShopECEditDto staffShopECEditDto) {
+        Long userId = SecurityUtils.getUserId();
+        staffShopECEditDto.setUserId(userId);
+        shopService.editExtendContacts(staffShopECEditDto);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/editShopCustomStatus", method = RequestMethod.POST)
+    @ApiOperation(value = "修改店铺状态")
+    public R editShopCustomStatus(@RequestBody StaffShopCCEditDto staffShopCCEditDto) {
+        Long userId = SecurityUtils.getUserId();
+        staffShopCCEditDto.setUserId(userId);
+        shopService.editShopCustomStatus(staffShopCCEditDto);
+        return R.ok();
+    }
+
+
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffTaskController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffTaskController.java
new file mode 100644
index 0000000..295168d
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffTaskController.java
@@ -0,0 +1,106 @@
+package com.ruoyi.shop.controller.staff;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.shop.domain.dto.StaffAddTaskDto;
+import com.ruoyi.shop.domain.dto.StaffAgencyPageDto;
+import com.ruoyi.shop.domain.dto.StaffShopTaskPageDto;
+import com.ruoyi.shop.domain.vo.StaffAgencyTaskRecordPageVo;
+import com.ruoyi.shop.domain.vo.StaffMyShopTaskRecordPageVo;
+import com.ruoyi.shop.domain.vo.StaffShopTaskPageVo;
+import com.ruoyi.shop.service.task.AgencyTaskRecordService;
+import com.ruoyi.shop.service.task.ShopTaskRecordService;
+import com.ruoyi.shop.service.task.ShopTaskService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @ClassName StaffTaskController
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/14 18:57
+ * @Version 1.0
+ */
+@Api(value = "员工端任务接口", tags = "员工端任务接口", description = "员工端任务接口")
+@RestController
+@RequestMapping("/staff/task")
+public class StaffTaskController {
+
+
+    @Resource
+    private AgencyTaskRecordService agencyTaskRecordService;
+
+    @Resource
+    private ShopTaskRecordService shopTaskRecordService;
+
+    @Resource
+    private ShopTaskService shopTaskService;
+
+
+    @RequestMapping(value = "/pageStaffAgencyTaskRecord", method = RequestMethod.POST)
+    @ApiOperation(value = "员工端分页获取经销商跟进任务记录列表")
+    public R<Page<StaffAgencyTaskRecordPageVo>> pageStaffAgencyTaskRecord(@RequestBody StaffAgencyPageDto staffAgencyPageDto) {
+        Long userId = SecurityUtils.getUserId();
+        staffAgencyPageDto.setUserId(userId);
+        Page<StaffAgencyTaskRecordPageVo> page = new Page<>();
+        page.setSize(staffAgencyPageDto.getPageSize());
+        page.setCurrent(staffAgencyPageDto.getPageNum());
+        List<StaffAgencyTaskRecordPageVo> agencyTaskRecordPageVoList = agencyTaskRecordService.pageStaffAgencyTaskRecord(page,staffAgencyPageDto);
+        return R.ok(page.setRecords(agencyTaskRecordPageVoList));
+    }
+
+
+    @RequestMapping(value = "/pageStaffMyShopTaskRecord", method = RequestMethod.POST)
+    @ApiOperation(value = "员工端分页获取我的跟进任务记录列表")
+    public R<Page<StaffMyShopTaskRecordPageVo>> pageStaffMyShopTaskRecord(@RequestBody StaffShopTaskPageDto staffShopTaskPageDto){
+        Long userId = SecurityUtils.getUserId();
+        staffShopTaskPageDto.setUserId(userId);
+        Page<StaffMyShopTaskRecordPageVo> page = new Page<>();
+        page.setSize(staffShopTaskPageDto.getPageSize());
+        page.setCurrent(staffShopTaskPageDto.getPageNum());
+        List<StaffMyShopTaskRecordPageVo> myShopTaskRecordPageVoList= shopTaskRecordService.pageStaffMyShopTaskRecord(page,staffShopTaskPageDto);
+        return R.ok(page.setRecords(myShopTaskRecordPageVoList));
+    }
+
+    @RequestMapping(value = "/pageStaffShopTaskRecord", method = RequestMethod.POST)
+    @ApiOperation(value = "员工端分页获取商户跟进任务记录列表")
+    public R<Page<StaffMyShopTaskRecordPageVo>> pageStaffShopTaskRecord(@RequestBody StaffShopTaskPageDto staffShopTaskPageDto){
+        Long userId = SecurityUtils.getUserId();
+        staffShopTaskPageDto.setUserId(userId);
+        Page<StaffMyShopTaskRecordPageVo> page = new Page<>();
+        page.setSize(staffShopTaskPageDto.getPageSize());
+        page.setCurrent(staffShopTaskPageDto.getPageNum());
+        List<StaffMyShopTaskRecordPageVo> myShopTaskRecordPageVoList= shopTaskRecordService.pageStaffShopTaskRecord(page,staffShopTaskPageDto);
+        return R.ok(page.setRecords(myShopTaskRecordPageVoList));
+    }
+
+    @RequestMapping(value = "/pageStaffShopTask", method = RequestMethod.POST)
+    @ApiOperation(value = "员工端分页获取跟进任务列表")
+    public R<Page<StaffShopTaskPageVo>> pageStaffShopTask(@RequestBody StaffShopTaskPageDto staffShopTaskPageDto){
+        Long userId = SecurityUtils.getUserId();
+        staffShopTaskPageDto.setUserId(userId);
+        Page<StaffShopTaskPageVo> page = new Page<>();
+        page.setSize(staffShopTaskPageDto.getPageSize());
+        page.setCurrent(staffShopTaskPageDto.getPageNum());
+        List<StaffShopTaskPageVo> shopTaskPageVoList= shopTaskService.pageStaffShopTask(page,staffShopTaskPageDto);
+        return R.ok(page.setRecords(shopTaskPageVoList));
+    }
+
+    @RequestMapping(value = "/staffAddTask", method = RequestMethod.POST)
+    @ApiOperation(value = "新建任务")
+    public R staffAddTask(@RequestBody StaffAddTaskDto staffAddTaskDto) {
+        Long userId = SecurityUtils.getUserId();
+        staffAddTaskDto.setUserId(userId);
+        shopTaskService.staffAddTask(staffAddTaskDto);
+        return R.ok();
+    }
+
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtFrozenShopDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtFrozenShopDto.java
new file mode 100644
index 0000000..23630c0
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtFrozenShopDto.java
@@ -0,0 +1,22 @@
+package com.ruoyi.shop.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.MgtBaseDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName MgtFrozenShopDto
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/15 13:51
+ * @Version 1.0
+ */
+@Data
+public class MgtFrozenShopDto extends MgtBaseDto {
+
+    @ApiModelProperty(value = "商户id")
+    private Long shopId;
+
+    @ApiModelProperty(value="冻结状态0解冻1冻结")
+    private Integer frozenFlag;
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java
index e6ab8b7..8638fe9 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java
@@ -4,8 +4,6 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.util.List;
-
 /**
  * @author jqs34
  * @ClassName MgtShopPageDto
@@ -94,6 +92,4 @@
     @ApiModelProperty(value = "商铺id")
     private Integer shopId;
 
-    @ApiModelProperty(value = "多个用户的id")
-    private List<Long> ids;
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffAddTaskDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffAddTaskDto.java
new file mode 100644
index 0000000..d6cf932
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffAddTaskDto.java
@@ -0,0 +1,29 @@
+package com.ruoyi.shop.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.StaffBaseDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName StaffAddTaskDto
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/15 18:06
+ * @Version 1.0
+ */
+@Data
+public class StaffAddTaskDto extends StaffBaseDto {
+
+    @ApiModelProperty(value="任务时间")
+    private Long shopId;
+
+    @ApiModelProperty(value="任务时间")
+    private String taskDate;
+
+    @ApiModelProperty(value="任务标题")
+    private String taskTitle;
+
+    @ApiModelProperty(value="紧急程度")
+    private String emergencyState;
+
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffAgencyPageDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffAgencyPageDto.java
new file mode 100644
index 0000000..d9b3e47
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffAgencyPageDto.java
@@ -0,0 +1,19 @@
+package com.ruoyi.shop.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.StaffPageDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName StaffAgencyPageDto
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/14 19:17
+ * @Version 1.0
+ */
+@Data
+public class StaffAgencyPageDto extends StaffPageDto {
+
+    @ApiModelProperty(value = "代理商id")
+    private Long agencyId;
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopCCEditDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopCCEditDto.java
new file mode 100644
index 0000000..4c70d6d
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopCCEditDto.java
@@ -0,0 +1,23 @@
+package com.ruoyi.shop.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.StaffBaseDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName StaffShopCCEditDto
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/15 11:38
+ * @Version 1.0
+ */
+@Data
+public class StaffShopCCEditDto extends StaffBaseDto {
+
+    @ApiModelProperty(value = "商户id")
+    private Long shopId;
+
+    @ApiModelProperty(value = "店铺设置状态")
+    private String shopCustomStatus;
+
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopECEditDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopECEditDto.java
new file mode 100644
index 0000000..bea5d08
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopECEditDto.java
@@ -0,0 +1,26 @@
+package com.ruoyi.shop.domain.dto;
+
+import com.ruoyi.shop.domain.vo.ExtendContactsVo;
+import com.ruoyi.system.api.domain.dto.StaffBaseDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @ClassName ShopExtendContactsEditDto
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/15 11:03
+ * @Version 1.0
+ */
+@Data
+public class StaffShopECEditDto extends StaffBaseDto {
+
+    @ApiModelProperty(value = "商户id")
+    private Long shopId;
+
+    @ApiModelProperty(value="额外联系人")
+    private List<ExtendContactsVo> extendContactsVoList;
+
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopEstimateEditDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopEstimateEditDto.java
new file mode 100644
index 0000000..2d25731
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopEstimateEditDto.java
@@ -0,0 +1,47 @@
+package com.ruoyi.shop.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.StaffBaseDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName StaffShopEstimateEditDto
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/15 10:17
+ * @Version 1.0
+ */
+@Data
+public class StaffShopEstimateEditDto extends StaffBaseDto {
+
+    @ApiModelProperty(value = "商户id")
+    private Long shopId;
+
+    @ApiModelProperty(value="扶持能力1.有2.没有")
+    private Integer supportingCapacityFlag;
+
+    @ApiModelProperty(value="店面操作人数1.1人2.1人以上")
+    private Integer operationPersonFlag;
+
+    @ApiModelProperty(value="执行力1.强2.弱")
+    private Integer executiveForceFlag;
+
+    @ApiModelProperty(value="格局1.大2.小")
+    private Integer patternFlag;
+
+    @ApiModelProperty(value="人脉1.宽2.窄")
+    private Integer connectionFlag;
+
+    @ApiModelProperty(value="经济能力1.强2.差")
+    private Integer economicAbilityFlag;
+
+    @ApiModelProperty(value="与合作商关系1.好2.差")
+    private Integer relationPartner;
+
+    @ApiModelProperty(value="曾从事事业")
+    private String businessHistory;
+
+
+
+
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopPageDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopPageDto.java
index a197112..5feb091 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopPageDto.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopPageDto.java
@@ -17,9 +17,11 @@
     @ApiModelProperty(value = "商户类型1经销商2代理商")
     private Integer shopType;
 
-    //合作商状态
+    @ApiModelProperty(value = "店铺设置状态")
+    private String shopCustomStatus;
 
-    //合作商等级
+    @ApiModelProperty(value = "店铺等级")
+    private String shopLevel;
 
     @ApiModelProperty(value = "归属员工")
     private Long belongUserId;
@@ -30,20 +32,8 @@
     @ApiModelProperty(value = "签约结束时间")
     private String signEndTime;
 
-    @ApiModelProperty(value = "签约区域code")
-    private String signAreaCode;
-
     @ApiModelProperty(value = "推荐人")
     private String recommendPerson;
-
-    @ApiModelProperty(value = "店铺地址省code")
-    private String shopProvinceCode;
-
-    @ApiModelProperty(value = "店铺地址市code")
-    private String shopCityCode;
-
-    @ApiModelProperty(value = "店铺地址区code")
-    private String shopAreaCode;
 
     @ApiModelProperty(value = "签约省code")
     private String signProvinceCode;
@@ -51,19 +41,25 @@
     @ApiModelProperty(value = "签约市code")
     private String signCityCode;
 
-    @ApiModelProperty(value = "商户状态0冻结1正常2终止合作")
-    private Integer shopStatus;
+    @ApiModelProperty(value = "扶持能力1.有2.没有")
+    private Integer supportingCapacityFlag;
 
-//    @ApiModelProperty(value = "来源渠道")
-//    private String shopSource;
-//
-//    @ApiModelProperty(value = "店铺设置状态")
-//    private String shopCustomStatus;
-//
-//    @ApiModelProperty(value = "到期标记")
-//    private Integer expireFlag;
-//
-//    @ApiModelProperty(value = "商户标签 多个,隔开")
-//    private String shopTags;
+    @ApiModelProperty(value = "店面操作人数1.1人2.1人以上")
+    private Integer operationPersonFlag;
+
+    @ApiModelProperty(value = "执行力1.强2.弱")
+    private Integer executiveForceFlag;
+
+    @ApiModelProperty(value = "格局1.大2.小")
+    private Integer patternFlag;
+
+    @ApiModelProperty(value = "人脉1.宽2.窄")
+    private Integer connectionFlag;
+
+    @ApiModelProperty(value = "经济能力1.强2.差")
+    private Integer economicAbilityFlag;
+
+    @ApiModelProperty(value = "与合作商关系1.好2.差")
+    private Integer relationPartner;
 
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopTaskPageDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopTaskPageDto.java
new file mode 100644
index 0000000..9a6ecdc
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopTaskPageDto.java
@@ -0,0 +1,22 @@
+package com.ruoyi.shop.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.StaffPageDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName StaffShopTaskPageDto
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/14 19:37
+ * @Version 1.0
+ */
+@Data
+public class StaffShopTaskPageDto extends StaffPageDto {
+
+    @ApiModelProperty(value = "代理商id")
+    private Long shopId;
+
+    @ApiModelProperty(value = "任务状态0未开始1待处理2已处理3已过期")
+    private Integer taskStatus;
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTaskRecord.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTaskRecord.java
index 317f30b..0be86fd 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTaskRecord.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTaskRecord.java
@@ -1,16 +1,16 @@
 package com.ruoyi.shop.domain.pojo.task;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
 
 /**
  * <p>
@@ -72,6 +72,8 @@
     @TableField("create_time")
     private Date createTime;
 
+    @TableField("custom_follow_type")
+    private String customFollowType;
 
     @Override
     protected Serializable pkVal() {
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/ExtendContactsVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/ExtendContactsVo.java
new file mode 100644
index 0000000..6eea970
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/ExtendContactsVo.java
@@ -0,0 +1,22 @@
+package com.ruoyi.shop.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName ExtendContactsVo
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/15 10:48
+ * @Version 1.0
+ */
+@Data
+public class ExtendContactsVo {
+
+    @ApiModelProperty(value="联系人姓名")
+    private String name;
+
+    @ApiModelProperty(value="联系人电话")
+    private String phone;
+
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopPageVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopPageVo.java
index 0b10ac0..cbbe8b3 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopPageVo.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopPageVo.java
@@ -92,4 +92,10 @@
     @Excel(name = "店铺设置状态", width = 30)
     @ApiModelProperty(value="店铺设置状态")
     private String shopCustomStatus;
+
+    @ApiModelProperty(value="冻结状态0解冻1冻结")
+    private Integer frozenFlag;
+
+    @ApiModelProperty(value="合作状态0终止1开启")
+    private Integer cooperativeFlag;
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffAgencyTaskRecordPageVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffAgencyTaskRecordPageVo.java
new file mode 100644
index 0000000..f259404
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffAgencyTaskRecordPageVo.java
@@ -0,0 +1,60 @@
+package com.ruoyi.shop.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @ClassName StaffAgencyTaskRecordPageVo
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/14 19:15
+ * @Version 1.0
+ */
+@Data
+public class StaffAgencyTaskRecordPageVo {
+
+    @ApiModelProperty(value = "用户id")
+    private Long userId;
+
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+
+    @ApiModelProperty(value = "用户头像")
+    private String userPicture;
+
+    @ApiModelProperty(value = "跟进id")
+    private Long followId;
+
+    @ApiModelProperty(value = "任务id")
+    private String taskId;
+
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    @ApiModelProperty(value="跟踪类型1电话2手动")
+    private Integer followType;
+
+    @ApiModelProperty(value="电话时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date callTime;
+
+    @ApiModelProperty(value="跟踪内容")
+    private String followContent;
+
+    @ApiModelProperty(value="拨打电话")
+    private String callPhone;
+
+    @ApiModelProperty(value="跟进图片地址")
+    private List<String> picture;
+
+    @ApiModelProperty(value="跟进视频地址")
+    private List<String> video;
+
+    @ApiModelProperty(value="跟进音频地址")
+    private List<String> audio;
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffHomeShopTotalVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffHomeShopTotalVo.java
new file mode 100644
index 0000000..990a7ef
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffHomeShopTotalVo.java
@@ -0,0 +1,33 @@
+package com.ruoyi.shop.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName StaffHomeShopTotalVo
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/14 17:06
+ * @Version 1.0
+ */
+@Data
+public class StaffHomeShopTotalVo {
+
+    @ApiModelProperty(value = "待跟进客户")
+    private Integer followMember;
+
+    @ApiModelProperty(value = "新增客户")
+    private Integer newMember;
+
+    @ApiModelProperty(value = "合作商跟进任务")
+    private Integer shopTask;
+
+    @ApiModelProperty(value = "合作商总数")
+    private Integer shopTotal;
+
+    @ApiModelProperty(value = "代理商数")
+    private Integer agencyTotal;
+
+    @ApiModelProperty(value = "经销商数")
+    private Integer dealerTotal;
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffMyShopTaskRecordPageVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffMyShopTaskRecordPageVo.java
new file mode 100644
index 0000000..7245b26
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffMyShopTaskRecordPageVo.java
@@ -0,0 +1,65 @@
+package com.ruoyi.shop.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @ClassName StaffMyShopTaskRecordPageVo
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/14 19:34
+ * @Version 1.0
+ */
+@Data
+public class StaffMyShopTaskRecordPageVo {
+
+    @ApiModelProperty(value = "用户id")
+    private Long userId;
+
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+
+    @ApiModelProperty(value = "用户头像")
+    private String userPicture;
+
+    @ApiModelProperty(value = "跟进id")
+    private Long followId;
+
+    @ApiModelProperty(value = "任务id")
+    private String taskId;
+
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    @ApiModelProperty(value="跟踪类型1电话2手动")
+    private String followType;
+
+    @ApiModelProperty(value="跟进类型")
+    private String customFollowType;
+
+    @ApiModelProperty(value="电话时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date callTime;
+
+    @ApiModelProperty(value="跟踪内容")
+    private String followContent;
+
+    @ApiModelProperty(value="拨打电话")
+    private String callPhone;
+
+    @ApiModelProperty(value="跟进图片地址")
+    private List<String> picture;
+
+    @ApiModelProperty(value="跟进视频地址")
+    private List<String> video;
+
+    @ApiModelProperty(value="跟进音频地址")
+    private List<String> audio;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopInfoGetVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopInfoGetVo.java
new file mode 100644
index 0000000..337dd95
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopInfoGetVo.java
@@ -0,0 +1,103 @@
+package com.ruoyi.shop.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @ClassName StaffShopInfoGetVo
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/14 16:47
+ * @Version 1.0
+ */
+@Data
+public class StaffShopInfoGetVo {
+
+
+    @ApiModelProperty(value = "今日预约")
+    private Integer todayReservation;
+
+    @ApiModelProperty(value = "待处理订单")
+    private Integer unHandleOrder;
+
+    @ApiModelProperty(value = "合作商跟进任务")
+    private Integer shopTask;
+
+    @ApiModelProperty(value = "店铺营业额")
+    private BigDecimal shopTurnover;
+
+    @ApiModelProperty(value = "剩余周期人数")
+    private Integer cycleSurp;
+
+    @ApiModelProperty(value = "剩余体验人数")
+    private Integer explorationSurp;
+
+    @ApiModelProperty(value = "区域会员新增")
+    private Integer newAreaMember;
+
+    @ApiModelProperty(value = "区域营业额")
+    private BigDecimal areaTurnover;
+
+    @ApiModelProperty(value = "商户id")
+    private Long shopId;
+
+    @ApiModelProperty(value="商户名称")
+    private String shopName;
+
+    @ApiModelProperty(value="商户封面")
+    private String shopPicture;
+
+    @ApiModelProperty(value="营业开始时间")
+    private String businessStartTime;
+
+    @ApiModelProperty(value="营业结束时间")
+    private String businessEndTime;
+
+    @ApiModelProperty(value="店主姓名")
+    private String shopownerName;
+
+    @ApiModelProperty(value="店主联系方式")
+    private String shopownerPhone;
+
+    @ApiModelProperty(value="额外联系人")
+    private List<ExtendContactsVo> extendContactsVoList;
+
+    @ApiModelProperty(value="店铺地址")
+    private String shopAddress;
+
+    @ApiModelProperty(value = "店铺设置状态")
+    private String shopCustomStatus;
+
+    @ApiModelProperty(value="商户标签")
+    private String shopTags;
+
+    @ApiModelProperty(value="扶持能力1.有2.没有")
+    private Integer supportingCapacityFlag;
+
+    @ApiModelProperty(value="店面操作人数1.1人2.1人以上")
+    private Integer operationPersonFlag;
+
+    @ApiModelProperty(value="执行力1.强2.弱")
+    private Integer executiveForceFlag;
+
+    @ApiModelProperty(value="格局1.大2.小")
+    private Integer patternFlag;
+
+    @ApiModelProperty(value="人脉1.宽2.窄")
+    private Integer connectionFlag;
+
+    @ApiModelProperty(value="经济能力1.强2.差")
+    private Integer economicAbilityFlag;
+
+    @ApiModelProperty(value="与合作商关系1.好2.差")
+    private Integer relationPartner;
+
+    @ApiModelProperty(value="曾从事事业")
+    private String businessHistory;
+
+    @ApiModelProperty(value="冻结状态0解冻1冻结")
+    private Integer frozenFlag;
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopInfoVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopInfoVo.java
deleted file mode 100644
index 539f4e2..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopInfoVo.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.ruoyi.shop.domain.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.Date;
-
-@Data
-public class StaffShopInfoVo {
-    @ApiModelProperty(value = "商户id")
-    private Long shopId;
-
-    @ApiModelProperty(value="商户名称")
-    private String shopName;
-
-    @ApiModelProperty(value="店铺区域全称")
-    private String shopAreaName;
-
-    @ApiModelProperty(value="店铺详细地址")
-    private String shopAddress;
-
-    @ApiModelProperty(value="店主姓名")
-    private String shopownerName;
-
-    @ApiModelProperty(value="联系电话")
-    private String shopownerPhone;
-
-    @ApiModelProperty(value="合作期限")
-    private Date cooperationEndTime;
-
-    @ApiModelProperty(value="所属经销商")
-    private String belongShopName;
-}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopPageVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopPageVo.java
new file mode 100644
index 0000000..d2df932
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopPageVo.java
@@ -0,0 +1,42 @@
+package com.ruoyi.shop.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName StaffShopPageVo
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/14 15:12
+ * @Version 1.0
+ */
+@Data
+public class StaffShopPageVo {
+
+    @ApiModelProperty(value = "商户id")
+    private Long shopId;
+
+    @ApiModelProperty(value="商户名称")
+    private String shopName;
+
+    @ApiModelProperty(value="店铺地址")
+    private String shopAddress;
+
+    @ApiModelProperty(value="店主姓名")
+    private String shopownerName;
+
+    @ApiModelProperty(value="店主联系方式")
+    private String shopownerPhone;
+
+    @ApiModelProperty(value="合作期限")
+    private String cooperationTime;
+
+    @ApiModelProperty(value="商户封面")
+    private String shopPicture;
+
+    @ApiModelProperty(value="所属经销商")
+    private String belongShopName;
+
+    @ApiModelProperty(value="商户状态")
+    private Integer shopStatus;
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopSimpleTotalVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopSimpleTotalVo.java
new file mode 100644
index 0000000..81047bd
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopSimpleTotalVo.java
@@ -0,0 +1,24 @@
+package com.ruoyi.shop.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName StaffShopSimpleTotalVo
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/14 15:49
+ * @Version 1.0
+ */
+@Data
+public class StaffShopSimpleTotalVo {
+
+    @ApiModelProperty(value = "总数")
+    private Integer shopTotal;
+
+    @ApiModelProperty(value = "准店铺")
+    private Integer closeTotal;
+
+    @ApiModelProperty(value = "开业中")
+    private Integer openTotal;
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopTaskPageVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopTaskPageVo.java
new file mode 100644
index 0000000..708da88
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopTaskPageVo.java
@@ -0,0 +1,46 @@
+package com.ruoyi.shop.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @ClassName StaffShopTaskPageVo
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/15 14:44
+ * @Version 1.0
+ */
+@Data
+public class StaffShopTaskPageVo {
+
+    @ApiModelProperty(value = "任务id")
+    private String taskId;
+
+    @ApiModelProperty(value = "任务时间")
+    private String taskDate;
+
+    @ApiModelProperty(value="任务内容")
+    private String taskContent;
+
+    @ApiModelProperty(value="紧急情况")
+    private String emergencyState;
+
+    @ApiModelProperty(value="今日标记")
+    private Integer todayFlag;
+
+    @ApiModelProperty(value = "用户id")
+    private Long userId;
+
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+
+    @ApiModelProperty(value = "用户头像")
+    private String userPicture;
+
+    @ApiModelProperty(value="跟进时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date followTime;
+}
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 8f3a7af..2ccd4a4 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
@@ -23,6 +23,15 @@
  * @since 2023-04-25
  */
 public interface ShopMapper extends BaseMapper<Shop> {
+    
+    /**
+     * @description  
+     * @author  jqs
+     * @date    2023/7/15 10:39
+     * @param shop
+     * @return  int
+     */
+    int updateShop(Shop shop);
     /**
      * 分页获取商户
      * @param page
@@ -192,4 +201,41 @@
      * @return  List<MgtMapIntTotalVo>
      */
     List<MgtMapIntTotalVo> listShopRecommendRank(@Param("param")MgtBasePlatformDto mgtBasePlatformDto);
+
+    /**
+     * @description  员工端获取商户列表
+     * @author  jqs
+     * @date    2023/7/14 15:26
+     * @param page
+     * @param staffShopPageDto
+     * @return  List<StaffShopPageVo>
+     */
+    List<StaffShopPageVo> pageStaffShop(Page page, @Param("param")StaffShopPageDto staffShopPageDto);
+
+    /**
+     * @description  获取员工端商户数量统计
+     * @author  jqs
+     * @date    2023/7/14 15:51
+     * @param userIdList
+     * @return  StaffShopSimpleTotalVo
+     */
+    StaffShopSimpleTotalVo getStaffSimpleTotal(@Param("userIdList")List<Long> userIdList);
+
+    /**
+     * @description  获取员工端商户数量统计
+     * @author  jqs
+     * @date    2023/7/14 18:18
+     * @param userIdList
+     * @return  StaffHomeShopTotalVo
+     */
+    StaffHomeShopTotalVo getStaffHomeTotal(@Param("userIdList")List<Long> userIdList);
+
+    /**
+     * @description  更新扩展联系人
+     * @author  jqs
+     * @date    2023/7/15 11:12
+     * @param shop
+     * @return  void
+     */
+    void updateExtendContacts(Shop shop);
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/AgencyTaskRecordMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/AgencyTaskRecordMapper.java
index 188fedc..913d487 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/AgencyTaskRecordMapper.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/AgencyTaskRecordMapper.java
@@ -5,9 +5,11 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.shop.domain.dto.MerAgencyTaskPageDto;
 import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto;
+import com.ruoyi.shop.domain.dto.StaffAgencyPageDto;
 import com.ruoyi.shop.domain.pojo.task.AgencyTaskRecord;
 import com.ruoyi.shop.domain.vo.MerAgencyTaskRecordPageVo;
 import com.ruoyi.shop.domain.vo.MgtAgencyTaskRecordPageVo;
+import com.ruoyi.shop.domain.vo.StaffAgencyTaskRecordPageVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -34,4 +36,16 @@
      * @return
      */
     List<MgtAgencyTaskRecordPageVo> pageMgtAgencyFollow(@Param("param")MgtShopTaskPageDto mgtShopTaskPageDto);
+
+    /**
+     * @description  员工端分页获取经销商跟进任务记录列表
+     * @author  jqs
+     * @date    2023/7/14 19:24
+     * @param page
+     * @param staffAgencyPageDto
+     * @return  List<StaffAgencyTaskRecordPageVo>
+     */
+    List<StaffAgencyTaskRecordPageVo> pageStaffAgencyTaskRecord(Page page, @Param("param")StaffAgencyPageDto staffAgencyPageDto);
+
+
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java
index 4229f77..b74bd7a 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java
@@ -30,7 +30,7 @@
 
 
     /**
-     * @description  获取进行中任务数
+     * @description  商户端获取进行中任务数
      * @author  jqs
      * @date    2023/6/26 13:45
      * @param shopId
@@ -48,5 +48,5 @@
      */
     MemberTaskSimpleVo getLastMemberTask(@Param("userId")Long userId);
 
-    Integer getMembersIngTotal(List<Long> shopIds);
+
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskMapper.java
index a79ab8e..eede950 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskMapper.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskMapper.java
@@ -1,10 +1,10 @@
 package com.ruoyi.shop.mapper.task;
 
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto;
-import com.ruoyi.shop.domain.pojo.task.ShopTask;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.shop.domain.dto.StaffShopTaskPageDto;
+import com.ruoyi.shop.domain.pojo.task.ShopTask;
+import com.ruoyi.shop.domain.vo.StaffShopTaskPageVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -19,5 +19,22 @@
  */
 public interface ShopTaskMapper extends BaseMapper<ShopTask> {
 
+    /**
+     * @description  员工端获取进行中商户任务数
+     * @author  jqs
+     * @param shopIds
+     * @return  Integer
+     */
+    Integer getShopIngTotal(@Param("shopIds") List<Long> shopIds);
 
+
+    /**
+     * @description  分页获取员工跟进任务
+     * @author  jqs
+     * @date    2023/7/15 15:09
+     * @param page
+     * @param staffShopTaskPageDto
+     * @return  List<StaffShopTaskPageVo>
+     */
+    List<StaffShopTaskPageVo> pageStaffShopTask(Page page, @Param("param")StaffShopTaskPageDto staffShopTaskPageDto);
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskRecordMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskRecordMapper.java
index ad221a9..0bc7bdc 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskRecordMapper.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskRecordMapper.java
@@ -1,9 +1,12 @@
 package com.ruoyi.shop.mapper.task;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto;
+import com.ruoyi.shop.domain.dto.StaffShopTaskPageDto;
 import com.ruoyi.shop.domain.pojo.task.ShopTaskRecord;
 import com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo;
+import com.ruoyi.shop.domain.vo.StaffMyShopTaskRecordPageVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -24,4 +27,24 @@
      * @return
      */
     List<MgtShopTaskRecordPageVo> pageMgtShopFollow(@Param("param") MgtShopTaskPageDto mgtShopTaskPageDto);
+
+    /**
+     * @description  员工端分页获取我的跟进任务记录列表
+     * @author  jqs
+     * @date    2023/7/14 19:40
+     * @param page
+     * @param staffShopTaskPageDto
+     * @return  List<StaffMyShopTaskRecordPageVo>
+     */
+    List<StaffMyShopTaskRecordPageVo> pageStaffMyShopTaskRecord(Page page, @Param("param")StaffShopTaskPageDto staffShopTaskPageDto);
+
+    /**
+     * @description  员工端分页获取商户跟进任务记录列表
+     * @author  jqs
+     * @date    2023/7/15 17:05
+     * @param page
+     * @param staffShopTaskPageDto
+     * @return  List<StaffMyShopTaskRecordPageVo>
+     */
+    List<StaffMyShopTaskRecordPageVo> pageStaffShopTaskRecord(Page page,  @Param("param")StaffShopTaskPageDto staffShopTaskPageDto);
 }
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 e268b21..1eb0023 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
@@ -1,5 +1,6 @@
 package com.ruoyi.shop.service.impl.shop;
 
+import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -18,6 +19,7 @@
 import com.ruoyi.shop.service.shop.*;
 import com.ruoyi.shop.service.task.MemberTaskService;
 import com.ruoyi.shop.service.task.ShopFileService;
+import com.ruoyi.shop.service.task.ShopTaskService;
 import com.ruoyi.system.api.constant.AppErrorConstant;
 import com.ruoyi.system.api.domain.dto.*;
 import com.ruoyi.system.api.domain.poji.config.SysTag;
@@ -99,10 +101,10 @@
     private ShopTransferRecordService shopTransferRecordService;
 
     @Resource
-    private RemoteUserService remoteUserService;
+    private RemoteSysStaffService remoteSysStaffService;
 
     @Resource
-    private RemoteSysStaffService remoteSysStaffService;
+    private ShopTaskService shopTaskService;
 
     /**
      * 获取商户详情
@@ -200,6 +202,7 @@
             shop.setCreateUserId(mgtEditShopDto.getUserId());
             shop.setFrozenFlag(0);
             shop.setCooperativeFlag(0);
+            shop.setAuthFlag(0);
             newShop = true;
         }
         BeanUtils.copyProperties(mgtEditShopDto,shop);
@@ -380,18 +383,55 @@
                  throw new ServiceException(AppErrorConstant.COOPERATION_TIME_ERROR);
             }*/
             shop.setCooperativeFlag(1);
-            if(shop.getShopStatus()==2&&shop.getFrozenFlag()==0){
-                shop.setShopStatus(1);
-            }else if(shop.getShopStatus()==2&&shop.getFrozenFlag()==1){
-                shop.setShopStatus(0);
-            }
         }else{
             shop.setCooperativeFlag(0);
-            shop.setShopStatus(2);
         }
+        shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag()));
         shop.setUpdateTime(new Date());
         shop.setUpdateUserId(mgtTerminateCooperationDto.getUserId());
         this.saveOrUpdate(shop);
+    }
+
+    /**
+     * @description  冻结商户
+     * @author  jqs
+     * @date    2023/7/15 13:56
+     * @param mgtFrozenShopDto
+     * @return  void
+     */
+    @Override
+    public void frozenMgtShop(MgtFrozenShopDto mgtFrozenShopDto){
+        Shop shop = this.getById(mgtFrozenShopDto.getShopId());
+        if(mgtFrozenShopDto.getFrozenFlag()==1){
+            shop.setFrozenFlag(1);
+        }else{
+            shop.setFrozenFlag(0);
+        }
+        shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag()));
+    }
+
+    /**
+     * @description  处理商户状态
+     * @author  jqs
+     * @date    2023/7/15 14:09
+     * @param
+     * @return  Integer
+     */
+    private Integer handelShopStatus(Integer frozenFlag, Integer cooperativeFlag, Integer authFlag){
+        Integer shopStatus = 1;
+        if(frozenFlag == 1){
+            shopStatus = 0;
+            return shopStatus;
+        }
+        if(authFlag == 0){
+            shopStatus = 3;
+            return shopStatus;
+        }
+        if(cooperativeFlag == 0){
+            shopStatus = 2;
+            return shopStatus;
+        }
+        return shopStatus;
     }
 
 
@@ -670,37 +710,31 @@
      * @return
      */
     @Override
-    public MerHomeShopTotalVo getStaffHomeTotal(Long userId){
+    public StaffHomeShopTotalVo getStaffHomeTotal(Long userId){
         List<Long> userIds = null;
         List<Long> shopIds = null;
         //如果是leader 查询leader下面所有的员工下的所有shopId
         if(remoteSysStaffService.isLeader()){
-            Long deptId = sysUserService.getSysUser(userId).getData().getDeptId();
-            userIds = remoteSysStaffService.getUserIds(deptId).getData();
+            userIds = sysUserService.getUserIdsByDept(userId).getData();
             //根据用户所有id查询关联的商户id
             MgtBasePlatformDto mgtBasePlatformDto = new MgtBasePlatformDto();
             mgtBasePlatformDto.setUserIdList(userIds);
             shopIds = shopMapper.listShopIdByTotal(mgtBasePlatformDto);
+            Shop shop = this.getShopByBelongUserId(userId);
+            shopIds.add(shop.getShopId());
         }else {
             //普通员工查询商户归属的shopId
-            MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto();
-            mgtShopIdByCodeDto.setBelongUserId(userId);
-            shopIds = shopMapper.getShopIdByCode(mgtShopIdByCodeDto);
+            Shop shop = this.getShopByBelongUserId(userId);
+            shopIds.add(shop.getShopId());
         }
-            //分别查询
-            MerHomeShopTotalVo merHomeShopTotalVo = new MerHomeShopTotalVo();
-            merHomeShopTotalVo.setShopIds(shopIds);
-            MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData();
-            merHomeShopTotalVo.setTodayShop(null!=orderVo?orderVo.getTodayShop():0);
-            merHomeShopTotalVo.setUnHandleOrder(null!=orderVo?orderVo.getUnHandleOrder():0);
-            merHomeShopTotalVo.setShopTurnover(null!=orderVo?orderVo.getShopTurnover():BigDecimal.ZERO);
-            ShopTotal shopTotal = shopTotalService.shopsTotalByIds(shopIds);
-            merHomeShopTotalVo.setCycleSurp(null!=shopTotal?shopTotal.getUseableCyclePerson():0);
-            merHomeShopTotalVo.setExplorationSurp(null!=shopTotal?shopTotal.getUseableExperiencePerson():0);
-            Integer taskCount = memberTaskService.getMembersIngTotal(shopIds);
-            merHomeShopTotalVo.setTask(taskCount);
-            return merHomeShopTotalVo;
-        }
+        //分别查询
+        StaffHomeShopTotalVo staffHomeShopTotalVo = shopMapper.getStaffHomeTotal(shopIds);
+        Integer shopTaskCount = shopTaskService.getShopIngTotal(shopIds);
+        staffHomeShopTotalVo.setFollowMember(0);
+        staffHomeShopTotalVo.setNewMember(0);
+        staffHomeShopTotalVo.setShopTask(shopTaskCount);
+        return staffHomeShopTotalVo;
+    }
     /**
      * 获取商户端
      * @param userId
@@ -1058,4 +1092,198 @@
                 }).collect(Collectors.toList());
         return simpleShopVoList;
     }
+
+    /**
+     * @description  获取用户管理商户
+     * @author  jqs
+     * @date    2023/7/14 10:00
+     * @param userId
+     * @return  Shop
+     */
+    @Override
+    public Shop getShopByBelongUserId(Long userId){
+        LambdaQueryWrapper<Shop> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(Shop::getDelFlag,0);
+        queryWrapper.eq(Shop::getBelongUserId,userId);
+        return this.getOne(queryWrapper,false);
+    }
+
+    /**
+     * @description  员工端获取商户列表
+     * @author  jqs
+     * @date    2023/7/14 15:26
+     * @param page
+     * @param staffShopPageDto
+     * @return  List<StaffShopPageVo>
+     */
+    @Override
+    public List<StaffShopPageVo> pageStaffShop(Page page, StaffShopPageDto staffShopPageDto){
+        List<StaffShopPageVo> staffShopPageVoList = shopMapper.pageStaffShop(page, staffShopPageDto);
+        return staffShopPageVoList;
+    }
+
+    /**
+     * @description  获取员工端商户数量统计
+     * @author  jqs
+     * @date    2023/7/14 15:51
+     * @param userId
+     * @return  StaffShopSimpleTotalVo
+     */
+    @Override
+    public StaffShopSimpleTotalVo getStaffSimpleTotal(Long userId){
+        List<Long> userIdList = null;
+        if(remoteSysStaffService.isLeader()){
+            userIdList = sysUserService.getUserIdsByDept(userId).getData();
+            userIdList.add(userId);
+        }else {
+            userIdList.add(userId);
+        }
+        return shopMapper.getStaffSimpleTotal(userIdList);
+    }
+
+    /**
+     * @description  员工端获取商户详情
+     * @author  jqs
+     * @date    2023/7/14 18:32
+     * @param shopId
+     * @return  StaffShopInfoGetVo
+     */
+    @Override
+    public StaffShopInfoGetVo getStaffShopInfo(Long shopId) {
+        // 创建员工商店信息对象
+        StaffShopInfoGetVo staffShopInfoGetVo = new StaffShopInfoGetVo();
+        // 通过商店ID获取商店信息
+        Shop shop = this.getByShopId(shopId);
+        // 获取商店文件列表
+        List<ShopFile> shopFileList = shopFileService.listShopFileByShopId(shopId);
+        // 初始化商店图片
+        String shopPicture = null;
+        // 遍历商店文件列表,获取商店图片
+        if (shopFileList != null && !shopFileList.isEmpty()) {
+            for (ShopFile shopFile : shopFileList) {
+                if (shopFile.getFileType() == 1) {
+                    shopPicture = shopFile.getFileUrl();
+                    break;
+                }
+            }
+        }
+        // 创建商店总览对象,并设置商店ID
+        MerHomeShopTotalVo merHomeShopTotalVo = new MerHomeShopTotalVo();
+        merHomeShopTotalVo.setShopId(shopId);
+        // 通过远程订单服务获取商店总览信息
+        MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData();
+        // 获取商店总计信息
+        ShopTotal shopTotal = shopTotalService.getById(shopId);
+        // 获取商店任务计数
+        Integer taskCount = memberTaskService.getMemberIngTotal(shopId);
+        // 设置员工商店信息对象的属性
+        staffShopInfoGetVo.setTodayReservation(0);
+        staffShopInfoGetVo.setUnHandleOrder(orderVo.getUnHandleOrder());
+        staffShopInfoGetVo.setShopTask(taskCount);
+        staffShopInfoGetVo.setShopTurnover(orderVo.getShopTurnover());
+        staffShopInfoGetVo.setCycleSurp(shopTotal.getUseableCyclePerson());
+        staffShopInfoGetVo.setExplorationSurp(shopTotal.getUseableExperiencePerson());
+        staffShopInfoGetVo.setShopId(shopId);
+        staffShopInfoGetVo.setShopName(shop.getShopName());
+        staffShopInfoGetVo.setShopPicture(shopPicture);
+        staffShopInfoGetVo.setBusinessStartTime(shop.getBusinessStartTime());
+        staffShopInfoGetVo.setBusinessEndTime(shop.getBusinessEndTime());
+        staffShopInfoGetVo.setShopownerName(shop.getShopownerName());
+        staffShopInfoGetVo.setShopownerPhone(shop.getShopownerPhone());
+        staffShopInfoGetVo.setShopAddress(shop.getShopAreaName() + shop.getShopAddress());
+        staffShopInfoGetVo.setShopCustomStatus(shop.getShopCustomStatus());
+        staffShopInfoGetVo.setShopTags(shop.getShopTags());
+        staffShopInfoGetVo.setSupportingCapacityFlag(shop.getSupportingCapacityFlag());
+        staffShopInfoGetVo.setOperationPersonFlag(shop.getOperationPersonFlag());
+        staffShopInfoGetVo.setExecutiveForceFlag(shop.getExecutiveForceFlag());
+        staffShopInfoGetVo.setPatternFlag(shop.getPatternFlag());
+        staffShopInfoGetVo.setConnectionFlag(shop.getConnectionFlag());
+        staffShopInfoGetVo.setEconomicAbilityFlag(shop.getEconomicAbilityFlag());
+        staffShopInfoGetVo.setRelationPartner(shop.getRelationPartner());
+        staffShopInfoGetVo.setBusinessHistory(shop.getBusinessHistory());
+        staffShopInfoGetVo.setNewAreaMember(0);
+        staffShopInfoGetVo.setAreaTurnover(BigDecimal.ZERO);
+        staffShopInfoGetVo.setFrozenFlag(shop.getFrozenFlag());
+        // 如果商店类型为1,则获取该商店ID列表的新区域成员和总订单金额
+        if (shop.getShopType() == 1) {
+            List<Long> shopIdList = this.listShopIdByShopId(shop.getShopId());
+            if (shopIdList != null && !shopIdList.isEmpty()) {
+                Integer count = remoteMemberService.getAreaNewMember(shopIdList).getData();
+                staffShopInfoGetVo.setNewAreaMember(count);
+                ShopTotal shopTotalAll = shopTotalService.shopsTotalByIds(shopIdList);
+                staffShopInfoGetVo.setAreaTurnover(shopTotalAll.getTotalOrderMoney());
+            }
+        }
+        // 如果商店的扩展联系方式不为空,则设置员工商店信息对象的扩展联系方式列表
+        String extendContacts = shop.getExtendContacts();
+        if (StringUtils.isNotBlank(extendContacts)) {
+            List<ExtendContactsVo> extendContactsVoList = JSON.parseArray(extendContacts, ExtendContactsVo.class);
+            staffShopInfoGetVo.setExtendContactsVoList(extendContactsVoList);
+        }
+        // 返回员工商店信息对象
+        return staffShopInfoGetVo;
+    }
+
+    /**
+     * @description  修改商户评估
+     * @author  jqs
+     * @date    2023/7/15 10:18
+     * @param staffShopEstimateEditDto
+     * @return  void
+     */
+    @Override
+    public void editShopEstimate(StaffShopEstimateEditDto staffShopEstimateEditDto){
+        Shop shop = new Shop();
+        shop.setShopId(staffShopEstimateEditDto.getShopId());
+        shop.setSupportingCapacityFlag(staffShopEstimateEditDto.getSupportingCapacityFlag());
+        shop.setOperationPersonFlag(staffShopEstimateEditDto.getOperationPersonFlag());
+        shop.setExecutiveForceFlag(staffShopEstimateEditDto.getExecutiveForceFlag());
+        shop.setPatternFlag(staffShopEstimateEditDto.getPatternFlag());
+        shop.setConnectionFlag(staffShopEstimateEditDto.getConnectionFlag());
+        shop.setEconomicAbilityFlag(staffShopEstimateEditDto.getEconomicAbilityFlag());
+        shop.setRelationPartner(staffShopEstimateEditDto.getRelationPartner());
+        shop.setBusinessHistory(staffShopEstimateEditDto.getBusinessHistory());
+        shop.setUpdateUserId(staffShopEstimateEditDto.getUserId());
+        shop.setUpdateTime(new Date());
+        shopMapper.updateShop(shop);
+    }
+
+    /**
+     * @description  修改店铺扩展联系人
+     * @author  jqs
+     * @date    2023/7/15 11:06
+     * @param staffShopECEditDto
+     * @return  void
+     */
+    @Override
+    public void editExtendContacts(StaffShopECEditDto staffShopECEditDto){
+        Shop shop = new Shop();
+        String extendContacts = null;
+        List<ExtendContactsVo> extendContactsVoList = staffShopECEditDto.getExtendContactsVoList();
+        if(extendContactsVoList!=null&&!extendContactsVoList.isEmpty()){
+            extendContacts = JSON.toJSONString(extendContactsVoList);
+        }
+        shop.setExtendContacts(extendContacts);
+        shop.setShopId(staffShopECEditDto.getShopId());
+        shop.setUpdateUserId(staffShopECEditDto.getUserId());
+        shop.setUpdateTime(new Date());
+        shopMapper.updateExtendContacts(shop);
+    }
+
+    /**
+     * @description  修改店铺状态
+     * @author  jqs
+     * @date    2023/7/15 11:51
+     * @param staffShopCCEditDto
+     * @return  void
+     */
+    @Override
+    public void editShopCustomStatus(StaffShopCCEditDto staffShopCCEditDto){
+        Shop shop = new Shop();
+        shop.setShopCustomStatus(staffShopCCEditDto.getShopCustomStatus());
+        shop.setShopId(staffShopCCEditDto.getShopId());
+        shop.setUpdateUserId(staffShopCCEditDto.getUserId());
+        shop.setUpdateTime(new Date());
+        shopMapper.updateShop(shop);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java
index e189c4a..5379e85 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java
@@ -5,10 +5,12 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.shop.domain.dto.MerAgencyTaskPageDto;
 import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto;
+import com.ruoyi.shop.domain.dto.StaffAgencyPageDto;
 import com.ruoyi.shop.domain.pojo.task.AgencyTaskRecord;
 import com.ruoyi.shop.domain.pojo.task.TaskFile;
 import com.ruoyi.shop.domain.vo.MerAgencyTaskRecordPageVo;
 import com.ruoyi.shop.domain.vo.MgtAgencyTaskRecordPageVo;
+import com.ruoyi.shop.domain.vo.StaffAgencyTaskRecordPageVo;
 import com.ruoyi.shop.mapper.task.AgencyTaskRecordMapper;
 import com.ruoyi.shop.service.task.AgencyTaskRecordService;
 import com.ruoyi.shop.service.task.TaskFileService;
@@ -121,4 +123,54 @@
         }
         return mgtAgencyTaskRecordPageVoList;
     }
+
+    /**
+     * @description  员工端分页获取经销商跟进任务记录列表
+     * @author  jqs
+     * @date    2023/7/14 19:24
+     * @param page
+     * @param staffAgencyPageDto
+     * @return  List<StaffAgencyTaskRecordPageVo>
+     */
+    @Override
+    public List<StaffAgencyTaskRecordPageVo> pageStaffAgencyTaskRecord(Page page, StaffAgencyPageDto staffAgencyPageDto){
+        List<StaffAgencyTaskRecordPageVo> agencyTaskRecordPageVoList = agencyTaskRecordMapper.pageStaffAgencyTaskRecord(page, staffAgencyPageDto);
+        if(agencyTaskRecordPageVoList!=null&&!agencyTaskRecordPageVoList.isEmpty()){
+            Long followId;
+            List<TaskFile> taskFileList;
+            List<String> picture = new ArrayList<>();
+            List<String> video = new ArrayList<>();
+            List<String> audio = new ArrayList<>();
+            Long userId;
+            SysUser sysUser;
+            for(StaffAgencyTaskRecordPageVo staffAgencyTaskRecordPageVo : agencyTaskRecordPageVoList){
+                //获取任务用户信息
+                userId = staffAgencyTaskRecordPageVo.getUserId();
+                sysUser = remoteUserService.getSysUser(userId).getData();
+                staffAgencyTaskRecordPageVo.setUserName(sysUser.getNickName());
+                staffAgencyTaskRecordPageVo.setUserPicture(sysUser.getAvatar());
+                //获取任务详情文件
+                followId = staffAgencyTaskRecordPageVo.getFollowId();
+                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,1);
+                if(taskFileList!=null&&!taskFileList.isEmpty()){
+                    picture = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
+                }
+                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,2);
+                if(taskFileList!=null&&!taskFileList.isEmpty()){
+                    video = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
+                }
+                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,3);
+                if(taskFileList!=null&&!taskFileList.isEmpty()){
+                    audio = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
+                }
+                staffAgencyTaskRecordPageVo.setPicture(picture);
+                staffAgencyTaskRecordPageVo.setVideo(video);
+                staffAgencyTaskRecordPageVo.setAudio(audio);
+            }
+        }
+
+        return agencyTaskRecordPageVoList;
+    }
+
+
 }
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 3dae1f3..5d26bdc 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
@@ -213,10 +213,7 @@
         return memberTaskMapper.getMemberIngTotal(shopId);
     }
 
-    @Override
-    public Integer getMembersIngTotal(List<Long> shopIds) {
-        return memberTaskMapper.getMembersIngTotal(shopIds);
-    }
+
 
     /**
      * @description  获取最近任务
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskRecordServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskRecordServiceImpl.java
index 6ad00c5..2917a4c 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskRecordServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskRecordServiceImpl.java
@@ -1,10 +1,13 @@
 package com.ruoyi.shop.service.impl.task;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto;
+import com.ruoyi.shop.domain.dto.StaffShopTaskPageDto;
 import com.ruoyi.shop.domain.pojo.task.ShopTaskRecord;
 import com.ruoyi.shop.domain.pojo.task.TaskFile;
 import com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo;
+import com.ruoyi.shop.domain.vo.StaffMyShopTaskRecordPageVo;
 import com.ruoyi.shop.mapper.task.ShopTaskRecordMapper;
 import com.ruoyi.shop.service.task.ShopTaskRecordService;
 import com.ruoyi.shop.service.task.TaskFileService;
@@ -80,6 +83,97 @@
         return mgtShopTaskRecordPageVoList;
     }
 
+    /**
+     * @description  员工端分页获取我的跟进任务记录列表
+     * @author  jqs
+     * @date    2023/7/14 19:40
+     * @param page
+     * @param staffShopTaskPageDto
+     * @return  List<StaffMyShopTaskRecordPageVo>
+     */
+    @Override
+    public List<StaffMyShopTaskRecordPageVo> pageStaffMyShopTaskRecord(Page page, StaffShopTaskPageDto staffShopTaskPageDto){
+        List<StaffMyShopTaskRecordPageVo> myShopTaskRecordPageVoList = shopTaskRecordMapper.pageStaffMyShopTaskRecord(page, staffShopTaskPageDto);
+        if(myShopTaskRecordPageVoList!=null&&!myShopTaskRecordPageVoList.isEmpty()){
+            Long followId;
+            List<TaskFile> taskFileList;
+            List<String> picture = new ArrayList<>();
+            List<String> video = new ArrayList<>();
+            List<String> audio = new ArrayList<>();
+            Long userId;
+            SysUser sysUser;
+            for(StaffMyShopTaskRecordPageVo staffMyShopTaskRecordPageVo : myShopTaskRecordPageVoList){
+                //获取任务用户信息
+                userId = staffMyShopTaskRecordPageVo.getUserId();
+                sysUser = remoteUserService.getSysUser(userId).getData();
+                staffMyShopTaskRecordPageVo.setUserName(sysUser.getNickName());
+                staffMyShopTaskRecordPageVo.setUserPicture(sysUser.getAvatar());
+                //获取任务详情文件
+                followId = staffMyShopTaskRecordPageVo.getFollowId();
+                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,1);
+                if(taskFileList!=null&&!taskFileList.isEmpty()){
+                    picture = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
+                }
+                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,2);
+                if(taskFileList!=null&&!taskFileList.isEmpty()){
+                    video = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
+                }
+                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,3);
+                if(taskFileList!=null&&!taskFileList.isEmpty()){
+                    audio = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
+                }
+                staffMyShopTaskRecordPageVo.setPicture(picture);
+                staffMyShopTaskRecordPageVo.setVideo(video);
+                staffMyShopTaskRecordPageVo.setAudio(audio);
+            }
+        }
+        return myShopTaskRecordPageVoList;
+    }
 
-
+    /**
+     * @description  员工端分页获取商户跟进任务记录列表
+     * @author  jqs
+     * @date    2023/7/15 17:05
+     * @param page
+     * @param staffShopTaskPageDto
+     * @return  List<StaffMyShopTaskRecordPageVo>
+     */
+    @Override
+    public List<StaffMyShopTaskRecordPageVo> pageStaffShopTaskRecord(Page page, StaffShopTaskPageDto staffShopTaskPageDto){
+        List<StaffMyShopTaskRecordPageVo> myShopTaskRecordPageVoList = shopTaskRecordMapper.pageStaffShopTaskRecord(page, staffShopTaskPageDto);
+        if(myShopTaskRecordPageVoList!=null&&!myShopTaskRecordPageVoList.isEmpty()){
+            Long followId;
+            List<TaskFile> taskFileList;
+            List<String> picture = new ArrayList<>();
+            List<String> video = new ArrayList<>();
+            List<String> audio = new ArrayList<>();
+            Long userId;
+            SysUser sysUser;
+            for(StaffMyShopTaskRecordPageVo staffMyShopTaskRecordPageVo : myShopTaskRecordPageVoList){
+                //获取任务用户信息
+                userId = staffMyShopTaskRecordPageVo.getUserId();
+                sysUser = remoteUserService.getSysUser(userId).getData();
+                staffMyShopTaskRecordPageVo.setUserName(sysUser.getNickName());
+                staffMyShopTaskRecordPageVo.setUserPicture(sysUser.getAvatar());
+                //获取任务详情文件
+                followId = staffMyShopTaskRecordPageVo.getFollowId();
+                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,1);
+                if(taskFileList!=null&&!taskFileList.isEmpty()){
+                    picture = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
+                }
+                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,2);
+                if(taskFileList!=null&&!taskFileList.isEmpty()){
+                    video = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
+                }
+                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,3);
+                if(taskFileList!=null&&!taskFileList.isEmpty()){
+                    audio = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
+                }
+                staffMyShopTaskRecordPageVo.setPicture(picture);
+                staffMyShopTaskRecordPageVo.setVideo(video);
+                staffMyShopTaskRecordPageVo.setAudio(audio);
+            }
+        }
+        return myShopTaskRecordPageVoList;
+    }
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java
index 102f604..86adad3 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java
@@ -1,25 +1,32 @@
 package com.ruoyi.shop.service.impl.task;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.shop.domain.dto.MgtFollowShopTaskDto;
+import com.ruoyi.shop.domain.dto.StaffAddTaskDto;
+import com.ruoyi.shop.domain.dto.StaffShopTaskPageDto;
 import com.ruoyi.shop.domain.pojo.task.ShopTask;
 import com.ruoyi.shop.domain.pojo.task.ShopTaskRecord;
 import com.ruoyi.shop.domain.pojo.task.TaskFile;
+import com.ruoyi.shop.domain.vo.StaffShopTaskPageVo;
 import com.ruoyi.shop.mapper.task.ShopTaskMapper;
 import com.ruoyi.shop.service.task.ShopTaskRecordService;
 import com.ruoyi.shop.service.task.ShopTaskService;
 import com.ruoyi.shop.service.task.TaskFileService;
+import com.ruoyi.system.api.domain.poji.sys.SysUser;
 import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
+import com.ruoyi.system.api.service.RemoteUserService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.text.ParseException;
 import java.time.LocalDate;
 import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -32,6 +39,8 @@
 @Service
 public class ShopTaskServiceImpl extends ServiceImpl<ShopTaskMapper, ShopTask> implements ShopTaskService {
 
+    @Resource
+    private ShopTaskMapper shopTaskMapper;
 
     @Resource
     private ShopTaskRecordService shopTaskRecordService;
@@ -39,7 +48,8 @@
     @Resource
     private TaskFileService taskFileService;
 
-
+    @Resource
+    private RemoteUserService remoteUserService;
 
     /**
      * 平台跟进商户
@@ -53,7 +63,6 @@
         shopTask.setTaskId(taskId);
         shopTask.setDelFlag(0);
         shopTask.setShopId(mgtFollowShopTaskDto.getShopId());
-        shopTask.setFollowType(mgtFollowShopTaskDto.getFollowType());
         shopTask.setNextFollowDate(DateUtils.toDate(LocalDate.now()));
         shopTask.setTaskTitle(mgtFollowShopTaskDto.getTaskTitle());
         shopTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState());
@@ -67,6 +76,7 @@
         shopTaskRecord.setTaskId(taskId);
         shopTaskRecord.setUserId(mgtFollowShopTaskDto.getUserId());
         shopTaskRecord.setFollowType(2);
+        shopTaskRecord.setCustomFollowType(mgtFollowShopTaskDto.getFollowType());
         shopTaskRecord.setFollowContent(mgtFollowShopTaskDto.getFollowContent());
         shopTaskRecord.setCreateTime(new Date());
         shopTaskRecordService.saveOrUpdate(shopTaskRecord);
@@ -92,7 +102,6 @@
         shopNextTask.setTaskId(nextTaskId);
         shopNextTask.setDelFlag(0);
         shopNextTask.setShopId(mgtFollowShopTaskDto.getShopId());
-        shopNextTask.setFollowType(mgtFollowShopTaskDto.getFollowType());
         shopNextTask.setTaskTitle(mgtFollowShopTaskDto.getNextTaskTitle());
         shopNextTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState());
         shopNextTask.setCreateTime(new Date());
@@ -124,4 +133,52 @@
         mgtBulletinBoardVo.setFollowShopToday(followShopToday);
         return mgtBulletinBoardVo;
     }
+
+    /**
+     * @description  员工端获取进行中商户任务数
+     * @author  jqs
+     * @param shopIds
+     * @return  Integer
+     */
+    @Override
+    public Integer getShopIngTotal(List<Long> shopIds){
+        return shopTaskMapper.getShopIngTotal(shopIds);
+    }
+
+    /**
+     * @description  分页获取员工跟进任务
+     * @author  jqs
+     * @date    2023/7/15 15:09
+     * @param page
+     * @param staffShopTaskPageDto
+     * @return  List<StaffShopTaskPageVo>
+     */
+    @Override
+    public List<StaffShopTaskPageVo> pageStaffShopTask(Page page, StaffShopTaskPageDto staffShopTaskPageDto){
+        List<StaffShopTaskPageVo> shopTaskPageVoList = shopTaskMapper.pageStaffShopTask(page, staffShopTaskPageDto);
+        if(shopTaskPageVoList!=null&&shopTaskPageVoList.size()>0){
+            Long userId;
+            SysUser sysUser;
+            for(StaffShopTaskPageVo staffShopTaskPageVo : shopTaskPageVoList){
+                //获取任务用户信息
+                userId = staffShopTaskPageVo.getUserId();
+                sysUser = remoteUserService.getSysUser(userId).getData();
+                staffShopTaskPageVo.setUserName(sysUser.getNickName());
+                staffShopTaskPageVo.setUserPicture(sysUser.getAvatar());
+            }
+        }
+        return shopTaskPageVoList;
+    }
+
+    /**
+     * @description  员工端新增任务
+     * @author  jqs
+     * @date    2023/7/15 19:06
+     * @param staffAddTaskDto
+     * @return  void
+     */
+    @Override
+    public void staffAddTask(StaffAddTaskDto staffAddTaskDto){
+        ShopTask shopTask = new ShopTask();
+    }
 }
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 afed314..b334032 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
@@ -54,6 +54,15 @@
     void terminateMgtCooperation(MgtTerminateCooperationDto mgtTerminateCooperationDto);
 
     /**
+     * @description  冻结商户
+     * @author  jqs
+     * @date    2023/7/15 13:56
+     * @param mgtFrozenShopDto
+     * @return  void
+     */
+    void frozenMgtShop(MgtFrozenShopDto mgtFrozenShopDto);
+
+    /**
      * 分页获取商户
      * @param page
      * @param mgtShopPageDto
@@ -98,7 +107,7 @@
     Shop getByShopId(Long shopId);
 
 
-    MerHomeShopTotalVo getStaffHomeTotal(Long userId);
+    StaffHomeShopTotalVo getStaffHomeTotal(Long userId);
 
     /**
      * 获取商户端首页统计
@@ -252,4 +261,68 @@
      * @return  List<MgtSimpleShopVo>
      */
     List<MgtSimpleShopVo> listShopByShop(Long shopId);
+
+    /**
+     * @description  获取用户管理商户
+     * @author  jqs
+     * @date    2023/7/14 10:00
+     * @param userId
+     * @return  Shop
+     */
+    Shop getShopByBelongUserId(Long userId);
+
+    /**
+     * @description  员工端获取商户列表
+     * @author  jqs
+     * @date    2023/7/14 15:26
+     * @param page
+     * @param staffShopPageDto
+     * @return  List<StaffShopPageVo>
+     */
+    List<StaffShopPageVo> pageStaffShop(Page page, StaffShopPageDto staffShopPageDto);
+
+    /**
+     * @description  获取员工端商户数量统计
+     * @author  jqs
+     * @date    2023/7/14 15:51
+     * @param userId
+     * @return  StaffShopSimpleTotalVo
+     */
+    StaffShopSimpleTotalVo getStaffSimpleTotal(Long userId);
+
+    /**
+     * @description  员工端获取商户详情
+     * @author  jqs
+     * @date    2023/7/14 18:32
+     * @param shopId
+     * @return  StaffShopInfoGetVo
+     */
+    StaffShopInfoGetVo getStaffShopInfo(Long shopId);
+
+    /**
+     * @description  修改商户评估
+     * @author  jqs
+     * @date    2023/7/15 10:18
+     * @param staffShopEstimateEditDto
+     * @return  void
+     */
+    void editShopEstimate(StaffShopEstimateEditDto staffShopEstimateEditDto);
+
+    /**
+     * @description  修改店铺扩展联系人
+     * @author  jqs
+     * @date    2023/7/15 11:06
+     * @param staffShopECEditDto
+     * @return  void
+     */
+    void editExtendContacts(StaffShopECEditDto staffShopECEditDto);
+
+    /**
+     * @description  修改店铺状态
+     * @author  jqs
+     * @date    2023/7/15 11:51
+     * @param staffShopCCEditDto
+     * @return  void
+     */
+    void editShopCustomStatus(StaffShopCCEditDto staffShopCCEditDto);
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/AgencyTaskRecordService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/AgencyTaskRecordService.java
index 67e3e8c..4ce77ea 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/AgencyTaskRecordService.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/AgencyTaskRecordService.java
@@ -5,9 +5,11 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.shop.domain.dto.MerAgencyTaskPageDto;
 import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto;
+import com.ruoyi.shop.domain.dto.StaffAgencyPageDto;
 import com.ruoyi.shop.domain.pojo.task.AgencyTaskRecord;
 import com.ruoyi.shop.domain.vo.MerAgencyTaskRecordPageVo;
 import com.ruoyi.shop.domain.vo.MgtAgencyTaskRecordPageVo;
+import com.ruoyi.shop.domain.vo.StaffAgencyTaskRecordPageVo;
 
 import java.util.List;
 
@@ -35,4 +37,16 @@
      * @return
      */
     List<MgtAgencyTaskRecordPageVo> pageMgtAgencyFollow(MgtShopTaskPageDto mgtShopTaskPageDto);
+
+    /**
+     * @description  员工端分页获取经销商跟进任务记录列表
+     * @author  jqs
+     * @date    2023/7/14 19:24
+     * @param page
+     * @param staffAgencyPageDto
+     * @return  List<StaffAgencyTaskRecordPageVo>
+     */
+    List<StaffAgencyTaskRecordPageVo> pageStaffAgencyTaskRecord(Page page, StaffAgencyPageDto staffAgencyPageDto);
+
+
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java
index 9add6bd..937c370 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java
@@ -62,11 +62,4 @@
      */
     MemberTaskSimpleVo getLastMemberTask(Long userId);
 
-    /**
-     * @description  员工端获取进行中任务数
-     * @author  jqs
-     * @param shopIds
-     * @return  Integer
-     */
-    Integer getMembersIngTotal(List<Long> shopIds);
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskRecordService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskRecordService.java
index 1123f30..1e1db32 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskRecordService.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskRecordService.java
@@ -1,9 +1,12 @@
 package com.ruoyi.shop.service.task;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto;
+import com.ruoyi.shop.domain.dto.StaffShopTaskPageDto;
 import com.ruoyi.shop.domain.pojo.task.ShopTaskRecord;
 import com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo;
+import com.ruoyi.shop.domain.vo.StaffMyShopTaskRecordPageVo;
 
 import java.util.List;
 
@@ -23,4 +26,24 @@
      * @return
      */
     List<MgtShopTaskRecordPageVo> pageMgtShopFollow(MgtShopTaskPageDto mgtShopTaskPageDto);
+
+    /**
+     * @description  员工端分页获取我的跟进任务记录列表
+     * @author  jqs
+     * @date    2023/7/14 19:40
+     * @param page
+     * @param staffShopTaskPageDto
+     * @return  List<StaffMyShopTaskRecordPageVo>
+     */
+    List<StaffMyShopTaskRecordPageVo> pageStaffMyShopTaskRecord(Page page, StaffShopTaskPageDto staffShopTaskPageDto);
+
+    /**
+     * @description  员工端分页获取商户跟进任务记录列表
+     * @author  jqs
+     * @date    2023/7/15 17:05
+     * @param page
+     * @param staffShopTaskPageDto
+     * @return  List<StaffMyShopTaskRecordPageVo>
+     */
+    List<StaffMyShopTaskRecordPageVo> pageStaffShopTaskRecord(Page page, StaffShopTaskPageDto staffShopTaskPageDto);
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java
index 4511459..1789e67 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java
@@ -1,9 +1,15 @@
 package com.ruoyi.shop.service.task;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.shop.domain.dto.MgtFollowShopTaskDto;
+import com.ruoyi.shop.domain.dto.StaffAddTaskDto;
+import com.ruoyi.shop.domain.dto.StaffShopTaskPageDto;
 import com.ruoyi.shop.domain.pojo.task.ShopTask;
+import com.ruoyi.shop.domain.vo.StaffShopTaskPageVo;
 import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
+
+import java.util.List;
 
 /**
  * <p>
@@ -29,4 +35,32 @@
     * @date 2023/6/18 17:09
     */
     MgtBulletinBoardVo boardTaskTotal();
+
+    /**
+     * @description  员工端获取进行中商户任务数
+     * @author  jqs
+     * @param shopIds
+     * @return  Integer
+     */
+    Integer getShopIngTotal(List<Long> shopIds);
+
+
+    /**
+     * @description  分页获取员工跟进任务
+     * @author  jqs
+     * @date    2023/7/15 15:09
+     * @param page
+     * @param staffShopTaskPageDto
+     * @return  List<StaffShopTaskPageVo>
+     */
+    List<StaffShopTaskPageVo> pageStaffShopTask(Page page, StaffShopTaskPageDto staffShopTaskPageDto);
+
+    /**
+     * @description  员工端新增任务
+     * @author  jqs
+     * @date    2023/7/15 19:06
+     * @param staffAddTaskDto
+     * @return  void
+     */
+    void staffAddTask(StaffAddTaskDto staffAddTaskDto);
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml
index def416e..5e8dd18 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
     nacos:
       discovery:
         # 服务注册地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
       config:
         # 配置中心地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
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 ddc4a28..d858f22 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
@@ -305,18 +305,12 @@
         WHEN 2 THEN "终止合作"
         END shopStatus,
         tsm.shop_marketing_total shopActivityCount,
-        ts.shop_custom_status shopCustomStatus
+        ts.shop_custom_status shopCustomStatus,
+        ts.frozen_flag frozenFlag,
+        ts.cooperative_flag cooperativeFlag
         FROM t_shop ts
         LEFT JOIN t_shop_marketing tsm ON tsm.shop_id = ts.shop_id
         WHERE ts.del_flag = 0
-
-        <if test="param.ids != null and !param.ids.isEmpty()">
-            AND ts.belong_user_id in
-            <foreach item="id" collection="param.ids" open="(" separator="," close=")">
-                #{id}
-            </foreach>
-        </if>
-
         <if test="param.shopType!=null and param.shopType!=''">
             AND ts.shop_type = #{param.shopType}
         </if>
@@ -580,7 +574,7 @@
         ts.shop_id
         FROM t_shop ts
         WHERE ts.del_flag = 0
-        <if test="param.userIdList!=null and param.userIdList!=''">
+        <if test="param.userIdList!=null and param.userIdList.size()>0">
             AND ts.belong_user_id IN
             <foreach collection="param.userIdList" item="item" open="(" separator="," close=")">
                 #{item}
@@ -608,7 +602,7 @@
         ts.shop_id
         FROM t_shop ts
         WHERE ts.del_flag = 0
-        <if test="param.userIdList!=null and param.userIdList!=''">
+        <if test="param.userIdList!=null and param.userIdList.size()>0">
             AND ts.belong_user_id IN
             <foreach collection="param.userIdList" item="item" open="(" separator="," close=")">
                 #{item}
@@ -632,7 +626,7 @@
         COUNT(ts.shop_id) mapValue
         FROM t_shop ts
         WHERE ts.del_flag = 0
-        <if test="param.userIdList!=null and param.userIdList!=''">
+        <if test="param.userIdList!=null and param.userIdList.size()>0">
             AND ts.belong_user_id IN
             <foreach collection="param.userIdList" item="item" open="(" separator="," close=")">
                 #{item}
@@ -662,7 +656,7 @@
         COUNT(ts.shop_id) mapValue
         FROM t_shop ts
         WHERE ts.del_flag = 0
-        <if test="param.userIdList!=null and param.userIdList!=''">
+        <if test="param.userIdList!=null and param.userIdList.size()>0">
             AND ts.belong_user_id IN
             <foreach collection="param.userIdList" item="item" open="(" separator="," close=")">
                 #{item}
@@ -692,7 +686,7 @@
         COUNT(ts.shop_id) mapValue
         FROM t_shop ts
         WHERE ts.del_flag = 0
-        <if test="param.userIdList!=null and param.userIdList!=''">
+        <if test="param.userIdList!=null and param.userIdList.size()>0">
             AND ts.belong_user_id IN
             <foreach collection="param.userIdList" item="item" open="(" separator="," close=")">
                 #{item}
@@ -724,7 +718,7 @@
         FROM t_shop ts
         INNER JOIN t_shop_total tst ON ts.shop_id = tst.shop_id
         WHERE ts.del_flag = 0
-        <if test="param.userIdList!=null and param.userIdList!=''">
+        <if test="param.userIdList!=null and param.userIdList.size()>0">
             AND ts.belong_user_id IN
             <foreach collection="param.userIdList" item="item" open="(" separator="," close=")">
                 #{item}
@@ -754,7 +748,7 @@
         COUNT(ts.shop_id) mapValue
         FROM t_shop ts
         WHERE ts.del_flag = 0
-        <if test="param.userIdList!=null and param.userIdList!=''">
+        <if test="param.userIdList!=null and param.userIdList.size()>0">
             AND ts.belong_user_id IN
             <foreach collection="param.userIdList" item="item" open="(" separator="," close=")">
                 #{item}
@@ -778,4 +772,119 @@
         GROUP BY ts.recommend_person
         ORDER BY COUNT(ts.shop_id) DESC
     </select>
+
+    <select id="pageStaffShop" resultType="com.ruoyi.shop.domain.vo.StaffShopPageVo">
+        SELECT
+        ts.shop_id shopId,
+        ts.sign_time signTime,
+        ts.shop_name shopName,
+        ts.shop_tags shopTags,
+        CONCAT(ts.cooperation_start_time,'-',ts.cooperation_end_time) cooperationTime,
+        CONCAT(ts.shop_area_name,ts.shop_address) shopAddress,
+        ts.shopowner_name shopownerName,
+        ts.shopowner_phone shopownerPhone,
+        ts.shop_status shopStatus,
+        tsf.file_url shopPicture,
+        tbs.shop_name belongShopName
+        FROM t_shop ts
+        LEFT JOIN t_shop_file tsf ON tsf.shop_id = ts.shop_id AND tsf.del_flag = 0 AND file_type = 1
+        LEFT JOIN t_shop tbs ON tbs.shop_id = ts.belong_shop_id AND tbs.del_flag = 0
+        WHERE ts.del_flag = 0
+        <if test="param.shopType!=null and param.shopType!=''">
+            AND ts.shop_type = #{param.shopType}
+        </if>
+        <if test="param.signStartTime!=null and param.signStartTime!=''">
+            AND ts.sign_time &gt;= #{param.signStartTime}
+        </if>
+        <if test="param.signEndTime!=null and param.signEndTime!=''">
+            AND ts.sign_time &lt;= #{param.signEndTime}
+        </if>
+        <if test="param.signProvinceCode!=null and param.signProvinceCode!=''">
+            AND ts.sign_province_code = #{param.signProvinceCode}
+        </if>
+        <if test="param.signCityCode!=null and param.signCityCode!=''">
+            AND ts.sign_city_code = #{param.signCityCode}
+        </if>
+        <if test="param.recommendPerson!=null and param.recommendPerson!=''">
+            AND ts.recommend_person = #{param.recommendPerson}
+        </if>
+        <if test="param.belongUserId!=null and param.belongUserId!=''">
+            AND ts.belong_user_id = #{param.belongUserId}
+        </if>
+        <if test="param.userIdList!=null and param.userIdList.size()>0">
+            AND ts.belong_user_id IN
+            <foreach item="id" collection="param.userIdList" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+        <if test="param.shopCustomStatus!=null and param.shopCustomStatus!=''">
+            AND FIND_IN_SET(#{param.shopCustomStatus},ts.shop_custom_status) &gt; 0
+        </if>
+        <if test="param.supportingCapacityFlag!=null and param.supportingCapacityFlag!=''">
+            AND ts.supporting_capacity_flag = #{param.supportingCapacityFlag}
+        </if>
+        <if test="param.operationPersonFlag!=null and param.operationPersonFlag!=''">
+            AND ts.operation_person_flag = #{param.operationPersonFlag}
+        </if>
+        <if test="param.executiveForceFlag!=null and param.executiveForceFlag!=''">
+            AND ts.executive_force_flag = #{param.executiveForceFlag}
+        </if>
+        <if test="param.patternFlag!=null and param.patternFlag!=''">
+            AND ts.pattern_flag = #{param.patternFlag}
+        </if>
+        <if test="param.connectionFlag!=null and param.connectionFlag!=''">
+            AND ts.connection_flag = #{param.connectionFlag}
+        </if>
+        <if test="param.economicAbilityFlag!=null and param.economicAbilityFlag!=''">
+            AND ts.economic_ability_flag = #{param.economicAbilityFlag}
+        </if>
+        <if test="param.relationPartner!=null and param.relationPartner!=''">
+            AND ts.relation_partner = #{param.relationPartner}
+        </if>
+        <if test="param.keyword!=null and param.keyword!=''">
+            AND (ts.shop_name LIKE CONCAT('%',#{param.keyword},'%') OR ts.shopowner_name LIKE CONCAT('%',#{param.keyword},'%')
+            OR ts.shopowner_phone LIKE CONCAT('%',#{param.keyword},'%') OR ts.shop_number LIKE CONCAT('%',#{param.keyword},'%')
+            OR tbs.shop_name LIKE CONCAT('%',#{param.keyword},'%'))
+        </if>
+        ORDER BY ts.create_time DESC
+    </select>
+
+    <select id="getStaffSimpleTotal" resultType="com.ruoyi.shop.domain.vo.StaffShopSimpleTotalVo">
+        SELECT
+        COUNT(shop_id) shopTotal,
+        SUM(CASE shop_status WHEN 0 THEN 1 WHEN 2 THEN 1 WHEN 3 THEN 1 ELSE 0 END) closeTotal,
+        SUM(CASE shop_status WHEN 1 THEN 1 ELSE 0 END) openTotal
+        FROM t_shop ts
+        WHERE ts.del_flag = 0
+        AND ts.belong_user_id IN
+        <foreach item="id" collection="userIdList" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
+
+    <select id="getStaffHomeTotal" resultType="com.ruoyi.shop.domain.vo.StaffHomeShopTotalVo">
+        SELECT
+        COUNT(shop_id) shopTotal,
+        SUM(CASE shop_type WHEN 1 THEN 1 ELSE 0 END) dealerTotal,
+        SUM(CASE shop_type WHEN 2 THEN 1 ELSE 0 END) agencyTotal
+        FROM t_shop ts
+        WHERE ts.del_flag = 0
+        AND ts.belong_user_id IN
+        <foreach item="id" collection="userIdList" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
+
+    <update id="updateExtendContacts">
+        update t_shop SET
+        <if test="extendContacts!=null and extendContacts != ''">
+            extend_contacts = #{extendContacts},
+        </if>
+        <if test="extendContacts ==null or extendContacts == ''">
+            extend_contacts = null,
+        </if>
+        <if test="updateTime != null">update_time = #{updateTime},</if>
+        <if test="updateUserId != null">update_user_id = #{updateUserId},</if>
+        WHERE shop_id = #{shopId}
+    </update>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopTotalMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopTotalMapper.xml
index 00a34c3..554d73f 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopTotalMapper.xml
+++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopTotalMapper.xml
@@ -35,7 +35,7 @@
         sum(total_goods_money) totalGoodsMoney
         FROM
         t_shop_total
-        <if test="list!=null and list!=''">
+        <if test="list!=null and list.size()>0">
             where shop_id IN
             <foreach collection="list" item="id" open="(" separator="," close=")">
                 #{id}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskRecordMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskRecordMapper.xml
index a68a64e..2c27681 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskRecordMapper.xml
+++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskRecordMapper.xml
@@ -26,7 +26,7 @@
         FROM t_agency_task tmt
         INNER JOIN t_agency_task_record tmtr ON tmtr.task_id = tmt.task_id
         WHERE tmt.del_flag = 0 AND tmt.shop_id = #{param.shopId} AND tmt.agency_id = #{param.agencyId}
-        ORDER BY tmt.task_date DESC
+        ORDER BY tmtr.create_time DESC
     </select>
 
     <select id="pageMgtAgencyFollow" resultType="com.ruoyi.shop.domain.vo.MgtAgencyTaskRecordPageVo">
@@ -44,6 +44,26 @@
         INNER JOIN t_shop ts ON ts.shop_id = tmt.shop_id
         INNER JOIN t_shop_file tsf ON tsf.shop_id = ts.shop_id AND tsf.del_flag = 0 AND tsf.file_type = 1
         WHERE tmt.del_flag = 0 AND tmt.agency_id = #{param.shopId} AND tmt.task_date = #{param.taskDate}
-        ORDER BY tmt.task_date DESC
+        ORDER BY tmtr.create_time DESC
     </select>
+
+    <select id="pageStaffAgencyTaskRecord" resultType="com.ruoyi.shop.domain.vo.StaffAgencyTaskRecordPageVo">
+        SELECT
+            tmtr.user_id userId,
+            tmtr.id followId,
+            tmtr.task_id taskId,
+            tmt.create_time createTime,
+            tmtr.follow_type followType,
+            tmtr.call_time callTime,
+            tmtr.follow_content followContent,
+            tmtr.call_phone callPhone
+        FROM t_agency_task tmt
+                 INNER JOIN t_agency_task_record tmtr ON tmtr.task_id = tmt.task_id
+                 INNER JOIN t_shop ts ON ts.shop_id = tmt.shop_id
+                 INNER JOIN t_shop_file tsf ON tsf.shop_id = ts.shop_id AND tsf.del_flag = 0 AND tsf.file_type = 1
+        WHERE tmt.del_flag = 0 AND tmt.agency_id = #{param.agencyId}
+        ORDER BY tmtr.create_time DESC
+    </select>
+
+
 </mapper>
diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml
index 19eb288..26f0f93 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml
+++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml
@@ -99,18 +99,7 @@
         WHERE del_flag = 0 AND task_status = 1 AND shop_id = #{shopId} AND task_date = DATE(NOW())
     </select>
 
-    <select id="getMembersIngTotal" resultType="java.lang.Integer">
-        SELECT COUNT(task_id)
-        FROM t_member_task
-        WHERE del_flag = 0 AND task_status = 1
-        <if test="list!=null and list!=''">
-            AND  shop_id IN
-            <foreach collection="list" item="id" open="(" separator="," close=")">
-                #{id}
-            </foreach>
-        </if>
-        AND task_date = DATE(NOW())
-    </select>
+
 
     <select id="getLastMemberTask" resultType="com.ruoyi.system.api.domain.vo.MemberTaskSimpleVo">
         SELECT
diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml
index 155b59b..ead6951 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml
+++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml
@@ -87,22 +87,36 @@
         </foreach>
     </delete>
 
-    <select id="pageMgtAgencyFollow" resultType="com.ruoyi.shop.domain.vo.MgtAgencyTaskRecordPageVo">
-        SELECT
-        tmtr.user_id userId,
-        tmtr.id followId,
-        tmtr.task_id taskId,
-        tmtr.create_time createTime,
-        tmtr.follow_type followType,
-        tmtr.call_time callTime,
-        tmtr.follow_content followContent,
-        tmtr.call_phone callPhone
-        FROM t_agency_task tmt
-        INNER JOIN t_agency_task_record tmtr ON tmtr.task_id = tmt.task_id
-        WHERE tmt.del_flag = 0 AND tmt.agency_id = #{param.shopId}
-        ORDER BY tmtr.create_time DESC
+
+    <select id="getShopIngTotal" resultType="java.lang.Integer">
+        SELECT COUNT(task_id)
+        FROM t_shop_task
+        WHERE del_flag = 0 AND task_status = 1
+        <if test="shopIds!=null and shopIds!=''">
+            AND  shop_id IN
+            <foreach collection="shopIds" item="id" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+        AND task_date = DATE(NOW())
     </select>
 
-
+    <select id="pageStaffShopTask" resultType="com.ruoyi.shop.domain.vo.StaffShopTaskPageVo">
+        SELECT
+        tst.task_id taskId,
+        tst.task_date taskDate,
+        tst.follow_content taskContent,
+        tst.emergency_state emergencyState,
+        CASE WHEN tst.task_date = DATE(now()) THEN 1 ELSE 0 END todayFlag,
+        tstr.user_id userId,
+        tstr.create_time followTime
+        FROM t_shop_task tst
+        LEFT JOIN t_shop_task_record tstr ON tstr.task_id = tst.task_id
+        WHERE tst.del_flag = 0 AND tst.shop_id = #{param.shopId} AND tstr.id = (SELECT MAX(id) FROM t_shop_task_record WHERE task_id = tst.task_id)
+        <if test="param.taskStatus!=null and param.taskStatus != ''">
+            AND tst.task_status = #{param.taskStatus}
+        </if>
+        ORDER BY tst.task_status ASC
+    </select>
 
 </mapper>
diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskRecordMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskRecordMapper.xml
index b52b993..e7138ca 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskRecordMapper.xml
+++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskRecordMapper.xml
@@ -9,6 +9,7 @@
         tmtr.task_id taskId,
         tmtr.create_time createTime,
         CASE tmtr.follow_type WHEN 1 THEN "电话跟进" WHEN 2 THEN "手动跟进" END followType,
+        tmtr.custom_follow_type customFollowType,
         tmtr.follow_content followContent,
         tmtr.call_time callTime,
         tmtr.call_phone callPhone
@@ -18,4 +19,37 @@
         ORDER BY tmtr.create_time DESC
     </select>
 
+    <select id="pageStaffMyShopTaskRecord" resultType="com.ruoyi.shop.domain.vo.StaffMyShopTaskRecordPageVo">
+        SELECT
+            tmtr.user_id userId,
+            tmtr.id followId,
+            tmtr.task_id taskId,
+            tmtr.create_time createTime,
+            CASE tmtr.follow_type WHEN 1 THEN "电话跟进" WHEN 2 THEN "手动跟进" END followType,
+            tmtr.custom_follow_type customFollowType,
+            tmtr.follow_content followContent,
+            tmtr.call_time callTime,
+            tmtr.call_phone callPhone
+        FROM t_shop_task tmt
+                 INNER JOIN t_shop_task_record tmtr ON tmtr.task_id = tmt.task_id
+        WHERE tmt.del_flag = 0 AND tmt.shop_id = #{param.shopId} AND tmtr.user_id = #{param.userId}
+        ORDER BY tmtr.create_time DESC
+    </select>
+
+    <select id="pageStaffShopTaskRecord" resultType="com.ruoyi.shop.domain.vo.StaffMyShopTaskRecordPageVo">
+        SELECT
+            tmtr.user_id userId,
+            tmtr.id followId,
+            tmtr.task_id taskId,
+            tmtr.create_time createTime,
+            CASE tmtr.follow_type WHEN 1 THEN "电话跟进" WHEN 2 THEN "手动跟进" END followType,
+            tmtr.follow_content followContent,
+            tmtr.call_time callTime,
+            tmtr.call_phone callPhone
+        FROM t_shop_task tmt
+                 INNER JOIN t_shop_task_record tmtr ON tmtr.task_id = tmt.task_id
+        WHERE tmt.del_flag = 0 AND tmt.shop_id = #{param.shopId}
+        ORDER BY tmtr.create_time DESC
+    </select>
+
 </mapper>
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/StaffController.java
similarity index 95%
rename from ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffController.java
rename to ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/StaffController.java
index 9a5aaec..7f8c6d6 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/StaffController.java
@@ -1,4 +1,4 @@
-package com.ruoyi.system.controller.staff;
+package com.ruoyi.system.controller.conslole;
 
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.system.domain.pojo.staff.SysStaff;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
index d7c5674..02d824b 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
@@ -1,6 +1,7 @@
 package com.ruoyi.system.controller.sys;
 
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.poi.ExcelUtil;
 import com.ruoyi.common.core.web.controller.BaseController;
@@ -16,7 +17,11 @@
 import com.ruoyi.system.api.domain.poji.sys.SysRole;
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
 import com.ruoyi.system.api.model.LoginUser;
+import com.ruoyi.system.api.model.QwH5LoginVo;
+import com.ruoyi.system.api.model.QwUserDetailDto;
 import com.ruoyi.system.domain.dto.UserMenuEditDto;
+import com.ruoyi.system.domain.pojo.staff.SysStaff;
+import com.ruoyi.system.service.staff.SysStaffService;
 import com.ruoyi.system.service.sys.*;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.ArrayUtils;
@@ -27,8 +32,8 @@
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.List;
+import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -59,22 +64,26 @@
     @Autowired
     private ISysConfigService configService;
 
+    @Autowired
+    private SysStaffService sysStaffService;
+
 
     /**
      * 根据部门获取所有员工id
-     * @param deptId
+     * @param userId
      * @return
      */
-    @GetMapping("/dept/{deptId}")
-    public R<List<Long>> getUserIds(@PathVariable("deptId") Long deptId)
+    @GetMapping("/getUserIdsByDept/{userId}")
+    public R<List<Long>> getUserIdsByDept(@PathVariable("userId") Long userId)
     {
-        SysUser sysUser = new SysUser();
-        sysUser.setDeptId(deptId);
-        List<SysUser> userList = userService.selectUserList(sysUser);
-        List<Long> userIds = new ArrayList<>();
-        for (int i = 0; i < userList.size(); i++) {
-            userIds.add(userList.get(i).getUserId());
-        }
+        SysUser loginSysUser = userService.selectUserById(userId);
+        SysUser querySysUser = new SysUser();
+        querySysUser.setDelFlag("0");
+        querySysUser.setDeptId(loginSysUser.getDeptId());
+        List<SysUser> userList = userService.selectUserList(querySysUser);
+        List<Long> userIds = userList.stream().map(sysUser->{
+            return sysUser.getUserId();
+        }).collect(Collectors.toList());
         return R.ok(userIds);
     }
 
@@ -416,4 +425,27 @@
         userService.frozenUser(userId);
         return R.ok();
     }
+
+    /**
+     * @description  员工端登录
+     * @author  jqs
+     * @date    2023/7/14 10:04
+     * @param qwUserDetail
+     * @return  R<QwH5LoginVo>
+     */
+    @PostMapping("/qwH5StaffLogin")
+    public R<QwH5LoginVo> qwH5StaffLogin(@RequestBody QwUserDetailDto qwUserDetail)
+    {
+        String mobile = qwUserDetail.getMobile();
+        SysStaff sysStaff = sysStaffService.getByMobile(mobile);
+        Long userId = sysStaff.getUserId();
+        SysUser sysUser = userService.selectUserById(userId);
+        Optional.ofNullable(sysUser).orElseThrow(() -> new ServiceException("登录失败,未查询到用户"));
+        // 构造登录返回信息
+        QwH5LoginVo qwH5LoginVo = new QwH5LoginVo();
+        qwH5LoginVo.setUserid(qwUserDetail.getUserid());
+        qwH5LoginVo.setMobile(qwUserDetail.getMobile());
+        qwH5LoginVo.setSysUser(sysUser);
+        return R.ok(qwH5LoginVo);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/ArticleServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/ArticleServiceImpl.java
index f414ccb..b8b8d68 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/ArticleServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/ArticleServiceImpl.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.exception.ServiceException;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.bean.BeanUtils;
 import com.ruoyi.system.api.constant.AppErrorConstant;
 import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
@@ -19,6 +20,8 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.nio.charset.StandardCharsets;
+import java.util.Base64;
 import java.util.Date;
 import java.util.List;
 
@@ -90,7 +93,12 @@
         article.setArticleSort(mgtArticleEditDto.getArticleSort());
         article.setArticleTitle(mgtArticleEditDto.getArticleTitle());
         article.setArticleIntroduce(mgtArticleEditDto.getArticleIntroduce());
-        article.setArticleDetail(mgtArticleEditDto.getArticleDetail());
+        String articleDetail = mgtArticleEditDto.getArticleDetail();
+        if(StringUtils.isNotBlank(articleDetail)){
+            byte[] decodedBytes = Base64.getDecoder().decode(articleDetail);
+            articleDetail = new String(decodedBytes, StandardCharsets.UTF_8);
+            article.setArticleDetail(articleDetail);
+        }
         article.setArticleCover(mgtArticleEditDto.getArticleCover());
         article.setArticleVideo(mgtArticleEditDto.getArticleVideo());
         article.setUpdateTime(new Date());
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CooperationServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CooperationServiceImpl.java
index 30613ce..3230888 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CooperationServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CooperationServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.system.domain.dto.MgtCooperationEditDto;
 import com.ruoyi.system.domain.pojo.config.Cooperation;
 import com.ruoyi.system.mapper.config.CooperationMapper;
@@ -9,6 +10,8 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.nio.charset.StandardCharsets;
+import java.util.Base64;
 import java.util.Date;
 
 /**
@@ -42,7 +45,12 @@
         Cooperation cooperation = new Cooperation();
         cooperation.setDelFlag(0);
         cooperation.setTopPicture(mgtCooperationEditDto.getCooperationPicture());
-        cooperation.setCooperDetail(mgtCooperationEditDto.getCooperationDetail());
+        String cooperationDetail = mgtCooperationEditDto.getCooperationDetail();
+        if(StringUtils.isNotBlank(cooperationDetail)){
+            byte[] decodedBytes = Base64.getDecoder().decode(cooperationDetail);
+            cooperationDetail = new String(decodedBytes, StandardCharsets.UTF_8);
+            cooperation.setCooperDetail(cooperationDetail);
+        }
         cooperation.setCreateTime(new Date());
         cooperation.setCreateUserId(mgtCooperationEditDto.getUserId());
         this.saveOrUpdate(cooperation);
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java
index 5bb8b99..8e8b95f 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java
@@ -179,4 +179,19 @@
     public List<MgtStaffPageVo> pageMgtStaff(Page page, MgtStaffPageDto mgtStaffPageDto){
         return sysStaffMapper.pageMgtStaff(page, mgtStaffPageDto);
     }
+
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/7/14 9:52
+     * @param mobile
+     * @return  SysStaff
+     */
+    @Override
+    public SysStaff getByMobile(String mobile){
+        LambdaQueryWrapper<SysStaff> queryWrapper = new LambdaQueryWrapper();
+        queryWrapper.eq(SysStaff::getDelFlag,0);
+        queryWrapper.eq(SysStaff::getStaffMobile,mobile);
+        return this.getOne(queryWrapper,false);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysStaffService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysStaffService.java
index 7fca57e..4557a81 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysStaffService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysStaffService.java
@@ -75,4 +75,13 @@
      * @return  List<MgtStaffPageVo>
      */
     List<MgtStaffPageVo> pageMgtStaff(Page page, MgtStaffPageDto mgtStaffPageDto);
+
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/7/14 9:53
+     * @param mobile
+     * @return  SysStaff
+     */
+    SysStaff getByMobile(String mobile);
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
index a310a03..0cd36c2 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
     nacos:
       discovery:
         # 服务注册地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
       config:
         # 配置中心地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置
diff --git a/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml b/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml
index 16510ce..f9c405e 100644
--- a/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml
+++ b/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml
@@ -14,12 +14,12 @@
     nacos:
       discovery:
         # 服务注册地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
       config:
         # 配置中心地址
-        #server-addr: 47.109.78.184:5000
-        server-addr: 127.0.0.1:8848
+        server-addr: 47.109.78.184:5000
+        #server-addr: 127.0.0.1:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置

--
Gitblit v1.7.1