From b4882b114f082e010d4cc3359d78d18095ef3b83 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期一, 26 六月 2023 19:49:38 +0800
Subject: [PATCH] 商户端和管理台联调bug

---
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java               |    8 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java         |   58 +++++
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMenuMapper.xml                             |    4 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBuyGoodsDto.java                     |    2 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java         |    7 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java |   32 +++
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java                  |    8 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtStaffPageVo.java                    |    3 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java            |    2 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java             |    4 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppSureOrderGoodsVo.java                 |    2 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java                 |    9 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java                    |   11 +
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml                                 |    9 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerVerifyCouponGetVo.java          |   26 ++
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysMenuController.java            |    4 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/ShopTotal.java                           |    6 
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysMenuMapper.xml                                 |   46 ++++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java             |    2 
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMenuMapper.xml                             |    4 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java         |   14 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthCodeVo.java                     |   21 ++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java               |    2 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java                        |    9 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/sys/SysMenuMapper.java                    |   34 +++
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java      |   10 
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysOperLogMapper.xml                              |    2 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AppMemberCouponVo.java             |    3 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserMenuEditDto.java                  |    1 
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMapper.xml                                 |    8 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java       |    3 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java               |   71 +++++++
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml                               |    7 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberCoupon.java             |    5 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java           |    8 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysMenuService.java                 |   16 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java         |   13 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java        |    1 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java                  |    2 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberCouponService.java          |    9 +
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java   |    2 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/StaffMenuController.java          |   18 +
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java         |    7 
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml                              |    8 
 44 files changed, 466 insertions(+), 55 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java
index 20eaa24..461600f 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java
@@ -55,4 +55,12 @@
     String COUPON_AUDIT_DOUBLE = "优惠券已被其他员工审核";
 
     String COOPERATION_TIME_ERROR = "未在合作时间内";
+
+    String COUPON_NO_FIND = "未找到优惠券";
+
+    String COUPON_EXPIRED = "优惠券已过期";
+
+    String COUPON_USED = "优惠券已被核销";
+
+    String COUPON_TYPE_ERROR = "只能核销商品优惠券";
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AppMemberCouponVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AppMemberCouponVo.java
index 215a930..7a6572b 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AppMemberCouponVo.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AppMemberCouponVo.java
@@ -1,6 +1,5 @@
 package com.ruoyi.system.api.domain.vo;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -18,7 +17,7 @@
 public class AppMemberCouponVo {
 
     @ApiModelProperty(value = "优惠券id")
-    private Long memberCouponId;
+    private String memberCouponId;
 
 
     @ApiModelProperty(value = "商品id")
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerVerifyCouponGetVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerVerifyCouponGetVo.java
new file mode 100644
index 0000000..3acf9e2
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerVerifyCouponGetVo.java
@@ -0,0 +1,26 @@
+package com.ruoyi.system.api.domain.vo;
+
+import com.ruoyi.system.api.domain.poji.goods.Goods;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @ClassName MerVerifyCouponGetVo
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/6/26 17:22
+ * @Version 1.0
+ */
+@Data
+public class MerVerifyCouponGetVo {
+
+
+    @ApiModelProperty(value = "用户id")
+    private Long userId;
+
+    @ApiModelProperty(value = "商品列表")
+    private List<Goods> goodsList;
+
+}
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 33fdbc4..ca53c50 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
@@ -77,6 +77,6 @@
      * @param mgtBaseBathDto
      * @return  R<List<MgtSysSimpleUserVo>>
      */
-    @PostMapping("/listSimpleUserVo")
+    @PostMapping("/config/listSimpleUserVo")
     public R<List<MgtSysSimpleUserVo>> listSimpleUserVo(@RequestBody MgtBaseBathDto mgtBaseBathDto);
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java
index c0967e6..eea6331 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java
@@ -144,7 +144,7 @@
      * @param shopIdlist
      * @return  R<List<Long>>
      */
-    @PostMapping("/listUserIdByShopId")
+    @PostMapping("/member/listUserIdByShopId")
     public R<List<Long>> listUserIdByShopId(@RequestBody List<Long> shopIdlist);
 
     /**
@@ -154,6 +154,6 @@
      * @param shopIdlist
      * @return  R<MgtShopTotalMemberVo>
      */
-    @PostMapping("/getUserTotalByShopId")
+    @PostMapping("/member/getUserTotalByShopId")
     public R<MgtShopTotalMemberVo> getUserTotalByShopId(@RequestBody List<Long> shopIdlist);
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java
index 89ef702..c132b46 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
@@ -88,6 +88,6 @@
      * @author jqs34
      * @date 2023/6/23 14:12
      */
-    @PostMapping("/listShopIdByPlTotal")
+    @PostMapping("/shop/listShopIdByPlTotal")
     public R<List<Long>> listShopIdByPlTotal(@RequestBody MgtBasePlatformDto mgtBasePlatformDto);
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
index ab9101f..7f30beb 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
@@ -247,4 +247,11 @@
         MgtShopTotalMemberVo shopTotalMemberVo = memberService.getUserTotalByShopId(shopIdlist);
         return R.ok(shopTotalMemberVo);
     }
+
+    @PostMapping("/getVerifyCoupon")
+    public R getVerifyCoupon(@RequestBody String verifyCoupon)
+    {
+        memberCouponService.verifyCoupon(verifyCoupon);
+        return R.ok();
+    }
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java
index 4da3020..e2b6a66 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java
@@ -24,7 +24,7 @@
  * @Date 2023/6/13 9:15
  * @Version 1.0
  */
