From 2e7f787f8e0859d0a9a6ff1eab6aeadac7934c50 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期一, 25 九月 2023 12:55:18 +0800
Subject: [PATCH] bug

---
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteActivityFallbackFactory.java     |    6 +
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java |    4 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java           |   39 +++++++
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/sys/SysMenuMapper.java                      |   34 ++++++
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/ActivityController.java           |   13 ++
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml                              |    2 
 ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java                                    |   22 ++--
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java         |    6 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java                 |    3 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java       |    2 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtCouponGetVo.java                      |    3 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysPermissionServiceImpl.java     |   33 +++++-
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysMenuService.java                   |   11 ++
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java                |    2 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/activity/Activity.java             |    2 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysMenuController.java              |   13 ++
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffSysController.java           |   14 ++
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysPermissionService.java             |   13 ++
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysMenuMapper.xml                                   |   39 +++++++
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java                  |    2 
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml                                       |    6 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteActivityService.java             |   11 ++
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java             |    2 
 23 files changed, 248 insertions(+), 34 deletions(-)

diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/activity/Activity.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/activity/Activity.java
similarity index 97%
rename from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/activity/Activity.java
rename to ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/activity/Activity.java
index b648420..bf14b88 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/activity/Activity.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/activity/Activity.java
@@ -1,4 +1,4 @@
-package com.ruoyi.goods.domain.pojo.activity;
+package com.ruoyi.system.api.domain.poji.activity;
 
 import com.baomidou.mybatisplus.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableField;
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteActivityFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteActivityFallbackFactory.java
index 5564b2b..a73a8f3 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteActivityFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteActivityFallbackFactory.java
@@ -5,6 +5,7 @@
 import com.ruoyi.system.api.domain.dto.ActivityGoodsGetDto;
 import com.ruoyi.system.api.domain.dto.ActivityTotalChangeDto;
 import com.ruoyi.system.api.domain.dto.MerActivityShopDto;
+import com.ruoyi.system.api.domain.poji.activity.Activity;
 import com.ruoyi.system.api.domain.poji.activity.ActivityRecord;
 import com.ruoyi.system.api.domain.vo.ActivityGoodsGetVo;
 import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
@@ -88,6 +89,11 @@
             public R<Boolean> judgeActivityShop(MerActivityShopDto merActivityShopDto) {
                 return R.fail("判断是否商户活动失败:" + throwable.getMessage());
             }
+
+            @Override
+            public R<Activity> getActivity(String activityId) {
+                return null;
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteActivityService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteActivityService.java
index d0f6291..6ee0221 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteActivityService.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteActivityService.java
@@ -6,6 +6,7 @@
 import com.ruoyi.system.api.domain.dto.ActivityGoodsGetDto;
 import com.ruoyi.system.api.domain.dto.ActivityTotalChangeDto;
 import com.ruoyi.system.api.domain.dto.MerActivityShopDto;
+import com.ruoyi.system.api.domain.poji.activity.Activity;
 import com.ruoyi.system.api.domain.poji.activity.ActivityGoods;
 import com.ruoyi.system.api.domain.poji.activity.ActivityRecord;
 import com.ruoyi.system.api.domain.vo.ActivityGoodsGetVo;
@@ -131,4 +132,14 @@
      */
     @PostMapping("/activity/judgeActivityShop")
     public R<Boolean> judgeActivityShop(@RequestBody MerActivityShopDto merActivityShopDto);
+
+    /**
+     * @description  通过id获取活动
+     * @author  jqs
+     * @date    2023/9/20 20:05
+     * @param activityId
+     * @return  R<Activity>
+     */
+    @PostMapping("/activity/getActivity")
+    public R<Activity> getActivity(@RequestBody String activityId);
 }
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/ActivityController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/ActivityController.java
index f68cebe..b91feff 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/ActivityController.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/concole/ActivityController.java
@@ -1,6 +1,7 @@
 package com.ruoyi.goods.controller.concole;
 
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.system.api.domain.poji.activity.Activity;
 import com.ruoyi.goods.service.activity.ActivityGoodsService;
 import com.ruoyi.goods.service.activity.ActivityRecordService;
 import com.ruoyi.goods.service.activity.ActivityService;
