From 882edc4b8ac7cb11ec9d536b5573df2c7ed512ef Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期四, 20 七月 2023 20:22:12 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtQuickEntryGetVo.java                                    |    2 
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml                                                      |   29 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Banner.java                                       |    2 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtAdvertEditDto.java                                     |    2 
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml                                              |    2 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/ArticleServiceImpl.java                          |   62 ++
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/PopMapper.xml                                                      |   13 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AppPopVo.java                                              |   37 +
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopSuggestMapper.xml                                                  |    2 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberTotalMapper.java                                 |    8 
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysMenuMapper.xml                                                     |   28 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java                               |   27 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskMapper.java                                          |   27 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtQuickEntryEditDto.java                                 |    2 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RecommendCooperationServiceImpl.java             |    5 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtGoodsPageDto.java                                        |    6 
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/BannerMapper.xml                                                   |    4 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopDto.java                                           |    3 
 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberSuggestMapper.xml                                            |    4 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/RecommendCooperation.java                         |    3 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java                                   |   19 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Advert.java                                       |    2 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java                                   |   16 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java                     |   18 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppIntegralController.java                        |    2 
 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberTotalMapper.xml                                              |    3 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/PopService.java                                       |   10 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Pop.java                                          |    2 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/PopServiceImpl.java                              |   33 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtAllCustomConfigVo.java                                  |    2 
 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberCouponMapper.xml                                             |   18 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/scheduler/ShopScheduler.java                                             |   36 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtBannerEditDto.java                                     |    2 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffFollowShopTaskDto.java                                   |    4 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/QuickEntryServiceImpl.java                       |   20 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java                           |    4 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java                           |   52 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/staff/SysStaffService.java                                   |   11 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerMemberCouponVo.java                                 |   45 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/PopMapper.java                                         |   10 
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml                                             |    4 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java                                       |   10 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopGetVo.java                                           |    2 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/ConfigController.java                            |   15 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/SysClassificationService.java                         |   10 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/miniapp/AppHomeController.java                            |   14 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteCouponFallbackFactory.java                         |    3 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberTotalService.java                               |    8 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppMemberGoodsTypeDto.java                            |    3 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java                           |   36 +
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteStaffFallbackFactory.java                          |    6 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerCouponController.java                         |   20 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java                     |   20 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java                             |    1 
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml                                                     |    8 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerEditUserDto.java                                   |    4 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/MemberCoupon.java                             |    6 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteSysStaffService.java                               |   22 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java                                 |   11 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/scheduler/SchedulerUtils.java                                            |   48 ++
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java                             |    3 
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml                                                         |    1 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerGoodsCouponListDto.java                                |   22 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java                               |   22 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java                               |   10 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/CouponController.java                             |    5 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/RedisListener.java                                          |    5 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java                          |   41 +
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java                           |   10 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteCouponService.java                                 |    3 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/StaffController.java                             |   29 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java                |   26 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/QuickEntry.java                                   |    2 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java                               |   94 +++
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java                                        |    9 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteConfigFallbackFactory.java                         |    6 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java                              |   43 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerGetVo.java                                        |    2 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtClassNumDto.java                                   |   23 +
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberCouponMapper.java                                |   13 
 ruoyi-api/ruoyi-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports |    1 
 /dev/null                                                                                                                      |   26 -
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtShopStaffEditDto.java                              |   30 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AppBannerVo.java                                           |    2 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberCouponService.java                              |   14 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtPopEditDto.java                                        |    2 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/scheduler/MemberScheduler.java                                       |   14 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberTotalServiceImpl.java                      |   17 
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml                                                     |   27 +
 89 files changed, 1,159 insertions(+), 171 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppMemberGoodsTypeDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppMemberGoodsTypeDto.java
index 372a341..8e8e406 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppMemberGoodsTypeDto.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppMemberGoodsTypeDto.java
@@ -18,5 +18,6 @@
     @ApiModelProperty(value = "商品类型")
     private HashSet<String> goodsTypeSet;
 