-@Api(value = "平台端配置相关接口", tags = "平台端配置相关接口", description = "平台端配置相关接口")
+@Api(value = "平台端优惠券相关接口", tags = "平台端优惠券相关接口", description = "平台端优惠券相关接口")
 @RestController
 @RequestMapping("/mgt/coupon")
 public class MgtCouponController {
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberCoupon.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberCoupon.java
index ce1892e..c369065 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberCoupon.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberCoupon.java
@@ -1,7 +1,6 @@
 package com.ruoyi.member.domain.pojo.member;
 
 import com.baomidou.mybatisplus.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -29,8 +28,8 @@
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
+    @TableId(value = "id")
+    private String id;
     /**
      * 删除标记
      */
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 2002382..44c92d5 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
@@ -320,8 +320,11 @@
             List<MemberCoupon> memberCouponList = new ArrayList<>();
             MemberCoupon memberCoupon;
             Integer sendTotal = 0;
+            String memberCouponId;
             for(Long userId : userIdList){
+                memberCouponId = IdUtils.simpleUUID();
                 memberCoupon = new MemberCoupon();
+                memberCoupon.setId(memberCouponId);
                 memberCoupon.setDelFlag(0);
                 memberCoupon.setCouponId(coupon.getCouponId());
                 memberCoupon.setUserId(userId);
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 f2dd1c1..74ff39c 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
@@ -1,13 +1,16 @@
 package com.ruoyi.member.service.impl.member;
 
+import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.member.domain.pojo.member.MemberCoupon;
 import com.ruoyi.member.mapper.member.MemberCouponMapper;
 import com.ruoyi.member.service.member.MemberCouponService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.system.api.constant.AppErrorConstant;
 import com.ruoyi.system.api.domain.vo.AppMemberCouponVo;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -35,4 +38,33 @@
         List<AppMemberCouponVo> appMemberCouponVoList = memberCouponMapper.listVoMemberCouponByUserId(userId);
         return appMemberCouponVoList;
     }
+
+    /**
+     * @description  核销优惠券
+     * @author  jqs
+     * @date    2023/6/26 17:02
+     * @param verifyCoupon
+     * @return  void
+     */
+    @Override
+    public void verifyCoupon(String verifyCoupon){
+        MemberCoupon memberCoupon = this.getById(verifyCoupon);
+        if(memberCoupon==null){
+            throw new ServiceException(AppErrorConstant.COUPON_NO_FIND);
+        }
+        if(memberCoupon.getCouponStatus()==0){
+            throw new ServiceException(AppErrorConstant.COUPON_EXPIRED);
+        }else if(memberCoupon.getCouponStatus()==2){
+            throw new ServiceException(AppErrorConstant.COUPON_USED);
+        }else if(memberCoupon.getCouponStatus()!=0){
+            throw new ServiceException(AppErrorConstant.COUPON_NO_FIND);
+        }
+        if(memberCoupon.getCouponType()!=4){
+            throw new ServiceException(AppErrorConstant.COUPON_TYPE_ERROR);
+        }
+        //更新优惠券为已使用
+        memberCoupon.setCouponStatus(2);
+        memberCoupon.setUseTime(new Date());
+        this.saveOrUpdate(memberCoupon);
+    }
 }
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 4cf368b..430d17e 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
@@ -23,4 +23,13 @@
     * @version 1.0
     */
     List<AppMemberCouponVo> listVoMemberCouponByUserId(Long userId);
+
+    /**
+     * @description  核销优惠券
+     * @author  jqs
+     * @date    2023/6/26 17:02
+     * @param verifyCoupon
+     * @return  void
+     */
+    void verifyCoupon(String verifyCoupon);
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
index b8c7168..d3e8a21 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
@@ -36,7 +36,6 @@
     private OrderService orderService;
 
 
-
     @RequestMapping(value = "/verifyCode", method = RequestMethod.POST)
     @ApiOperation(value = "核销code")
     public R<MerVerifyCodeVo> verifyCode(@RequestBody MerVerifyCodeDto merVerifyCodeDto) {
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBuyGoodsDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBuyGoodsDto.java
index 6c453ab..9290b65 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBuyGoodsDto.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBuyGoodsDto.java
@@ -23,6 +23,6 @@
     private Integer buyNum;
 
     @ApiModelProperty(value = "用户优惠券id")
-    private Long memberCouponId;
+    private String memberCouponId;
 
 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppSureOrderGoodsVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppSureOrderGoodsVo.java
index 9838ae5..ec26c47 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppSureOrderGoodsVo.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppSureOrderGoodsVo.java
@@ -36,7 +36,7 @@
     private Integer buyNum;
 
     @ApiModelProperty(value = "优惠券id")
-    private Long memberCouponId;
+    private String memberCouponId;
 
     @ApiModelProperty(value = "商品售价")
     private BigDecimal goodsPrice;
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 9f8b9bf..0ef8cb1 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
@@ -99,7 +99,7 @@
         String goodsId;
         Integer buyNum;
         BigDecimal buyNumBig;
-        Long memberCouponId;
+        String memberCouponId;
         Goods goods;
         BigDecimal goodsPrice;
         BigDecimal goodsTotalPrice;
@@ -224,7 +224,7 @@
         BigDecimal buyNumBig;
         Integer serviceNum;
         Integer goodsNum = 0;
-        Long memberCouponId;
+        String memberCouponId;
         Goods goods;
         BigDecimal goodsPrice;
         BigDecimal goodsTotalPrice;
@@ -707,7 +707,7 @@
         BigDecimal buyNumBig;
         Integer serviceNum;
         Integer goodsNum = 0;
-        Long memberCouponId;
+        String memberCouponId;
         Goods goods;
         BigDecimal goodsPrice;
         BigDecimal goodsTotalPrice;
@@ -715,7 +715,7 @@
         Long shopId = merNewOrderDto.getShopId();
         Shop shop = remoteShopService.getShop(shopId).getData();
         List<AppMemberCouponVo> appMemberCouponVoList = remoteMemberService.listVoMemberCouponByUserId(userId).getData();
-        Map<Long, AppMemberCouponVo> appMemberCouponVoMap = new HashMap<>();
+        Map<String, AppMemberCouponVo> appMemberCouponVoMap = new HashMap<>();
         if (null != appMemberCouponVoList) {
             appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity()));
         }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
