From b3585e6475b7a7ab38fcb8af79def5e938a297ea Mon Sep 17 00:00:00 2001 From: cy <1664593601@qq.com> Date: 星期三, 22 十一月 2023 18:45:31 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerServiceImpl.java | 83 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 80 insertions(+), 3 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerServiceImpl.java index 180efd4..6ad2ed7 100644 --- a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerServiceImpl.java @@ -1,9 +1,19 @@ package com.consum.base.service; import com.consum.base.core.utils.IdUtil; +import com.consum.base.pojo.WarehouseManagerInfo; +import com.consum.base.pojo.WarehouseManagerParam; import com.consum.model.po.BaseWarehouseManager; +import com.consum.model.po.FinSysTenantUser; +import com.iplatform.model.po.S_role; +import com.walker.infrastructure.utils.CollectionUtils; import com.walker.jdbc.service.BaseServiceImpl; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; /** * @Description 鐗╁搧鍒嗙被 @@ -13,13 +23,80 @@ @Service public class BaseWarehouseManagerServiceImpl extends BaseServiceImpl { + @Autowired + private FinSysTenantUserServiceImpl finSysTenantUserService; + /** * @Description 鏂板 * @Author 鍗㈠簡闃� * @Date 2023/10/26 */ - public int add(BaseWarehouseManager baseWarehouseManager) { - baseWarehouseManager.setId(IdUtil.generateId()); - return this.insert(baseWarehouseManager); + @Transactional(rollbackFor = Exception.class) + public void add(WarehouseManagerParam list) throws Exception { + + Long warehouseId = list.getWarehouseId(); + + // 瑙掕壊id + Long roleId = null; + List<S_role> roleAll = finSysTenantUserService.getRoleAll(); + if (!CollectionUtils.isEmpty(roleAll)) { + S_role sRole = roleAll.stream().filter(item -> item.getRole_name().equals("浠撳簱绠$悊鍛�")).findFirst().orElse(null); + if (sRole != null) { + roleId = sRole.getRole_id(); + } + } + + // 鍒犻櫎瑙掕壊 + BaseWarehouseManager warehouseManager = new BaseWarehouseManager(); + warehouseManager.setBaseWarehouseId(warehouseId); + List<BaseWarehouseManager> baseWarehouseManagerList = this.select(warehouseManager); + String deleteRoleSql = "DELETE FROM S_ROLE_USER WHERE USER_ID =:managerId AND role_id =:roleId"; + for (BaseWarehouseManager item : baseWarehouseManagerList) { + Long managerId = item.getManagerId(); + FinSysTenantUser finSysTenantUser = finSysTenantUserService.queryOneById(String.valueOf(managerId)); + if (finSysTenantUser == null) { + throw new Exception("鐢ㄦ埛涓嶅瓨鍦�"); + } + Map<String, Object> params = new HashMap<>(); + params.put("managerId", finSysTenantUser.getSysUserId()); + params.put("roleId", roleId); + this.execute(deleteRoleSql, params); + } + + //鍒犻櫎搴撶璁板綍 + String sql = "delete from base_warehouse_manager where base_warehouse_id =:warehouseId"; + Map<String, Object> params = new HashMap<>(); + params.put("warehouseId", warehouseId); + this.execute(sql, params); + //閲嶆柊淇濆瓨 + List<WarehouseManagerInfo> warehouseManagerInfoList = list.getWarehouseManagerInfoList(); + if (!CollectionUtils.isEmpty(warehouseManagerInfoList)) { + for (WarehouseManagerInfo warehouseManagerInfo : warehouseManagerInfoList) { + Long managerId = warehouseManagerInfo.getManagerId(); + String managerName = warehouseManagerInfo.getManagerName(); + BaseWarehouseManager baseWarehouseManager = new BaseWarehouseManager(); + baseWarehouseManager.setId(IdUtil.generateId()); + baseWarehouseManager.setBaseWarehouseId(warehouseId); + baseWarehouseManager.setManagerId(managerId); + baseWarehouseManager.setManagerName(managerName); + this.insert(baseWarehouseManager); + + FinSysTenantUser finSysTenantUser = finSysTenantUserService.queryOneById(String.valueOf(managerId)); + if (finSysTenantUser == null) { + throw new Exception("鐢ㄦ埛涓嶅瓨鍦�"); + } + Long sysUserId = finSysTenantUser.getSysUserId(); + String saveUserRole = "insert into s_role_user(user_id, role_id, org_id) values(:managerId,:roleId,0)"; + Map<String, Object> userRoleParam = new HashMap<>(); + userRoleParam.put("managerId", sysUserId); + userRoleParam.put("roleId", roleId); + this.execute(saveUserRole, userRoleParam); +// this.finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId); + + } + } + } + + } -- Gitblit v1.9.1