@@ -187,4 +188,16 @@
         return R.ok(judge);
     }
 
+    /**
+     * @description  通过id获取活动
+     * @author  jqs
+     * @date    2023/9/20 20:05
+     * @param activityId
+     * @return  R<Activity>
+     */
+    @PostMapping("/getActivity")
+    public R<Activity> getActivity(@RequestBody String activityId){
+        Activity activity = activityService.getById(activityId);
+        return R.ok(activity);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java
index 151a983..63fb062 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java
@@ -4,7 +4,7 @@
 import com.ruoyi.goods.domain.dto.MgtActivityPageDto;
 import com.ruoyi.goods.domain.dto.MgtActivityRecordPageDto;
 import com.ruoyi.goods.domain.dto.StaffActivityListDto;
-import com.ruoyi.goods.domain.pojo.activity.Activity;
+import com.ruoyi.system.api.domain.poji.activity.Activity;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.goods.domain.vo.*;
 import com.ruoyi.system.api.domain.dto.AGStockChangeDto;
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java
index 40eb412..2bc543c 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java
@@ -3,7 +3,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.goods.domain.dto.*;
-import com.ruoyi.goods.domain.pojo.activity.Activity;
+import com.ruoyi.system.api.domain.poji.activity.Activity;
 import com.ruoyi.goods.domain.vo.*;
 import com.ruoyi.system.api.domain.dto.*;
 import com.ruoyi.system.api.domain.vo.ActivityGoodsGetVo;
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
index 946ce64..53f0dd5 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
@@ -10,7 +10,7 @@
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.goods.domain.dto.*;
-import com.ruoyi.goods.domain.pojo.activity.Activity;
+import com.ruoyi.system.api.domain.poji.activity.Activity;
 import com.ruoyi.goods.domain.pojo.activity.ActivityTotal;
 import com.ruoyi.goods.domain.vo.*;
 import com.ruoyi.goods.mapper.activity.ActivityMapper;
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 301ba19..e66d55a 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
@@ -9,7 +9,7 @@
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.common.security.utils.CodeFactoryUtil;
 import com.ruoyi.goods.domain.dto.*;
-import com.ruoyi.goods.domain.pojo.activity.Activity;
+import com.ruoyi.system.api.domain.poji.activity.Activity;
 import com.ruoyi.goods.domain.pojo.goods.GoodsTotal;
 import com.ruoyi.goods.domain.vo.*;
 import com.ruoyi.goods.mapper.goods.GoodsMapper;
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml
index 3f37d8e..9897a0e 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml
@@ -108,7 +108,7 @@
         ORDER BY ta.create_time DESC
     </select>
 
-    <select id="getRecommendActivity" resultType="com.ruoyi.goods.domain.pojo.activity.Activity">
+    <select id="getRecommendActivity" resultType="com.ruoyi.system.api.domain.poji.activity.Activity">
         SELECT * FROM t_activity
         WHERE del_flag = 0 AND recommend_flag = 1 AND NOW() BETWEEN activity_start_time AND activity_end_time
         AND activity_status = 1
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtCouponGetVo.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtCouponGetVo.java
index 78a0f65..8aeaeb4 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtCouponGetVo.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtCouponGetVo.java
@@ -76,6 +76,9 @@
     @ApiModelProperty(value = "关联活动id")
     private String relationActivityId;
 
+    @ApiModelProperty(value = "关联活动")
+    private String relationActivityName;
+
     @ApiModelProperty(value = "关联用户集合")
     private List<MgtCouponMemberListVo> relUserList;
 
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java
index 03f6300..f2c2a80 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java
@@ -424,14 +424,14 @@
             birthdayCard.setCreateTime(new Date());
             birthdayCard.setCreateUserId(merBirthdayEditDto.getUserId());
         }