index 71fb7b2..3faacd8 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
@@ -247,4 +247,11 @@
         MgtShopAuthGetVo shopAuthGetVo = shopService.getMgtShopAuth(mgtShopAuthGetDto.getAuthId());
         return R.ok(shopAuthGetVo);
     }
+
+    @RequestMapping(value = "/getMgtShopAuthCode", method = RequestMethod.POST)
+    @ApiOperation(value = "获取商户进件信息")
+    public R<MgtShopAuthCodeVo> getMgtShopAuthCode(@RequestBody MgtShopAuthGetDto mgtShopAuthGetDto) {
+        MgtShopAuthCodeVo mgtShopAuthCodeVo = shopService.getMgtShopAuthCode(mgtShopAuthGetDto.getAuthId());
+        return R.ok(mgtShopAuthCodeVo);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/ShopTotal.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/ShopTotal.java
index d3ef83c..92dbfbd 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/ShopTotal.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/ShopTotal.java
@@ -31,7 +31,7 @@
      * 商户id
      */
     @TableId("shop_id")
-    private Integer shopId;
+    private Long shopId;
     /**
      * 删除标记
      */
@@ -46,12 +46,12 @@
      * 总活动次数
      */
     @TableField("total_activity_count")
-    private String totalActivityCount;
+    private Integer totalActivityCount;
     /**
      * 总订单数
      */
     @TableField("total_order")
-    private String totalOrder;
+    private Integer totalOrder;
     /**
      * 总周期订单数
      */
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthCodeVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthCodeVo.java
new file mode 100644
index 0000000..e50f5cb
--- /dev/null
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthCodeVo.java
@@ -0,0 +1,21 @@
+package com.ruoyi.shop.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ClassName MgtShopAuthCodeVo
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/6/26 10:31
+ * @Version 1.0
+ */
+@Data
+public class MgtShopAuthCodeVo {
+
+    @ApiModelProperty(value = "签约链接")
+    private String signUrl;
+
+    @ApiModelProperty(value = "法人验证链接")
+    private String legalValidationUrl;
+}
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java
index b7fb380..69ea74b 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java
@@ -6,7 +6,6 @@
 import com.ruoyi.shop.domain.pojo.task.MemberTask;
 import com.ruoyi.shop.domain.vo.MerMemberTaskPageVo;
 import org.apache.ibatis.annotations.Param;
-import org.springframework.web.bind.annotation.PostMapping;
 
 import java.util.List;
 
@@ -27,4 +26,14 @@
      * @return
      */
     List<MerMemberTaskPageVo> pageMerMemberTask(Page page, @Param("param") MerMemberTaskPageDto merMemberTaskPageDto);
+
+
+    /**
+     * @description  获取进行中任务数
+     * @author  jqs
+     * @date    2023/6/26 13:45
+     * @param shopId
+     * @return  Integer
+     */
+    Integer getMemberIngTotal(@Param("shopId")Long shopId);
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
index 99fc8de..b4e2b45 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -10,11 +10,13 @@
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.common.security.utils.CodeFactoryUtil;
 import com.ruoyi.shop.domain.dto.*;
+import com.ruoyi.shop.domain.pojo.ShopTotal;
 import com.ruoyi.shop.domain.pojo.shop.*;
 import com.ruoyi.shop.domain.pojo.task.ShopFile;
 import com.ruoyi.shop.domain.vo.*;
 import com.ruoyi.shop.mapper.shop.ShopMapper;
 import com.ruoyi.shop.service.shop.*;
+import com.ruoyi.shop.service.task.MemberTaskService;
 import com.ruoyi.shop.service.task.ShopFileService;
 import com.ruoyi.system.api.constant.AppErrorConstant;
 import com.ruoyi.system.api.domain.dto.*;
@@ -90,6 +92,12 @@
     @Resource
     private RemoteConfigService remoteConfigService;
 
+    @Resource
+    private ShopTotalService shopTotalService;
+
+    @Resource
+    private MemberTaskService memberTaskService;
+
     /**
      * 获取商户详情
      * @param shopId
@@ -133,6 +141,7 @@
     public void createShop(MgtEditShopDto mgtEditShopDto){
         Shop shop = new Shop();
         Boolean newShop = false;
+        BigDecimal zeroBig = BigDecimal.ZERO;
         Shop shopSame = this.getOne(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag,0).eq(Shop::getShopName,mgtEditShopDto.getShopName()));
         if(mgtEditShopDto.getShopId()!=null){
             if(shopSame!=null&&!Objects.equals(shopSame.getShopId(),mgtEditShopDto.getShopId())){
@@ -262,6 +271,41 @@
             shopProportion.setUpdateTime(new Date());
             shopProportion.setUpdateUserId(mgtEditShopDto.getUserId());
             shopProportionService.save(shopProportion);
+            //商户统计
+            ShopTotal shopTotal = new ShopTotal();
+            shopTotal.setShopId(shop.getShopId());
+            shopTotal.setDelFlag(0);
+            shopTotal.setLastPayMoney(zeroBig);
+            shopTotal.setTotalActivityCount(0);
+            shopTotal.setTotalOrder(0);
+            shopTotal.setTotalCycleOrder(0);
+            shopTotal.setToltaExperienceOrder(0);
+            shopTotal.setTotalServiceOrder(0);
+            shopTotal.setTotalGoodsOrder(0);
+            shopTotal.setTotalServiceCount(0);
+            shopTotal.setUsedServiceCount(0);
+            shopTotal.setUseableServiceCount(0);
+            shopTotal.setTotalCycleService(0);
+            shopTotal.setUsedCycleService(0);
+            shopTotal.setUseableCycleService(0);
+            shopTotal.setTotalCyclePerson(0);
+            shopTotal.setUseableCyclePerson(0);
+            shopTotal.setTotalServiceService(0);
+            shopTotal.setUsedServiceService(0);
+            shopTotal.setUseableServiceService(0);
+            shopTotal.setTotalServicePerson(0);
+            shopTotal.setUseableServicePerson(0);
+            shopTotal.setTotalExperienceService(0);
+            shopTotal.setUsedExperienceService(0);
+            shopTotal.setUseableExperienceService(0);
+            shopTotal.setTotalExperiencePerson(0);
+            shopTotal.setUseableExperiencePerson(0);
+            shopTotal.setTotalOrderMoney(zeroBig);
+            shopTotal.setTotalCycleMoney(zeroBig);
+            shopTotal.setTotalExperienceMoney(zeroBig);
+            shopTotal.setTotalServiceMoney(zeroBig);
+            shopTotal.setTotalGoodsMoney(zeroBig);
+            shopTotalService.save(shopTotal);
         }
     }
 
@@ -542,7 +586,16 @@
         Shop shop = this.getById(shopId);
         merHomeShopTotalVo.setShopType(shop.getShopType());
         MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData();
-
+        ShopTotal shopTotal = shopTotalService.getById(shopId);
+        merHomeShopTotalVo.setShopId(shopId);
+        merHomeShopTotalVo.setShopType(shop.getShopType());
+        merHomeShopTotalVo.setTodayShop(orderVo.getTodayShop());
+        merHomeShopTotalVo.setUnHandleOrder(orderVo.getUnHandleOrder());
+        Integer taskCount = memberTaskService.getMemberIngTotal(shopId);
+        merHomeShopTotalVo.setTask(taskCount);
+        merHomeShopTotalVo.setShopTurnover(orderVo.getShopTurnover());
+        merHomeShopTotalVo.setCycleSurp(shopTotal.getUseableCyclePerson());
+        merHomeShopTotalVo.setExplorationSurp(shopTotal.getUseableExperiencePerson());
         return merHomeShopTotalVo;
     }
 
@@ -840,4 +893,20 @@
         BeanUtils.copyProperties(shopAuthentication, shopAuthGetVo);
         return shopAuthGetVo;
     }
+
+    /**
+     * @description  获取商户验证信息
+     * @author  jqs
+     * @date    2023/6/26 10:38
+     * @param authId
+     * @return  MgtShopAuthCodeVo
+     */
+    @Override
+    public MgtShopAuthCodeVo getMgtShopAuthCode(String authId){
+        MgtShopAuthCodeVo mgtShopAuthCodeVo = new MgtShopAuthCodeVo();
+        ShopAuthentication shopAuthentication = shopAuthenticationService.getById(authId);
+        mgtShopAuthCodeVo.setSignUrl(shopAuthentication.getSignUrl());
+        mgtShopAuthCodeVo.setLegalValidationUrl(shopAuthentication.getLegalValidationUrl());
+        return mgtShopAuthCodeVo;
+    }
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java
index 429daf2..fed1213 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java
@@ -162,4 +162,17 @@
             this.saveOrUpdate(memberTask);
         }
     }
