From aa0131b1efb96c9f52371160b3a1e6823db3656a Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期四, 07 十二月 2023 13:02:26 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml | 15 +++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysDept.java | 11 ++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java | 26 ++++++ ruoyi-modules/ruoyi-system/src/test/java/com/ruoyi/system/systemTest.java | 12 ++- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserMenuEditDto.java | 2 ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMapper.xml | 6 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysUser.java | 13 +++ ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java | 5 + ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 88 +++++++++++++++++++-- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/map/MapUtil.java | 6 + ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml | 8 + ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysMenuController.java | 9 ++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java | 1 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/StaffMenuController.java | 10 ++ 14 files changed, 187 insertions(+), 25 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysDept.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysDept.java index f5e1dd7..0ca9c5d 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysDept.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysDept.java @@ -56,6 +56,8 @@ /** 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) */ @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限") private String dataScope; + /**员工端数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限)*/ + private String dataScopeEmployee; /** 子部门 */ private List<SysDept> children = new ArrayList<SysDept>(); @@ -227,6 +229,14 @@ this.wxDeptId = wxDeptId; } + public String getDataScopeEmployee() { + return dataScopeEmployee; + } + + public void setDataScopeEmployee(String dataScopeEmployee) { + this.dataScopeEmployee = dataScopeEmployee; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -246,6 +256,7 @@ .append("updateTime", getUpdateTime()) .append("dataScope", getDataScope()) .append("wxDeptId", getWxDeptId()) + .append("dataScopeEmployee", getDataScopeEmployee()) .toString(); } } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysUser.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysUser.java index 8fafda7..69c4693 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysUser.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysUser.java @@ -99,9 +99,11 @@ /** 角色ID */ private Long roleId; - /** 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) */ + /** 平台数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) */ @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限") private String dataScope; + /**员工端数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限)*/ + private String dataScopeEmployee; public SysUser() { @@ -327,6 +329,14 @@ this.dataScope = dataScope; } + public String getDataScopeEmployee() { + return dataScopeEmployee; + } + + public void setDataScopeEmployee(String dataScopeEmployee) { + this.dataScopeEmployee = dataScopeEmployee; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -351,6 +361,7 @@ .append("dept", getDept()) .append("userType", getUserType()) .append("dataScope", getDataScope()) + .append("dataScopeEmployee", getDataScopeEmployee()) .toString(); } } 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 4fb5dc0..7f5be8b 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 @@ -768,7 +768,10 @@ .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity())); for(MgtCouponAuditPageVo mgtCouponAuditPageVo : mgtCouponAuditPageVoList){ if(mgtCouponAuditPageVo.getShopId()!=null){ - mgtCouponAuditPageVo.setShopName(shopMap.get(mgtCouponAuditPageVo.getShopId()).getShopName()); + MgtSimpleShopVo mgtSimpleShopVo = shopMap.get(mgtCouponAuditPageVo.getShopId()); + if(null != mgtSimpleShopVo){ + mgtCouponAuditPageVo.setShopName(mgtSimpleShopVo.getShopName()); + } } } } diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml index b0bc860..ef9a28b 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml +++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml @@ -569,8 +569,11 @@ <if test="param.goodsType != null and param.goodsType !=''"> AND tog.goods_type = #{param.goodsType} </if> + <!--<if test="param.shopId != null and param.shopId != ''">--> + <!--AND toc.shop_id = #{param.shopId}--> + <!--</if>--> <if test="param.shopId != null and param.shopId != ''"> - AND toc.shop_id = #{param.shopId} + AND toc.shop_id = #{param.shopId} AND (toc.unbinding_flag = 0 OR (toc.unbinding_flag = 1 AND toc.order_from = 1) OR (toc.unbinding_flag = 1 AND toc.order_from = 2 AND toc.order_status = 3)) </if> <if test="param.shopIds != null and param.shopIds != ''"> AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) > 0 @@ -604,8 +607,11 @@ <if test="param.goodsType != null and param.goodsType !=''"> AND tog.goods_type = #{param.goodsType} </if> + <!--<if test="param.shopId != null and param.shopId != ''">--> + <!--AND toc.shop_id = #{param.shopId}--> + <!--</if>--> <if test="param.shopId != null and param.shopId != ''"> - AND toc.shop_id = #{param.shopId} + AND toc.shop_id = #{param.shopId} AND (toc.unbinding_flag = 0 OR (toc.unbinding_flag = 1 AND toc.order_from = 1) OR (toc.unbinding_flag = 1 AND toc.order_from = 2 AND toc.order_status = 3)) </if> <if test="param.shopIds != null and param.shopIds != ''"> AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) > 0 @@ -639,8 +645,11 @@ <if test="param.goodsType != null and param.goodsType !=''"> AND tog.goods_type = #{param.goodsType} </if> + <!--<if test="param.shopId != null and param.shopId != ''">--> + <!--AND toc.shop_id = #{param.shopId}--> + <!--</if>--> <if test="param.shopId != null and param.shopId != ''"> - AND toc.shop_id = #{param.shopId} + AND toc.shop_id = #{param.shopId} AND (toc.unbinding_flag = 0 OR (toc.unbinding_flag = 1 AND toc.order_from = 1) OR (toc.unbinding_flag = 1 AND toc.order_from = 2 AND toc.order_status = 3)) </if> <if test="param.shopIds != null and param.shopIds != ''"> AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) > 0 diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java index dcef08b..69f4332 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java @@ -7,6 +7,7 @@ import com.ruoyi.shop.domain.vo.*; import com.ruoyi.shop.service.shop.ShopService; import com.ruoyi.system.api.domain.dto.StaffBaseGetDto; +import com.ruoyi.system.api.domain.poji.sys.SysUser; import com.ruoyi.system.api.service.RemoteSysStaffService; import com.ruoyi.system.api.service.RemoteUserService; import io.swagger.annotations.Api; @@ -50,13 +51,34 @@ @ApiOperation(value = "分页获取员工端商户列表") public R<Page<StaffShopPageVo>> listStaffShop(@RequestBody StaffShopPageDto staffShopPageDto) { Long userId = SecurityUtils.getUserId(); - if (remoteSysStaffService.isLeader()) { +// if (remoteSysStaffService.isLeader()) { +// List<Long> userIds = sysUserService.getUserIdsByDept(userId).getData(); +// userIds.add(userId); +// staffShopPageDto.setUserIdList(userIds); +// } else { +// staffShopPageDto.setBelongUserId(userId); +// } + + // TODO: 2023/12/5 统一改成使用权限来控制数据 + R<SysUser> sysUser = sysUserService.getSysUser(userId); + if(sysUser.getCode() != 200){ + return R.fail(sysUser.getMsg()); + } + //员工端数据权限(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) + //2/4暂未使用 + String dataScopeEmployee = sysUser.getData().getDataScopeEmployee(); + if(dataScopeEmployee.equals("1")){ + staffShopPageDto.setUserIdList(null); + } + if(dataScopeEmployee.equals("3")){ List<Long> userIds = sysUserService.getUserIdsByDept(userId).getData(); userIds.add(userId); staffShopPageDto.setUserIdList(userIds); - } else { + } + if(dataScopeEmployee.equals("5")){ staffShopPageDto.setBelongUserId(userId); } + Page<StaffShopPageVo> page = new Page<>(); page.setSize(staffShopPageDto.getPageSize()); page.setCurrent(staffShopPageDto.getPageNum()); 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 b22a058..f8993e9 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 @@ -18,6 +18,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.DateUtils; +import com.ruoyi.common.core.utils.ExceptionUtil; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; @@ -764,6 +765,7 @@ }else if(StringUtils.isNotBlank(appNearbyShopDto.getLatitude())&&StringUtils.isNotBlank(appNearbyShopDto.getLongitude())){ List<AppNearShopVo> appNearShopVos = shopMapper.getNearbyShops(appNearbyShopDto); if(appNearShopVos.size() > 0){ + log.info("候选店铺:{}", JSON.toJSONString(appNearShopVos)); StringBuffer to = new StringBuffer(); for (AppNearShopVo appNearShopVo : appNearShopVos) { to.append(appNearShopVo.getLatitude() + "," + appNearShopVo.getLongitude() + ";"); @@ -780,7 +782,7 @@ List<TencentDistanceMatrixElements> elements = data.get(0).getElements(); for (int i = 0; i < elements.size(); i++) { TencentDistanceMatrixElements matrix = elements.get(i); - if(dis.compareTo(BigDecimal.ZERO) == 0 || dis.compareTo(new BigDecimal(matrix.getDistance())) > 0){ + if(i == 0 || dis.compareTo(new BigDecimal(matrix.getDistance())) > 0){ dis = new BigDecimal(matrix.getDistance()); appNearShopVo = appNearShopVos.get(i); } @@ -843,7 +845,43 @@ List<Long> userIds = new ArrayList<>(); List<Long> shopIds = new ArrayList<>(); //如果是leader 查询leader下面所有的员工下的所有shopId - if(remoteSysStaffService.isLeader()){ +// if(remoteSysStaffService.isLeader()){ +// userIds = sysUserService.getUserIdsByDept(userId).getData(); +// //根据用户所有id查询关联的商户id +// MgtBasePlatformDto mgtBasePlatformDto = new MgtBasePlatformDto(); +// mgtBasePlatformDto.setUserIdList(userIds); +// shopIds = shopMapper.listShopIdByTotal(mgtBasePlatformDto); +// List<Shop> shopList = this.getShopByBelongUserId(userId); +// if(shopList!=null&&!shopList.isEmpty()){ +// for(Shop shop : shopList){ +// shopIds.add(shop.getShopId()); +// } +// userIds.add(userId); +// } +// }else { +// //普通员工查询商户归属的shopId +// List<Shop> shopList = this.getShopByBelongUserId(userId); +// if(shopList!=null&&!shopList.isEmpty()){ +// for(Shop shop : shopList){ +// shopIds.add(shop.getShopId()); +// } +// userIds.add(userId); +// } +// } + + // TODO: 2023/12/5 统一改成使用权限来控制数据 + R<SysUser> sysUser = sysUserService.getSysUser(userId); + if(sysUser.getCode() != 200){ + throw new RuntimeException(sysUser.getMsg()); + } + //员工端数据权限(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) + //2/4暂未使用 + String dataScopeEmployee = sysUser.getData().getDataScopeEmployee(); + if(dataScopeEmployee.equals("1")){ + userIds = null; + shopIds = null; + } + if(dataScopeEmployee.equals("3")){ userIds = sysUserService.getUserIdsByDept(userId).getData(); //根据用户所有id查询关联的商户id MgtBasePlatformDto mgtBasePlatformDto = new MgtBasePlatformDto(); @@ -856,8 +894,8 @@ } userIds.add(userId); } - }else { - //普通员工查询商户归属的shopId + } + if(dataScopeEmployee.equals("5")){ List<Shop> shopList = this.getShopByBelongUserId(userId); if(shopList!=null&&!shopList.isEmpty()){ for(Shop shop : shopList){ @@ -866,6 +904,9 @@ userIds.add(userId); } } + + + //分别查询 StaffHomeShopTotalVo staffHomeShopTotalVo = new StaffHomeShopTotalVo(); if(userIds!=null&&!userIds.isEmpty()){ @@ -877,7 +918,7 @@ } Integer shopTaskCount = 0; if(shopIds!=null&&!shopIds.isEmpty()){ - shopTaskService.getShopIngTotal(shopIds); + shopTaskCount = shopTaskService.getShopIngTotal(shopIds); } staffHomeShopTotalVo.setFollowMember(0); staffHomeShopTotalVo.setNewMember(0); @@ -1122,20 +1163,24 @@ */ @Override public void mgtShopHFTXAuth(MgtShopHFTXAuthDto mgtShopHFTXAuthDto) { - ShopAuthenticationHftx shopAuthenticationHftx = shopAuthenticationHftxService.getOne(new QueryWrapper<ShopAuthenticationHftx>().eq("shop_id", mgtShopHFTXAuthDto.getShopId())); - if(null != shopAuthenticationHftx && "U".equals(shopAuthenticationHftx.getAuditStatus())){ + ShopAuthenticationHftx shopAuthenticationHftx = shopAuthenticationHftxService.getOne(new QueryWrapper<ShopAuthenticationHftx>() + .eq("shop_id", mgtShopHFTXAuthDto.getShopId()).eq("is_delete", 0)); + if(null != shopAuthenticationHftx && Arrays.asList("U", "Y").contains(shopAuthenticationHftx.getAuditStatus())){ throw new ServiceException("不能重复进件"); } if(null == shopAuthenticationHftx){ shopAuthenticationHftx = new ShopAuthenticationHftx(); shopAuthenticationHftx.setIsDelete(0); shopAuthenticationHftx.setInsertTime(new Date()); + shopAuthenticationHftx.setAuditStatus("U"); } String auditStatus = shopAuthenticationHftx.getAuditStatus(); BeanUtils.copyProperties(mgtShopHFTXAuthDto, shopAuthenticationHftx); shopAuthenticationHftx.setReqSeqId(IdUtils.simpleUUID()); - shopAuthenticationHftx.setAuditStatus(""); - shopAuthenticationHftx.setAuditDesc(""); + if(Arrays.asList("N", "F").contains(shopAuthenticationHftx.getAuditStatus())){ + shopAuthenticationHftx.setAuditStatus(""); + shopAuthenticationHftx.setAuditDesc(""); + } /** * 开始调起进件接口 */ @@ -1446,12 +1491,33 @@ @Override public StaffShopSimpleTotalVo getStaffSimpleTotal(Long userId){ List<Long> userIdList = new ArrayList<>(); - if(remoteSysStaffService.isLeader()){ +// if(remoteSysStaffService.isLeader()){ +// userIdList = sysUserService.getUserIdsByDept(userId).getData(); +// userIdList.add(userId); +// }else { +// userIdList.add(userId); +// } + + // TODO: 2023/12/5 统一改成使用权限来控制数据 + R<SysUser> sysUser = sysUserService.getSysUser(userId); + if(sysUser.getCode() != 200){ + throw new RuntimeException(sysUser.getMsg()); + } + //员工端数据权限(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) + //2/4暂未使用 + String dataScopeEmployee = sysUser.getData().getDataScopeEmployee(); + if(dataScopeEmployee.equals("1")){ + userIdList = null; + } + if(dataScopeEmployee.equals("3")){ userIdList = sysUserService.getUserIdsByDept(userId).getData(); userIdList.add(userId); - }else { + } + if(dataScopeEmployee.equals("5")){ userIdList.add(userId); } + + StaffShopSimpleTotalVo shopTotal = shopMapper.getStaffSimpleTotal(1,userIdList); StaffShopSimpleTotalVo agencyTotal = shopMapper.getStaffSimpleTotal(2,userIdList); shopTotal.setAgencyTotal(agencyTotal.getShopTotal()); diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/map/MapUtil.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/map/MapUtil.java index 121fde9..19898be 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/map/MapUtil.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/map/MapUtil.java @@ -9,6 +9,8 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.shop.util.map.vo.TencentDistanceMatrix; import com.ruoyi.shop.util.map.vo.TencentDistanceMatrixElements; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; @@ -19,6 +21,8 @@ * @Date 2023/10/30 9:44 */ public class MapUtil { + + private static Logger logger = LoggerFactory.getLogger(MapUtil.class); private static final String tencentKey = "FATBZ-V3AWH-7IJDS-WC7NC-QXY3Q-TQFDJ"; @@ -31,6 +35,7 @@ * @return */ public static R<List<TencentDistanceMatrix>> tencentDistanceMatrix(String form, String to, String mode){ + logger.info("起点经纬度:{} 终点经纬度:{}", form, to); String url = "https://apis.map.qq.com/ws/distance/v1/matrix"; HttpRequest get = HttpUtil.createGet(url) .form("key", tencentKey) @@ -38,6 +43,7 @@ .form("to", to) .form("mode", mode); HttpResponse execute = get.execute(); + logger.info("返回结果:{}", execute.body()); JSONObject jsonObject = JSON.parseObject(execute.body()); Integer status = jsonObject.getInteger("status"); String message = jsonObject.getString("message"); 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 1604de4..dfa1540 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 @@ -2,8 +2,10 @@ import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.system.api.domain.poji.sys.SysUser; import com.ruoyi.system.domain.pojo.sys.SysMenu; import com.ruoyi.system.service.sys.ISysMenuService; +import com.ruoyi.system.service.sys.ISysUserService; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -30,6 +32,12 @@ @Autowired private ISysMenuService menuService; + @Autowired + private ISysUserService sysUserService; + + + + @ApiOperation(value = "加载对应部门员工菜单列表树") @GetMapping(value = "/roleStaffMenuTreeselect/{deptId}") public AjaxResult deptStaffMenuTreeselect(@PathVariable("deptId") Long deptId) @@ -48,10 +56,12 @@ public AjaxResult deptUserStaffMenuTreeselect(@PathVariable("deptUserId") Long deptUserId) { Long userId = SecurityUtils.getUserId(); + SysUser sysUser = sysUserService.selectUserById(deptUserId); List<SysMenu> menus = menuService.selectStaffDeptMenuList(deptUserId); AjaxResult ajax = success(); ajax.put("checkedKeys", menuService.selectStaffMenuListByDeptUserId(deptUserId)); ajax.put("menus", menuService.buildMenuTreeSelect(menus)); + ajax.put("dataScopeEmployee", sysUser.getDataScopeEmployee()); return ajax; } 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 0d95474..9ea25c4 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 @@ -1,5 +1,6 @@ package com.ruoyi.system.controller.sys; +import com.alibaba.fastjson.JSON; import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.web.controller.BaseController; @@ -8,13 +9,16 @@ import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.system.api.domain.poji.sys.SysUser; import com.ruoyi.system.domain.pojo.sys.SysMenu; import com.ruoyi.system.service.sys.ISysMenuService; +import com.ruoyi.system.service.sys.ISysUserService; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import java.util.List; /** @@ -28,6 +32,9 @@ { @Autowired private ISysMenuService menuService; + + @Autowired + private ISysUserService sysUserService; /** * 获取菜单列表 @@ -96,10 +103,12 @@ public AjaxResult deptUserMenuTreeselect(@PathVariable("deptUserId") Long deptUserId) { Long userId = SecurityUtils.getUserId(); + SysUser sysUser = sysUserService.selectUserById(deptUserId); List<SysMenu> menus = menuService.selectDeptMenuList(deptUserId); AjaxResult ajax = AjaxResult.success(); ajax.put("checkedKeys", menuService.selectMenuListByDeptUserId(deptUserId)); ajax.put("menus", menuService.buildMenuTreeSelect(menus)); + ajax.put("dataScope", sysUser.getDataScope()); return ajax; } 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 a993b7a..f669c7f 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 @@ -23,4 +23,6 @@ private String dataScope; + private String dataScopeEmployee; + } 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 652e19e..3ce2700 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 @@ -673,6 +673,7 @@ public void editUserMenu(UserMenuEditDto userMenuEditDto){ SysUser sysUser = this.selectUserById(userMenuEditDto.getUserId()); sysUser.setDataScope(userMenuEditDto.getDataScope()); + sysUser.setDataScopeEmployee(userMenuEditDto.getDataScopeEmployee()); userMapper.updateUser(sysUser); userMenuMapper.deleteUserMenuByUserId(userMenuEditDto.getUserId()); int rows = 1; 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 e73332c..1aa9c75 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 @@ -22,10 +22,11 @@ <result property="updateTime" column="update_time" /> <result property="dataScope" column="data_scope" /> <result property="wxDeptId" column="wx_dept_id" /> + <result property="dataScopeEmployee" column="data_scope_employee" /> </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 ,d.data_scope,d.wx_dept_id + 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,d.wx_dept_id,d.data_scope_employee from sys_dept d </sql> @@ -106,6 +107,7 @@ <if test="createBy != null and createBy != ''">create_by,</if> <if test="dataScope != null and dataScope != ''">data_scope,</if> <if test="wxDeptId != null and wxDeptId != ''">wx_dept_id,</if> + <if test="dataScopeEmployee != null and dataScopeEmployee != ''">data_scope_employee,</if> create_time )values( <if test="deptId != null and deptId != 0">#{deptId},</if> @@ -120,6 +122,7 @@ <if test="createBy != null and createBy != ''">#{createBy},</if> <if test="dataScope != null and dataScope != ''">#{dataScope},</if> <if test="wxDeptId != null and wxDeptId != ''">#{wxDeptId},</if> + <if test="dataScopeEmployee != null and dataScopeEmployee != ''">#{dataScopeEmployee},</if> sysdate() ) </insert> @@ -138,6 +141,7 @@ <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> <if test="dataScope != null and dataScope != ''">data_scope = #{dataScope},</if> <if test="wxDeptId != null and wxDeptId != ''">wx_dept_id = #{wxDeptId},</if> + <if test="dataScopeEmployee != null and dataScopeEmployee != ''">data_scope_employee = #{dataScopeEmployee},</if> update_time = sysdate() </set> where dept_id = #{deptId} 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 4f11130..345a7e3 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 @@ -24,7 +24,8 @@ <result property="updateBy" column="update_by" /> <result property="updateTime" column="update_time" /> <result property="remark" column="remark" /> - <result property="dataScope" column="user_data_scope" /> + <result property="dataScope" column="data_scope"/> + <result property="dataScopeEmployee" column="data_scope_employee"/> <association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult" /> <collection property="roles" javaType="java.util.List" resultMap="RoleResult" /> </resultMap> @@ -49,7 +50,7 @@ </resultMap> <sql id="selectUserVo"> - select u.user_id, u.dept_id, u.user_name,u.user_type, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.data_scope as user_data_scope, + select u.user_id, u.dept_id, u.user_name,u.user_type, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.data_scope, u.data_scope_employee, d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status, r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status from sys_user u @@ -160,6 +161,7 @@ <if test="remark != null and remark != ''">remark,</if> <if test="dataScope != null and dataScope != ''">data_scope,</if> <if test="userType != null and userType != ''">user_type,</if> + <if test="dataScopeEmployee != null and dataScopeEmployee != ''">data_scope_employee,</if> create_time )values( <if test="userId != null and userId != ''">#{userId},</if> @@ -176,6 +178,7 @@ <if test="remark != null and remark != ''">#{remark},</if> <if test="dataScope != null and dataScope != ''">#{dataScope},</if> <if test="userType != null and userType != ''">#{userType},</if> + <if test="dataScopeEmployee != null and dataScopeEmployee != ''">#{dataScopeEmployee},</if> sysdate() ) </insert> @@ -197,6 +200,7 @@ <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> <if test="remark != null">remark = #{remark},</if> <if test="dataScope != null and dataScope != ''">data_scope = #{dataScope},</if> + <if test="dataScopeEmployee != null and dataScopeEmployee != ''">data_scope_employee = #{dataScopeEmployee},</if> update_time = sysdate() </set> where user_id = #{userId} 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 89fce5d..09ef54d 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,13 +1,16 @@ //package com.ruoyi.system; // // +//import com.ruoyi.system.api.domain.poji.sys.SysUser; //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 com.ruoyi.system.service.sys.ISysUserService; //import org.junit.Test; //import org.junit.runner.RunWith; +//import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.boot.test.context.SpringBootTest; //import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; // @@ -34,12 +37,13 @@ // @Resource // private ISysMenuService menuService; // +// @Autowired +// private ISysUserService sysUserService; +// // @Test // public void main() { -// //List<SysMenu> menus = menuService.selectMenuTreeByUserId(1L); -// List<SysMenu> menus = menuService.selectStaffMenuTreeByUserId(164L); -// List<RouterVo> list = menuService.buildMenus(menus); -// System.out.println(list); +// SysUser sysUser = sysUserService.selectUserById(6323L); +// System.out.println(sysUser.getDataScopeEmployee()); // } // //} -- Gitblit v1.7.1