-        birthdayCard.setCardStatus(merBirthdayEditDto.getCardStatus());
-        this.saveOrUpdate(birthdayCard);
         List<BirthdayGift> birthdayGiftList = birthdayGiftService.listByCardId(birthdayCard.getCardId());
         if(merBirthdayEditDto.getCardStatus()==1){
             if(birthdayGiftList==null||birthdayGiftList.isEmpty()){
                 throw new ServiceException(AppErrorConstant.BIRTHDAYCARD_NO_GIFT);
             }
         }
+        birthdayCard.setCardStatus(merBirthdayEditDto.getCardStatus());
+        this.saveOrUpdate(birthdayCard);
     }
 
     /**
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 5f6bcf0..4fb5dc0 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
@@ -19,6 +19,7 @@
 import com.ruoyi.system.api.constant.AppErrorConstant;
 import com.ruoyi.system.api.constant.DelayTaskEnum;
 import com.ruoyi.system.api.domain.dto.*;
+import com.ruoyi.system.api.domain.poji.activity.Activity;
 import com.ruoyi.system.api.domain.poji.config.DelayTask;
 import com.ruoyi.system.api.domain.poji.goods.Goods;
 import com.ruoyi.system.api.domain.poji.member.Member;
@@ -202,6 +203,11 @@
             List<MgtCouponMemberListVo> relUserList = couponRelUserService.listCouponMemberVo(coupon.getCouponId());
             mgtCouponGetVo.setRelUserList(relUserList);
         }
+        //获取活动名称
+        if(coupon.getSendTarget()==5&&coupon.getRelationType()==2){
+            Activity activity = remoteActivityService.getActivity(coupon.getRelationActivityId()).getData();
+            mgtCouponGetVo.setRelationActivityName(activity.getActivityName());
+        }
         if(mgtCouponGetVo.getSendLimitFlag()==0){
             mgtCouponGetVo.setSendLimitNumber(null);
         }
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 88962c7..d2f60f6 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
@@ -375,7 +375,8 @@
         shopProportion.setDelFlag(0);
         shopProportion.setShopId(shop.getShopId());
         shopProportion.setShopType(shop.getShopType());
-        BigDecimal proportionPercent = redisService.getCacheObject(SecurityConstant.SHOP_COMMON_PROPORTION);
+        String proportionPercentStr = redisService.getCacheObject(SecurityConstant.SHOP_COMMON_PROPORTION);
+        BigDecimal proportionPercent = new BigDecimal(proportionPercentStr);
         if(proportionPercent==null){
             proportionPercent = new BigDecimal("30");
         }
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 6545bb8..eea180c 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
@@ -434,9 +434,9 @@
 
     <select id="getNearbyShop"  resultType="com.ruoyi.shop.domain.vo.AppNearShopVo">
         SELECT ts.shop_id shopId,
-               6378.138 * 2 * ASIN(SQRT(POW(SIN((28.837917676710354 * PI() / 180 - ts.shop_latitude * PI() / 180) / 2), 2)
-                + COS(28.837917676710354 * PI() / 180) * COS(ts.shop_latitude * PI() / 180) * POW(
-               SIN((105.43587830688473 * PI() / 180 - ts.shop_longitude * PI() / 180) / 2), 2
+               6378.138 * 2 * ASIN(SQRT(POW(SIN((#{param.latitude} * PI() / 180 - ts.shop_latitude * PI() / 180) / 2), 2)
+                + COS(#{param.latitude} * PI() / 180) * COS(ts.shop_latitude * PI() / 180) * POW(
+               SIN((#{param.longitude} * PI() / 180 - ts.shop_longitude * PI() / 180) / 2), 2
                ))) AS distance
         FROM t_shop ts
         WHERE del_flag = 0 AND shop_status = 1
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffSysController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffSysController.java
index d1084a4..d76847d 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffSysController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffSysController.java
@@ -14,6 +14,7 @@
 import com.ruoyi.system.domain.vo.StaffUserGetVo;
 import com.ruoyi.system.service.config.StaffSuggestService;
 import com.ruoyi.system.service.staff.SysStaffService;
+import com.ruoyi.system.service.sys.ISysPermissionService;
 import com.ruoyi.system.service.sys.ISysUserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -22,6 +23,7 @@
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Set;
 
 import static com.ruoyi.common.core.web.domain.AjaxResult.success;
 
@@ -46,6 +48,9 @@
     @Resource
     private StaffSuggestService staffSuggestService;
 
+    @Resource
+    private ISysPermissionService permissionService;
+
     @RequestMapping(value = "/getStaffShopInfo", method = RequestMethod.POST)
     @ApiOperation(value = "获取员工端商户信息")
     public R<StaffUserGetVo> getStaffShopInfo() {
@@ -62,6 +67,15 @@
         return R.ok(staffUserGetVo);
     }
 
+    @RequestMapping(value = "/getStaffPermissions", method = RequestMethod.POST)
+    @ApiOperation(value = "获取员工端权限")
+    public R<Set<String>> getStaffPermissions() {
+        Long userId = SecurityUtils.getUserId();
+        SysUser sysUser = sysUserService.selectUserById(userId);
+        Set<String> permissions = permissionService.getStaffClientMenuPermission(sysUser);
+        return R.ok(permissions);
+    }
+
     @RequestMapping(value = "/staffSuggest", method = RequestMethod.POST)
     @ApiOperation(value = "员工发起建议")
     public R userSuggest(@RequestBody StaffUseSuggestDto staffUseSuggestDto) {
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 0618602..0d95474 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
@@ -178,4 +178,17 @@
         List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
         return success(menuService.buildMenus(menus));
     }
+
+    /**
+     * 获取路由信息
+     *
+     * @return 路由信息
+     */
+    @GetMapping("getStaffRouters")
+    public AjaxResult getStaffRouters()
+    {
+        Long userId = SecurityUtils.getUserId();
+        List<SysMenu> menus = menuService.selectStaffMenuTreeByUserId(userId);
+        return success(menuService.buildMenus(menus));
+    }
 }