-
+    @ApiModelProperty(value = "商品调理问题")
+    private HashSet<String> goodsNurseSet;
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerEditUserDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerEditUserDto.java
index da0a7f6..ccf1be0 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerEditUserDto.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerEditUserDto.java
@@ -13,9 +13,9 @@
 @Data
 public class MerEditUserDto extends MerBaseDto{
 
-    @ApiModelProperty(value = "修改类型1.昵称2.头像3.性别4.生日")
+    @ApiModelProperty(value = "修改类型1.昵称2.头像3.性别4.生日5.营业时间")
     private Integer editType;
 
-    @ApiModelProperty(value = "修改值 性别0=男,1=女,2=未知 生日YYYY-MM-DD ")
+    @ApiModelProperty(value = "修改值 性别0=男,1=女,2=未知 生日YYYY-MM-DD 营业时间HH:MM-HH:MM")
     private String editValue;
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtClassNumDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtClassNumDto.java
new file mode 100644
index 0000000..022d17d
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtClassNumDto.java
@@ -0,0 +1,23 @@
+package com.ruoyi.system.api.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName MgtClassNumDto
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/20 14:31
+ * @Version 1.0
+ */
+@Data
+public class MgtClassNumDto {
+
+
+
+    @ApiModelProperty(value = "增加的分类id")
+    private Long addClassId;
+
+    @ApiModelProperty(value = "减少的分类id")
+    private Long subClassId;
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtShopStaffEditDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtShopStaffEditDto.java
new file mode 100644
index 0000000..372f9be
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtShopStaffEditDto.java
@@ -0,0 +1,30 @@
+package com.ruoyi.system.api.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName MgtShopStaffEditDto
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/19 18:59
+ * @Version 1.0
+ */
+@Data
+public class MgtShopStaffEditDto {
+
+
+
+    @ApiModelProperty(value = "用户id")
+    private Long userId;
+
+    @ApiModelProperty(value = "员工姓名")
+    private String staffName;
+
+    @ApiModelProperty(value = "员工电话")
+    private String staffMobile;
+
+    @ApiModelProperty(value = "员工头像")
+    private String staffAvatar;
+}
+
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/MemberCoupon.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/MemberCoupon.java
index d3a6225..ece300a 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/MemberCoupon.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/MemberCoupon.java
@@ -137,6 +137,12 @@
     @TableField("rel_goods_ids")
     private String relGoodsIds;
 
+    /**
+     * 优惠券来源1平台2商户
+     */
+    @TableField("coupon_from")
+    private Integer couponFrom;
+
     @Override
     protected Serializable pkVal() {
         return this.id;
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerMemberCouponVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerMemberCouponVo.java
new file mode 100644
index 0000000..bd7a8e1
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerMemberCouponVo.java
@@ -0,0 +1,45 @@
+package com.ruoyi.system.api.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @ClassName MerMemberCouponVo
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/19 17:31
+ * @Version 1.0
+ */
+@Data
+public class MerMemberCouponVo {
+
+    @ApiModelProperty(value = "优惠券id")
+    private String memberCouponId;
+
+    @ApiModelProperty(value = "商品id")
+    private String goodsId;
+
+    @ApiModelProperty(value="优惠券类型1.满减2.折扣3.代金4.商品")
+    private Integer couponType;
+
+    @ApiModelProperty(value="优惠券名称")
+    private String couponName;
+
+    @ApiModelProperty(value="门槛金额")
+    private BigDecimal moneyThreshold;
+
+    @ApiModelProperty(value="折扣金额")
+    private BigDecimal discountMoney;
+
+    @ApiModelProperty(value="折扣百分比")
+    private BigDecimal discountPercent;
+
+    @ApiModelProperty(value="有效开始时间")
+    private Date validStartTime;
+
+    @ApiModelProperty(value="使用有效期")
+    private Date deadlineTime;
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteConfigFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteConfigFallbackFactory.java
index eb13d84..597aa39 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteConfigFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteConfigFallbackFactory.java
@@ -2,6 +2,7 @@
 
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.system.api.domain.dto.MgtBaseBathDto;
+import com.ruoyi.system.api.domain.dto.MgtClassNumDto;
 import com.ruoyi.system.api.domain.dto.MgtUserIdByDept;
 import com.ruoyi.system.api.domain.poji.config.Activeness;
 import com.ruoyi.system.api.domain.poji.config.DelayTask;
@@ -74,6 +75,11 @@
                 return R.fail("获取其他设置失败:" + throwable.getMessage());
             }
 
+            @Override
+            public R changeClassNum(MgtClassNumDto mgtClassNumDto) {
+                return R.fail("改变分类数量失败:" + throwable.getMessage());
+            }
+
 
             @Override
             public R<List<SysTag>> listSysTag(Integer tagType) {
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteCouponFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteCouponFallbackFactory.java
index a05ecb1..ea2c7dd 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteCouponFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteCouponFallbackFactory.java
@@ -2,6 +2,7 @@
 
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto;
+import com.ruoyi.system.api.domain.dto.MerBaseDto;
 import com.ruoyi.system.api.domain.vo.AppMemberCouponVo;
 import com.ruoyi.system.api.domain.vo.MerVerifyCouponGetVo;
 import com.ruoyi.system.api.service.RemoteCouponService;
@@ -31,7 +32,7 @@
 
 
             @Override
-            public R<List<AppMemberCouponVo>> listVoMemberCouponByUserId(Long userId) {
+            public R<List<AppMemberCouponVo>> listVoMemberCouponByUserId(MerBaseDto merBaseDto) {
                 return R.fail("获取优惠券列表失败:" + throwable.getMessage());
             }
 
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java
index 358d52b..5e23e44 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
@@ -1,10 +1,7 @@
 package com.ruoyi.system.api.factory;
 
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.system.api.domain.dto.MgtBaseBathDto;
-import com.ruoyi.system.api.domain.dto.MgtBasePlatformDto;
-import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
-import com.ruoyi.system.api.domain.dto.ShopTotalChangeDto;
+import com.ruoyi.system.api.domain.dto.*;
 import com.ruoyi.system.api.domain.vo.*;
 import com.ruoyi.system.api.model.QwH5LoginVo;
 import com.ruoyi.system.api.model.QwUserDetailDto;
@@ -107,6 +104,11 @@
             public R<ShopRelUserVo> getShopByBelongUserId(Long userId) {
                 return R.fail("获取商户失败:" + throwable.getMessage());
             }
+
+            @Override
+            public R editMgtShopStaff(MgtShopStaffEditDto mgtShopStaffEditDto) {
+                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
index ddd4c8c..bfae40c 100644
--- 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
@@ -1,5 +1,7 @@
 package com.ruoyi.system.api.factory;
 
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.system.api.domain.dto.MerEditUserDto;
 import com.ruoyi.system.api.service.RemoteSysStaffService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -27,6 +29,10 @@
             public Boolean isLeader() {
                 return null;
             }
+
+            @Override
+            public R editUserInfo(MerEditUserDto merEditUserDto) {
+                return R.fail("修改用户失败:" + throwable.getMessage());            }
         };
     }
 
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java
index b740d16..fb8ec82 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java
@@ -3,6 +3,7 @@
 import com.ruoyi.common.core.constant.ServiceNameConstants;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.system.api.domain.dto.MgtBaseBathDto;
+import com.ruoyi.system.api.domain.dto.MgtClassNumDto;
 import com.ruoyi.system.api.domain.dto.MgtUserIdByDept;
 import com.ruoyi.system.api.domain.poji.config.Activeness;
 import com.ruoyi.system.api.domain.poji.config.DelayTask;
@@ -116,4 +117,14 @@
      */
     @PostMapping("/config/getAppOtherConfigGetVo")
     public R<AppOtherConfigGetVo> getAppOtherConfigGetVo();
+
+    /**
+     * @description  改变分类数量
+     * @author  jqs
+     * @date    2023/7/20 20:06
+     * @param mgtClassNumDto
+     * @return  R
+     */
+    @PostMapping("/config/changeClassNum")
+    public R changeClassNum(@RequestBody MgtClassNumDto mgtClassNumDto);
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteCouponService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteCouponService.java
index 440d8e3..686183a 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteCouponService.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteCouponService.java
@@ -3,6 +3,7 @@
 import com.ruoyi.common.core.constant.ServiceNameConstants;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto;
+import com.ruoyi.system.api.domain.dto.MerBaseDto;
 import com.ruoyi.system.api.domain.vo.AppMemberCouponVo;
 import com.ruoyi.system.api.domain.vo.MerVerifyCouponGetVo;
 import com.ruoyi.system.api.factory.RemoteCouponFallbackFactory;
@@ -28,7 +29,7 @@
      * @return
      */
     @PostMapping("/coupon/listVoMemberCouponByUserId")
-    public R<List<AppMemberCouponVo>> listVoMemberCouponByUserId(@RequestBody Long userId);
+    public R<List<AppMemberCouponVo>> listVoMemberCouponByUserId(@RequestBody MerBaseDto merBaseDto);
 
     /**
      * @description  获取核销优惠券
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 783d14d..9891828 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
@@ -2,10 +2,7 @@
 
 import com.ruoyi.common.core.constant.ServiceNameConstants;
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.system.api.domain.dto.MgtBaseBathDto;
-import com.ruoyi.system.api.domain.dto.MgtBasePlatformDto;
-import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
-import com.ruoyi.system.api.domain.dto.ShopTotalChangeDto;
+import com.ruoyi.system.api.domain.dto.*;
 import com.ruoyi.system.api.domain.poji.shop.Shop;
 import com.ruoyi.system.api.domain.vo.*;
 import com.ruoyi.system.api.factory.RemoteShopFallbackFactory;
@@ -141,4 +138,15 @@
 
     @PostMapping("/shop/getShopByBelongUserId")
     public R<ShopRelUserVo> getShopByBelongUserId(@RequestBody Long userId);
+
+
+    /**
+     * @description  修改商户员工
+     * @author  jqs
+     * @date    2023/7/19 19:02
+     * @param mgtShopStaffEditDto
+     * @return  R
+     */
+    @PostMapping("/shop/editMgtShopStaff")
+    public R editMgtShopStaff(@RequestBody MgtShopStaffEditDto mgtShopStaffEditDto);
 }
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 2fac1ac..f3ff287 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,21 +1,31 @@
 package com.ruoyi.system.api.service;
 
 import com.ruoyi.common.core.constant.ServiceNameConstants;
-import com.ruoyi.system.api.factory.RemoteUserFallbackFactory;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.system.api.domain.dto.MerEditUserDto;
+import com.ruoyi.system.api.factory.RemoteStaffFallbackFactory;
 import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 
 /**
  * 用户服务
  *
  * @author jqs
  */
-@FeignClient(contextId = "remoteSysStaffService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
+@FeignClient(contextId = "remoteSysStaffService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteStaffFallbackFactory.class)
 public interface RemoteSysStaffService
 {
-
-    @RequestMapping(value = "/staff/isLeader", method = RequestMethod.POST)
+    @PostMapping("/staff/isLeader")
     public Boolean isLeader() ;
 
+    /**
+     * @description  编辑商户员工
+     * @author  jqs
+     * @date    2023/7/19 19:44
+     * @param merEditUserDto
+     * @return  R
+     */
+    @PostMapping("/staff/editSysStaffInfo")
+    public R editUserInfo(@RequestBody MerEditUserDto merEditUserDto);
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-api/ruoyi-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index ef36eec..d8b0324 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/ruoyi-api/ruoyi-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -8,3 +8,4 @@
 com.ruoyi.system.api.factory.RemoteShopFallbackFactory
 com.ruoyi.system.api.factory.RemoteUserFallbackFactory
 com.ruoyi.system.api.factory.RemoteMemberFallbackFactory
+com.ruoyi.system.api.factory.RemoteStaffFallbackFactory
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtGoodsPageDto.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtGoodsPageDto.java
index 3d8dcc5..d3fdf28 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtGoodsPageDto.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtGoodsPageDto.java
@@ -1,6 +1,5 @@
 package com.ruoyi.goods.domain.dto;
 
-import com.ruoyi.system.api.domain.dto.MerPageDto;
 import com.ruoyi.system.api.domain.dto.MgtPageDto;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -25,5 +24,8 @@
     private Long goodsClassId;
 
     @ApiModelProperty(value = "创建时间")
-    private String createTime;
+    private String createStartTime;
+
+    @ApiModelProperty(value = "创建时间")
+    private String createEndTime;
 }
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
index 1e5f1b5..f2227e1 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
@@ -23,6 +23,7 @@
 import com.ruoyi.system.api.constant.AppErrorConstant;
 import com.ruoyi.system.api.domain.dto.AppActivityGoodsPageDto;
 import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
+import com.ruoyi.system.api.domain.dto.MgtClassNumDto;
 import com.ruoyi.system.api.domain.poji.activity.ActivityGoods;
 import com.ruoyi.system.api.domain.poji.config.SysClassification;
 import com.ruoyi.system.api.domain.poji.goods.Goods;
@@ -334,6 +335,8 @@
         Boolean newGoods = false;
         String goodsId = mgtGoodsEditDto.getGoodsId();
         Goods goodsSame = this.getOne(new LambdaQueryWrapper<Goods>().eq(Goods::getDelFlag,0).eq(Goods::getGoodsName,mgtGoodsEditDto.getGoodsName()));
+        // 创建MgtClassNumDto对象
+        MgtClassNumDto mgtClassNumDto = new MgtClassNumDto();
         // 判断是否有商品ID 没有则新建
         if (StringUtils.isNotBlank(goodsId)) {
             if(goodsSame!=null&&!Objects.equals(goodsSame.getGoodsId(), goodsId)){
@@ -345,6 +348,16 @@
             }
             //删除历史数据
             goodsFileService.deleteByGoodsId(goodsId);
+            // 如果类别ID不为空并且文章的类别ID不为空并且类别ID不同,则设置子类别ID和新增类别ID
+            if (mgtGoodsEditDto.getGoodsClassId() != null && goods.getGoodsClassId() != null
+                    && !mgtGoodsEditDto.getGoodsClassId().equals(goods.getGoodsClassId())) {
+                mgtClassNumDto.setSubClassId(goods.getGoodsClassId());
+                mgtClassNumDto.setAddClassId(mgtGoodsEditDto.getGoodsClassId());
+            }
+            // 如果类别ID不为空并且文章的类别ID为空,则设置新增类别ID
+            else if (mgtGoodsEditDto.getGoodsClassId() != null && goods.getGoodsClassId() == null) {
+                mgtClassNumDto.setAddClassId(mgtGoodsEditDto.getGoodsClassId());
+            }
         } else {
             if(goodsSame!=null){
                 throw new ServiceException(AppErrorConstant.GOODS_DOUBLE);
@@ -357,6 +370,7 @@
             goods.setCreateTime(new Date());
             goods.setCreateUserId(mgtGoodsEditDto.getUserId());
             newGoods = true;
+            mgtClassNumDto.setAddClassId(mgtGoodsEditDto.getGoodsClassId());
         }
         goods.setUpdateTime(new Date());
         goods.setUpdateUserId(mgtGoodsEditDto.getUserId());
@@ -400,6 +414,8 @@
             goodsTotal.setBuyMoneyTotal(new BigDecimal("0.00"));
             goodsTotalService.saveOrUpdate(goodsTotal);
         }
+        //更新商品分类统计
+        remoteConfigService.changeClassNum(mgtClassNumDto);
     }
 
     /**
@@ -478,6 +494,12 @@
         goods.setUpdateTime(new Date());
         goods.setUpdateUserId(userId);
         this.saveOrUpdate(goods);
+        if(goods.getGoodsClassId()!=null){
+            MgtClassNumDto mgtClassNumDto = new MgtClassNumDto();
+            mgtClassNumDto.setSubClassId(goods.getGoodsClassId());
+            //更新商品分类统计
+            remoteConfigService.changeClassNum(mgtClassNumDto);
+        }
     }
 
     /**
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 b1d4469..2f5b061 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
@@ -27,7 +27,7 @@
     </resultMap>
 
     <sql id="selectGoodsVo">
-        select goods_id, del_flag, goods_status, goods_type, create_time, create_user_id, update_time, update_user_id, goods_class_id, goods_name, cycle_num_flag, service_num, goods_introduction, sales_price, mininum_price, subscription_flag, subscription, goods_detail, recommend_flag, goods_nurses, goods_tags from t_goods
+        select goods_id, del_flag, goods_status, goods_type, create_time, create_user_id, update_time, update_user_id, goods_class_id, goods_name, cycle_num_flag, service_num, goods_introduction, sales_price, mininum_price, subscription_flag, subscription, goods_detail, recommend_flag, goods_nurses, goods_tags, goods_no from t_goods
     </sql>
 
     <select id="selectGoodsList" parameterType="com.ruoyi.system.api.domain.poji.goods.Goods" resultMap="GoodsResult">
@@ -225,23 +225,23 @@
         </if>
         <if test="param.sort != null and param.sort != ''">
             <choose>
-                <when test="param.sort==1">
+                <when test="param.sort==2">
                     ORDER BY salesPrice DESC,tg.create_time DESC
                 </when>
-                <when test="param.sort==2">
+                <when test="param.sort==3">
                     ORDER BY salesPrice ASC,tg.create_time DESC
                 </when>
-                <when test="param.sort==3">
+                <when test="param.sort==4">
                     ORDER BY tgt.buy_num_count ASC,tg.create_time DESC
                 </when>
-                <when test="param.sort==4">
+                <when test="param.sort==5">
                     ORDER BY tgt.buy_num_count DESC,tg.create_time DESC
                 </when>
-                <when test="param.sort==5">
-                    ORDER BY tg.create_time DESC
+                <when test="param.sort==2">
+                    ORDER BY tgt.buy_num_count,tg.create_time DESC
                 </when>
                 <otherwise>
-                    ORDER BY tg.create_time DESC
+                    ORDER BY tgt.buy_num_count,tg.create_time DESC
                 </otherwise>
             </choose>
         </if>
@@ -380,8 +380,11 @@
         <if test="param.goodsClassId != null and param.goodsClassId != ''">
             AND tg.goods_class_id = #{param.goodsClassId}
         </if>
-        <if test="param.createTime != null and param.createTime != ''">
-            AND DATEDIFF(tg.create_time, #{param.createTime})
+        <if test="param.createStartTime!=null and param.createStartTime!=''">
+            AND tg.create_time &gt;= #{param.createStartTime}
+        </if>
+        <if test="param.createEndTime!=null and param.createEndTime!=''">
+            AND tg.create_time &lt;= #{param.createEndTime}
         </if>
         <if test="param.goodsName != null and param.goodsName != ''">
             AND tg.goods_name LIKE CONCAT('%',#{param.goodsName},'%')
@@ -391,8 +394,8 @@
 
     <select id="getMgtGoodsTotal" resultType="com.ruoyi.goods.domain.vo.MgtGoodsTotalVo">
         SELECT
-            SUM(IFNULL(tgt.buy_num_count,0)) buyNumCount,
-            SUM(IFNULL(tgt.buy_money_total,0)) buyMoneyTotal
+            IFNULL(SUM(IFNULL(tgt.buy_num_count,0)),0) buyNumCount,
+            IFNULL(SUM(IFNULL(tgt.buy_money_total,0)),0) buyMoneyTotal
         FROM t_goods_total tgt,t_goods tg
         WHERE tg.goods_id = tgt.goods_id AND tg.del_flag = 0
     </select>
@@ -407,7 +410,7 @@
     </update>
 
     <select id="listGoodsByGoodsId" resultType="com.ruoyi.system.api.domain.poji.goods.Goods">
-        SELECT * FROM t_goods WHERE del_flag = 0 AND FIND_IN_SET(goods_id,#{goodsIds}) &gt; 0
+        select goods_id, del_flag, goods_status, goods_type, create_time, create_user_id, update_time, update_user_id, goods_class_id, goods_name, cycle_num_flag, service_num, goods_introduction, sales_price, mininum_price, subscription_flag, subscription, recommend_flag, goods_nurses, goods_tags, goods_no from t_goods FROM t_goods WHERE del_flag = 0 AND FIND_IN_SET(goods_id,#{goodsIds}) &gt; 0
     </select>
     
     <select id="pageMgtSelectGoods" resultType="com.ruoyi.system.api.domain.vo.MgtSelectGoodsPageVo">
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerCouponController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerCouponController.java
index 749e80c..cdc48dd 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerCouponController.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerCouponController.java
@@ -5,14 +5,17 @@
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.member.domain.dto.MerCouponEditDto;
 import com.ruoyi.member.domain.dto.MerCouponPageDto;
+import com.ruoyi.member.domain.dto.MerGoodsCouponListDto;
 import com.ruoyi.member.domain.dto.MgtCouponListDto;
 import com.ruoyi.member.domain.vo.MerCouponGetVo;
 import com.ruoyi.member.domain.vo.MerCouponPageVo;
 import com.ruoyi.member.domain.vo.MgtCouponSimpleListVo;
 import com.ruoyi.member.service.coupon.CouponService;
+import com.ruoyi.member.service.member.MemberCouponService;
 import com.ruoyi.system.api.domain.dto.MerBaseGetDto;
 import com.ruoyi.system.api.domain.dto.MerPageDto;
 import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
+import com.ruoyi.system.api.domain.vo.MerMemberCouponVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -38,6 +41,10 @@
 
     @Resource
     private CouponService couponService;
+
+    @Resource
+    private MemberCouponService memberCouponService;
+
 
     @RequestMapping(value = "/pagePlatformMerCoupon", method = RequestMethod.POST)
     @ApiOperation(value = "商户分页获取平台优惠券列表")
@@ -96,4 +103,17 @@
         List<MgtCouponSimpleListVo> mgtCouponSimpleListVoList = couponService.listMgtCouponSimpleVo(mgtCouponListDto);
         return R.ok(mgtCouponSimpleListVoList);
     }
+
+    /**
+     * @description: 获取用户优惠券
+     * @author jqs34
+     * @date 2023/5/3 1:45
+     * @version 1.0
+     */
+    @RequestMapping(value = "/listMerShopGoodsMemberCoupon", method = RequestMethod.POST)
+    @ApiOperation(value = "商户获取用户已领取优惠券")
+    public R<List<MerMemberCouponVo>> listMerShopGoodsMemberCoupon(@RequestBody MerGoodsCouponListDto merGoodsCouponListDto){
+        List<MerMemberCouponVo> merMemberCouponVoList = memberCouponService.listMerShopGoodsMemberCoupon(merGoodsCouponListDto);
+        return R.ok(merMemberCouponVoList);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/CouponController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/CouponController.java
index a2d3a23..1a0a67c 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/CouponController.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/CouponController.java
@@ -5,6 +5,7 @@
 import com.ruoyi.member.service.coupon.CouponService;
 import com.ruoyi.member.service.member.MemberCouponService;
 import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto;
+import com.ruoyi.system.api.domain.dto.MerBaseDto;
 import com.ruoyi.system.api.domain.vo.AppMemberCouponVo;
 import com.ruoyi.system.api.domain.vo.MerVerifyCouponGetVo;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -40,8 +41,8 @@
      * @version 1.0
      */
     @PostMapping("/listVoMemberCouponByUserId")
-    public R<List<AppMemberCouponVo>> listVoMemberCouponByUserId(@RequestBody Long userId){
-        List<AppMemberCouponVo> appMemberCouponVoList = memberCouponService.listVoMemberCouponByUserId(userId);
+    public R<List<AppMemberCouponVo>> listVoMemberCouponByUserId(@RequestBody MerBaseDto merBaseDto){
+        List<AppMemberCouponVo> appMemberCouponVoList = memberCouponService.listVoMemberCouponByUserId(merBaseDto);
         return R.ok(appMemberCouponVoList);
     }
 
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppIntegralController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppIntegralController.java
index a0b97fc..998990b 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppIntegralController.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppIntegralController.java
@@ -65,7 +65,7 @@
     public R signToday() {
         Long userId = SecurityUtils.getUserId();
         IntegralChangeDto integralChangeDto = new IntegralChangeDto();
-        integralChangeDto.setIntegralType(5);
+        integralChangeDto.setIntegralType(4);
         integralChangeDto.setUserId(userId);
         Boolean complete = memberService.changeIntegral(integralChangeDto);
         if(complete){
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerGoodsCouponListDto.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerGoodsCouponListDto.java
new file mode 100644
index 0000000..22969c3
--- /dev/null
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerGoodsCouponListDto.java
@@ -0,0 +1,22 @@
+package com.ruoyi.member.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.MerBaseDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName MerGoodsCouponListDto
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/19 17:26
+ * @Version 1.0
+ */
+@Data
+public class MerGoodsCouponListDto extends MerBaseDto {
+
+    @ApiModelProperty(value = "会员用户id")
+    private Long memberUserId;
+
+    @ApiModelProperty(value = "会员用户id")
+    private String goodsId;
+}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberCouponMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberCouponMapper.java
index 3ab8f3f..f572d21 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberCouponMapper.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberCouponMapper.java
@@ -3,9 +3,12 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.member.domain.dto.AppMemberCouponPageDto;
+import com.ruoyi.member.domain.dto.MerGoodsCouponListDto;
 import com.ruoyi.member.domain.vo.AppMemberCouponPageVo;
+import com.ruoyi.system.api.domain.dto.MerBaseDto;
 import com.ruoyi.system.api.domain.poji.member.MemberCoupon;
 import com.ruoyi.system.api.domain.vo.AppMemberCouponVo;
+import com.ruoyi.system.api.domain.vo.MerMemberCouponVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -26,7 +29,7 @@
      * @date 2023/5/3 1:47
      * @version 1.0
      */
-    List<AppMemberCouponVo> listVoMemberCouponByUserId(@Param("userId") Long userId);
+    List<AppMemberCouponVo> listVoMemberCouponByUserId(@Param("param") MerBaseDto merBaseDto);
 
     /**
      * @description  用户分页获取已领取优惠券列表
@@ -66,4 +69,12 @@
     void backMemberCoupon(@Param("memberCouponIds")String memberCouponIds);
 
 
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/7/19 17:35
+     * @param
+     * @return  List<MerMemberCouponVo>
+     */
+    List<MerMemberCouponVo> listMerShopGoodsMemberCoupon(MerGoodsCouponListDto merGoodsCouponListDto);
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberTotalMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberTotalMapper.java
index a31589c..d47cef9 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberTotalMapper.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberTotalMapper.java
@@ -13,4 +13,12 @@
  */
 public interface MemberTotalMapper extends BaseMapper<MemberTotal> {
 
+    /**
+     * @description  重启积分标记
+     * @author  jqs
+     * @date    2023/7/20 15:31
+     * @param
+     * @return  void
+     */
+    void initIntegralFlag();
 }
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 cf18fe6..609417f 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
@@ -3,6 +3,7 @@
 
 import com.ruoyi.member.service.coupon.CouponService;
 import com.ruoyi.member.service.member.MemberCouponService;
+import com.ruoyi.member.service.member.MemberTotalService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -25,6 +26,9 @@
     @Resource
     private MemberCouponService memberCouponService;
 
+    @Resource
+    private MemberTotalService memberTotalService;
+
     /**
      * 优惠券定时发送
      */
@@ -39,7 +43,7 @@
     /**
      * 定时检查优惠券过期
      */
-    @Scheduled(cron="2 0 * * * ?")
+    @Scheduled(cron="0 0 * * * ?")
     private void timingCheckMemberCoupon(){
         if(schedulerUtils.getSchedulerRun()) {
             log.info("定时检查优惠券过期任务开始执行");
@@ -47,5 +51,11 @@
         }
     }
 
-
+    @Scheduled(cron="3 0 * * * ?")
+    private void timinginitIntegralFlag(){
+        if(schedulerUtils.getSchedulerRun()) {
+            log.info("定时更新用户每日任务标记");
+            memberTotalService.initIntegralFlag();
+        }
+    }
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
index 1f7a536..2fed412 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
@@ -395,6 +395,7 @@
                 memberCoupon.setValidStartTime(coupon.getValidStartTime());
                 memberCoupon.setValidEndTime(coupon.getValidEndTime());
                 memberCoupon.setValidDay(coupon.getValidDay());
+                memberCoupon.setCouponFrom(coupon.getCouponFrom());
                 memberCoupon.setReceiveTime(nowTime);
                 memberCoupon.setRelGoodsIds(coupon.getRelGoodsIds());
                 //有效期处理1.时间段2.领取之日起
@@ -479,6 +480,7 @@
                 memberCoupon.setValidStartTime(coupon.getValidStartTime());
                 memberCoupon.setValidEndTime(coupon.getValidEndTime());
                 memberCoupon.setValidDay(coupon.getValidDay());
+                memberCoupon.setCouponFrom(coupon.getCouponFrom());
                 memberCoupon.setReceiveTime(nowTime);
                 memberCoupon.setRelGoodsIds(coupon.getRelGoodsIds());
                 //有效期处理1.时间段2.领取之日起
@@ -1007,6 +1009,7 @@
                 memberCoupon.setValidStartTime(coupon.getValidStartTime());
                 memberCoupon.setValidEndTime(coupon.getValidEndTime());
                 memberCoupon.setValidDay(coupon.getValidDay());
+                memberCoupon.setCouponFrom(coupon.getCouponFrom());
                 memberCoupon.setReceiveTime(new Date());
                 //有效期处理1.时间段2.领取之日起
                 if(coupon.getValidTimeType()==1){
@@ -1113,6 +1116,7 @@
         memberCoupon.setValidStartTime(coupon.getValidStartTime());
         memberCoupon.setValidEndTime(coupon.getValidEndTime());
         memberCoupon.setValidDay(coupon.getValidDay());
+        memberCoupon.setCouponFrom(coupon.getCouponFrom());
         memberCoupon.setReceiveTime(new Date());
         //有效期处理1.时间段2.领取之日起
         if(coupon.getValidTimeType()==1){
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java
index e127461..9ac6a3c 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java
@@ -6,14 +6,17 @@
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.member.domain.dto.AppMemberCouponPageDto;
+import com.ruoyi.member.domain.dto.MerGoodsCouponListDto;
 import com.ruoyi.member.domain.vo.AppMemberCouponPageVo;
 import com.ruoyi.member.mapper.member.MemberCouponMapper;
 import com.ruoyi.member.service.member.MemberCouponService;
 import com.ruoyi.system.api.constant.AppErrorConstant;
+import com.ruoyi.system.api.domain.dto.MerBaseDto;
 import com.ruoyi.system.api.domain.dto.MgtBaseBathDto;
 import com.ruoyi.system.api.domain.poji.goods.Goods;
 import com.ruoyi.system.api.domain.poji.member.MemberCoupon;
 import com.ruoyi.system.api.domain.vo.AppMemberCouponVo;
+import com.ruoyi.system.api.domain.vo.MerMemberCouponVo;
 import com.ruoyi.system.api.domain.vo.MerVerifyCouponGetVo;
 import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
 import com.ruoyi.system.api.service.RemoteGoodsService;
@@ -53,8 +56,8 @@
      * @version 1.0
      */
     @Override
-    public List<AppMemberCouponVo> listVoMemberCouponByUserId(Long userId){
-        List<AppMemberCouponVo> appMemberCouponVoList = memberCouponMapper.listVoMemberCouponByUserId(userId);
+    public List<AppMemberCouponVo> listVoMemberCouponByUserId(MerBaseDto merBaseDto){
+        List<AppMemberCouponVo> appMemberCouponVoList = memberCouponMapper.listVoMemberCouponByUserId(merBaseDto);
         return appMemberCouponVoList;
     }
 
@@ -140,6 +143,7 @@
             merVerifyCouponGetVo.setCouponFrom("平台");
         }
         memberCoupon.setCouponStatus(2);
+
         memberCoupon.setUseTime(new Date());
         this.saveOrUpdate(memberCoupon);
         merVerifyCouponGetVo.setMemberCoupon(memberCoupon);
@@ -249,4 +253,16 @@
     public void backMemberCoupon(String memberCouponIds){
         memberCouponMapper.backMemberCoupon(memberCouponIds);
     }
+
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/7/19 17:35
+     * @param
+     * @return  List<MerMemberCouponVo>
+     */
+    @Override
+    public List<MerMemberCouponVo> listMerShopGoodsMemberCoupon(MerGoodsCouponListDto merGoodsCouponListDto){
+        return memberCouponMapper.listMerShopGoodsMemberCoupon(merGoodsCouponListDto);
+    }
 }
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 2dbd752..f6a8349 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
@@ -220,6 +220,7 @@
             sysUser.setUserName(memberId);
             sysUser.setUserType("03");
             sysUser.setNickName("鸿瑞堂用户");
+            sysUser.setPhonenumber(mobile);
             sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
             String password = "hongruitang";
             sysUser.setPassword(SecurityUtils.encryptPassword(password));
@@ -701,24 +702,51 @@
      */
     @Override
     public void updateMemberGoodsType(AppMemberGoodsTypeDto appMemberGoodsTypeDto) {
+        // 根据用户ID获取会员信息
         Member member = this.getByUserId(appMemberGoodsTypeDto.getUserId());
+        // 获取商品类型集合和商品护理集合
         HashSet<String> goodsTypeSet = appMemberGoodsTypeDto.getGoodsTypeSet();
+        HashSet<String> goodsNurseSet = appMemberGoodsTypeDto.getGoodsNurseSet();
+        // 如果会员存在
         if (member != null) {
-            String goodsType = member.getGoodsType();
+            // 标识是否有变化
             Boolean change = false;
-            for (String str : goodsTypeSet) {
-                if (goodsType != null) {
-                    if (!goodsType.contains(str)) {
-                        goodsType = goodsType + "," + str;
+            // 更新商品类型
+            if (goodsTypeSet != null && goodsTypeSet.size() > 0) {
+                String goodsType = member.getGoodsType();
+                HashSet<String> goodsTypeOldSet = new HashSet<>();
+                // 如果商品类型不为空
+                if (StringUtils.isNotBlank(goodsType)) {
+                    goodsTypeOldSet = new HashSet<>(Arrays.asList(goodsType.split(",")));
+                    // 如果商品类型集合相等
+                    if (!goodsTypeSet.equals(goodsTypeOldSet)) {
                         change = true;
                     }
                 } else {
-                    goodsType = str;
                     change = true;
                 }
+                goodsTypeOldSet.addAll(goodsTypeSet);
+                member.setGoodsType(String.join(",", goodsTypeOldSet));
             }
+            // 更新商品护理
+            if (goodsNurseSet != null && goodsNurseSet.size() > 0) {
+                String memberNurse = member.getMemberNurse();
+                HashSet<String> memberNurseOldSet = new HashSet<>();
+                // 如果会员护理不为空
+                if (StringUtils.isNotBlank(memberNurse)) {
+                    memberNurseOldSet = new HashSet<>(Arrays.asList(memberNurse.split(",")));
+                    // 如果商品护理集合相等
+                    if (!goodsNurseSet.equals(memberNurseOldSet)) {
+                        change = true;
+                    }
+                } else {
+                    change = true;
+                }
+                memberNurseOldSet.addAll(goodsNurseSet);
+                member.setMemberNurse(String.join(",", memberNurseOldSet));
+            }
+            // 如果有变化,则保存或更新会员信息
             if (change) {
-                member.setGoodsType(goodsType);
                 this.saveOrUpdate(member);
             }
         }
@@ -1776,7 +1804,7 @@
             case 1:
                 changeIntegral = appOtherConfigGetVo.getShareIntegral();
                 integralRecord.setChangeIntegral(changeIntegral);
-                integralRecord.setSurpIntegral(integralRecord.getSurpIntegral()+changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                 integralRecord.setChangeReason("每日任务【分享小程序】获得积分");
                 memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
                 memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
@@ -1785,7 +1813,7 @@
             case 2:
                 changeIntegral = appOtherConfigGetVo.getSuggestPlatformIntegral();
                 integralRecord.setChangeIntegral(changeIntegral);
-                integralRecord.setSurpIntegral(integralRecord.getSurpIntegral()+changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                 integralRecord.setChangeReason("每日任务【提交平台建议】获得积分");
                 memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
                 memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
@@ -1794,7 +1822,7 @@
             case 3:
                 changeIntegral = appOtherConfigGetVo.getSuggestShopIntegral();
                 integralRecord.setChangeIntegral(changeIntegral);
-                integralRecord.setSurpIntegral(integralRecord.getSurpIntegral()+changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                 integralRecord.setChangeReason("每日任务【提交门店建议】获得积分");
                 memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
                 memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
@@ -1803,7 +1831,7 @@
             case 4:
                 changeIntegral = appOtherConfigGetVo.getSignInIntegral();
                 integralRecord.setChangeIntegral(changeIntegral);
-                integralRecord.setSurpIntegral(integralRecord.getSurpIntegral()+changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                 integralRecord.setChangeReason("每日任务【签到】获得积分");
                 memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
                 memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
@@ -1811,7 +1839,7 @@
                 break;
             case 5:
                 integralRecord.setChangeIntegral(changeIntegral);
-                integralRecord.setSurpIntegral(integralRecord.getSurpIntegral()+changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                 integralRecord.setChangeReason("订单【"+integralChangeDto.getOrderNo()+"】获得积分");
                 integralRecord.setOrderId(integralChangeDto.getOrderId());
                 integralRecord.setOrderNo(integralChangeDto.getOrderNo());
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberTotalServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberTotalServiceImpl.java
index 6838bf3..ac469f2 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberTotalServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberTotalServiceImpl.java
@@ -2,12 +2,11 @@
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.member.domain.pojo.member.MemberTotal;
-import com.ruoyi.member.domain.vo.AppIntegralTaskListVo;
 import com.ruoyi.member.mapper.member.MemberTotalMapper;
 import com.ruoyi.member.service.member.MemberTotalService;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
+import javax.annotation.Resource;
 
 /**
  * <p>
@@ -20,6 +19,18 @@
 @Service
 public class MemberTotalServiceImpl extends ServiceImpl<MemberTotalMapper, MemberTotal> implements MemberTotalService {
 
+    @Resource
+    private MemberTotalMapper memberTotalMapper;
 
-
+    /**
+     * @description  重启积分标记
+     * @author  jqs
+     * @date    2023/7/20 15:31
+     * @param
+     * @return  void
+     */
+    @Override
+    public void initIntegralFlag(){
+        memberTotalMapper.initIntegralFlag();
+    }
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberCouponService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberCouponService.java
index 3c8875d..224d9ac 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberCouponService.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberCouponService.java
@@ -3,9 +3,12 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.member.domain.dto.AppMemberCouponPageDto;
+import com.ruoyi.member.domain.dto.MerGoodsCouponListDto;
 import com.ruoyi.member.domain.vo.AppMemberCouponPageVo;
+import com.ruoyi.system.api.domain.dto.MerBaseDto;
 import com.ruoyi.system.api.domain.poji.member.MemberCoupon;
 import com.ruoyi.system.api.domain.vo.AppMemberCouponVo;
+import com.ruoyi.system.api.domain.vo.MerMemberCouponVo;
 import com.ruoyi.system.api.domain.vo.MerVerifyCouponGetVo;
 
 import java.util.List;
@@ -26,7 +29,7 @@
     * @date 2023/5/3 1:47
     * @version 1.0
     */
-    List<AppMemberCouponVo> listVoMemberCouponByUserId(Long userId);
+    List<AppMemberCouponVo> listVoMemberCouponByUserId(MerBaseDto merBaseDto);
 
     /**
      * @description  核销优惠券
@@ -93,4 +96,13 @@
      * @return  void
      */
     void backMemberCoupon(String memberCouponIds);
+
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/7/19 17:35
+     * @param
+     * @return  List<MerMemberCouponVo>
+     */
+    List<MerMemberCouponVo> listMerShopGoodsMemberCoupon(MerGoodsCouponListDto merGoodsCouponListDto);
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberTotalService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberTotalService.java
index ec26044..9d6027f 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberTotalService.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberTotalService.java
@@ -14,4 +14,12 @@
 public interface MemberTotalService extends IService<MemberTotal> {
 
 
+    /**
+     * @description  重启积分标记
+     * @author  jqs
+     * @date    2023/7/20 15:31
+     * @param
+     * @return  void
+     */
+    void initIntegralFlag();
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberCouponMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberCouponMapper.xml
index d19f0ce..cdc9167 100644
--- a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberCouponMapper.xml
+++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberCouponMapper.xml
@@ -163,7 +163,7 @@
         tuc.deadline_time deadlineTime,
         tuc.rel_goods_ids relGoodsIds
         FROM t_member_coupon tuc
-        WHERE tuc.del_flag = 0 AND tuc.coupon_status = 1 AND tuc.user_id = #{userId} AND tuc.coupon_type IN (1,2,3)
+        WHERE tuc.del_flag = 0 AND tuc.coupon_status = 1 AND tuc.user_id = #{param.userId} AND (tuc.coupon_from = 1 OR (tuc.coupon_from = 2 AND tuc.shop_id = #{param.shopId})) AND tuc.coupon_type IN (1,2,3)
         ORDER BY tuc.receive_time DESC
     </select>
 
@@ -203,4 +203,20 @@
         WHERE del_flag = 0 AND coupon_status = 2 AND FIND_IN_SET(id, #{memberCouponIds}) &gt; 0
     </update>
 
+    <select id="listMerShopGoodsMemberCoupon" resultType="com.ruoyi.system.api.domain.vo.MerMemberCouponVo">
+        SELECT
+            tuc.id memberCouponId,
+            tuc.coupon_type couponType,
+            tuc.coupon_name couponName,
+            tuc.money_threshold moneyThreshold,
+            tuc.discount_money discountMoney,
+            tuc.discount_percent discountPercent,
+            tuc.valid_start_time validStartTime,
+            tuc.deadline_time deadlineTime
+        FROM t_member_coupon tuc
+        WHERE tuc.del_flag = 0 AND tuc.coupon_status = 1 AND tuc.user_id = #{param.userId} AND tuc.coupon_type IN (1,2,3)
+            AND (tuc.coupon_from = 1 OR (tuc.coupon_from = 2 AND tuc.shop_id = #{param.shopId}))
+            AND (tuc.use_scope = 1 OR (tuc.use_scope = 2 AND FIND_IN_SET(#{param.goodsId}, rel_goods_ids) &gt; 0))
+        ORDER BY tuc.receive_time DESC
+    </select>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberSuggestMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberSuggestMapper.xml
index f1cd203..b851b84 100644
--- a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberSuggestMapper.xml
+++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberSuggestMapper.xml
@@ -55,11 +55,11 @@
         <if test="param.suggestStatus!=null and param.suggestStatus!=''">
             AND tms.replay_flag = #{param.suggestStatus}
         </if>
-        <if test="param.gender!=null and param.gender!=''">
+        <if test="param.gender!=null">
             AND tm.gender = #{param.gender}
         </if>
         <if test="param.tags!=null and param.tags!=''">
-            AND tm.suggest_tags REGEXP #{param.tags}
+            AND tms.suggest_tags REGEXP #{param.tags}
         </if>
         <if test="param.shopReplayStartTime!=null and param.shopReplayStartTime!=''">
             AND tms.shop_replay_time &gt;= #{param.shopReplayStartTime}
diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberTotalMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberTotalMapper.xml
index ef1fe26..d5a7620 100644
--- a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberTotalMapper.xml
+++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberTotalMapper.xml
@@ -2,6 +2,9 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.member.mapper.member.MemberTotalMapper">
 
+    <update id="initIntegralFlag">
+        UPDATE member_total SET share_flag = 0,pl_suggest_flag = 0,shop_suggest_flag = 0,sign_flag = 0,buy_flag = 0
+    </update>
 
 
 </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 ed2f151..9f38a7e 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
@@ -168,6 +168,7 @@
         appPlaceOrderVo.setOrderNo(order.getOrderNo());
         appPlaceOrderVo.setPayMoney(order.getPayMoney());
         appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney()));
+        orderService.payBack(order.getOrderId());
         return R.ok(appPlaceOrderVo);
     }
 
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 97aeb2d..d610779 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
@@ -126,6 +126,20 @@
         AppSureOrderGoodsVo appSureOrderGoodsVo;
         // 获取购买商品列表
         List<AppBuyGoodsDto> appBuyGoodsDtoList = appSureOrderDto.getAppBuyGoodsDtoList();
+        //获取商品列表
+        StringJoiner goodsIdSJ = new StringJoiner(",");
+        for (AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList) {
+            goodsIdSJ.add(appBuyGoodsDto.getGoodsId());
+        }
+        List<Goods> goodsList = remoteGoodsService.listGoodsByGoodsId(goodsIdSJ.toString()).getData();
+        Map<String, Goods> goodsMap = goodsList.stream()
+                .collect(Collectors.toMap(Goods::getGoodsId, Function.identity()));
+        Boolean haveDeposit = false;
+        for(Goods goods : goodsList){
+            if(goods.getSubscription()!=null&&goods.getSubscription().compareTo(BigDecimal.ZERO)>0){
+                haveDeposit = true;
+            }
+        }
         String goodsId;
         Integer buyNum;
         BigDecimal buyNumBig;
@@ -134,8 +148,11 @@
         BigDecimal goodsPrice;
         BigDecimal goodsTotalPrice;
         BigDecimal goodsRealPrice;
+        MerBaseDto merBaseDto = new MerBaseDto();
+        merBaseDto.setUserId(userId);
+        merBaseDto.setShopId(appSureOrderDto.getShopId());
         // 获取用户优惠券列表
-        List<AppMemberCouponVo> appMemberCouponVoList = remoteCouponService.listVoMemberCouponByUserId(userId).getData();
+        List<AppMemberCouponVo> appMemberCouponVoList = remoteCouponService.listVoMemberCouponByUserId(merBaseDto).getData();
         // 初始化商品优惠券列表
         List<AppMemberCouponVo> appGoodsMemberCouponVoList;
         // 将优惠券列表转换为Map,以优惠券ID为键
@@ -163,7 +180,7 @@
             buyNum = appBuyGoodsDto.getBuyNum();
             memberCouponId = appBuyGoodsDto.getMemberCouponId();
             // 获取商品信息
-            goods = remoteGoodsService.getGoods(goodsId).getData();
+            goods = goodsMap.get(goodsId);
             if(goods.getGoodsStatus()!=1){
                 throw new ServiceException(AppErrorConstant.GOODS_DOWN);
             }
@@ -230,8 +247,16 @@
             appSureOrderGoodsVo.setCouponDiscount(discountMoney);
             appSureOrderGoodsVo.setGoodsRealPrice(goodsRealPrice);
             goodsDeposit = goods.getSubscription();
-            if (goodsDeposit == null) {
-                goodsDeposit = new BigDecimal("0.00");
+            // 获取商品押金
+            goodsDeposit = goods.getSubscription();
+            if (goodsDeposit != null && goodsDeposit.compareTo(BigDecimal.ZERO)>0) {
+                goodsDeposit = goodsDeposit.multiply(buyNumBig);
+            }else{
+                if(haveDeposit){
+                    goodsDeposit = goodsRealPrice;
+                }else{
+                    goodsDeposit = new BigDecimal("0.00");
+                }
             }
             appSureOrderGoodsVo.setGoodsDeposit(goodsDeposit);
             // 计算订单总金额
@@ -384,8 +409,10 @@
         appPanicBuyVo.setGoodsTotalPrice(goodsTotalPrice);
         appPanicBuyVo.setGoodsRealPrice(goodsRealPrice);
         goodsDeposit = activityGoodsGetVo.getActivitySubscription();
-        if (goodsDeposit == null) {
+        if (goodsDeposit == null || goodsDeposit.compareTo(BigDecimal.ZERO)==0) {
             goodsDeposit = new BigDecimal("0.00");
+        }else{
+            goodsDeposit = goodsDeposit.multiply(buyNumBig);
         }
         appPanicBuyVo.setGoodsDeposit(goodsDeposit);
         orderGoodsMoney = orderGoodsMoney.add(goodsTotalPrice);
@@ -414,6 +441,20 @@
         AppSureOrderGoodsVo appSureOrderGoodsVo;
         // 获取购买的商品列表
         List<AppBuyGoodsDto> appBuyGoodsDtoList = appPlaceOrderDto.getAppBuyGoodsDtoList();
+        StringJoiner goodsIdSJ = new StringJoiner(",");
+        for (AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList) {
+            goodsIdSJ.add(appBuyGoodsDto.getGoodsId());
+        }
+        //获取商品列表
+        List<Goods> goodsList = remoteGoodsService.listGoodsByGoodsId(goodsIdSJ.toString()).getData();
+        Map<String, Goods> goodsMap = goodsList.stream()
+                .collect(Collectors.toMap(Goods::getGoodsId, Function.identity()));
+        Boolean haveDeposit = false;
+        for(Goods goods : goodsList){
+            if(goods.getSubscription()!=null&&goods.getSubscription().compareTo(BigDecimal.ZERO)>0){
+                haveDeposit = true;
+            }
+        }
         // 初始化变量
         String goodsId;
         Integer buyNum;
@@ -426,8 +467,11 @@
         BigDecimal goodsPrice;
         BigDecimal goodsTotalPrice;
         BigDecimal goodsRealPrice;
+        MerBaseDto merBaseDto = new MerBaseDto();
+        merBaseDto.setUserId(userId);
+        merBaseDto.setShopId(appPlaceOrderDto.getShopId());
         // 获取用户优惠券列表
-        List<AppMemberCouponVo> appMemberCouponVoList = remoteCouponService.listVoMemberCouponByUserId(userId).getData();
+        List<AppMemberCouponVo> appMemberCouponVoList = remoteCouponService.listVoMemberCouponByUserId(merBaseDto).getData();
         // 将用户优惠券列表转换为Map,方便后续查找
         Map<String, AppMemberCouponVo> appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity()));
         AppMemberCouponVo appMemberCouponVo;
@@ -458,7 +502,7 @@
             goodsId = appBuyGoodsDto.getGoodsId();
             memberCouponId = appBuyGoodsDto.getMemberCouponId();
             // 获取商品信息
-            goods = remoteGoodsService.getGoods(goodsId).getData();
+            goods = goodsMap.get(goodsId);
             // 设置商品信息
             appSureOrderGoodsVo.setGoodsId(goodsId);
             appSureOrderGoodsVo.setGoodsName(goods.getGoodsName());
@@ -521,8 +565,14 @@
             appSureOrderGoodsVo.setGoodsRealPrice(goodsRealPrice);
             // 获取商品押金
             goodsDeposit = goods.getSubscription();
-            if (goodsDeposit == null) {
-                goodsDeposit = new BigDecimal("0.00");
+            if (goodsDeposit != null && goodsDeposit.compareTo(BigDecimal.ZERO)>0) {
+                goodsDeposit = goodsDeposit.multiply(buyNumBig);
+            }else{
+                if(haveDeposit){
+                    goodsDeposit = goodsRealPrice;
+                }else{
+                    goodsDeposit = new BigDecimal("0.00");
+                }
             }
             appSureOrderGoodsVo.setGoodsDeposit(goodsDeposit);
             // 计算商品总数量、商品总价、优惠总金额、支付押金、支付金额
@@ -614,7 +664,7 @@
         appPlaceOrderVo.setOrderId(orderId);
         appPlaceOrderVo.setOrderNo(orderNo);
         // 调用支付
-        //使用优惠券
+        //减去优惠券
         if(memberCouponSJ!=null){
             remoteCouponService.useMemberCoupon(memberCouponSJ.toString());
         }
@@ -711,6 +761,7 @@
         String orderGoodsId;
         // 创建商品类型集合
         HashSet<String> goodsTypeSet = new HashSet<>();
+        HashSet<String> goodsNurseSet = new HashSet<>();
         // 创建商品订单对象,并设置商品ID,商品名称,商品介绍,商品类型
         appSureOrderGoodsVo = new AppSureOrderGoodsVo();
         useCoupon = 0;
@@ -741,8 +792,10 @@
         appSureOrderGoodsVo.setGoodsRealPrice(goodsRealPrice);
         // 获取商品押金
         goodsDeposit = activityGoodsGetVo.getActivitySubscription();
-        if (goodsDeposit == null) {
+        if (goodsDeposit == null || goodsDeposit.compareTo(BigDecimal.ZERO)==0) {
             goodsDeposit = new BigDecimal("0.00");
+        }else{
+            goodsDeposit = goodsDeposit.multiply(buyNumBig);
         }
         appSureOrderGoodsVo.setGoodsDeposit(goodsDeposit);
         // 计算商品数量,订单商品金额,优惠券折扣,订单支付押金,订单支付金额
@@ -785,6 +838,13 @@
         } else if (goods.getGoodsType() == 4) {
             goodsTypeSet.add("单品");
         }
+        String goodsNurse = goods.getGoodsNurses();
+        if(StringUtils.isNotBlank(goodsNurse)){
+            String[] goodsNurseArr = goodsNurse.split(",");
+            for(String str : goodsNurseArr){
+                goodsNurseSet.add(str);
+            }
+        }
         // 创建订单,并设置订单ID,删除标志,订单状态,订单号,订单来源,店铺ID,用户ID,订单金额,优惠券金额,折扣金额,应收金额,应收押金,变动应收金额,支付类型
         Order order = new Order();
         order.setOrderId(orderId);
@@ -822,10 +882,11 @@
         // 保存订单
         this.save(order);
         // 更新用户商品类型
-        if (goodsTypeSet != null && goodsTypeSet.size() > 0) {
+        if (goodsTypeSet != null || goodsNurseSet!= null) {
             AppMemberGoodsTypeDto appMemberGoodsTypeDto = new AppMemberGoodsTypeDto();
             appMemberGoodsTypeDto.setUserId(userId);
             appMemberGoodsTypeDto.setGoodsTypeSet(goodsTypeSet);
+            appMemberGoodsTypeDto.setGoodsNurseSet(goodsNurseSet);
             remoteMemberService.updateMemberGoodsType(appMemberGoodsTypeDto);
         }
         // 设置订单ID和订单号
@@ -1381,7 +1442,10 @@
         BigDecimal goodsRealPrice;
         Long shopId = merNewOrderDto.getShopId();
         Shop shop = remoteShopService.getShop(shopId).getData();
-        List<AppMemberCouponVo> appMemberCouponVoList = remoteCouponService.listVoMemberCouponByUserId(userId).getData();
+        MerBaseDto merBaseDto = new MerBaseDto();
+        merBaseDto.setUserId(userId);
+        merBaseDto.setShopId(shopId);
+        List<AppMemberCouponVo> appMemberCouponVoList = remoteCouponService.listVoMemberCouponByUserId(merBaseDto).getData();
         Map<String, AppMemberCouponVo> appMemberCouponVoMap = new HashMap<>();
         if (null != appMemberCouponVoList) {
             appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity()));
@@ -1448,8 +1512,10 @@
             }
 
             goodsDeposit = goods.getSubscription();
-            if (goodsDeposit == null) {
+            if (goodsDeposit == null || goodsDeposit.compareTo(BigDecimal.ZERO)==0) {
                 goodsDeposit = new BigDecimal("0.00");
+            }else{
+                goodsDeposit = goodsDeposit.multiply(buyNumBig);
             }
             goodsNum = goodsNum + buyNum;
             orderGoodsMoney = orderGoodsMoney.add(goodsTotalPrice);
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml
index 18f9b70..f0fde4f 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml
@@ -200,6 +200,6 @@
         SUM(CASE WHEN goods_type = 3 THEN service_num - used_num ELSE 0 END) experienceOrder,
         SUM(CASE WHEN goods_type = 2 THEN service_num - used_num ELSE 0 END) serviceOrder
         FROM t_consumer_goods tcg
-        WHERE tcg.del_flag = 0 AND tcg.user_id = #{param.memberUserId} AND tcg.shop_id = #{param.shopId}
+        WHERE tcg.del_flag = 0 AND tcg.user_id = #{userId} AND tcg.shop_id = #{shopId}
     </select>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java
index ce90f1a..7892fdf 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java
@@ -116,7 +116,15 @@
     public R editShopStaffInfo(@RequestBody MerEditUserDto merEditUserDto) {
         Long userId = SecurityUtils.getUserId();
         merEditUserDto.setUserId(userId);
-        shopStaffService.editShopStaffInfo(merEditUserDto);
+        if(merEditUserDto.getEditType()!=5){
+            shopStaffService.editShopStaffInfo(merEditUserDto);
+        }else{
+            Shop shop = shopService.getByShopId(merEditUserDto.getShopId());
+            String editValue = merEditUserDto.getEditValue();
+            String[] editArr = editValue.split("-");
+            shop.setBusinessStartTime(editArr[0]);
+            shop.setBusinessEndTime(editArr[1]);
+        }
         return R.ok();
     }
 
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 bb5cf8e..b8ad4ff 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
@@ -8,10 +8,7 @@
 import com.ruoyi.shop.service.task.MemberTaskService;
 import com.ruoyi.shop.service.task.ShopTaskService;
 import com.ruoyi.system.api.constant.AppErrorConstant;
-import com.ruoyi.system.api.domain.dto.MgtBaseBathDto;
-import com.ruoyi.system.api.domain.dto.MgtBasePlatformDto;
-import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
-import com.ruoyi.system.api.domain.dto.ShopTotalChangeDto;
+import com.ruoyi.system.api.domain.dto.*;
 import com.ruoyi.system.api.domain.poji.shop.Shop;
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
 import com.ruoyi.system.api.domain.vo.*;
@@ -285,5 +282,17 @@
         return R.ok(marketingStatus);
     }
 
-
+    /**
+     * @description  修改商户员工
+     * @author  jqs
+     * @date    2023/7/19 19:02
+     * @param mgtShopStaffEditDto
+     * @return  R
+     */
+    @PostMapping("/editMgtShopStaff")
+    public R editMgtShopStaff(@RequestBody MgtShopStaffEditDto mgtShopStaffEditDto)
+    {
+        shopStaffService.editMgtShopStaff(mgtShopStaffEditDto);
+        return R.ok();
+    }
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopDto.java
index 575fc15..16d2f10 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopDto.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopDto.java
@@ -54,6 +54,9 @@
     @ApiModelProperty(value="签约区域")
     private String signAreaCode;
 
+    @ApiModelProperty(value="签约区域全称")
+    private String signAreaName;
+
     @ApiModelProperty(value="商户服务电话")
     private String shopServicePhone;
 
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffFollowShopTaskDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffFollowShopTaskDto.java
index a87dc25..3c6bc9d 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffFollowShopTaskDto.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffFollowShopTaskDto.java
@@ -46,5 +46,9 @@
     @ApiModelProperty(value="下次任务内容")
     private String nextTaskContent;
 
+    @ApiModelProperty(value="跟踪类型")
+    private String customFollowType;
 
+    @ApiModelProperty(value="紧急程度")
+    private String emergencyState;
 }
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 eede950..cc6b98b 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
@@ -37,4 +37,31 @@
      * @return  List<StaffShopTaskPageVo>
      */
     List<StaffShopTaskPageVo> pageStaffShopTask(Page page, @Param("param")StaffShopTaskPageDto staffShopTaskPageDto);
+
+    /**
+     * @description  更新商户任务
+     * @author  jqs
+     * @date    2023/7/20 15:53
+     * @param
+     * @return  void
+     */
+    void checkShopTaskStatus();
+
+    /**
+     * @description  更新商户任务
+     * @author  jqs
+     * @date    2023/7/20 15:53
+     * @param
+     * @return  void
+     */
+    void checkAgencyTaskStatus();
+
+    /**
+     * @description  更新商户任务
+     * @author  jqs
+     * @date    2023/7/20 15:53
+     * @param
+     * @return  void
+     */
+    void checkMemberTaskStatus();
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/scheduler/SchedulerUtils.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/scheduler/SchedulerUtils.java
new file mode 100644
index 0000000..3e8c932
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/scheduler/SchedulerUtils.java
@@ -0,0 +1,48 @@
+package com.ruoyi.shop.scheduler;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.stereotype.Component;
+
+import java.net.Inet4Address;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.util.Enumeration;
+
+
+@Component
+public class SchedulerUtils {
+
+    @Autowired
+    private StringRedisTemplate redisTemplate;
+
+    public boolean getSchedulerRun() {
+        String localIpAddress = getLocalIpAddress();
+        return true;
+    }
+
+    public static String getLocalIpAddress() {
+        String localIpAddress = "";
+        try {
+            Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
+            InetAddress ip = null;
+            while (allNetInterfaces.hasMoreElements()) {
+                NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
+                if (netInterface.isLoopback() || netInterface.isVirtual() || !netInterface.isUp()) {
+                    continue;
+                } else {
+                    Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
+                    while (addresses.hasMoreElements()) {
+                        ip = addresses.nextElement();
+                        if (ip != null && ip instanceof Inet4Address) {
+                            return ip.getHostAddress();
+                        }
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return localIpAddress;
+    }
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/scheduler/ShopScheduler.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/scheduler/ShopScheduler.java
new file mode 100644
index 0000000..b239586
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/scheduler/ShopScheduler.java
@@ -0,0 +1,36 @@
+package com.ruoyi.shop.scheduler;
+
+
+import com.ruoyi.shop.service.task.ShopTaskService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+
+@Component
+@Slf4j
+public class ShopScheduler {
+
+
+    @Autowired
+    private SchedulerUtils schedulerUtils;
+
+    @Resource
+    private ShopTaskService shopTaskService;
+
+
+    /**
+     * 定时检查跟进任务状态
+     */
+    @Scheduled(cron="5 0 * * * ?")
+    private void timingCheckMemberCoupon(){
+        if(schedulerUtils.getSchedulerRun()) {
+            log.info("定时检查跟进任务状态任务开始执行");
+            shopTaskService.checkTaskDateStatus();
+        }
+    }
+
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java
index 0ba38ed..75be0de 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java
@@ -4,13 +4,18 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.bean.BeanUtils;
 import com.ruoyi.shop.domain.pojo.shop.ShopStaff;
 import com.ruoyi.shop.mapper.shop.ShopStaffMapper;
 import com.ruoyi.shop.service.shop.ShopStaffService;
+import com.ruoyi.system.api.domain.dto.AppEditUserDto;
 import com.ruoyi.system.api.domain.dto.MerEditUserDto;
+import com.ruoyi.system.api.domain.dto.MgtShopStaffEditDto;
 import com.ruoyi.system.api.domain.poji.shop.Shop;
 import com.ruoyi.system.api.domain.vo.MerStaffInfoVo;
+import com.ruoyi.system.api.service.RemoteSysStaffService;
+import com.ruoyi.system.api.service.RemoteUserService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -29,6 +34,12 @@
 
     @Resource
     private ShopStaffMapper shopStaffMapper;
+
+    @Resource
+    private RemoteUserService remoteUserService;
+
+    @Resource
+    private RemoteSysStaffService remoteSysStaffService;
 
     /**
      *
@@ -99,6 +110,14 @@
                 break;
         }
         this.saveOrUpdate(shopStaff);
+        //同步修改系统用户表
+        AppEditUserDto appEditUserDto = new AppEditUserDto();
+        appEditUserDto.setEditType(merEditUserDto.getEditType());
+        appEditUserDto.setEditValue(merEditUserDto.getEditValue());
+        appEditUserDto.setUserId(merEditUserDto.getUserId());
+        remoteUserService.editUserInfo(appEditUserDto);
+        //同步修改平台员工表
+        remoteSysStaffService.editUserInfo(merEditUserDto);
     }
 
     /**
@@ -109,4 +128,28 @@
     public void clearShopStaffRelation(Long shopId){
         shopStaffMapper.clearShopStaffRelation(shopId);
     }
+
+    /**
+     * @description  修改商户员工信息
+     * @author  jqs
+     * @date    2023/7/19 19:03
+     * @param mgtShopStaffEditDto
+     * @return  void
+     */
+    @Override
+    public void editMgtShopStaff(MgtShopStaffEditDto mgtShopStaffEditDto){
+        ShopStaff shopStaff = this.getByUserId(mgtShopStaffEditDto.getUserId());
+        if(shopStaff!=null){
+            if(StringUtils.isNotBlank(mgtShopStaffEditDto.getStaffName())){
+                shopStaff.setStaffName(mgtShopStaffEditDto.getStaffName());
+            }
+            if(StringUtils.isNotBlank(mgtShopStaffEditDto.getStaffMobile())){
+                shopStaff.setStaffMobile(mgtShopStaffEditDto.getStaffMobile());
+            }
+            if(StringUtils.isNotBlank(mgtShopStaffEditDto.getStaffAvatar())){
+                shopStaff.setStaffAvatar(mgtShopStaffEditDto.getStaffAvatar());
+            }
+            this.saveOrUpdate(shopStaff);
+        }
+    }
 }
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 7e77dca..997f468 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
@@ -231,6 +231,7 @@
                     shopTaskRecord.setCallPhone(staffFollowShopTaskDto.getCallPhone());
                     shopTaskRecord.setFollowContent(followPhoneDto.getFollowContent());
                     shopTaskRecord.setCallTime(followPhoneDto.getCallTime());
+                    shopTaskRecord.setCreateTime(new Date());
                     // 保存或更新会员任务记录
                     shopTaskRecordService.saveOrUpdate(shopTaskRecord);
                 }
@@ -243,6 +244,7 @@
             shopTaskRecord.setUserId(staffFollowShopTaskDto.getUserId());
             shopTaskRecord.setFollowType(staffFollowShopTaskDto.getFollowType());
             shopTaskRecord.setFollowContent(staffFollowShopTaskDto.getFollowContent());
+            shopTaskRecord.setCustomFollowType(staffFollowShopTaskDto.getCustomFollowType());
             shopTaskRecord.setCreateTime(new Date());
             // 保存或更新会员任务记录
             shopTaskRecordService.saveOrUpdate(shopTaskRecord);
@@ -301,9 +303,32 @@
             shopTask.setShopId(oldShopTask.getShopId());
             shopTask.setTaskDate(staffFollowShopTaskDto.getNextTaskDate());
             shopTask.setFollowContent(staffFollowShopTaskDto.getNextTaskContent());
-            shopTask.setTaskStatus(2);
+            String nowTimeStr = DateUtils.getDate();
+            int i = staffFollowShopTaskDto.getNextTaskDate().compareTo(nowTimeStr);
+            if(i>0){
+                shopTask.setTaskStatus(0);
+            }else if(i==0){
+                shopTask.setTaskStatus(1);
+            }else{
+                shopTask.setTaskStatus(3);
+            }
+            shopTask.setEmergencyState(staffFollowShopTaskDto.getEmergencyState());
             shopTask.setCreateTime(new Date());
             this.saveOrUpdate(shopTask);
         }
     }
+
+    /**
+     * @description  检查任务时间状态
+     * @author  jqs
+     * @date    2023/7/19 18:01
+     * @param
+     * @return  void
+     */
+    @Override
+    public void checkTaskDateStatus(){
+        shopTaskMapper.checkShopTaskStatus();
+        shopTaskMapper.checkAgencyTaskStatus();
+        shopTaskMapper.checkMemberTaskStatus();
+    }
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java
index f471c76..79b1860 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.shop.domain.pojo.shop.ShopStaff;
 import com.ruoyi.system.api.domain.dto.MerEditUserDto;
+import com.ruoyi.system.api.domain.dto.MgtShopStaffEditDto;
 import com.ruoyi.system.api.domain.poji.shop.Shop;
 import com.ruoyi.system.api.domain.vo.MerStaffInfoVo;
 
@@ -48,4 +49,13 @@
      * @param shopId
      */
     void clearShopStaffRelation(Long shopId);
+
+    /**
+     * @description  修改商户员工信息
+     * @author  jqs
+     * @date    2023/7/19 19:03
+     * @param mgtShopStaffEditDto
+     * @return  void
+     */
+    void editMgtShopStaff(MgtShopStaffEditDto mgtShopStaffEditDto);
 }
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 ced42ac..dc33eb1 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
@@ -73,4 +73,13 @@
     * @date 2023/7/16 11:56
     */
     void staffFollowShopTask(StaffFollowShopTaskDto staffFollowShopTaskDto);
+
+    /**
+     * @description  检查任务时间状态
+     * @author  jqs
+     * @date    2023/7/19 18:01
+     * @param
+     * @return  void
+     */
+    void checkTaskDateStatus();
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/WxUploadUtils.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/WxUploadUtils.java
deleted file mode 100644
index fb68541..0000000
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/WxUploadUtils.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.ruoyi.shop.util;
-
-/**
- * @ClassName WxUploadUtils
- * @Description TODO
- * @Author jqs
- * @Date 2023/6/19 11:55
- * @Version 1.0
- */
-public class WxUploadUtils {
-
-    /*String filePath = "/your/home/hellokitty.png";
-    URI uri = new URI("https://api.mch.weixin.qq.com/v3/merchant/media/upload");
-    File file = new File(filePath);
-
-
-    FileInputStream ins1 = new FileInputStream(file)) {
-        String sha256 = DigestUtils.sha256Hex(ins1);
-        try (InputStream ins2 = new FileInputStream(file)) {
-            HttpPost request = new WechatPayUploadHttpPost.Builder(uri)
-                    .withImage(file.getName(), sha256, ins2)
-                    .build();
-            CloseableHttpResponse response1 = httpClient.execute(request);
-        }
-    }*/
-}
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 d858f22..878200e 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
@@ -303,6 +303,7 @@
         WHEN 0 THEN "冻结"
         WHEN 1 THEN "正常"
         WHEN 2 THEN "终止合作"
+        WHEN 3 THEN "进件中"
         END shopStatus,
         tsm.shop_marketing_total shopActivityCount,
         ts.shop_custom_status shopCustomStatus,
diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopSuggestMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopSuggestMapper.xml
index 6182377..1d746b4 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopSuggestMapper.xml
+++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopSuggestMapper.xml
@@ -49,7 +49,7 @@
             AND tss.replay_flag = #{param.suggestStatus}
         </if>
         <if test="param.tags!=null and param.tags!=''">
-            AND tm.suggest_tags REGEXP #{param.tags}
+            AND tss.suggest_tags REGEXP #{param.tags}
         </if>
         <if test="param.replayStartTime!=null and param.replayStartTime!=''">
             AND tss.replay_time &gt;= #{param.replayStartTime}
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 de49d74..97af8c1 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
@@ -120,4 +120,31 @@
         ORDER BY tst.task_status ASC
     </select>
 
+    <update id="checkShopTaskStatus">
+        UPDATE t_shop_task
+        SET task_status = CASE
+        WHEN task_date = CURDATE() THEN 1
+        WHEN task_date &lt; CURDATE() AND task_status &lt; 2 THEN 3
+        ELSE task_status
+        END
+    </update>
+
+    <update id="checkMemberTaskStatus">
+        UPDATE t_member_task
+        SET task_status = CASE
+        WHEN task_date = CURDATE() THEN 1
+        WHEN task_date &lt; CURDATE() AND task_status &lt; 2 THEN 3
+        ELSE task_status
+        END
+    </update>
+
+    <update id="checkAgencyTaskStatus">
+        UPDATE t_agency_task
+        SET task_status = CASE
+        WHEN task_date = CURDATE() THEN 1
+        WHEN task_date &lt; CURDATE() AND task_status &lt; 2 THEN 3
+        ELSE task_status
+        END
+    </update>
+
 </mapper>
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/ConfigController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/ConfigController.java
index a1e16b8..d367213 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/ConfigController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/ConfigController.java
@@ -2,6 +2,7 @@
 
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.system.api.domain.dto.MgtBaseBathDto;
+import com.ruoyi.system.api.domain.dto.MgtClassNumDto;
 import com.ruoyi.system.api.domain.dto.MgtUserIdByDept;
 import com.ruoyi.system.api.domain.poji.config.Activeness;
 import com.ruoyi.system.api.domain.poji.config.DelayTask;
@@ -48,6 +49,7 @@
 
     @Resource
     private CustomConfigService customConfigService;
+
 
     /**
      * 获取系统标签
@@ -183,4 +185,17 @@
         return R.ok(appOtherConfigGetVo);
     }
 
+    /**
+     * @description  改变分类数量
+     * @author  jqs
+     * @date    2023/7/20 20:06
+     * @param mgtClassNumDto
+     * @return  R
+     */
+    @PostMapping("/changeClassNum")
+    public R changeClassNum(@RequestBody MgtClassNumDto mgtClassNumDto)
+    {
+        sysClassificationService.changeClassNum(mgtClassNumDto);
+        return R.ok();
+    }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/StaffController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/StaffController.java
index 7f8c6d6..cb34520 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/StaffController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/conslole/StaffController.java
@@ -1,12 +1,14 @@
 package com.ruoyi.system.controller.conslole;
 
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.system.api.domain.dto.MerEditUserDto;
 import com.ruoyi.system.domain.pojo.staff.SysStaff;
 import com.ruoyi.system.service.staff.SysStaffService;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+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;
@@ -21,8 +23,14 @@
     @Resource
     private SysStaffService sysStaffService;
 
-    @RequestMapping(value = "/isLeader", method = RequestMethod.POST)
-    @ApiOperation(value = "获取员工信息")
+    /**
+     * @description  判断员工是否领导
+     * @author  jqs
+     * @date    2023/7/19 19:45
+     * @param
+     * @return  Boolean
+     */
+    @PostMapping("/isLeader")
     public Boolean isLeader() {
         Long userId = SecurityUtils.getUserId();
         SysStaff sysStaff = sysStaffService.getByUserId(userId);
@@ -31,4 +39,17 @@
         }
         return false;
     }
+
+    /**
+     * @description  编辑商户员工
+     * @author  jqs
+     * @date    2023/7/19 19:44
+     * @param merEditUserDto
+     * @return  R
+     */
+    @PostMapping("/editSysStaffInfo")
+    public R editUserInfo(@RequestBody MerEditUserDto merEditUserDto){
+        sysStaffService.editSysStaffInfo(merEditUserDto);
+        return R.ok();
+    }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/miniapp/AppHomeController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/miniapp/AppHomeController.java
index ac14734..d39cf6b 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/miniapp/AppHomeController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/miniapp/AppHomeController.java
@@ -3,9 +3,11 @@
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.system.domain.vo.AppAdvertVo;
 import com.ruoyi.system.domain.vo.AppBannerVo;
+import com.ruoyi.system.domain.vo.AppPopVo;
 import com.ruoyi.system.domain.vo.AppQuickEntryVo;
 import com.ruoyi.system.service.config.AdvertService;
 import com.ruoyi.system.service.config.BannerService;
+import com.ruoyi.system.service.config.PopService;
 import com.ruoyi.system.service.config.QuickEntryService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -40,6 +42,11 @@
     private AdvertService advertService;
 
 
+    @Resource
+    private PopService popService;
+
+
+
 
     @RequestMapping(value = "/getHomeBanner", method = RequestMethod.POST)
     @ApiOperation(value = "获取首页banner")
@@ -62,7 +69,12 @@
         return R.ok(appAdvertVo);
     }
 
-
+    @RequestMapping(value = "/getPop", method = RequestMethod.POST)
+    @ApiOperation(value = "获取弹窗")
+    public R<AppPopVo> getAppPop() {
+        AppPopVo appPopVo = popService.getAppPop();
+        return R.ok(appPopVo);
+    }
 
 
 
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtAdvertEditDto.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtAdvertEditDto.java
index 24e8a4a..bdcd0ab 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtAdvertEditDto.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtAdvertEditDto.java
@@ -29,7 +29,7 @@
     @ApiModelProperty(value = "链接地址")
     private String linkUrl;
 
-    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂")
+    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂6.赚取积分7.建议有奖")
     private Integer jumpType;
 
     @ApiModelProperty(value = "跳转id")
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtBannerEditDto.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtBannerEditDto.java
index b940d2a..cc27297 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtBannerEditDto.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtBannerEditDto.java
@@ -32,7 +32,7 @@
     @ApiModelProperty(value = "链接地址")
     private String linkUrl;
 
-    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂")
+    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂6.赚取积分7.建议有奖")
     private Integer jumpType;
 
     @ApiModelProperty(value = "跳转id")
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtPopEditDto.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtPopEditDto.java
index ea15b11..6e89bdb 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtPopEditDto.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtPopEditDto.java
@@ -26,7 +26,7 @@
     @ApiModelProperty(value = "链接地址")
     private String linkUrl;
 
-    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂")
+    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂6.赚取积分7.建议有奖")
     private Integer jumpType;
 
     @ApiModelProperty(value = "跳转id")
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtQuickEntryEditDto.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtQuickEntryEditDto.java
index 924893b..aebf000 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtQuickEntryEditDto.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtQuickEntryEditDto.java
@@ -29,7 +29,7 @@
     @ApiModelProperty(value = "链接地址")
     private String linkUrl;
 
-    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂")
+    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂6.赚取积分7.建议有奖")
     private Integer jumpType;
 
     @ApiModelProperty(value = "跳转id")
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Advert.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Advert.java
index d3fe4ff..f4fa599 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Advert.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Advert.java
@@ -60,7 +60,7 @@
     private String linkUrl;
 
     /**
-     * 跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂
+     * 跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂6.赚取积分7.建议有奖
      */
     @TableField("jump_type")
     private Integer jumpType;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Banner.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Banner.java
index 5c42ef7..f333dd7 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Banner.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Banner.java
@@ -67,7 +67,7 @@
     @TableField("link_url")
     private String linkUrl;
     /**
-     * 跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂
+     * 跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂6.赚取积分7.建议有奖
      */
     @TableField("jump_type")
     private Integer jumpType;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Pop.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Pop.java
index 5ecd417..1f408cd 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Pop.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Pop.java
@@ -76,7 +76,7 @@
     private Long createUserId;
 
     /**
-     * 跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂
+     * 跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂6.赚取积分7.建议有奖
      */
     @TableField("jump_type")
     private Integer jumpType;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/QuickEntry.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/QuickEntry.java
index 63b04ff..367c8b1 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/QuickEntry.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/QuickEntry.java
@@ -71,7 +71,7 @@
     private Long createUserId;
 
     /**
-     * 跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂
+     * 跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂6.赚取积分7.建议有奖
      */
     @TableField("jump_type")
     private Integer jumpType;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/RecommendCooperation.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/RecommendCooperation.java
index aeb0f41..4f9ec80 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/RecommendCooperation.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/RecommendCooperation.java
@@ -61,6 +61,9 @@
      */
     @TableField("recommended_phone")
     private String recommendedPhone;
+
+    @TableField("recommended_from")
+    private Integer recommendedFrom;
     /**
      * 备注
      */
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AppBannerVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AppBannerVo.java
index 71734f0..5afbdc1 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AppBannerVo.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AppBannerVo.java
@@ -29,7 +29,7 @@
     @ApiModelProperty(value = "链接地址")
     private String linkUrl;
 
-    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂")
+    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂6.赚取积分7.建议有奖")
     private Integer jumpType;
 
     @ApiModelProperty(value = "跳转id")
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AppPopVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AppPopVo.java
new file mode 100644
index 0000000..047b17c
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AppPopVo.java
@@ -0,0 +1,37 @@
+package com.ruoyi.system.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName AppPopVo
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/7/20 17:14
+ * @Version 1.0
+ */
+@Data
+public class AppPopVo {
+
+    @ApiModelProperty(value = "弹窗入口")
+    private Long popId;
+
+    @ApiModelProperty(value = "弹窗图片地址")
+    private String popUrl;
+
+    @ApiModelProperty(value = "对象类型1.外链2.内链3.无")
+    private Integer targetType;
+
+    @ApiModelProperty(value = "链接地址")
+    private String linkUrl;
+
+    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂6.赚取积分7.建议有奖")
+    private Integer jumpType;
+
+    @ApiModelProperty(value = "跳转id")
+    private String jumpId;
+
+
+
+
+}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtAllCustomConfigVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtAllCustomConfigVo.java
index c720025..51b682f 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtAllCustomConfigVo.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtAllCustomConfigVo.java
@@ -78,7 +78,7 @@
     @ApiModelProperty(value = "链接地址")
     private String linkUrl;
 
-    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂")
+    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂6.赚取积分7.建议有奖")
     private Integer jumpType;
 
     @ApiModelProperty(value = "跳转id")
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerGetVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerGetVo.java
index fe30b4a..6792a7e 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerGetVo.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtBannerGetVo.java
@@ -32,7 +32,7 @@
     @ApiModelProperty(value = "链接地址")
     private String linkUrl;
 
-    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂")
+    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂6.赚取积分7.建议有奖")
     private Integer jumpType;
 
     @ApiModelProperty(value = "跳转id")
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopGetVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopGetVo.java
index a63d7dd..e1863da 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopGetVo.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtPopGetVo.java
@@ -29,7 +29,7 @@
     @ApiModelProperty(value = "链接地址")
     private String linkUrl;
 
-    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂")
+    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂6.赚取积分7.建议有奖")
     private Integer jumpType;
 
     @ApiModelProperty(value = "跳转id")
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtQuickEntryGetVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtQuickEntryGetVo.java
index 03db30d..c7436c1 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtQuickEntryGetVo.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtQuickEntryGetVo.java
@@ -28,7 +28,7 @@
     @ApiModelProperty(value = "链接地址")
     private String linkUrl;
 
-    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂")
+    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂6.赚取积分7.建议有奖")
     private Integer jumpType;
 
     @ApiModelProperty(value = "跳转id")
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/RedisListener.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/RedisListener.java
index 78e9c3a..209348b 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/RedisListener.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/listener/RedisListener.java
@@ -16,6 +16,7 @@
 import org.springframework.data.redis.listener.RedisMessageListenerContainer;
 import org.springframework.stereotype.Component;
 
+import javax.annotation.Resource;
 import java.util.Date;
 
 /**
@@ -31,12 +32,16 @@
 
     private RedisTemplate<String, Object> redisTemplate;
 
+    @Resource
     private RemoteConfigService remoteConfigService;
 
+    @Resource
     private RemoteCouponService remoteCouponService;
 
+    @Resource
     private RemoteActivityService remoteActivityService;
 
+    @Resource
     private RemoteOrderService remoteOrderService;
 
     public RedisListener(RedisMessageListenerContainer listenerContainer,
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/PopMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/PopMapper.java
index 3c1c303..e035d65 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/PopMapper.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/PopMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.system.domain.pojo.config.Pop;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.system.domain.vo.AppPopVo;
 import com.ruoyi.system.domain.vo.MgtPopPageVo;
 
 import java.util.List;
@@ -26,4 +27,13 @@
      * @return  List<MgtPopPageVo>
      */
     List<MgtPopPageVo> pageMgtPop(Page page);
+
+    /**
+     * @description  获取首页弹窗
+     * @author  jqs
+     * @date    2023/7/20 17:19
+     * @param
+     * @return  AppPopVo
+     */
+    AppPopVo getAppPop();
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/PopService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/PopService.java
index a4c5b97..da0f85f 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/PopService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/PopService.java
@@ -5,6 +5,7 @@
 import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
 import com.ruoyi.system.domain.dto.MgtPopEditDto;
 import com.ruoyi.system.domain.pojo.config.Pop;
+import com.ruoyi.system.domain.vo.AppPopVo;
 import com.ruoyi.system.domain.vo.MgtPopGetVo;
 import com.ruoyi.system.domain.vo.MgtPopPageVo;
 
@@ -55,4 +56,13 @@
      * @return  void
      */
     void deleteMgtPop(MgtBaseGetDto mgtBaseGetDto);
+
+    /**
+     * @description  获取首页弹窗
+     * @author  jqs
+     * @date    2023/7/20 17:19
+     * @param
+     * @return  AppPopVo
+     */
+    AppPopVo getAppPop();
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/SysClassificationService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/SysClassificationService.java
index 4809513..6e4757d 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/SysClassificationService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/SysClassificationService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.system.api.domain.dto.MgtClassNumDto;
 import com.ruoyi.system.api.domain.poji.config.SysClassification;
 import com.ruoyi.system.domain.dto.MgtClassificationEditDto;
 import com.ruoyi.system.domain.dto.MgtClassificationPageDto;
@@ -66,4 +67,13 @@
      * @return  List<AppClassListVo>
      */
     List<AppClassListVo> listByType(Integer classType);
+
+    /**
+     * @description  分类变化
+     * @author  jqs
+     * @date    2023/7/20 14:32
+     * @param mgtClassNumDto
+     * @return  void
+     */
+    void changeClassNum(MgtClassNumDto mgtClassNumDto);
 }
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 b8b8d68..2d95f6e 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
@@ -8,6 +8,7 @@
 import com.ruoyi.common.core.utils.bean.BeanUtils;
 import com.ruoyi.system.api.constant.AppErrorConstant;
 import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
+import com.ruoyi.system.api.domain.dto.MgtClassNumDto;
 import com.ruoyi.system.domain.dto.MgtArticleEditDto;
 import com.ruoyi.system.domain.dto.MgtArticlePageDto;
 import com.ruoyi.system.domain.pojo.config.Article;
@@ -17,6 +18,7 @@
 import com.ruoyi.system.domain.vo.MgtArticlePageVo;
 import com.ruoyi.system.mapper.config.ArticleMapper;
 import com.ruoyi.system.service.config.ArticleService;
+import com.ruoyi.system.service.config.SysClassificationService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -38,6 +40,9 @@
 
     @Resource
     private ArticleMapper articleMapper;
+
+    @Resource
+    private SysClassificationService sysClassificationService;
 
     /**
      * @description  删除文章分类
@@ -73,37 +78,66 @@
      */
     @Override
     public void editMgtArticle(MgtArticleEditDto mgtArticleEditDto){
+        // 创建MgtClassNumDto对象
+        MgtClassNumDto mgtClassNumDto = new MgtClassNumDto();
+        // 创建Article对象
         Article article;
-        Article articleSame = this.getOne(new LambdaQueryWrapper<Article>().eq(Article::getDelFlag,0).eq(Article::getArticleTitle,mgtArticleEditDto.getArticleTitle()),false);
-        if(mgtArticleEditDto.getArticleId()!=null){
-            if(articleSame!=null&&!articleSame.getArticleId().equals(mgtArticleEditDto.getArticleId())){
+        // 根据文章标题查询文章是否存在
+        Article articleSame = this.getOne(new LambdaQueryWrapper<Article>()
+                .eq(Article::getDelFlag, 0)
+                .eq(Article::getArticleTitle, mgtArticleEditDto.getArticleTitle()), false);
+        // 如果文章ID不为空
+        if (mgtArticleEditDto.getArticleId() != null) {
+            // 如果存在相同标题的文章并且文章ID不同,则抛出异常
+            if (articleSame != null && !articleSame.getArticleId().equals(mgtArticleEditDto.getArticleId())) {
                 throw new ServiceException(AppErrorConstant.ARTICLE_DOUBLE);
             }
+            // 根据文章ID获取文章对象
             article = this.getById(mgtArticleEditDto.getArticleId());
-        }else{
-            if(articleSame!=null){
+            // 如果类别ID不为空并且文章的类别ID不为空并且类别ID不同,则设置子类别ID和新增类别ID
+            if (mgtArticleEditDto.getClassId() != null && article.getClassId() != null
+                    && !mgtArticleEditDto.getClassId().equals(article.getClassId())) {
+                mgtClassNumDto.setSubClassId(article.getClassId());
+                mgtClassNumDto.setAddClassId(mgtArticleEditDto.getClassId());
+            }
+            // 如果类别ID不为空并且文章的类别ID为空,则设置新增类别ID
+            else if (mgtArticleEditDto.getClassId() != null && article.getClassId() == null) {
+                mgtClassNumDto.setAddClassId(mgtArticleEditDto.getClassId());
+            }
+        }
+        // 如果文章ID为空
+        else {
+            // 如果存在相同标题的文章,则抛出异常
+            if (articleSame != null) {
                 throw new ServiceException(AppErrorConstant.ARTICLE_DOUBLE);
             }
+            // 创建新的文章对象
             article = new Article();
             article.setDelFlag(0);
             article.setCreateTime(new Date());
             article.setCreateUserId(mgtArticleEditDto.getUserId());
+            mgtClassNumDto.setAddClassId(mgtArticleEditDto.getClassId());
         }
+        // 设置文章的类别ID、排序、标题、简介、封面、视频、更新时间和更新用户ID
         article.setClassId(mgtArticleEditDto.getClassId());
         article.setArticleSort(mgtArticleEditDto.getArticleSort());
         article.setArticleTitle(mgtArticleEditDto.getArticleTitle());
         article.setArticleIntroduce(mgtArticleEditDto.getArticleIntroduce());
-        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());
         article.setUpdateUserId(mgtArticleEditDto.getUserId());
+        // 处理文章详情
+        String articleDetail = mgtArticleEditDto.getArticleDetail();
+        if (StringUtils.isNotBlank(articleDetail)) {
+            byte[] decodedBytes = Base64.getDecoder().decode(articleDetail);
+            articleDetail = new String(decodedBytes, StandardCharsets.UTF_8);
+            article.setArticleDetail(articleDetail);
+        }
+        // 保存或更新文章
         this.saveOrUpdate(article);
+        // 更新类别数量
+        sysClassificationService.changeClassNum(mgtClassNumDto);
     }
 
 
@@ -121,6 +155,12 @@
         article.setUpdateTime(new Date());
         article.setUpdateUserId(mgtBaseGetDto.getUserId());
         this.saveOrUpdate(article);
+        if(article.getClassId()!=null){
+            MgtClassNumDto mgtClassNumDto = new MgtClassNumDto();
+            mgtClassNumDto.setSubClassId(article.getClassId());
+            sysClassificationService.changeClassNum(mgtClassNumDto);
+        }
+
     }
 
     /**
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java
index ba61b9c..581affa 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/BannerServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.system.service.impl.config;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.utils.bean.BeanUtils;
 import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
 import com.ruoyi.system.domain.dto.MgtBannerEditDto;
@@ -10,7 +11,6 @@
 import com.ruoyi.system.domain.vo.MgtBannerPageVo;
 import com.ruoyi.system.mapper.config.BannerMapper;
 import com.ruoyi.system.service.config.BannerService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -59,6 +59,23 @@
         }
         // 将DTO中的属性值复制到横幅对象中
         BeanUtils.copyProperties(mgtBannerEditDto, banner);
+        if(banner.getTargetType()==1){
+            banner.setJumpType(null);
+            banner.setJumpId(null);
+            banner.setLinkType(null);
+        }else if(banner.getTargetType()==2){
+            if(banner.getLinkType()==1){
+                banner.setJumpType(null);
+                banner.setJumpId(null);
+            }else{
+                banner.setLinkUrl(null);
+            }
+        }else if(banner.getTargetType()==3){
+            banner.setLinkUrl(null);
+            banner.setLinkType(null);
+            banner.setJumpType(null);
+            banner.setJumpId(null);
+        }
         // 设置创建用户ID和创建时间
         banner.setCreateUserId(mgtBannerEditDto.getUserId());
         banner.setCreateTime(new Date());
@@ -89,6 +106,23 @@
     @Override
     public MgtBannerGetVo getMgtBanner(Long bannerId){
         Banner banner = this.getById(bannerId);
+        if(banner.getTargetType()==1){
+            banner.setJumpType(null);
+            banner.setJumpId(null);
+            banner.setLinkType(null);
+        }else if(banner.getTargetType()==2){
+            if(banner.getLinkType()==1){
+                banner.setJumpType(null);
+                banner.setJumpId(null);
+            }else{
+                banner.setLinkUrl(null);
+            }
+        }else if(banner.getTargetType()==3){
+            banner.setLinkUrl(null);
+            banner.setLinkType(null);
+            banner.setJumpType(null);
+            banner.setJumpId(null);
+        }
         MgtBannerGetVo mgtBannerGetVo = new MgtBannerGetVo();
         BeanUtils.copyProperties(banner, mgtBannerGetVo);
         return mgtBannerGetVo;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java
index f25a3be..cd15e89 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java
@@ -339,8 +339,8 @@
                         customConfig.setUpdateTime(updateTime);
                         if(oldValue!=null&&!oldValue.isEmpty()){
                             handleChangeConfig(oldValue, newValue, key);
-                            updatedCustomConfigs.add(customConfig);
                         }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     case "SHOP_FOLLOW_TYPE":
                         newValue = mgtShopConfigEditDto.getShopFollowType();
@@ -348,8 +348,8 @@
                         customConfig.setUpdateTime(updateTime);
                         if(oldValue!=null&&!oldValue.isEmpty()){
                             handleChangeConfig(oldValue, newValue, key);
-                            updatedCustomConfigs.add(customConfig);
                         }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     case "SHOP_CUSTOM_STATUS":
                         newValue = mgtShopConfigEditDto.getShopCustomStatus();
@@ -357,8 +357,8 @@
                         customConfig.setUpdateTime(updateTime);
                         if(oldValue!=null&&!oldValue.isEmpty()){
                             handleChangeConfig(oldValue, newValue, key);
-                            updatedCustomConfigs.add(customConfig);
                         }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     case "SHOP_SOURCE_CHANNEL":
                         newValue = mgtShopConfigEditDto.getShopSourceChannel();
@@ -366,8 +366,8 @@
                         customConfig.setUpdateTime(updateTime);
                         if(oldValue!=null&&!oldValue.isEmpty()){
                             handleChangeConfig(oldValue, newValue, key);
-                            updatedCustomConfigs.add(customConfig);
                         }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     default:
                         break;
@@ -417,8 +417,8 @@
                         customConfig.setUpdateTime(updateTime);
                         if(oldValue!=null&&!oldValue.isEmpty()){
                             handleChangeConfig(oldValue, newValue, key);
-                            updatedCustomConfigs.add(customConfig);
                         }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     case "MEMBER_CHARACTER":
                         newValue = mgtMemberConfigEditDto.getMemberCharacter();
@@ -426,8 +426,8 @@
                         customConfig.setUpdateTime(updateTime);
                         if(oldValue!=null&&!oldValue.isEmpty()){
                             handleChangeConfig(oldValue, newValue, key);
-                            updatedCustomConfigs.add(customConfig);
                         }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     case "MEMBER_LEVEL":
                         newValue = mgtMemberConfigEditDto.getMemberLevel();
@@ -435,8 +435,8 @@
                         customConfig.setUpdateTime(updateTime);
                         if(oldValue!=null&&!oldValue.isEmpty()){
                             handleChangeConfig(oldValue, newValue, key);
-                            updatedCustomConfigs.add(customConfig);
                         }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     case "MEMBER_TYPE":
                         newValue = mgtMemberConfigEditDto.getMemberType();
@@ -444,8 +444,8 @@
                         customConfig.setUpdateTime(updateTime);
                         if(oldValue!=null&&!oldValue.isEmpty()){
                             handleChangeConfig(oldValue, newValue, key);
-                            updatedCustomConfigs.add(customConfig);
                         }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     case "NURSE_PROBLEM":
                         newValue = mgtMemberConfigEditDto.getNurseProblem();
@@ -453,8 +453,8 @@
                         customConfig.setUpdateTime(updateTime);
                         if(oldValue!=null&&!oldValue.isEmpty()){
                             handleChangeConfig(oldValue, newValue, key);
-                            updatedCustomConfigs.add(customConfig);
                         }
+                        updatedCustomConfigs.add(customConfig);
                         break;
                     default:
                         break;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/PopServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/PopServiceImpl.java
index d110c71..11fcea8 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/PopServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/PopServiceImpl.java
@@ -6,6 +6,7 @@
 import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
 import com.ruoyi.system.domain.dto.MgtPopEditDto;
 import com.ruoyi.system.domain.pojo.config.Pop;
+import com.ruoyi.system.domain.vo.AppPopVo;
 import com.ruoyi.system.domain.vo.MgtPopGetVo;
 import com.ruoyi.system.domain.vo.MgtPopPageVo;
 import com.ruoyi.system.mapper.config.PopMapper;
@@ -64,6 +65,16 @@
         }
         // 将管理弹窗编辑DTO的属性复制到管理弹窗中
         BeanUtils.copyProperties(mgtPopEditDto, pop);
+        if(pop.getTargetType()==1){
+            pop.setJumpType(null);
+            pop.setJumpId(null);
+        }else if(pop.getTargetType()==2){
+            pop.setLinkUrl(null);
+        }else if(pop.getTargetType()==3){
+            pop.setLinkUrl(null);
+            pop.setJumpType(null);
+            pop.setJumpId(null);
+        }
         // 设置创建时间和创建者ID
         pop.setCreateTime(new Date());
         pop.setCreateUserId(mgtPopEditDto.getPopId());
@@ -87,6 +98,16 @@
     @Override
     public MgtPopGetVo getMgtPop(Long popId){
         Pop pop = this.getById(popId);
+        if(pop.getTargetType()==1){
+            pop.setJumpType(null);
+            pop.setJumpId(null);
+        }else if(pop.getTargetType()==2){
+            pop.setLinkUrl(null);
+        }else if(pop.getTargetType()==3){
+            pop.setLinkUrl(null);
+            pop.setJumpType(null);
+            pop.setJumpId(null);
+        }
         MgtPopGetVo mgtPopGetVo = new MgtPopGetVo();
         BeanUtils.copyProperties(pop, mgtPopGetVo);
         return mgtPopGetVo;
@@ -105,4 +126,16 @@
         pop.setDelFlag(1);
         this.saveOrUpdate(pop);
     }
+
+    /**
+     * @description  获取首页弹窗
+     * @author  jqs
+     * @date    2023/7/20 17:19
+     * @param
+     * @return  AppPopVo
+     */
+    @Override
+    public AppPopVo getAppPop(){
+        return popMapper.getAppPop();
+    }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/QuickEntryServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/QuickEntryServiceImpl.java
index 20db546..42b4ade 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/QuickEntryServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/QuickEntryServiceImpl.java
@@ -65,6 +65,16 @@
         }
         // 将管理快速入口编辑DTO的属性复制到管理快速入口中
         BeanUtils.copyProperties(mgtQuickEntryEditDto, quickEntry);
+        if(quickEntry.getTargetType()==1){
+            quickEntry.setJumpType(null);
+            quickEntry.setJumpId(null);
+        }else if(quickEntry.getTargetType()==2){
+            quickEntry.setLinkUrl(null);
+        }else if(quickEntry.getTargetType()==3){
+            quickEntry.setLinkUrl(null);
+            quickEntry.setJumpType(null);
+            quickEntry.setJumpId(null);
+        }
         // 设置创建时间和创建者ID
         quickEntry.setCreateTime(new Date());
         quickEntry.setCreateUserId(mgtQuickEntryEditDto.getEntryId());
@@ -82,6 +92,16 @@
     @Override
     public MgtQuickEntryGetVo getMgtQuickEntry(Long quickEntryId){
         QuickEntry quickEntry = this.getById(quickEntryId);
+        if(quickEntry.getTargetType()==1){
+            quickEntry.setJumpType(null);
+            quickEntry.setJumpId(null);
+        }else if(quickEntry.getTargetType()==2){
+            quickEntry.setLinkUrl(null);
+        }else if(quickEntry.getTargetType()==3){
+            quickEntry.setLinkUrl(null);
+            quickEntry.setJumpType(null);
+            quickEntry.setJumpId(null);
+        }
         MgtQuickEntryGetVo mgtQuickEntryGetVo = new MgtQuickEntryGetVo();
         BeanUtils.copyProperties(quickEntry, mgtQuickEntryGetVo);
         return mgtQuickEntryGetVo;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RecommendCooperationServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RecommendCooperationServiceImpl.java
index 757ef1a..a590b14 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RecommendCooperationServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RecommendCooperationServiceImpl.java
@@ -63,6 +63,11 @@
         recommendCooperation.setShopId(merRecommendCooperationDto.getShopId());
         recommendCooperation.setCorpStatus(1);
         recommendCooperation.setCreateTime(new Date());
+        if(recommendCooperation.getShopId()!=null){
+            recommendCooperation.setRecommendedFrom(2);
+        }else{
+            recommendCooperation.setRecommendedFrom(1);
+        }
         this.save(recommendCooperation);
     }
 
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java
index f05ddba..cee57f2 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysClassificationServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.system.api.constant.AppErrorConstant;
+import com.ruoyi.system.api.domain.dto.MgtClassNumDto;
 import com.ruoyi.system.api.domain.poji.config.SysClassification;
 import com.ruoyi.system.api.service.RemoteGoodsService;
 import com.ruoyi.system.domain.dto.MgtClassificationEditDto;
@@ -155,4 +156,29 @@
         }).collect(Collectors.toList());
         return classListVos;
     }
+
+    /**
+     * @description  分类变化
+     * @author  jqs
+     * @date    2023/7/20 14:32
+     * @param mgtClassNumDto
+     * @return  void
+     */
+    @Override
+    public void changeClassNum(MgtClassNumDto mgtClassNumDto){
+        if(mgtClassNumDto.getAddClassId()!=null){
+            SysClassification addSysClassification = this.getById(mgtClassNumDto.getAddClassId());
+            if(addSysClassification!=null){
+                addSysClassification.setRelationNum(addSysClassification.getRelationNum()+1);
+                this.saveOrUpdate(addSysClassification);
+            }
+        }
+        if(mgtClassNumDto.getSubClassId()!=null){
+            SysClassification subSysClassification = this.getById(mgtClassNumDto.getAddClassId());
+            if(subSysClassification!=null){
+                subSysClassification.setRelationNum(subSysClassification.getRelationNum()-1);
+                this.saveOrUpdate(subSysClassification);
+            }
+        }
+    }
 }
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 cb00e90..30f7fe2 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
@@ -11,8 +11,11 @@
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.system.api.constant.AppErrorConstant;
 import com.ruoyi.system.api.constant.SecurityConstant;
+import com.ruoyi.system.api.domain.dto.MerEditUserDto;
 import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
+import com.ruoyi.system.api.domain.dto.MgtShopStaffEditDto;
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
+import com.ruoyi.system.api.service.RemoteShopService;
 import com.ruoyi.system.domain.dto.MgtStaffEditDto;
 import com.ruoyi.system.domain.dto.MgtStaffPageDto;
 import com.ruoyi.system.domain.pojo.staff.SysStaff;
@@ -47,6 +50,9 @@
 
     @Resource
     private RedisService redisService;
+
+    @Resource
+    private RemoteShopService remoteShopService;
 
 
     /**
@@ -158,6 +164,12 @@
         sysStaff.setStaffAvatar(mgtStaffEditDto.getStaffAvatar());
         sysStaff.setHeadFlag(mgtStaffEditDto.getHeadFlag());
         this.saveOrUpdate(sysStaff);
+        MgtShopStaffEditDto mgtShopStaffEditDto = new MgtShopStaffEditDto();
+        mgtShopStaffEditDto.setUserId(sysStaff.getUserId());
+        mgtShopStaffEditDto.setStaffName(sysStaff.getStaffName());
+        mgtShopStaffEditDto.setStaffMobile(sysStaff.getStaffMobile());
+        mgtShopStaffEditDto.setStaffAvatar(sysStaff.getStaffAvatar());
+        remoteShopService.editMgtShopStaff(mgtShopStaffEditDto);
     }
 
     /**
@@ -250,4 +262,33 @@
         }
         return accessToken;
     }
+
+
+    /**
+     * @description  编辑商户员工
+     * @author  jqs
+     * @date    2023/7/19 19:42
+     * @param merEditUserDto
+     * @return  void
+     */
+    @Override
+    public void editSysStaffInfo(MerEditUserDto merEditUserDto){
+        SysStaff sysStaff = this.getByUserId(merEditUserDto.getUserId());
+        Integer editType = merEditUserDto.getEditType();
+        switch (editType){
+            case 1:
+                sysStaff.setStaffName(merEditUserDto.getEditValue());
+                break;
+            case 2:
+                sysStaff.setStaffAvatar(merEditUserDto.getEditValue());
+                break;
+            case 3:
+                break;
+            case 4:
+                break;
+            default:
+                break;
+        }
+        this.saveOrUpdate(sysStaff);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java
index e5342d2..ecdaf0e 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java
@@ -16,6 +16,7 @@
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
 import com.ruoyi.system.api.domain.vo.MgtSysSimpleUserVo;
 import com.ruoyi.system.domain.dto.UserMenuEditDto;
+import com.ruoyi.system.domain.pojo.staff.SysStaff;
 import com.ruoyi.system.domain.pojo.sys.SysPost;
 import com.ruoyi.system.domain.pojo.sys.SysUserMenu;
 import com.ruoyi.system.domain.pojo.sys.SysUserPost;
@@ -69,6 +70,8 @@
     @Resource
     protected SysUserMenuMapper userMenuMapper;
 
+
+
     /**
      * 根据条件分页查询用户列表
      *
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 5301b71..f432e18 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
@@ -1,6 +1,7 @@
 package com.ruoyi.system.service.staff;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.system.api.domain.dto.MerEditUserDto;
 import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
 import com.ruoyi.system.domain.dto.MgtStaffEditDto;
 import com.ruoyi.system.domain.dto.MgtStaffPageDto;
@@ -93,5 +94,13 @@
      * @return  void
      */
     void synchronizeOrganizationalStructure();
-    
+
+    /**
+     * @description  编辑商户员工
+     * @author  jqs
+     * @date    2023/7/19 19:42
+     * @param merEditUserDto
+     * @return  void
+     */
+    void editSysStaffInfo(MerEditUserDto merEditUserDto);
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/BannerMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/BannerMapper.xml
index 0630516..0ea7809 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/BannerMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/BannerMapper.xml
@@ -16,7 +16,7 @@
         <result property="createUserId"    column="create_user_id"    />
     </resultMap>
 
-    <sql id="selectBannerVo">
+    <!--<sql id="selectBannerVo">
         select banner_id, del_flag, banner_position, banner_url, target_type, link_type, link_url, jump_type, jump_id, create_time, create_user_id from t_banner
     </sql>
 
@@ -93,7 +93,7 @@
         <foreach item="bannerId" collection="array" open="(" separator="," close=")">
             #{bannerId}
         </foreach>
-    </delete>
+    </delete>-->
 
     <select id="listHomeBannerVo" resultType="com.ruoyi.system.domain.vo.AppBannerVo">
         SELECT
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/PopMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/PopMapper.xml
index a8c8600..bbdc3ac 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/PopMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/PopMapper.xml
@@ -111,4 +111,17 @@
         WHERE del_flag = 0
         ORDER BY create_time DESC
     </select>
+
+    <select id="getAppPop" resultType="com.ruoyi.system.domain.vo.AppPopVo">
+        SELECT
+        pop_id popId,
+        pop_url popUrl,
+        target_type  targetType,
+        link_url linkUrl,
+        jump_type jumpType,
+        jump_id jumpId
+        FROM t_pop
+        WHERE del_flag = 0 AND CURDATE() BETWEEN show_start_time AND show_end_time
+        ORDER BY pop_sort,create_time DESC LIMIT 1
+    </select>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml
index 294de11..d49d180 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml
@@ -43,7 +43,7 @@
             AND tss.replay_flag = #{param.suggestStatus}
         </if>
         <if test="param.tags!=null and param.tags!=''">
-            AND tm.suggest_tags REGEXP #{param.tags}
+            AND tss.suggest_tags REGEXP #{param.tags}
         </if>
         <if test="param.replayStartTime!=null and param.replayStartTime!=''">
             AND tss.replay_time &gt;= #{param.replayStartTime}
@@ -53,7 +53,7 @@
         </if>
     </select>
 
-    <select id="pageMerShopSuggest" resultType="com.ruoyi.system.domain.vo.StaffSuggestPageVo">
+    <select id="pageStaffShopSuggest" resultType="com.ruoyi.system.domain.vo.StaffSuggestPageVo">
         SELECT
             suggest_content suggestContent,
             replay_content replayContent,
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysMenuMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysMenuMapper.xml
index fd5aa0f..cfa1985 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysMenuMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysMenuMapper.xml
@@ -68,7 +68,7 @@
 	
 	<select id="selectMenuTreeAll" resultMap="SysMenuResult">
 		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
-		from sys_menu m where m.menu_type in ('M', 'C') and m.status = 0 AND menu_from = 1
+		from sys_menu m where m.menu_type in ('M', 'C') and m.status = '0' AND menu_from = 1
 		order by m.parent_id, m.order_num
 	</select>
 	
@@ -78,7 +78,7 @@
 		left join sys_role_menu rm on m.menu_id = rm.menu_id
 		left join sys_user_role ur on rm.role_id = ur.role_id
 		left join sys_role ro on ur.role_id = ro.role_id
-		where ur.user_id = #{params.userId} AND m.menu_from = 1
+		where ur.user_id = #{params.userId} AND m.menu_from = 1 
 		<if test="menuName != null and menuName != ''">
             AND m.menu_name like concat('%', #{menuName}, '%')
 		</if>
@@ -95,7 +95,7 @@
 		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
 		from sys_menu m
 		inner join sys_dept_menu rm on m.menu_id = rm.menu_id
-		where rm.dept_id = #{deptId} AND m.menu_from = 1 AND rm.menu_from = 1
+		where rm.dept_id = #{deptId} AND m.menu_from = 1 AND rm.menu_from = 1 and m.status = '0'
 		order by m.parent_id, m.order_num
 	</select>
 
@@ -103,7 +103,7 @@
 		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
 		from sys_menu m
 		inner join sys_dept_menu rm on m.menu_id = rm.menu_id
-		where rm.dept_id = #{deptId} AND m.menu_from = 2 AND rm.menu_from = 2
+		where rm.dept_id = #{deptId} AND m.menu_from = 2 AND rm.menu_from = 2 and m.status = '0'
 		order by m.parent_id, m.order_num
 	</select>
 
@@ -111,7 +111,7 @@
 		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
 		from sys_menu m
 		left join sys_user_menu rm on m.menu_id = rm.menu_id
-		where rm.user_id = #{params.userId} AND m.menu_from = 1 AND rm.menu = 1
+		where rm.user_id = #{params.userId} AND m.menu_from = 1 AND rm.menu = 1 and m.status = '0'
 		<if test="menuName != null and menuName != ''">
 			AND m.menu_name like concat('%', #{menuName}, '%')
 		</if>
@@ -128,7 +128,7 @@
 		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
 		from sys_menu m
 		left join sys_user_menu rm on m.menu_id = rm.menu_id
-		where rm.user_id = #{params.userId} AND rm.menu_from = 2
+		where rm.user_id = #{params.userId} AND rm.menu_from = 2 and m.status = '0'
 		<if test="menuName != null and menuName != ''">
 			AND m.menu_name like concat('%', #{menuName}, '%')
 		</if>
@@ -148,7 +148,7 @@
 			 left join sys_user_role ur on rm.role_id = ur.role_id
 			 left join sys_role ro on ur.role_id = ro.role_id
 			 left join sys_user u on ur.user_id = u.user_id
-		where u.user_id = #{userId} and m.menu_type in ('M', 'C') and m.status = 0  AND ro.status = 0 AND menu_from = 1
+		where u.user_id = #{userId} and m.menu_type in ('M', 'C') and m.status = '0'  AND ro.status = 0 AND menu_from = 1
 		order by m.parent_id, m.order_num
 	</select>
 	
@@ -156,7 +156,7 @@
 		select m.menu_id
 		from sys_menu m
             left join sys_role_menu rm on m.menu_id = rm.menu_id
-        where rm.role_id = #{roleId} AND m.menu_from = 1
+        where rm.role_id = #{roleId} AND m.menu_from = 1 and m.status = '0'
             <if test="menuCheckStrictly">
               and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_role_menu rm on m.menu_id = rm.menu_id and rm.role_id = #{roleId})
             </if>
@@ -167,7 +167,7 @@
 		select m.menu_id
 		from sys_menu m
 		left join sys_dept_menu rm on m.menu_id = rm.menu_id
-		where rm.dept_id = #{deptId} AND m.menu_from = 1 AND rm.menu_from = 1
+		where rm.dept_id = #{deptId} AND m.menu_from = 1 AND rm.menu_from = 1 and m.status = '0'
 		<if test="menuCheckStrictly">
 			and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_dept_menu rm on m.menu_id = rm.menu_id and rm.dept_id = #{deptId})
 		</if>
@@ -178,7 +178,7 @@
 		select m.menu_id
 		from sys_menu m
 		left join sys_dept_menu rm on m.menu_id = rm.menu_id
-		where rm.dept_id = #{deptId} AND m.menu_from = 2 AND rm.menu_from = 2
+		where rm.dept_id = #{deptId} AND m.menu_from = 2 AND rm.menu_from = 2 and m.status = '0'
 		<if test="menuCheckStrictly">
 			and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_dept_menu rm on m.menu_id = rm.menu_id and rm.dept_id = #{deptId})
 		</if>
@@ -189,7 +189,7 @@
 		select m.menu_id
 		from sys_menu m
 		left join sys_user_menu rm on m.menu_id = rm.menu_id
-		where rm.user_id = #{deptUserId} AND m.menu_from = 1 AND rm.menu_from = 1
+		where rm.user_id = #{deptUserId} AND m.menu_from = 1 AND rm.menu_from = 1 and m.status = '0'
 		<if test="menuCheckStrictly">
 			and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_user_menu rm on m.menu_id = rm.menu_id and rm.user_id = #{deptUserId})
 		</if>
@@ -200,7 +200,7 @@
 		select m.menu_id
 		from sys_menu m
 		left join sys_user_menu rm on m.menu_id = rm.menu_id
-		where rm.user_id = #{deptUserId} AND m.menu_from = 2 AND rm.menu_from = 2
+		where rm.user_id = #{deptUserId} AND m.menu_from = 2 AND rm.menu_from = 2 and m.status = '0'
 		<if test="menuCheckStrictly">
 			and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_user_menu rm on m.menu_id = rm.menu_id and rm.user_id = #{deptUserId})
 		</if>
@@ -212,7 +212,7 @@
 		from sys_menu m
 			 left join sys_role_menu rm on m.menu_id = rm.menu_id
 			 left join sys_user_role ur on rm.role_id = ur.role_id
-		where m.menu_from = 1
+		where m.menu_from = 1 and m.status = '0'
 	</select>
 
 	<select id="selectMenuPermsByUserId" parameterType="Long" resultType="String">
@@ -228,7 +228,7 @@
 		select distinct m.perms
 		from sys_menu m
 				 INNER join sys_user_menu rm on m.menu_id = rm.menu_id
-		where m.status = '0' and r.status = '0' and rm.user_id = #{userId} AND m.menu_from = 1 AND rm.menu_from = 1
+		where m.status = '0' and rm.user_id = #{userId} AND m.menu_from = 1 AND rm.menu_from = 1
 	</select>
 	
 	<select id="selectMenuPermsByRoleId" parameterType="Long" resultType="String">
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml
index 7498213..945bdf2 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml
@@ -124,7 +124,7 @@
 	
 	<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
 	    <include refid="selectUserVo"/>
-		where u.user_name = #{userName} and u.del_flag = '0'
+		where u.user_name = #{userName} and u.del_flag = '0' and user_type = '00'
 	</select>
 	
 	<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
@@ -159,6 +159,7 @@
  			<if test="createBy != null and createBy != ''">create_by,</if>
  			<if test="remark != null and remark != ''">remark,</if>
 			<if test="dataScope != null and dataScope != ''">data_scope,</if>
+			<if test="userType != null and userType != ''">user_type,</if>
 		create_time
  		)values(
  			<if test="userId != null and userId != ''">#{userId},</if>
@@ -174,6 +175,7 @@
  			<if test="createBy != null and createBy != ''">#{createBy},</if>
  			<if test="remark != null and remark != ''">#{remark},</if>
 			<if test="dataScope != null and dataScope != ''">#{dataScope},</if>
+			<if test="userType != null and userType != ''">#{userType},</if>
 		sysdate()
  		)
 	</insert>
@@ -213,11 +215,11 @@
 	</update>
 	
 	<delete id="deleteUserById" parameterType="Long">
- 		update sys_user set del_flag = '2',user_name CONCAT(user_name,":已删除") where user_id = #{userId}
+ 		update sys_user set del_flag = '2',user_name = CONCAT(user_name,":已删除") where user_id = #{userId}
  	</delete>
  	
  	<delete id="deleteUserByIds" parameterType="Long">
- 		update sys_user set del_flag = '2',user_name CONCAT(user_name,":已删除") where user_id in
+ 		update sys_user set del_flag = '2',user_name =  CONCAT(user_name,":已删除") where user_id in
  		<foreach collection="array" item="userId" open="(" separator="," close=")">
  			#{userId}
         </foreach> 

--
Gitblit v1.7.1