+
+    /**
+     * @description 获取进行中任务数
+     * @author  jqs
+     * @date    2023/6/26 13:45
+     * @param shopId
+     * @return  Integer
+     */
+    @Override
+    public Integer getMemberIngTotal(Long shopId) {
+        return memberTaskMapper.getMemberIngTotal(shopId);
+    }
+
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
index 74ca3e7..4264236 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
@@ -215,4 +215,13 @@
      * @return  MgtShopAuthGetVo
      */
     MgtShopAuthGetVo getMgtShopAuth(String authId);
+
+    /**
+     * @description  获取商户验证信息
+     * @author  jqs
+     * @date    2023/6/26 10:38
+     * @param authId
+     * @return  MgtShopAuthCodeVo
+     */
+    MgtShopAuthCodeVo getMgtShopAuthCode(String authId);
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java
index 2dfd768..b83e93d 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java
@@ -40,4 +40,12 @@
      */
     void followMemberTask(MerFollowMemberTaskDto merFollowMemberTaskDto);
 
+    /**
+     * @description  获取进行中任务数
+     * @author  jqs
+     * @date    2023/6/26 13:45
+     * @param shopId
+     * @return  Integer
+     */
+    Integer getMemberIngTotal(Long shopId);
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml
index 6b5dacb..d40b1ea 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml
+++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml
@@ -91,4 +91,11 @@
         WHERE tmt.del_flag = 0 AND tmt.shop_id = #{param.shopId} AND tmt.user_id = #{param.memberUserId}
         ORDER BY todayFlag,task_date DESC
     </select>
