| | |
| | | import java.util.Set; |
| | | |
| | | import org.apache.commons.compress.utils.Lists; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | |
| | | import com.alibaba.excel.event.AnalysisEventListener; |
| | | import com.alibaba.excel.exception.ExcelDataConvertException; |
| | | import com.consum.base.BaseController; |
| | | import com.consum.base.core.type.StatesType; |
| | | import com.consum.base.core.utils.CommonUtil; |
| | | import com.consum.base.core.utils.MapperUtil; |
| | | import com.consum.base.core.utils.PageUtil; |
| | | import com.consum.base.pojo.FinSysTenantUserSearchParam; |
| | | import com.consum.base.pojo.FinSysTenantUserUpdParam; |
| | | import com.consum.base.pojo.ImportUserParam; |
| | |
| | | import com.consum.base.pojo.response.FinSysTenantUserVO; |
| | | import com.consum.base.pojo.response.FinSysTenantVO; |
| | | import com.consum.base.pojo.response.UserVO; |
| | | import com.consum.base.service.BaseWarehouseManagerService; |
| | | import com.consum.base.service.FinSysTenantDepartmentService; |
| | | import com.consum.base.service.FinSysTenantService; |
| | | import com.consum.base.service.FinSysTenantUserService; |
| | |
| | | import com.iplatform.model.po.S_dept; |
| | | import com.iplatform.model.po.S_role; |
| | | import com.iplatform.model.po.S_user_core; |
| | | import com.walker.db.page.GenericPager; |
| | | import com.walker.infrastructure.utils.CollectionUtils; |
| | | import com.walker.infrastructure.utils.DateUtils; |
| | | import com.walker.infrastructure.utils.NumberGenerator; |
| | |
| | | import com.walker.infrastructure.utils.StringUtils; |
| | | import com.walker.web.ResponseValue; |
| | | |
| | | import cn.hutool.core.util.ReflectUtil; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | |
| | | private FinSysTenantDepartmentService finSysTenantDepartmentService; |
| | | |
| | | @Autowired |
| | | public void setUserService(UserServiceImpl userService) { |
| | | this.userService = userService; |
| | | } |
| | | private BaseWarehouseManagerService baseWarehouseManagerService; |
| | | |
| | | @Autowired |
| | | public FinSysTenantUserController(FinSysTenantService finSysTenantService, |
| | | FinSysTenantUserService finSysTenantUserService, RoleServiceImpl roleService) { |
| | | FinSysTenantUserService finSysTenantUserService, RoleServiceImpl roleService, UserServiceImpl userService) { |
| | | this.finSysTenantUserService = finSysTenantUserService; |
| | | this.finSysTenantService = finSysTenantService; |
| | | this.roleService = roleService; |
| | | this.userService = userService; |
| | | } |
| | | |
| | | /** |
| | |
| | | param.setTenantCode(Long.valueOf(finSysTenant.getCode())); |
| | | } |
| | | } |
| | | GenericPager<FinSysTenantUser> pager = this.finSysTenantUserService.queryAllPageUser(param); |
| | | |
| | | List<FinSysTenantUserVO> resultList = new ArrayList<>(); |
| | | for (FinSysTenantUser finSysTenantUser : pager.getDatas()) { |
| | | FinSysTenantUserVO userVO = new FinSysTenantUserVO(); |
| | | PageUtil<FinSysTenantUserVO> pager = this.finSysTenantUserService.queryAllPageUser(param); |
| | | for (FinSysTenantUserVO finSysTenantUser : pager.getDatas()) { |
| | | String tel = finSysTenantUser.getUserPhone() != null |
| | | ? AESUtils.decryptStrAES(finSysTenantUser.getUserPhone(), PlatformRSAUtils.AES_KEY) : null; |
| | | finSysTenantUser.setUserPhone(StringUtils.isNotEmpty(tel) ? PhoneNumberUtils.maskMobile(tel) : ""); |
| | | |
| | | List<S_role> list = finSysTenantUserService.getByUserId(finSysTenantUser.getSysUserId()); |
| | | // 列表不需要查询角色,只显示列表所需要的信息 |
| | | /*List<S_role> list = finSysTenantUserService.getByUserId(finSysTenantUser.getSysUserId()); |
| | | StringBuilder roleStr = new StringBuilder(); |
| | | list.forEach(s_role -> roleStr.append(s_role.getRole_name()).append(" ")); |
| | | finSysTenantUser.setRoleStr(roleStr.toString()); |
| | | finSysTenantUser.setIsSupplier(finSysTenantUser.getSupplierId() != null ? "是" : "否");*/ |
| | | |
| | | finSysTenantUser.setIsSupplier(finSysTenantUser.getSupplierId() != null ? "是" : "否"); |
| | | |
| | | BeanUtils.copyProperties(finSysTenantUser, userVO); |
| | | FinSysTenantDepartment department = finSysTenantDepartmentService.getById(finSysTenantUser.getSysDeptId()); |
| | | if (Objects.nonNull(department)) { |
| | | userVO.setSysDeptName(department.getName()); |
| | | } |
| | | resultList.add(userVO); |
| | | } |
| | | |
| | | ReflectUtil.setFieldValue(pager, "datas", resultList); |
| | | |
| | | return ResponseValue.success(pager); |
| | | } |
| | | |
| | |
| | | // 是否删除 0是 1否 |
| | | tenantUser.setIsDelete(0); |
| | | tenantUser.setSysUserId(NumberGenerator.getLongSequenceNumber()); |
| | | // 加密手机号 |
| | | String key = PlatformRSAUtils.AES_KEY; |
| | | String encPhone = ""; |
| | | if (tenantUser.getUserPhone() != null) { |
| | | encPhone = AESUtils.encryptStrAES(tenantUser.getUserPhone(), key); |
| | | } |
| | | tenantUser.setUserPhone(encPhone); |
| | | setUserPhone(tenantUser, tenantUser.getUserPhone()); |
| | | String tenantId = tenantUser.getTenantId(); |
| | | FinSysTenant finSysTenant = finSysTenantService.selectById(Long.valueOf(tenantId)); |
| | | tenantUser.setTenantCode(finSysTenant.getCode()); |
| | |
| | | tenantUser.setTenantCode(sysInfo.getTenantCode()); |
| | | tenantUser.setTenantId(sysInfo.getTenantId()); |
| | | // 运维管理 |
| | | tenantUser.setSysDeptId(2l); |
| | | tenantUser.setSysDeptId(2L); |
| | | } |
| | | |
| | | } |
| | | |
| | | private void setUserPhone(FinSysTenantUser tenantUser, String userPhone) { |
| | | // 加密手机号 |
| | | String key = PlatformRSAUtils.AES_KEY; |
| | | String encPhone = ""; |
| | | if (StringUtils.isNotEmpty(userPhone)) { |
| | | encPhone = AESUtils.encryptStrAES(userPhone, key); |
| | | } |
| | | tenantUser.setUserPhone(encPhone); |
| | | } |
| | | |
| | | private S_user_core getsUserCore(FinSysTenantUser tenantUser) { |
| | |
| | | user.setSysUserId(NumberGenerator.getLongSequenceNumber()); |
| | | user.setRemark("批量导入"); |
| | | // 加密手机号 |
| | | String key = PlatformRSAUtils.AES_KEY; |
| | | String encPhone = AESUtils.encryptStrAES(data.getUserPhone(), key); |
| | | user.setUserPhone(encPhone); |
| | | setUserPhone(user, data.getUserPhone()); |
| | | |
| | | user.setIsDelete(1); |
| | | // 怎么获取左侧机构树数据 |
| | |
| | | if (tenantUser == null) { |
| | | return ResponseValue.error("参数为空"); |
| | | } |
| | | String key = PlatformRSAUtils.AES_KEY; |
| | | String encPhone = ""; |
| | | if (tenantUser.getUserPhone() != null) { |
| | | encPhone = AESUtils.encryptStrAES(tenantUser.getUserPhone(), key); |
| | | } |
| | | tenantUser.setUserPhone(encPhone); |
| | | setUserPhone(tenantUser, tenantUser.getUserPhone()); |
| | | // 1.更新系统用户 FIN_SYS_TENANT_USER |
| | | finSysTenantUserService.update(tenantUser); |
| | | // 2.更新平台用户 S_USER_CORE |
| | |
| | | // 1. 根据 user.getSysUserId() 查询 |
| | | // 已有的权限 |
| | | Long sysUserId = user.getSysUserId(); |
| | | List<S_role> list = finSysTenantUserService.getByUserId(sysUserId); |
| | | List<S_role> list = finSysTenantUserService.getRoleBySysUserId(sysUserId); |
| | | // 选择的权限 |
| | | List<Long> roleList = user.getRoleList(); |
| | | // 先删除再添加 |
| | | if (list != null && list.size() > 0) { |
| | | if (!CollectionUtils.isEmpty(list)) { |
| | | finSysTenantUserService.execDelRoleUserList(sysUserId); |
| | | // 删除库管员信息记录 |
| | | list.stream().filter(item -> "仓库管理员".equals(item.getRole_name())).findFirst() |
| | | .ifPresent(item -> baseWarehouseManagerService.deleteMangerBySysUserId(sysUserId)); |
| | | } |
| | | if (roleList != null && roleList.size() > 0) { |
| | | if (!CollectionUtils.isEmpty(roleList)) { |
| | | // 因为不知道该用户需要管理那个仓库 故不新增仓库管理员信息,只添加角色 |
| | | finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId); |
| | | } |
| | | this.getFinSysTenantUserCache().remove(sysUserId.toString()); |
| | |
| | | finSysTenantUser.setStatus(user.getStatus()); |
| | | finSysTenantUserService.update(finSysTenantUser); |
| | | // 2.更新平台用户 S_USER_CORE |
| | | S_user_core userCore = buildUpdateUserCore(tenantUser); |
| | | S_user_core userCore = buildUpdateUserCore(finSysTenantUser); |
| | | this.userService.update(userCore); |
| | | return ResponseValue.success(1); |
| | | } |
| | |
| | | if (finSysTenantUser == null) { |
| | | return ResponseValue.error("用户信息不存在"); |
| | | } |
| | | String s = AESUtils.decryptStrAES(finSysTenantUser.getUserPhone(), PlatformRSAUtils.AES_KEY); |
| | | |
| | | finSysTenantUser.setUserPhone(s); |
| | | String phone = AESUtils.decryptStrAES(finSysTenantUser.getUserPhone(), PlatformRSAUtils.AES_KEY); |
| | | finSysTenantUser.setUserPhone(phone); |
| | | Long sysUserId = finSysTenantUser.getSysUserId(); |
| | | List<S_role> list = finSysTenantUserService.getByUserId(sysUserId); |
| | | List<S_role> roleList = finSysTenantUserService.getRoleBySysUserId(sysUserId); |
| | | // 过滤仓库管理员的显示 |
| | | roleList.removeIf(role -> role.getRole_name().equals("仓库管理员")); |
| | | |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("list", list); |
| | | map.put("list", roleList); |
| | | map.put("data", finSysTenantUser); |
| | | return ResponseValue.success(map); |
| | | } |
| | |
| | | sysInfo.setUserPhone(AESUtils.decryptStrAES(userPhone, key)); |
| | | } |
| | | |
| | | // 查询 用户角色 TODO 临时解决 将来放配置文件中 |
| | | // 查询 用户角色 |
| | | // 已有的权限 |
| | | List<S_role> list = finSysTenantUserService.getByUserId(sysInfo.getSysUserId()); |
| | | List<S_role> list = finSysTenantUserService.getRoleBySysUserId(sysInfo.getSysUserId()); |
| | | for (S_role s_role : list) { |
| | | // TODO 临时解决 将来放配置文件中 |
| | | if (s_role.getRole_id() != null && s_role.getRole_id().equals(1690961420053L)) { |
| | | sysInfo.setKfStatus(1); |
| | | } |
| | |
| | | |
| | | // 查询父类的orgcode 需要将自己的org先查出来 再根据parentid 查父类 |
| | | String tenantId = sysInfo.getTenantId(); |
| | | if (tenantId != null && !tenantId.equals("")) { |
| | | List<FinSysTenant> select = finSysTenantService.select(new FinSysTenant(Long.valueOf(tenantId))); |
| | | if (select != null && select.size() > 0) { |
| | | FinSysTenant finSysTenant = select.get(0); |
| | | if (finSysTenant != null && finSysTenant.getParentId() != null) { |
| | | List<FinSysTenant> parents = |
| | | finSysTenantService.select(new FinSysTenant(finSysTenant.getParentId())); |
| | | if (parents != null && parents.size() > 0) { |
| | | sysInfo.setParentCode(parents.get(0).getCode()); |
| | | } |
| | | if (StringUtils.isNotEmpty(tenantId)) { |
| | | FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(Long.valueOf(tenantId))); |
| | | if (finSysTenant != null && finSysTenant.getParentId() != null) { |
| | | FinSysTenant parentTenant = finSysTenantService.get(new FinSysTenant(finSysTenant.getParentId())); |
| | | if (ObjectUtils.isNotEmpty(parentTenant)) { |
| | | sysInfo.setParentCode(parentTenant.getCode()); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | return ResponseValue.success(sysInfo); |
| | |
| | | } |
| | | // 1. 根据 user.getSysUserId() 查询 |
| | | // 已有的权限 |
| | | List<S_role> list = finSysTenantUserService.getByUserId(user.getSysUserId()); |
| | | List<S_role> list = finSysTenantUserService.getRoleBySysUserId(user.getSysUserId()); |
| | | // 选择的权限 |
| | | List<Long> roleList = user.getRoleList(); |
| | | // 先删除再添加 |
| | | if (list != null && list.size() > 0) { |
| | | finSysTenantUserService.execDelRoleUserList(user.getSysUserId()); |
| | | if (!CollectionUtils.isEmpty(list)) { |
| | | Long sysUserId = user.getSysUserId(); |
| | | finSysTenantUserService.execDelRoleUserList(sysUserId); |
| | | // 删除库管员信息记录 |
| | | list.stream().filter(item -> "仓库管理员".equals(item.getRole_name())).findFirst() |
| | | .ifPresent(item -> baseWarehouseManagerService.deleteMangerBySysUserId(sysUserId)); |
| | | } |
| | | if (roleList != null && roleList.size() > 0) { |
| | | if (!CollectionUtils.isEmpty(roleList)) { |
| | | finSysTenantUserService.execInsertRoleUserList(roleList, user.getSysUserId()); |
| | | } |
| | | return ResponseValue.success(1); |
| | |
| | | } |
| | | // 获取运维管理 |
| | | List<S_dept> depts = this.finSysTenantUserService.selectDept(roleName); |
| | | if (depts == null || depts.size() == 0) { |
| | | if (CollectionUtils.isEmpty(depts)) { |
| | | return ResponseValue.error(roleName + "的角色不存在"); |
| | | } |
| | | // 根据员工编号查询,如果存在则提示 |
| | |
| | | return ResponseValue.error("用户信息不存在"); |
| | | } |
| | | String avatar = userParam.getAvatar(); |
| | | if (!picFormatArr.contains(avatar.substring(avatar.lastIndexOf(".")))) { |
| | | if (StringUtils.isNotEmpty(avatar) && !picFormatArr.contains(avatar.substring(avatar.lastIndexOf(".")))) { |
| | | return ResponseValue.error("头像格式不允许"); |
| | | } |
| | | FinSysTenantUser updUser = new FinSysTenantUser(); |
| | | updUser.setId(sysInfo.getId()); |
| | | updUser.setAvatar(userParam.getAvatar()); |
| | | updUser.setAvatar(avatar); |
| | | updUser.setEmail(userParam.getEmail()); |
| | | updUser.setUserName(userParam.getUserName()); |
| | | updUser.setSex(userParam.getSex()); |
| | | String encPhone = ""; |
| | | if (userParam.getUserPhone() != null) { |
| | | String key = PlatformRSAUtils.AES_KEY; |
| | | encPhone = AESUtils.encryptStrAES(userParam.getUserPhone(), key); |
| | | } |
| | | updUser.setUserPhone(encPhone); |
| | | setUserPhone(updUser, userParam.getUserPhone()); |
| | | // 1.更新系统用户 FIN_SYS_TENANT_USER |
| | | finSysTenantUserService.update(updUser); |
| | | // 2.更新平台用户 S_USER_CORE |
| | |
| | | // 部门 |
| | | FinSysTenantDepartment finSysTenantDepartment = new FinSysTenantDepartment(); |
| | | finSysTenantDepartment.setTenantId(agencyId); |
| | | finSysTenantDepartment.setStatus(StatesType.NORMAL.getValue()); |
| | | finSysTenantDepartment.setIsDelete(0); |
| | | List<FinSysTenantDepartment> tenantDepartmentList = |
| | | finSysTenantDepartmentService.select(finSysTenantDepartment); |
| | | List<DepartmentVO> departmentVOList = Lists.newArrayList(); |
| | |
| | | departmentVO.setName(department.getName()); |
| | | departmentVO.setType("department"); |
| | | |
| | | String sql = "SELECT SYS_USER_ID,USER_NAME FROM " + "fin_sys_tenant_user " |
| | | + "WHERE SYS_DEPT_ID =:deptId AND SYS_USER_ID NOT IN(SELECT MANAGER_ID FROM base_warehouse_manager)"; |
| | | String sql = "SELECT SYS_USER_ID,USER_NAME FROM fin_sys_tenant_user " |
| | | + "WHERE STATUS =1 and SYS_DEPT_ID =:deptId AND SYS_USER_ID NOT IN(SELECT MANAGER_ID FROM base_warehouse_manager)"; |
| | | Map<String, Object> param = new HashMap<>(); |
| | | param.put("deptId", id); |
| | | List<Map<String, Object>> select = finSysTenantUserService.select(sql, param, new MapperUtil()); |