\ No newline at end of file
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 d076f30..87a074b 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
@@ -87,7 +87,7 @@
 
     /**
      * 根据用户ID查询权限
-     * 
+     *
      * @param userId 用户ID
      * @return 权限列表
      */
@@ -102,11 +102,27 @@
     public List<String> selectMenuPermsByStaffUserId(Long userId);
 
     /**
+     * 根据用户ID查询权限
+     *
+     * @param userId 用户ID
+     * @return 权限列表
+     */
+    public List<String> selectStaffClientMenuPermsByStaffUserId(Long userId);
+
+    /**
      * 根据用户ID查询菜单
      * 
      * @return 菜单列表
      */
     public List<SysMenu> selectMenuTreeAll();
+
+
+    /**
+     * 根据用户ID查询菜单
+     *
+     * @return 菜单列表
+     */
+    public List<SysMenu> selectStaffClientMenuTreeAll();
 
     /**
      * 根据用户ID查询菜单
@@ -122,9 +138,25 @@
      * @param userId 用户ID
      * @return 菜单列表
      */
+    public List<SysMenu> selectStaffClientMenuTreeByUserId(Long userId);
+
+    /**
+     * 根据用户ID查询菜单
+     *
+     * @param userId 用户ID
+     * @return 菜单列表
+     */
     public List<SysMenu> selectStaffMenuTreeByUserId(Long userId);
 
     /**
+     * 根据用户ID查询菜单
+     *
+     * @param userId 用户ID
+     * @return 菜单列表
+     */
+    public List<SysMenu> selectStaffClientStaffMenuTreeByUserId(Long userId);
+
+    /**
      * 根据角色ID查询菜单树信息
      * 
      * @param roleId 角色ID
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 1e02d68..45d15b0 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
@@ -174,6 +174,28 @@
     }
 
     /**
+     * 根据用户ID查询权限
+     *
+     * @param userId 用户ID
+     * @return 权限列表
+     */
+    @Override
+    public Set<String> selectStaffClientMenuPermsByUserId(Long userId){
+        SysUser sysUser = sysUserService.selectUserById(userId);
+        List<String> perms = null;
+        perms = menuMapper.selectStaffClientMenuPermsByStaffUserId(userId);
+        Set<String> permsSet = new HashSet<>();
+        for (String perm : perms)
+        {
+            if (StringUtils.isNotEmpty(perm))
+            {
+                permsSet.addAll(Arrays.asList(perm.trim().split(",")));
+            }
+        }
+        return permsSet;
+    }
+
+    /**
      * 根据角色ID查询权限
      * 
      * @param roleId 角色ID
@@ -217,6 +239,23 @@
         return getChildPerms(menus, 0);
     }
 
+    @Override
+    public List<SysMenu> selectStaffMenuTreeByUserId(Long userId)
+    {
+        List<SysMenu> menus = null;
+        if (SecurityUtils.isAdmin(userId))
+        {
+            menus = menuMapper.selectStaffClientMenuTreeAll();
+        }
+        else if(userId.equals(1L)||userId.equals(2L))
+        {
+            menus = menuMapper.selectStaffClientMenuTreeByUserId(userId);
+        }else{
+            menus = menuMapper.selectStaffClientStaffMenuTreeByUserId(userId);
+        }
+        return getChildPerms(menus, 0);
+    }
+
     /**
      * 根据角色ID查询菜单树信息
      * 
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysPermissionServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysPermissionServiceImpl.java
index 6942fcd..0d4c68b 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysPermissionServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysPermissionServiceImpl.java
@@ -1,15 +1,16 @@
 package com.ruoyi.system.service.impl.sys;
 
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 import com.ruoyi.system.api.domain.poji.sys.SysRole;
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
 import com.ruoyi.system.service.sys.ISysMenuService;
 import com.ruoyi.system.service.sys.ISysPermissionService;
 import com.ruoyi.system.service.sys.ISysRoleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
 
 /**
  * 用户权限处理
@@ -82,4 +83,26 @@
         }
         return perms;
     }
+
+
+    /**
+     * 获取菜单数据权限
+     *
+     * @param userId 用户Id
+     * @return 菜单权限信息
+     */
+    @Override
+    public Set<String> getStaffClientMenuPermission(SysUser user){
+        Set<String> perms = new HashSet<String>();
+        // 管理员拥有所有权限
+        if (user.isAdmin())
+        {
+            perms.add("*:*:*");
+        }
+        else
+        {
+            perms.addAll(menuService.selectStaffClientMenuPermsByUserId(user.getUserId()));
+        }
+        return perms;
+    }
 }
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 2fd5936..b7113fe 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
@@ -74,12 +74,21 @@
     public Set<String> selectMenuPermsByUserId(Long userId);
 
     /**
+     * 根据用户ID查询权限
+     *
+     * @param userId 用户ID
+     * @return 权限列表
+     */
+    public Set<String> selectStaffClientMenuPermsByUserId(Long userId);
+
+    /**
      * 根据角色ID查询权限
      * 
      * @param roleId 角色ID
      * @return 权限列表
      */
     public Set<String> selectMenuPermsByRoleId(Long roleId);