+
+
+    <select id="getMemberIngTotal" resultType="java.lang.Integer">
+        SELECT COUNT(task_id)
+        FROM t_member_task
+        WHERE del_flag = 0 AND task_status = 1 AND shop_id = #{shopId} AND task_date = DATE(NOW())
+    </select>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/StaffMenuController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/StaffMenuController.java
index c8d2bc5..1604de4 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/StaffMenuController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/StaffMenuController.java
@@ -13,6 +13,8 @@
 
 import java.util.List;
 
+import static com.ruoyi.common.core.web.domain.AjaxResult.success;
+
 /**
  * @ClassName StaffMenuController
  * @Description TODO
@@ -34,7 +36,7 @@
     {
         Long userId = SecurityUtils.getUserId();
         List<SysMenu> menus = menuService.selectStaffMenuList(userId);
-        AjaxResult ajax = AjaxResult.success();
+        AjaxResult ajax = success();
         ajax.put("checkedKeys", menuService.selectStaffMenuListByDeptId(deptId));
         ajax.put("menus", menuService.buildMenuTreeSelect(menus));
         return ajax;
@@ -46,11 +48,21 @@
     public AjaxResult deptUserStaffMenuTreeselect(@PathVariable("deptUserId") Long deptUserId)
     {
         Long userId = SecurityUtils.getUserId();
-        List<SysMenu> menus = menuService.selectStaffMenuList(userId);
-        AjaxResult ajax = AjaxResult.success();
+        List<SysMenu> menus = menuService.selectStaffDeptMenuList(deptUserId);
+        AjaxResult ajax = success();
         ajax.put("checkedKeys", menuService.selectStaffMenuListByDeptUserId(deptUserId));
         ajax.put("menus", menuService.buildMenuTreeSelect(menus));
         return ajax;
     }
 
+    /**
+     * 获取菜单下拉树列表
+     */
+    @GetMapping("/treedeptselect")
+    public AjaxResult treedeptselect(SysMenu menu)
+    {
+        Long userId = SecurityUtils.getUserId();
+        List<SysMenu> menus = menuService.selectStaffMenuList(menu, userId);
+        return success(menuService.buildMenuTreeSelect(menus));
+    }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysMenuController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysMenuController.java
index 85a7bd0..d1002e9 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysMenuController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysMenuController.java
@@ -79,7 +79,7 @@
 
 
     @ApiOperation(value = "加载对应部门菜单列表树")
