From ab9d91c89f83cbac085c5db439b744b8c1feeb71 Mon Sep 17 00:00:00 2001 From: jishenghua <752718920@qq.com> Date: Tue, 29 Apr 2025 17:01:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AE=A2=E6=88=B7=E6=97=B6?= =?UTF-8?q?=E7=BB=99=E5=BD=93=E5=89=8D=E7=94=A8=E6=88=B7=E5=92=8C=E7=A7=9F?= =?UTF-8?q?=E6=88=B7=E8=87=AA=E5=8A=A8=E6=8E=88=E6=9D=83(=E7=A7=9F?= =?UTF-8?q?=E7=94=A8=E4=B9=9F=E4=B8=80=E8=B5=B7=E6=8E=88=E6=9D=83)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsh/erp/service/SupplierService.java | 57 ++++++++++++------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/SupplierService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/SupplierService.java index d957ad01..4466c6ac 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/SupplierService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/SupplierService.java @@ -152,7 +152,7 @@ public class SupplierService { User userInfo=userService.getCurrentUser(); supplier.setCreator(userInfo==null?null:userInfo.getId()); result=supplierMapper.insertSelective(supplier); - //新增客户时给当前用户自动授权 + //新增客户时给当前用户和租户自动授权 setUserCustomerPermission(request, supplier); logService.insertLog("商家", new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_ADD).append(supplier.getSupplier()).toString(),request); @@ -523,7 +523,7 @@ public class SupplierService { List list= supplierMapper.selectByExample(example); if(list.size() <= 0) { supplierMapper.insertSelective(supplier); - //新增客户时给当前用户自动授权 + //新增客户时给当前用户和租户自动授权 setUserCustomerPermission(request, supplier); } else { Long id = list.get(0).getId(); @@ -618,37 +618,52 @@ public class SupplierService { } /** - * 新增客户时给当前用户自动授权 + * 新增客户时给当前用户和租户自动授权 * @param request * @param supplier * @throws Exception */ private void setUserCustomerPermission(HttpServletRequest request, Supplier supplier) throws Exception { if("客户".equals(supplier.getType())) { - Long userId = userService.getUserId(request); + User user = userService.getCurrentUser(); Supplier sInfo = supplierMapperEx.getSupplierByNameAndType(supplier.getSupplier(), supplier.getType()); String ubKey = "[" + sInfo.getId() + "]"; - List ubList = userBusinessService.getBasicData(userId.toString(), "UserCustomer"); - if(ubList ==null || ubList.size() == 0) { - JSONObject ubObj = new JSONObject(); - ubObj.put("type", "UserCustomer"); - ubObj.put("keyId", userId); - ubObj.put("value", ubKey); - UserBusiness userBusiness = JSONObject.parseObject(ubObj.toJSONString(), UserBusiness.class); - userBusinessMapper.insertSelective(userBusiness); - } else { - UserBusiness ubInfo = ubList.get(0); - JSONObject ubObj = new JSONObject(); - ubObj.put("id", ubInfo.getId()); - ubObj.put("type", ubInfo.getType()); - ubObj.put("keyId", ubInfo.getKeyId()); - ubObj.put("value", ubInfo.getValue() + ubKey); - UserBusiness userBusiness = JSONObject.parseObject(ubObj.toJSONString(), UserBusiness.class); - userBusinessMapper.updateByPrimaryKeySelective(userBusiness); + //授权当前用户 + setPermissionByParam(user.getId(), ubKey); + if(!user.getId().equals(user.getTenantId())) { + //授权当前租户 + setPermissionByParam(user.getTenantId(), ubKey); } } } + /** + * 权限授权操作 + * @param userId + * @param ubKey + * @throws Exception + */ + private void setPermissionByParam(Long userId, String ubKey) throws Exception { + List ubList = userBusinessService.getBasicData(userId.toString(), "UserCustomer"); + if(ubList ==null || ubList.size() == 0) { + JSONObject ubObj = new JSONObject(); + ubObj.put("type", "UserCustomer"); + ubObj.put("keyId", userId); + ubObj.put("value", ubKey); + UserBusiness userBusiness = JSONObject.parseObject(ubObj.toJSONString(), UserBusiness.class); + userBusinessMapper.insertSelective(userBusiness); + } else { + UserBusiness ubInfo = ubList.get(0); + JSONObject ubObj = new JSONObject(); + ubObj.put("id", ubInfo.getId()); + ubObj.put("type", ubInfo.getType()); + ubObj.put("keyId", ubInfo.getKeyId()); + ubObj.put("value", ubInfo.getValue() + ubKey); + UserBusiness userBusiness = JSONObject.parseObject(ubObj.toJSONString(), UserBusiness.class); + userBusinessMapper.updateByPrimaryKeySelective(userBusiness); + } + } + @Transactional(value = "transactionManager", rollbackFor = Exception.class) public int batchSetAdvanceIn(String ids) throws Exception { int res = 0;