+
 
     /**
      * 根据用户ID查询菜单树信息
@@ -89,6 +98,8 @@
      */
     public List<SysMenu> selectMenuTreeByUserId(Long userId);
 
+    public List<SysMenu> selectStaffMenuTreeByUserId(Long userId);
+
     /**
      * 根据角色ID查询菜单树信息
      * 
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysPermissionService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysPermissionService.java
index 516a81a..8967a3e 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysPermissionService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysPermissionService.java
@@ -1,8 +1,8 @@
 package com.ruoyi.system.service.sys;
 
-import java.util.Set;
-
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
+
+import java.util.Set;
 
 /**
  * 权限信息 服务层
@@ -26,4 +26,13 @@
      * @return 菜单权限信息
      */
     public Set<String> getMenuPermission(SysUser user);
+
+
+    /**
+     * 获取菜单数据权限
+     *
+     * @param userId 用户Id
+     * @return 菜单权限信息
+     */
+    public Set<String> getStaffClientMenuPermission(SysUser user);
 }
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 71e419c..635a439 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
@@ -71,6 +71,12 @@
 		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>
+
+	<select id="selectStaffClientMenuTreeAll" 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 = 2
+		order by m.parent_id, m.order_num
+	</select>
 	
 	<select id="selectMenuListByUserId" 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
