From 1dd71bf7eddd1bfa187e508eda8bd1193b72d278 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Wed, 28 Feb 2024 14:24:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=93=E5=BA=93=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E7=BC=93=E5=AD=98=E8=AE=BE=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../springblade/common/cache/CacheNames.java | 4 + .../controller/BasicMaterialController.java | 1 + .../BasicdataWarehouseController.java | 9 +- .../impl/BasicdataWarehouseServiceImpl.java | 105 +++++++++--------- 4 files changed, 61 insertions(+), 58 deletions(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/cache/CacheNames.java b/blade-biz-common/src/main/java/org/springblade/common/cache/CacheNames.java index 42f732c9b..8fd2da967 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/cache/CacheNames.java +++ b/blade-biz-common/src/main/java/org/springblade/common/cache/CacheNames.java @@ -74,4 +74,8 @@ public interface CacheNames { * 用户选择仓库的key */ String USER_WAREHOUSE_KEY = "logpm:user:warehouse:select:"; + /** + * 用户能操作的仓库 + */ + String USER_WAREHOUSE_OWN = "logpm:user:warehouse:own:"; } diff --git a/blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicMaterialController.java b/blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicMaterialController.java index bea029bf1..220fa6585 100644 --- a/blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicMaterialController.java +++ b/blade-service/logpm-basic/src/main/java/com/logpm/basic/controller/BasicMaterialController.java @@ -89,6 +89,7 @@ public class BasicMaterialController extends BladeController { return R.data(pages); } + /** * 物料基础信息 自定义分页 */ diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java index 0a3dad131..48cf0b0ec 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataWarehouseController.java @@ -291,13 +291,8 @@ public class BasicdataWarehouseController extends BladeController { @GetMapping("/getMyWarehouseList") @ApiOperationSupport(order = 3) public R> getMyWarehouseList() { - BladeUser user = AuthUtil.getUser(); - List basicdataGoodsShelfVOList = CacheUtil.get(CacheObjNames.basic_data_warehourse_list.getCacheName(), CacheObjNames.basic_data_warehourse_list.getKeyPrefix(), user.getUserId(),List.class); - if(ObjectUtils.isNull(basicdataGoodsShelfVOList)){ - basicdataGoodsShelfVOList = warehouseService.getMyWarehouseList(); - CacheUtil.put(CacheObjNames.basic_data_warehourse_list.getCacheName(), CacheObjNames.basic_data_warehourse_list.getKeyPrefix(),user.getUserId(),basicdataGoodsShelfVOList); - } - return R.data(basicdataGoodsShelfVOList); + List myWarehouseList = warehouseService.getMyWarehouseList(); + return R.data(myWarehouseList); } /** diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java index ea92e7d4c..026700f0d 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java @@ -159,74 +159,77 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl getMyWarehouseList() { - Set deptIds = new HashSet<>(); - // 获取当前登陆人 BladeUser user = AuthUtil.getUser(); - List results = null; + // 获取缓存中的仓库 + List results = redis.get(CacheNames.tenantKeyObj(user.getTenantId(), CacheNames.USER_WAREHOUSE_OWN, user.getUserId())); + if(ObjectUtil.isEmpty(results)){ + Set deptIds = new HashSet<>(); + // 获取当前登陆人 - String defaultRoleId = DictBizCache.getValue(DictBizConstant.DEFAULT_MALL_ROLE_ID, DictBizConstant.DEFAULT_MALL_ROLE_ID); + String defaultRoleId = DictBizCache.getValue(DictBizConstant.DEFAULT_MALL_ROLE_ID, DictBizConstant.DEFAULT_MALL_ROLE_ID); + log.info(">>>>>>> 当前登录的人 {} 角色信息 {}",user.getAccount(),user.getRoleId()); + // 最大的管理员 + if (ObjectUtil.isEmpty(user.getRoleId())) { + return null; + } - log.info(">>>>>>> 当前登录的人 {} 角色信息 {}",user.getAccount(),user.getRoleId()); - // 最大的管理员 - if (ObjectUtil.isEmpty(user.getRoleId())) { - return null; - } + if (user.getRoleId().contains(defaultRoleId)) { + // 当前这登录的用户为商场用户 + // 根据当前登录人查询商场信息 + List basicdataClientUserEntityListByUserIds = basicdataClientUserMapper.getBasicdataClientUserEntityListByUserId(user.getUserId()); + List clientIds = null; + if (Func.isNotEmpty(basicdataClientUserEntityListByUserIds)) { + clientIds = basicdataClientUserEntityListByUserIds.stream().map(BasicdataClientUserEntity::getClientId).collect(Collectors.toList()); + } + // 根据商场信息查询商场的服务仓库 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(BasicdataStorageServicesEntity::getClientId, clientIds); + // 得到仓库列表 + List basicdataStorageServicesEntities = basicdataStorageServicesMapper.selectList(lambdaQueryWrapper); + + if (basicdataStorageServicesEntities != null && !basicdataStorageServicesEntities.isEmpty()) { + results = new ArrayList<>(); + for (BasicdataStorageServicesEntity basicdataStorageServicesEntity : basicdataStorageServicesEntities) { + BasicdataWarehouseEntity basicdataWarehouseEntity = new BasicdataWarehouseEntity(); + basicdataWarehouseEntity.setId(basicdataStorageServicesEntity.getServeWarehouseId()); + basicdataWarehouseEntity.setName(basicdataStorageServicesEntity.getServeWarehouseName()); + results.add(basicdataWarehouseEntity); + } + } - if (user.getRoleId().contains(defaultRoleId)) { + } else { + //查询出部门表 + String deptId = user.getDeptId(); + log.info(">>> 部门 {}",deptId); + String[] split = deptId.split(","); + for (String s : split) { + List userDeptNode = deptClient.getUserDeptNode(Long.parseLong(s)); + if (Func.isEmpty(userDeptNode)) { + continue; + } else { + userDeptNode.forEach(u -> { + deptIds.add(u.getId()); + }); + } + deptIds.add(Long.parseLong(s)); - // 当前这登录的用户为商场用户 - // 根据当前登录人查询商场信息 - List basicdataClientUserEntityListByUserIds = basicdataClientUserMapper.getBasicdataClientUserEntityListByUserId(user.getUserId()); - List clientIds = null; - if (Func.isNotEmpty(basicdataClientUserEntityListByUserIds)) { - clientIds = basicdataClientUserEntityListByUserIds.stream().map(BasicdataClientUserEntity::getClientId).collect(Collectors.toList()); - } - // 根据商场信息查询商场的服务仓库 - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.in(BasicdataStorageServicesEntity::getClientId, clientIds); - // 得到仓库列表 - List basicdataStorageServicesEntities = basicdataStorageServicesMapper.selectList(lambdaQueryWrapper); - - if (basicdataStorageServicesEntities != null && !basicdataStorageServicesEntities.isEmpty()) { - results = new ArrayList<>(); - for (BasicdataStorageServicesEntity basicdataStorageServicesEntity : basicdataStorageServicesEntities) { - BasicdataWarehouseEntity basicdataWarehouseEntity = new BasicdataWarehouseEntity(); - basicdataWarehouseEntity.setId(basicdataStorageServicesEntity.getServeWarehouseId()); - basicdataWarehouseEntity.setName(basicdataStorageServicesEntity.getServeWarehouseName()); - results.add(basicdataWarehouseEntity); } - } - - } else { - //查询出部门表 - String deptId = user.getDeptId(); - log.info(">>> 部门 {}",deptId); - String[] split = deptId.split(","); - for (String s : split) { - List userDeptNode = deptClient.getUserDeptNode(Long.parseLong(s)); - if (Func.isEmpty(userDeptNode)) { - continue; - } else { - userDeptNode.forEach(u -> { - deptIds.add(u.getId()); - }); + if (deptIds.isEmpty()) { + return null; } - deptIds.add(Long.parseLong(s)); + assert results != null; + results.addAll(baseMapper.selectList(Wrappers.query().lambda().in(BasicdataWarehouseEntity::getDepartment, deptIds))) ; } - if (deptIds.isEmpty()) { - return null; - } - results = baseMapper.selectList(Wrappers.query().lambda().in(BasicdataWarehouseEntity::getDepartment, deptIds)); + redis.setEx(CacheNames.tenantKeyObj(user.getTenantId(), CacheNames.USER_WAREHOUSE_OWN, user.getUserId()),results,3600L); } return results; - }