-    @GetMapping(value = "/roleMenuTreeselect/{deptId}")
+    @GetMapping(value = "/deptMenuTreeselect/{deptId}")
     public AjaxResult deptMenuTreeselect(@PathVariable("deptId") Long deptId)
     {
         Long userId = SecurityUtils.getUserId();
@@ -96,7 +96,7 @@
     public AjaxResult deptUserMenuTreeselect(@PathVariable("deptUserId") Long deptUserId)
     {
         Long userId = SecurityUtils.getUserId();
-        List<SysMenu> menus = menuService.selectMenuList(userId);
+        List<SysMenu> menus = menuService.selectDeptMenuList(deptUserId);
         AjaxResult ajax = AjaxResult.success();
         ajax.put("checkedKeys", menuService.selectMenuListByDeptUserId(deptUserId));
         ajax.put("menus", menuService.buildMenuTreeSelect(menus));
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
index f034dda..c516332 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
@@ -18,6 +18,7 @@
 import com.ruoyi.system.api.model.LoginUser;
 import com.ruoyi.system.domain.dto.UserMenuEditDto;
 import com.ruoyi.system.service.sys.*;
+import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
@@ -374,6 +375,7 @@
         return R.ok();
     }
 
+    @ApiOperation(value = "修改用户权限")
     @PostMapping("/editUserMenu")
     public R editUserMenu(@RequestBody UserMenuEditDto userMenuEditDto){
         userService.editUserMenu(userMenuEditDto);
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java
index 70cf63f..e1b5cd4 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java
@@ -21,7 +21,7 @@
          * 用户id
          */
         @ApiModelProperty(value = "用户id 新增不传")
-        private Long userId;
+        private Long sysUserId;
         /**
          * 员工姓名
          */
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserMenuEditDto.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserMenuEditDto.java
index 3f1b091..a993b7a 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserMenuEditDto.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserMenuEditDto.java
@@ -21,5 +21,6 @@
     private Long[] staffMenuIds;
 
 
+    private String dataScope;
 
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtStaffPageVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtStaffPageVo.java
index 366f85b..6421334 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtStaffPageVo.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtStaffPageVo.java
@@ -48,4 +48,7 @@
      */
     @ApiModelProperty(value = "负责人标记")
     private String headFlag;
+
+    @ApiModelProperty(value = "数据权限范围")
+    private Integer dataScope;
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/sys/SysMenuMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/sys/SysMenuMapper.java
index 2a1e321..5b55b66 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/sys/SysMenuMapper.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/sys/SysMenuMapper.java
@@ -44,6 +44,32 @@
     public List<SysMenu> selectMenuListByUserId(SysMenu menu);
 
     /**
+     * @description
+     * @author  jqs
+     * @date    2023/6/26 15:16
+     * @param deptId
+     * @return  List<SysMenu>
+     */
+    public List<SysMenu> selectDeptMenuList(@Param("deptId") Long deptId);
+
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/6/26 15:16
+     * @param deptId
+     * @return  List<SysMenu>
+     */
+    public List<SysMenu> selectStaffDeptMenuList(@Param("deptId")Long deptId);
+
+    /**
+     * 根据用户查询系统菜单列表
+     *
+     * @param menu 菜单信息
+     * @return 菜单列表
+     */
+    public List<SysMenu> selectMenuListByStaffUserId(SysMenu menu);
+
+    /**
      * 根据用户查询系统菜单列表
      *
      * @param menu 菜单信息
@@ -68,6 +94,14 @@
     public List<String> selectMenuPermsByUserId(Long userId);
 
     /**
+     * 根据用户ID查询权限
+     *
+     * @param userId 用户ID
+     * @return 权限列表
+     */
+    public List<String> selectMenuPermsByStaffUserId(Long userId);
+
+    /**
      * 根据用户ID查询菜单
      * 
      * @return 菜单列表
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 c82f9cc..27ac5e0 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
@@ -58,7 +58,7 @@
      */
     @Override
     public List<MgtDeptStaffListVo>listMgtDeptStaffByPermission(Long userId){
-        SysUser sysUser = sysUserService.getById(userId);
+        SysUser sysUser = sysUserService.selectUserById(userId);
         String dataScope = sysUser.getDataScope();
         List<MgtDeptStaffListVo> deptStaffListVoList;
         if(dataScope.equals("4")){
@@ -98,15 +98,15 @@
     public void mgtStaffEdit(MgtStaffEditDto mgtStaffEditDto){
         SysStaff sysStaff;
         SysUser sysUser;
-        if(mgtStaffEditDto.getUserId()!=null){
-            sysStaff = this.getByUserId(mgtStaffEditDto.getUserId());
-            sysUser = sysUserService.getById(mgtStaffEditDto.getUserId());
+        if(mgtStaffEditDto.getSysUserId()!=null){
+            sysStaff = this.getByUserId(mgtStaffEditDto.getSysUserId());
+            sysUser = sysUserService.selectUserById(mgtStaffEditDto.getSysUserId());
             sysUser.setUserName(mgtStaffEditDto.getStaffMobile());
             sysUser.setPhonenumber(mgtStaffEditDto.getStaffMobile());
             sysUser.setNickName(mgtStaffEditDto.getStaffName());
             sysUser.setAvatar(mgtStaffEditDto.getStaffAvatar());
             sysUser.setEmail(mgtStaffEditDto.getStaffEmail());
-            sysUserService.saveOrUpdate(sysUser);
+            sysUserService.updateOnlyUser(sysUser);
         }else{
             sysStaff = new SysStaff();
             String staffId = IdUtils.simpleUUID();
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java
index fd8a9d1..c997c07 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java
@@ -14,9 +14,10 @@
 import com.ruoyi.system.mapper.sys.SysRoleMapper;
 import com.ruoyi.system.mapper.sys.SysRoleMenuMapper;
 import com.ruoyi.system.service.sys.ISysMenuService;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.ruoyi.system.service.sys.ISysUserService;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -30,14 +31,19 @@
 {
     public static final String PREMISSION_STRING = "perms[\"{0}\"]";
 
-    @Autowired
+    @Resource
     private SysMenuMapper menuMapper;
 
-    @Autowired
+    @Resource
     private SysRoleMapper roleMapper;
 
-    @Autowired
+    @Resource
     private SysRoleMenuMapper roleMenuMapper;
+
+    @Resource
+    private ISysUserService sysUserService;
+
+
 
     /**
      * 根据用户查询系统菜单列表
@@ -50,6 +56,21 @@
     {
         return selectMenuList(new SysMenu(), userId);
     }
+
+    /**
+     * 根据用户查询系统菜单列表
+     *
+     * @param userId 用户ID
+     * @return 菜单列表
+     */
+    @Override
+    public List<SysMenu> selectDeptMenuList(Long userId){
+        SysUser sysUser = sysUserService.selectUserById(userId);
+        Long deptId = sysUser.getDeptId();
+        List<SysMenu> menuList = menuMapper.selectDeptMenuList(deptId);
+        return menuList;
+    }
+
     /**
      * 根据用户查询系统菜单列表
      *
@@ -59,6 +80,19 @@
     @Override
     public List<SysMenu> selectStaffMenuList(Long userId){
         return selectStaffMenuList(new SysMenu(), userId);
+    }
+
+    /**
+     * 根据用户查询系统菜单列表
+     *
+     * @param userId 用户ID
+     * @return 菜单列表
+     */
+    @Override
+    public List<SysMenu> selectStaffDeptMenuList(Long userId){
+        SysUser sysUser = sysUserService.selectUserById(userId);
+        Long deptId = sysUser.getDeptId();
+        return menuMapper.selectStaffDeptMenuList(deptId);
     }
     /**
      * 查询系统菜单列表
@@ -78,7 +112,13 @@
         else
         {
             menu.getParams().put("userId", userId);
-            menuList = menuMapper.selectMenuListByUserId(menu);
+            SysUser sysUser = sysUserService.selectUserById(userId);
+            if(sysUser.getUserName().equals("admin")||sysUser.getUserName().equals("hongruitang")){
+                menuList = menuMapper.selectMenuListByUserId(menu);
+            }else{
+                menuList = menuMapper.selectMenuListByStaffUserId(menu);
+            }
+
         }
         return menuList;
     }
@@ -115,7 +155,13 @@
     @Override
     public Set<String> selectMenuPermsByUserId(Long userId)
     {
-        List<String> perms = menuMapper.selectMenuPermsByUserId(userId);
+        SysUser sysUser = sysUserService.selectUserById(userId);
+        List<String> perms = null;
+        if(sysUser.getUserName().equals("admin")||sysUser.getUserName().equals("hongruitang")){
+            perms = menuMapper.selectMenuPermsByUserId(userId);
+        }else{
+            perms = menuMapper.selectMenuPermsByStaffUserId(userId);
+        }
         Set<String> permsSet = new HashSet<>();
         for (String perm : perms)
         {
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 befbd2d..5a2ed40 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
@@ -666,6 +666,9 @@
      */
     @Override
     public void editUserMenu(UserMenuEditDto userMenuEditDto){
+        SysUser sysUser = this.selectUserById(userMenuEditDto.getUserId());
+        sysUser.setDataScope(userMenuEditDto.getDataScope());
+        userMapper.updateUser(sysUser);
         userMenuMapper.deleteUserMenuByUserId(userMenuEditDto.getUserId());
         int rows = 1;
         // 新增用户与角色管理
@@ -691,4 +694,15 @@
         }
     }
 
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/6/26 10:36
+     * @param sysUser
+     * @return  void
+     */
+    @Override
+    public void updateOnlyUser(SysUser sysUser){
+        userMapper.updateUser(sysUser);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysMenuService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysMenuService.java
index 249efe2..ded832c 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysMenuService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysMenuService.java
@@ -28,10 +28,26 @@
      * @param userId 用户ID
      * @return 菜单列表
      */
+    public List<SysMenu> selectDeptMenuList(Long deptId);
+
+    /**
+     * 根据用户查询系统菜单列表
+     *
+     * @param userId 用户ID
+     * @return 菜单列表
+     */
     public List<SysMenu> selectStaffMenuList(Long userId);
 
     /**
      * 根据用户查询系统菜单列表
+     *
+     * @param userId 用户ID
+     * @return 菜单列表
+     */
+    public List<SysMenu> selectStaffDeptMenuList(Long userId);
+
+    /**
+     * 根据用户查询系统菜单列表
      * 
      * @param menu 菜单信息
      * @param userId 用户ID
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java
index 83a5d50..61905bb 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java
@@ -265,4 +265,13 @@
      * @return  void
      */
     void editUserMenu(UserMenuEditDto userMenuEditDto);
+
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/6/26 10:36
+     * @param sysUser
+     * @return  void
+     */
+    void updateOnlyUser(SysUser sysUser);
 }
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml
index de5a65d..7c48a20 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml
@@ -44,12 +44,14 @@
         tss.staff_email staffEmail,
         tss.staff_post staffPost,
         tss.staff_avatar staffAvatar,
-        tss.head_flag headFlag
+        tss.head_flag headFlag,
+        su.data_scope dataScope
         FROM t_sys_staff tss
         INNER JOIN sys_user su ON tss.user_id = su.user_id
-        WHERE su.del_flag = 0
+        INNER JOIN sys_dept sd ON su.dept_id = sd.dept_id
+        WHERE su.del_flag = '0' AND tss.del_flag = 0
         <if test="param.deptId!=null and param.deptId!=''">
-            AND su.dept_id = #{param.deptId}
+            AND (FIND_IN_SET(#{param.deptId},sd.ancestors) OR su.dept_id = #{param.deptId})
         </if>
         <if test="param.staffName!=null and param.staffName!=''">
             AND tss.staff_name LIKE CONCAT('%',#{param.staffName},'%')
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMapper.xml
index 91ed7c7..7e4d3c3 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMapper.xml
@@ -20,10 +20,11 @@
 		<result property="createTime" column="create_time" />
 		<result property="updateBy"   column="update_by"   />
 		<result property="updateTime" column="update_time" />
+		<result property="dataScope" column="data_scope" />
 	</resultMap>
 	
 	<sql id="selectDeptVo">
-        select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time 
+        select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time ,d.data_scope
         from sys_dept d
     </sql>
     
@@ -97,6 +98,7 @@
  			<if test="email != null and email != ''">email,</if>
  			<if test="status != null">status,</if>
  			<if test="createBy != null and createBy != ''">create_by,</if>
+			<if test="dataScope != null and dataScope != ''">data_scope,</if>
  			create_time
  		)values(
  			<if test="deptId != null and deptId != 0">#{deptId},</if>
@@ -109,6 +111,7 @@
  			<if test="email != null and email != ''">#{email},</if>
  			<if test="status != null">#{status},</if>
  			<if test="createBy != null and createBy != ''">#{createBy},</if>
+			<if test="dataScope != null and dataScope != ''">#{dataScope},</if>
  			sysdate()
  		)
 	</insert>
@@ -125,7 +128,8 @@
  			<if test="email != null">email = #{email},</if>
  			<if test="status != null and status != ''">status = #{status},</if>
  			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
- 			update_time = sysdate()
+			<if test="dataScope != null and dataScope != ''">data_scope = #{dataScope},</if>
+			update_time = sysdate()
  		</set>
  		where dept_id = #{deptId}
 	</update>
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMenuMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMenuMapper.xml
index 4fb1144..0708e5b 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMenuMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMenuMapper.xml
@@ -25,9 +25,9 @@
  	</delete>
 	
 	<insert id="batchDeptMenu">
-		insert into sys_dept_menu(dept_id, menu_id) values
+		insert into sys_dept_menu(dept_id, menu_id, menu_from) values
 		<foreach item="item" index="index" collection="list" separator=",">
-			(#{item.deptId},#{item.menuId})
+			(#{item.deptId},#{item.menuId},#{item.menuFrom})
 		</foreach>
 	</insert>
 	
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 9d5ab94..fd5aa0f 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
@@ -91,6 +91,39 @@
 		order by m.parent_id, m.order_num
 	</select>
 
+	<select id="selectDeptMenuList" parameterType="Long" 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
+		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
+		order by m.parent_id, m.order_num
+	</select>
+
+	<select id="selectStaffDeptMenuList" parameterType="Long" 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
+		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
+		order by m.parent_id, m.order_num
+	</select>
+
+	<select id="selectMenuListByStaffUserId" parameterType="SysMenu" 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
+		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
+		<if test="menuName != null and menuName != ''">
+			AND m.menu_name like concat('%', #{menuName}, '%')
+		</if>
+		<if test="visible != null and visible != ''">
+			AND m.visible = #{visible}
+		</if>
+		<if test="status != null and status != ''">
+			AND m.status = #{status}
+		</if>
+		order by m.parent_id, m.order_num
+	</select>
+
 	<select id="selectStaffMenuListByUserId" parameterType="SysMenu" 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
@@ -190,6 +223,13 @@
 			 left join sys_role r on r.role_id = ur.role_id
 		where m.status = '0' and r.status = '0' and ur.user_id = #{userId} AND m.menu_from = 1
 	</select>
+
+	<select id="selectMenuPermsByStaffUserId" parameterType="Long" resultType="String">
+		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
+	</select>
 	
 	<select id="selectMenuPermsByRoleId" parameterType="Long" resultType="String">
 		select distinct m.perms
@@ -200,16 +240,16 @@
 	
 	<select id="selectMenuById" parameterType="Long" resultMap="SysMenuResult">
 		<include refid="selectMenuVo"/>
-		where menu_id = #{menuId} AND m.menu_from = 1
+		where menu_id = #{menuId} AND menu_from = 1
 	</select>
 	
 	<select id="hasChildByMenuId" resultType="Integer">
-	    select count(1) from sys_menu where parent_id = #{menuId} AND m.menu_from = 1
+	    select count(1) from sys_menu where parent_id = #{menuId} AND menu_from = 1
 	</select>
 	
 	<select id="checkMenuNameUnique" parameterType="SysMenu" resultMap="SysMenuResult">
 		<include refid="selectMenuVo"/>
-		where menu_name=#{menuName} and parent_id = #{parentId} limit 1 AND m.menu_from = 1
+		where menu_name=#{menuName} AND menu_from = 1 and parent_id = #{parentId} limit 1
 	</select>
 	
 	<update id="updateMenu" parameterType="SysMenu">
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysOperLogMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysOperLogMapper.xml
index d987650..1add379 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysOperLogMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysOperLogMapper.xml
@@ -31,7 +31,7 @@
     
 	<insert id="insertOperlog" parameterType="SysOperLog">
 		insert into sys_oper_log(title, business_type, method, request_method, operator_type, oper_name, dept_name, oper_url, oper_ip, oper_param, json_result, status, error_msg, cost_time, oper_time, oper_content)
-        values (#{title}, #{businessType}, #{method}, #{requestMethod}, #{operatorType}, #{operName}, #{deptName}, #{operUrl}, #{operIp}, #{operParam}, #{jsonResult}, #{status}, #{errorMsg}, #{costTime}, sysdate())
+        values (#{title}, #{businessType}, #{method}, #{requestMethod}, #{operatorType}, #{operName}, #{deptName}, #{operUrl}, #{operIp}, #{operParam}, #{jsonResult}, #{status}, #{errorMsg}, #{costTime}, sysdate(), #{operContent})
 	</insert>
 	
 	<select id="selectOperLogList" parameterType="SysOperLog" resultMap="SysOperLogResult">
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 8208bfd..5586114 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
@@ -158,7 +158,8 @@
  			<if test="status != null and status != ''">status,</if>
  			<if test="createBy != null and createBy != ''">create_by,</if>
  			<if test="remark != null and remark != ''">remark,</if>
- 			create_time
+			<if test="dataScope != null and dataScope != ''">data_scope,</if>
+		create_time
  		)values(
  			<if test="userId != null and userId != ''">#{userId},</if>
  			<if test="deptId != null and deptId != ''">#{deptId},</if>
@@ -172,7 +173,8 @@
  			<if test="status != null and status != ''">#{status},</if>
  			<if test="createBy != null and createBy != ''">#{createBy},</if>
  			<if test="remark != null and remark != ''">#{remark},</if>
- 			sysdate()
+			<if test="dataScope != null and dataScope != ''">#{dataScope},</if>
+		sysdate()
  		)
 	</insert>
 	
@@ -192,7 +194,8 @@
  			<if test="loginDate != null">login_date = #{loginDate},</if>
  			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
  			<if test="remark != null">remark = #{remark},</if>
- 			update_time = sysdate()
+			<if test="dataScope != null and dataScope != ''">data_scope = #{dataScope},</if>
+			update_time = sysdate()
  		</set>
  		where user_id = #{userId}
 	</update>
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMenuMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMenuMapper.xml
index da17323..439e9fb 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMenuMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMenuMapper.xml
@@ -25,9 +25,9 @@
  	</delete>
 	
 	<insert id="batchUserMenu">
-		insert into sys_user_menu(user_id, menu_id) values
+		insert into sys_user_menu(user_id, menu_id, menu_from) values
 		<foreach item="item" index="index" collection="list" separator=",">
-			(#{item.userId},#{item.menuId})
+			(#{item.userId},#{item.menuId},#{item.menuFrom})
 		</foreach>
 	</insert>
 	

--
Gitblit v1.7.1