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