@@ -152,11 +158,30 @@
 		order by m.parent_id, m.order_num
 	</select>
 
+	<select id="selectStaffClientMenuTreeByUserId" 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
+				 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
+				 left join sys_user u on ur.user_id = u.user_id
+		where u.user_id = #{userId} and m.status = '0' AND ro.status = 0 AND menu_from = 2
+		order by m.parent_id, m.order_num
+	</select>
+
 	<select id="selectStaffMenuTreeByUserId" 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
 				 left join sys_user_menu rm on m.menu_id = rm.menu_id
 		where rm.user_id = #{userId} and m.menu_type in ('M', 'C') and m.status = '0' AND m.menu_from = 1
+		order by m.parent_id, m.order_num
+	</select>
+
+	<select id="selectStaffClientStaffMenuTreeByUserId" 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
+				 left join sys_user_menu rm on m.menu_id = rm.menu_id
+		where rm.user_id = #{userId} and m.status = '0' AND m.menu_from = 2
 		order by m.parent_id, m.order_num
 	</select>
 	
@@ -235,16 +260,24 @@
 	<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
+			 INNER join sys_user_menu rm on m.menu_id = rm.menu_id
 		where m.status = '0' and rm.user_id = #{userId} AND m.menu_from = 1 AND rm.menu_from = 1
+	</select>
+
+	<select id="selectStaffClientMenuPermsByStaffUserId" 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 rm.user_id = #{userId} AND m.menu_from = 2 AND rm.menu_from = 2
 	</select>
 	
 	<select id="selectMenuPermsByRoleId" parameterType="Long" resultType="String">
 		select distinct m.perms
 		from sys_menu m
-			 left join sys_role_menu rm on m.menu_id = rm.menu_id
-		where m.status = '0' and rm.role_id = #{roleId} AND m.menu_from = 1
+			 left join sys_user_menu rm on m.menu_id = rm.menu_id
+		where m.status = '0' and rm.user_id = #{userId} AND m.menu_from = 1
 	</select>
+
 	
 	<select id="selectMenuById" parameterType="Long" resultMap="SysMenuResult">
 		<include refid="selectMenuVo"/>
diff --git a/ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java b/ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java
index b7f172b..641022a 100644
--- a/ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java
+++ b/ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java
@@ -1,15 +1,18 @@
 package com.ruoyi.system;
 
 
-import com.ruoyi.system.domain.dto.MgtStaffEditDto;
+import com.ruoyi.system.domain.pojo.sys.SysMenu;
+import com.ruoyi.system.domain.vo.RouterVo;
 import com.ruoyi.system.service.staff.SysStaffService;
 import com.ruoyi.system.service.staff.SysWxCpService;
+import com.ruoyi.system.service.sys.ISysMenuService;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * @ClassName systemTest
@@ -28,18 +31,15 @@
     @Resource
     private SysStaffService sysStaffService;
 
+    @Resource
+    private ISysMenuService menuService;
+
     @Test
     public void main() {
-        MgtStaffEditDto mgtStaffEditDto = new MgtStaffEditDto();
-        mgtStaffEditDto.setDeptId(2051L);
-        mgtStaffEditDto.setSysUserId(146L);
-        mgtStaffEditDto.setStaffName("江秋实1号");
-        mgtStaffEditDto.setStaffMobile("13882237106");
-        mgtStaffEditDto.setStaffPost("开发");
-        mgtStaffEditDto.setHeadFlag("1");
-        mgtStaffEditDto.setUserId(146L);
-        sysStaffService.mgtStaffEdit(mgtStaffEditDto);
-
+        //List<SysMenu> menus = menuService.selectMenuTreeByUserId(1L);
+        List<SysMenu> menus = menuService.selectStaffMenuTreeByUserId(164L);
+        List<RouterVo> list = menuService.buildMenus(menus);
+        System.out.println(list);
     }
 
 }

--
Gitblit v1.7.1