| | |
| | | package com.consum.base.controller; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | import java.util.Optional; |
| | | import java.util.Set; |
| | | |
| | | import org.apache.commons.compress.utils.Lists; |
| | | 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 org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import com.alibaba.excel.EasyExcel; |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import com.alibaba.excel.context.AnalysisContext; |
| | | 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.request.FinSysTenantUserParam; |
| | | import com.consum.base.pojo.response.DepartmentVO; |
| | | 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.FinSysTenantDepartmentServiceImpl; |
| | | import com.consum.base.service.FinSysTenantServiceImpl; |
| | | import com.consum.base.service.FinSysTenantUserServiceImpl; |
| | | 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.consum.model.po.FinSysTenant; |
| | | import com.consum.model.po.FinSysTenantDepartment; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.iplatform.base.ArgumentsConstants; |
| | | import com.iplatform.base.service.DeptServiceImpl; |
| | | import com.iplatform.base.service.RoleServiceImpl; |
| | | import com.iplatform.base.service.UserServiceImpl; |
| | | import com.iplatform.base.util.PlatformRSAUtils; |
| | | import com.iplatform.core.util.AESUtils; |
| | | import com.iplatform.model.po.S_config; |
| | | 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.PhoneNumberUtils; |
| | | import com.walker.infrastructure.utils.StringUtils; |
| | | import com.walker.web.ResponseValue; |
| | | |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import java.io.IOException; |
| | | import java.lang.reflect.Field; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.Optional; |
| | | import java.util.Set; |
| | | import org.apache.commons.compress.utils.Lists; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | /** |
| | | * @Description 系统用户 |
| | |
| | | |
| | | private String roleName; |
| | | |
| | | private FinSysTenantUserServiceImpl finSysTenantUserService; |
| | | private FinSysTenantUserService finSysTenantUserService; |
| | | |
| | | private UserServiceImpl userService; |
| | | |
| | | private DeptServiceImpl deptService; |
| | | |
| | | private FinSysTenantServiceImpl finSysTenantService; |
| | | private FinSysTenantService finSysTenantService; |
| | | |
| | | private RoleServiceImpl roleService; |
| | | |
| | | @Autowired |
| | | private FinSysTenantDepartmentServiceImpl finSysTenantDepartmentService; |
| | | |
| | | private FinSysTenantDepartmentService finSysTenantDepartmentService; |
| | | |
| | | @Autowired |
| | | public void setUserService(UserServiceImpl userService) { |
| | | this.userService = userService; |
| | | } |
| | | |
| | | private S_config sConfig; |
| | | private BaseWarehouseManagerService baseWarehouseManagerService; |
| | | |
| | | @Autowired |
| | | public FinSysTenantUserController(FinSysTenantServiceImpl finSysTenantService, FinSysTenantUserServiceImpl finSysTenantUserService, |
| | | RoleServiceImpl roleService) { |
| | | public FinSysTenantUserController(FinSysTenantService finSysTenantService, |
| | | FinSysTenantUserService finSysTenantUserService, RoleServiceImpl roleService, UserServiceImpl userService) { |
| | | this.finSysTenantUserService = finSysTenantUserService; |
| | | this.finSysTenantService = finSysTenantService; |
| | | this.roleService = roleService; |
| | | this.userService = userService; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @Date 2023/7/11 13:59 |
| | | */ |
| | | @RequestMapping("/select/list") |
| | | public ResponseValue allocatedList(FinSysTenantUserSearchParam param) { |
| | | public ResponseValue allocatedList() { |
| | | FinSysTenantUserSearchParam param = CommonUtil.getObjFromReq(FinSysTenantUserSearchParam.class); |
| | | FinSysTenantUserSearchParam param2 = new FinSysTenantUserSearchParam(); |
| | | CommonUtil.copyProperties(param, param2); |
| | | param = param2; |
| | | if (param.getTenantCode() == 0) { |
| | | FinSysTenantUser user = new FinSysTenantUser(); |
| | | Long id = this.getCurrentUser().getId(); |
| | | user.setSysUserId(id); |
| | | List<FinSysTenantUser> select = finSysTenantUserService.select(user); |
| | | if (select.size() > 0) { |
| | | param.setTenantCode(new Long(select.get(0).getTenantCode())); |
| | | String tenantId = this.getSysInfo().getTenantId(); |
| | | FinSysTenant finSysTenant = finSysTenantService.selectById(Long.valueOf(tenantId)); |
| | | if (finSysTenant != null) { |
| | | param.setTenantCode(Long.valueOf(finSysTenant.getCode())); |
| | | } |
| | | } |
| | | GenericPager<FinSysTenantUser> pager = this.finSysTenantUserService.queryAllPageUser(param); |
| | | 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<FinSysTenantUserVO> resultList = Lists.newArrayList(); |
| | | List<FinSysTenantUser> datas = pager.getDatas(); |
| | | if (datas.size() > 0) { |
| | | for (FinSysTenantUser finSysTenantUser : datas) { |
| | | FinSysTenantUserVO userVO = new FinSysTenantUserVO(); |
| | | if (finSysTenantUser.getUserPhone() != null) { |
| | | // 解密并脱敏 |
| | | String tel = null; |
| | | try { |
| | | tel = AESUtils.decryptStrAES(finSysTenantUser.getUserPhone(), PlatformRSAUtils.AES_KEY); |
| | | } catch (Exception e) { |
| | | logger.error("解密手机号失败,原因:" + e); |
| | | tel = null; |
| | | } |
| | | if (StringUtils.isNotEmpty(tel)) { |
| | | finSysTenantUser.setUserPhone(PhoneNumberUtils.maskMobile(tel)); |
| | | } else { |
| | | finSysTenantUser.setUserPhone(""); |
| | | } |
| | | } else { |
| | | finSysTenantUser.setUserPhone(""); |
| | | } |
| | | // 列表不需要查询角色,只显示列表所需要的信息 |
| | | /*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 ? "是" : "否");*/ |
| | | |
| | | // 循环去查角色 |
| | | Long sysUserId = finSysTenantUser.getSysUserId(); |
| | | if (sysUserId != null) { |
| | | List<S_role> list = finSysTenantUserService.getByUserId(sysUserId); |
| | | String roleStr = ""; |
| | | for (S_role s_role : list) { |
| | | roleStr = roleStr + s_role.getRole_name() + " "; |
| | | } |
| | | finSysTenantUser.setRoleStr(roleStr); |
| | | } |
| | | |
| | | //循环查询运维商id |
| | | if (finSysTenantUser.getSupplierId() != null) { |
| | | finSysTenantUser.setIsSupplier("是"); |
| | | } else { |
| | | finSysTenantUser.setIsSupplier("否"); |
| | | } |
| | | BeanUtils.copyProperties(finSysTenantUser, userVO); |
| | | Long sysDeptId = finSysTenantUser.getSysDeptId(); |
| | | FinSysTenantDepartment department = finSysTenantDepartmentService.getById(sysDeptId); |
| | | if (Objects.nonNull(department)) { |
| | | userVO.setSysDeptName(department.getName()); |
| | | } |
| | | resultList.add(userVO); |
| | | } |
| | | } |
| | | |
| | | try { |
| | | Field fieldDatas = GenericPager.class.getDeclaredField("datas"); |
| | | fieldDatas.setAccessible(true); |
| | | fieldDatas.set(pager, resultList); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return ResponseValue.success(pager); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "根据机构id查询用户", notes = "根据机构id查询用户") |
| | | @ApiImplicitParam(name = "tenantId", value = "机构id", required = true, dataType = "Long", paramType = "query") |
| | |
| | | return ResponseValue.success(result); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @Description 新增 |
| | | * @Author wh |
| | |
| | | */ |
| | | @PostMapping("/add") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public ResponseValue add(@RequestBody FinSysTenantUser user) { |
| | | if (user == null) { |
| | | public ResponseValue add() { |
| | | FinSysTenantUser user = CommonUtil.getObjFromReqBody(FinSysTenantUser.class); |
| | | FinSysTenantUser tenantUser = new FinSysTenantUser(); |
| | | CommonUtil.copyProperties(user, tenantUser); |
| | | |
| | | if (tenantUser == null) { |
| | | return ResponseValue.error("参数为空"); |
| | | } |
| | | //根据员工编号查询,如果存在则提示 |
| | | if (finSysTenantUserService.getByUserCode(user.getUserCode()) != null && finSysTenantUserService.getByUserCode(user.getUserCode()) > 0) { |
| | | // 根据员工编号查询,如果存在则提示 |
| | | FinSysTenantUser userCode = finSysTenantUserService.getByUserCode(tenantUser.getUserCode()); |
| | | if (userCode != null) { |
| | | return ResponseValue.error("员工编号重复"); |
| | | } |
| | | if (user.getTenantId() == null || "".equals(user.getTenantId()) || new Integer(user.getTenantId()) == 0) { |
| | | if (StringUtils.isEmpty(tenantUser.getTenantId()) || "0".equals(tenantUser.getTenantId())) { |
| | | return ResponseValue.error("添加时请选择区县"); |
| | | } |
| | | if (user.getTenantCode() == null || "".equals(user.getTenantCode()) || new Integer(user.getTenantCode()) == 0) { |
| | | return ResponseValue.error("添加时请选择区县"); |
| | | |
| | | // 插入系统用户 |
| | | buildTenantUser(tenantUser, null); |
| | | this.finSysTenantUserService.insert(tenantUser); |
| | | |
| | | // 插入平台用户 |
| | | S_user_core userCore = getsUserCore(tenantUser); |
| | | this.userService.insert(userCore); |
| | | // 插入平台机构 |
| | | // 少角色id |
| | | // 机构id 多个 |
| | | List<Long> roleList = user.getRoleList(); |
| | | if (!CollectionUtils.isEmpty(roleList)) { |
| | | // 用户id |
| | | Long sysUserId = tenantUser.getSysUserId(); |
| | | this.finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId); |
| | | } |
| | | //插入系统用户 |
| | | user.setId(NumberGenerator.getLongSequenceNumber()); |
| | | user.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); |
| | | user.setCreateBy(this.getCurrentUser().getUser_name()); |
| | | user.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); |
| | | user.setUpdateBy(this.getCurrentUser().getUser_name()); |
| | | //user.setStatus(1);// 0禁用 1启用 |
| | | user.setIsDelete(0); |
| | | user.setSysUserId(NumberGenerator.getLongSequenceNumber()); |
| | | // this.getFinCustomerCache().remove(); |
| | | return ResponseValue.success(1); |
| | | } |
| | | |
| | | private void buildTenantUser(FinSysTenantUser tenantUser, FinSysTenantUser sysInfo) { |
| | | tenantUser.setId(NumberGenerator.getLongSequenceNumber()); |
| | | tenantUser.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); |
| | | tenantUser.setCreateBy(this.getCurrentUser().getUser_name()); |
| | | tenantUser.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); |
| | | tenantUser.setUpdateBy(this.getCurrentUser().getUser_name()); |
| | | // 是否删除 0是 1否 |
| | | tenantUser.setIsDelete(0); |
| | | tenantUser.setSysUserId(NumberGenerator.getLongSequenceNumber()); |
| | | setUserPhone(tenantUser, tenantUser.getUserPhone()); |
| | | String tenantId = tenantUser.getTenantId(); |
| | | FinSysTenant finSysTenant = finSysTenantService.selectById(Long.valueOf(tenantId)); |
| | | tenantUser.setTenantCode(finSysTenant.getCode()); |
| | | |
| | | // 处理方法addSupplier |
| | | if (sysInfo != null) { |
| | | tenantUser.setIsDelete(1); |
| | | tenantUser.setLv(sysInfo.getLv()); |
| | | tenantUser.setTenantCode(sysInfo.getTenantCode()); |
| | | tenantUser.setTenantId(sysInfo.getTenantId()); |
| | | // 运维管理 |
| | | tenantUser.setSysDeptId(2L); |
| | | } |
| | | |
| | | } |
| | | |
| | | private void setUserPhone(FinSysTenantUser tenantUser, String userPhone) { |
| | | // 加密手机号 |
| | | String key = PlatformRSAUtils.AES_KEY; |
| | | String pwdPhone = ""; |
| | | if (user.getUserPhone() != null) { |
| | | pwdPhone = AESUtils.encryptStrAES(user.getUserPhone(), key); |
| | | String encPhone = ""; |
| | | if (StringUtils.isNotEmpty(userPhone)) { |
| | | encPhone = AESUtils.encryptStrAES(userPhone, key); |
| | | } |
| | | user.setUserPhone(pwdPhone); |
| | | //怎么获取左侧机构树数据 |
| | | user.setSysDeptId(3L); //对应平台机构id 默认为平台管理 |
| | | this.finSysTenantUserService.insert(user); |
| | | // 插入平台用户 |
| | | tenantUser.setUserPhone(encPhone); |
| | | } |
| | | |
| | | private S_user_core getsUserCore(FinSysTenantUser tenantUser) { |
| | | S_user_core userCore = new S_user_core(); |
| | | userCore.setId(user.getSysUserId()); |
| | | userCore.setDept_id(3L); //部门id,目前写死 |
| | | userCore.setOrg_id(user.getSysDeptId()); //机构id |
| | | userCore.setId(tenantUser.getSysUserId()); |
| | | // 部门id 部门信息未同步,只填充数据 |
| | | userCore.setDept_id(tenantUser.getSysDeptId()); |
| | | // 机构id |
| | | userCore.setOrg_id(tenantUser.getSysDeptId()); |
| | | userCore.setOrg_id(1L); |
| | | userCore.setUser_name(user.getUserCode()); //用户账号 |
| | | userCore.setNick_name(user.getUserName()); |
| | | //用户类型 先默认设置为2 |
| | | // 用户账号 |
| | | userCore.setUser_name(tenantUser.getUserCode()); |
| | | userCore.setNick_name(tenantUser.getUserName()); |
| | | // 用户类型 先默认设置为2 |
| | | userCore.setUser_type(2); |
| | | userCore.setPhonenumber(pwdPhone); |
| | | userCore.setSex(user.getSex().toString()); |
| | | //初始化密码 123456 |
| | | userCore.setPhonenumber(tenantUser.getUserPhone()); |
| | | userCore.setSex(tenantUser.getSex().toString()); |
| | | // 初始化密码 123456 |
| | | String pws = this.getArgumentVariable(ArgumentsConstants.KEY_SECURITY_PASSWORD_INIT).getStringValue(); |
| | | userCore.setPassword(pws); |
| | | // 平台用户表和系统用户 表状态相反 |
| | | if (user.getStatus() == 0) { |
| | | user.setStatus(1); |
| | | if (tenantUser.getStatus() == 0) { |
| | | userCore.setStatus(1); |
| | | } else { |
| | | user.setStatus(0); |
| | | userCore.setStatus(0); |
| | | } |
| | | userCore.setStatus(user.getStatus()); |
| | | userCore.setDel_flag(0); |
| | | userCore.setCreate_by(this.getCurrentUser().getUser_name()); |
| | | userCore.setCreate_time(DateUtils.getDateTimeNumber(System.currentTimeMillis())); |
| | | userCore.setRemark(user.getRemark()); |
| | | userCore.setRemark(tenantUser.getRemark()); |
| | | userCore.setType(1); |
| | | userCore.setBind_client_id("0"); |
| | | userCore.setBind_wechat(0); |
| | |
| | | userCore.setIs_logoff(0); |
| | | userCore.setLogoff_time(0L); |
| | | userCore.setIs_sms(0); |
| | | //管理员类型:1= 平台超管, 2=商户超管, 3=系统管理员,4=商户管理员 |
| | | // 管理员类型:1= 平台超管, 2=商户超管, 3=系统管理员,4=商户管理员 |
| | | userCore.setType(1); |
| | | //商户id,0-平台 |
| | | // 商户id,0-平台 |
| | | userCore.setMer_id(0L); |
| | | this.userService.insert(userCore); |
| | | // 插入平台机构 |
| | | //少角色id |
| | | List<Long> roleList = user.getRoleList(); //机构id 多个 |
| | | if (!CollectionUtils.isEmpty(roleList)) { |
| | | Long sysUserId = user.getSysUserId(); //用户id |
| | | this.finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId); |
| | | } |
| | | // this.getFinCustomerCache().remove(); |
| | | return ResponseValue.success(1); |
| | | } |
| | | |
| | | |
| | | public static class ImportUserParam { |
| | | |
| | | @ExcelProperty("用户姓名") |
| | | private String userName; |
| | | @ExcelProperty("用户编号") |
| | | private String userCode; |
| | | @ExcelProperty("手机号") |
| | | private String userPhone; |
| | | @ExcelProperty("性别(1男,2女)") |
| | | private Integer sex; |
| | | @ExcelProperty("电子邮箱") |
| | | private String email; |
| | | @ExcelProperty("顺序号") |
| | | private Long seq; |
| | | @ExcelProperty("角色名称") |
| | | private String roleName; |
| | | |
| | | public String getUserName() { |
| | | return userName; |
| | | } |
| | | |
| | | public void setUserName(String userName) { |
| | | this.userName = userName; |
| | | } |
| | | |
| | | public String getUserCode() { |
| | | return userCode; |
| | | } |
| | | |
| | | public void setUserCode(String userCode) { |
| | | this.userCode = userCode; |
| | | } |
| | | |
| | | public String getUserPhone() { |
| | | return userPhone; |
| | | } |
| | | |
| | | public void setUserPhone(String userPhone) { |
| | | this.userPhone = userPhone; |
| | | } |
| | | |
| | | public Integer getSex() { |
| | | return sex; |
| | | } |
| | | |
| | | public void setSex(Integer sex) { |
| | | this.sex = sex; |
| | | } |
| | | |
| | | public String getEmail() { |
| | | return email; |
| | | } |
| | | |
| | | public void setEmail(String email) { |
| | | this.email = email; |
| | | } |
| | | |
| | | public Long getSeq() { |
| | | return seq; |
| | | } |
| | | |
| | | public void setSeq(Long seq) { |
| | | this.seq = seq; |
| | | } |
| | | |
| | | public String getRoleName() { |
| | | return roleName; |
| | | } |
| | | |
| | | public void setRoleName(String roleName) { |
| | | this.roleName = roleName; |
| | | } |
| | | return userCore; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @Date 2023/10/12 15:56 |
| | | */ |
| | | @PostMapping("/import") |
| | | public ResponseValue importUser(@RequestParam String tenantId, @RequestParam String tenantCode, MultipartFile file) throws IOException { |
| | | public ResponseValue importUser(@RequestParam String tenantId, @RequestParam String tenantCode, MultipartFile file) |
| | | throws IOException { |
| | | String originalFilename = file.getOriginalFilename(); |
| | | if (!"xls".equals(originalFilename.substring(originalFilename.lastIndexOf(".") + 1))) { |
| | | if (!originalFilename.endsWith("xls")) { |
| | | return ResponseValue.error("文件格式有误!"); |
| | | } |
| | | S_user_core currentUser = this.getCurrentUser(); |
| | |
| | | EasyExcel.read(file.getInputStream(), ImportUserParam.class, new AnalysisEventListener<ImportUserParam>() { |
| | | @Override |
| | | public void invoke(ImportUserParam data, AnalysisContext context) { |
| | | if (StringUtils.isEmpty(data.getUserName()) || StringUtils.isEmpty(data.getUserCode()) || StringUtils.isEmpty(data.getUserPhone()) |
| | | || null == data.getSex() || StringUtils.isEmpty(data.getEmail()) || null == data.getSeq() || StringUtils.isEmpty(data.getRoleName())) { |
| | | if (StringUtils.isEmpty(data.getUserName()) || StringUtils.isEmpty(data.getUserCode()) |
| | | || StringUtils.isEmpty(data.getUserPhone()) || null == data.getSex() |
| | | || StringUtils.isEmpty(data.getEmail()) || null == data.getSeq() |
| | | || StringUtils.isEmpty(data.getRoleName())) { |
| | | throw new ImportUserParamVerifyException("单元格不能为空!"); |
| | | } |
| | | //根据员工编号查询,如果存在则提示 |
| | | if (finSysTenantUserService.getByUserCode(data.getUserCode()) > 0) { |
| | | // 根据员工编号查询,如果存在则提示 |
| | | if (finSysTenantUserService.getByUserCode(data.getUserCode()) != null) { |
| | | throw new ImportUserParamVerifyException("员工编号为空或已存在!"); |
| | | } |
| | | if (data.getSex() < 1 && data.getSex() > 0) { |
| | |
| | | user.setSeq(data.getSeq()); |
| | | user.setTenantId(tenantId); |
| | | user.setTenantCode(tenantCode); |
| | | //设置角色 |
| | | Optional<S_role> sRole = roles.stream().filter(role -> role.getRole_name().equals(data.getRoleName())).findFirst(); |
| | | // 设置角色 |
| | | Optional<S_role> sRole = |
| | | roles.stream().filter(role -> role.getRole_name().equals(data.getRoleName())).findFirst(); |
| | | user.setRoleList(Arrays.asList(sRole.orElse(new S_role()).getRole_id())); |
| | | |
| | | user.setId(NumberGenerator.getLongSequenceNumber()); |
| | |
| | | user.setSysUserId(NumberGenerator.getLongSequenceNumber()); |
| | | user.setRemark("批量导入"); |
| | | // 加密手机号 |
| | | String key = PlatformRSAUtils.AES_KEY; |
| | | String pwdPhone = AESUtils.encryptStrAES(data.getUserPhone(), key); |
| | | user.setUserPhone(pwdPhone); |
| | | setUserPhone(user, data.getUserPhone()); |
| | | |
| | | user.setIsDelete(1); |
| | | //怎么获取左侧机构树数据 |
| | | user.setSysDeptId(3L); //对应平台机构id 默认为平台管理 |
| | | // 怎么获取左侧机构树数据 |
| | | user.setSysDeptId(3L); // 对应平台机构id 默认为平台管理 |
| | | finSysTenantUsers.add(user); |
| | | } |
| | | |
| | |
| | | if (exception != null) { |
| | | // 如果是某一个单元格的转换异常 能获取到具体行号 封装时异常 |
| | | if (exception instanceof ExcelDataConvertException) { |
| | | ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException) exception; |
| | | logger.error("第{}行,第{}列解析异常,数据为:{}", excelDataConvertException.getRowIndex(), excelDataConvertException.getColumnIndex() + 1, |
| | | ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException)exception; |
| | | logger.error("第{}行,第{}列解析异常,数据为:{}", excelDataConvertException.getRowIndex(), |
| | | excelDataConvertException.getColumnIndex() + 1, |
| | | excelDataConvertException.getCellData().getStringValue()); |
| | | throw new IllegalStateException( |
| | | "第" + (excelDataConvertException.getRowIndex() + 1) + "行,第" + (excelDataConvertException.getColumnIndex() + 1) + "列解析异常,异常数据为:[ " |
| | | + excelDataConvertException.getCellData().getStringValue() + " ]"); |
| | | throw new IllegalStateException("第" + (excelDataConvertException.getRowIndex() + 1) + "行,第" |
| | | + (excelDataConvertException.getColumnIndex() + 1) + "列解析异常,异常数据为:[ " |
| | | + excelDataConvertException.getCellData().getStringValue() + " ]"); |
| | | } |
| | | if (exception instanceof ImportUserParamVerifyException) { |
| | | throw new IllegalStateException("第" + context.readSheetHolder().getRowIndex() + "行, 解析错误:[ " + exception.getMessage() + " ]"); |
| | | throw new IllegalStateException("第" + context.readSheetHolder().getRowIndex() + "行, 解析错误:[ " |
| | | + exception.getMessage() + " ]"); |
| | | } |
| | | throw exception; |
| | | } |
| | |
| | | ArrayList<S_user_core> sUserCores = new ArrayList<>(); |
| | | for (FinSysTenantUser user : finSysTenantUsers) { |
| | | // 插入平台用户 |
| | | S_user_core userCore = new S_user_core(); |
| | | userCore.setId(user.getSysUserId()); |
| | | userCore.setDept_id(3L); //部门id,目前写死 |
| | | userCore.setOrg_id(user.getSysDeptId()); //机构id |
| | | userCore.setOrg_id(1L); |
| | | userCore.setUser_name(user.getUserCode()); //用户账号 |
| | | userCore.setNick_name(user.getUserName()); |
| | | //用户类型 先默认设置为2 |
| | | userCore.setUser_type(2); |
| | | userCore.setPhonenumber(user.getUserPhone()); |
| | | userCore.setSex(user.getSex().toString()); |
| | | //初始化密码 123456 |
| | | String pws = this.getArgumentVariable(ArgumentsConstants.KEY_SECURITY_PASSWORD_INIT).getStringValue(); |
| | | userCore.setPassword(pws); |
| | | // 平台用户表和系统用户 表状态相反 |
| | | if (user.getStatus() == 0) { |
| | | user.setStatus(1); |
| | | } else { |
| | | user.setStatus(0); |
| | | } |
| | | userCore.setStatus(user.getStatus()); |
| | | userCore.setDel_flag(0); |
| | | userCore.setCreate_by(this.getCurrentUser().getUser_name()); |
| | | userCore.setCreate_time(DateUtils.getDateTimeNumber(System.currentTimeMillis())); |
| | | userCore.setRemark(user.getRemark()); |
| | | userCore.setType(1); |
| | | userCore.setBind_client_id("0"); |
| | | userCore.setBind_wechat(0); |
| | | userCore.setModify_pwd(0); |
| | | userCore.setBind_mobile(0); |
| | | userCore.setBind_mail(0); |
| | | userCore.setProfile_id(0L); |
| | | userCore.setIs_wechat_public(0); |
| | | userCore.setIs_wechat_routine(0); |
| | | userCore.setIs_wechat_ios(0); |
| | | userCore.setIs_wechat_android(0); |
| | | userCore.setIs_logoff(0); |
| | | userCore.setLogoff_time(0L); |
| | | userCore.setIs_sms(0); |
| | | //管理员类型:1= 平台超管, 2=商户超管, 3=系统管理员,4=商户管理员 |
| | | userCore.setType(1); |
| | | //商户id,0-平台 |
| | | userCore.setMer_id(0L); |
| | | S_user_core userCore = getsUserCore(user); |
| | | sUserCores.add(userCore); |
| | | } |
| | | //保存用户信息 |
| | | // 保存用户信息 |
| | | this.finSysTenantUserService.insertBatch(finSysTenantUsers); |
| | | //保存平台用户信息 |
| | | // 保存平台用户信息 |
| | | this.userService.insertBatch(sUserCores); |
| | | //保存角色权限信息 |
| | | // 保存角色权限信息 |
| | | this.finSysTenantUserService.execInsertRoleUserList(finSysTenantUsers); |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @Description 编辑 |
| | | * @Author wh |
| | |
| | | */ |
| | | @PostMapping("/update") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public ResponseValue update(@RequestBody FinSysTenantUser user) { |
| | | if (user == null) { |
| | | public ResponseValue update() { |
| | | FinSysTenantUser user = CommonUtil.getObjFromReqBody(FinSysTenantUser.class); |
| | | FinSysTenantUser tenantUser = new FinSysTenantUser(); |
| | | CommonUtil.copyProperties(user, tenantUser); |
| | | |
| | | if (tenantUser == null) { |
| | | return ResponseValue.error("参数为空"); |
| | | } |
| | | String key = PlatformRSAUtils.AES_KEY; |
| | | String pwdPhone = ""; |
| | | if (user.getUserPhone() != null) { |
| | | pwdPhone = AESUtils.encryptStrAES(user.getUserPhone(), key); |
| | | setUserPhone(tenantUser, tenantUser.getUserPhone()); |
| | | // 1.更新系统用户 FIN_SYS_TENANT_USER |
| | | finSysTenantUserService.update(tenantUser); |
| | | // 2.更新平台用户 S_USER_CORE |
| | | S_user_core userCore = buildUpdateUserCore(user); |
| | | this.userService.update(userCore); |
| | | // 3. 更新角色配置 S_ROLE_USER |
| | | // 1. 根据 user.getSysUserId() 查询 |
| | | // 已有的权限 |
| | | Long sysUserId = user.getSysUserId(); |
| | | List<S_role> list = finSysTenantUserService.getRoleBySysUserId(sysUserId); |
| | | // 选择的权限 |
| | | List<Long> roleList = user.getRoleList(); |
| | | // 先删除再添加 |
| | | if (!CollectionUtils.isEmpty(list)) { |
| | | finSysTenantUserService.execDelRoleUserList(sysUserId); |
| | | // 删除库管员信息记录 |
| | | list.stream().filter(item -> "仓库管理员".equals(item.getRole_name())).findFirst() |
| | | .ifPresent(item -> baseWarehouseManagerService.deleteMangerBySysUserId(sysUserId)); |
| | | } |
| | | user.setUserPhone(pwdPhone); |
| | | // 1.更新系统用户 FIN_SYS_TENANT_USER |
| | | finSysTenantUserService.update(user); |
| | | // 2.更新平台用户 S_USER_CORE |
| | | if (!CollectionUtils.isEmpty(roleList)) { |
| | | // 因为不知道该用户需要管理那个仓库 故不新增仓库管理员信息,只添加角色 |
| | | finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId); |
| | | } |
| | | this.getFinSysTenantUserCache().remove(sysUserId.toString()); |
| | | return ResponseValue.success(1); |
| | | } |
| | | |
| | | private S_user_core buildUpdateUserCore(FinSysTenantUser user) { |
| | | S_user_core userCore = new S_user_core(); |
| | | userCore.setId(user.getSysUserId()); |
| | | userCore.setUpdate_by(this.getCurrentUser().getUser_name()); |
| | | userCore.setUpdate_time(DateUtils.getDateTimeNumber(System.currentTimeMillis())); |
| | | // 平台用户表和系统用户 表状态相反 |
| | | if (user.getStatus() == 0) { |
| | | user.setStatus(1); |
| | | userCore.setStatus(1); |
| | | } else { |
| | | user.setStatus(0); |
| | | userCore.setStatus(0); |
| | | } |
| | | userCore.setStatus(user.getStatus()); |
| | | if (user.getSex() != null) { |
| | | userCore.setSex(user.getSex().toString()); |
| | | } |
| | |
| | | userCore.setNick_name(user.getUserName()); |
| | | // 加密手机号 |
| | | userCore.setPhonenumber(user.getUserPhone()); |
| | | this.userService.update(userCore); |
| | | // 3. 更新角色配置 S_ROLE_USER |
| | | // 1. 根据 user.getSysUserId() 查询 |
| | | List<S_role> list = finSysTenantUserService.getByUserId(user.getSysUserId()); //已有的权限 |
| | | List<Long> roleList = user.getRoleList(); //选择的权限 |
| | | //先删除再添加 |
| | | if (list != null && list.size() > 0) { |
| | | finSysTenantUserService.execDelRoleUserList(user.getSysUserId()); |
| | | } |
| | | if (roleList != null && roleList.size() > 0) { |
| | | finSysTenantUserService.execInsertRoleUserList(roleList, user.getSysUserId()); |
| | | } |
| | | this.getFinSysTenantUserCache().remove(user.getSysUserId() + ""); |
| | | return ResponseValue.success(1); |
| | | |
| | | return userCore; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @PostMapping("/updateStatus") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public ResponseValue updateStatus(@RequestBody FinSysTenantUser user) { |
| | | if (user == null) { |
| | | public ResponseValue updateStatus() { |
| | | FinSysTenantUserParam user = CommonUtil.getObjFromReqBody(FinSysTenantUserParam.class); |
| | | FinSysTenantUser tenantUser = new FinSysTenantUser(); |
| | | CommonUtil.copyProperties(user, tenantUser); |
| | | if (tenantUser == null) { |
| | | return ResponseValue.error("参数为空"); |
| | | } |
| | | // 1.更新系统用户 FIN_SYS_TENANT_USER 应该是查询 然后只改状态 |
| | | List<FinSysTenantUser> select = finSysTenantUserService.select(new FinSysTenantUser(user.getId())); |
| | | if (select == null || select.size() == 0) { |
| | | // 1.更新系统用户 FIN_SYS_TENANT_USER 应该是查询 然后只改状态 |
| | | FinSysTenantUser finSysTenantUser = finSysTenantUserService.queryOneById(tenantUser.getId().toString()); |
| | | if (finSysTenantUser == null) { |
| | | return ResponseValue.error("用户不存在"); |
| | | } |
| | | FinSysTenantUser finSysTenantUser = select.get(0); |
| | | finSysTenantUser.setStatus(user.getStatus()); |
| | | finSysTenantUserService.update(finSysTenantUser); |
| | | // 2.更新平台用户 S_USER_CORE |
| | | S_user_core userCore = new S_user_core(); |
| | | userCore.setId(user.getSysUserId()); |
| | | userCore.setUpdate_by(this.getCurrentUser().getUser_name()); |
| | | userCore.setUpdate_time(DateUtils.getDateTimeNumber(System.currentTimeMillis())); |
| | | // 平台用户表和系统用户 表状态相反 |
| | | if (user.getStatus() == 0) { |
| | | user.setStatus(1); |
| | | } else { |
| | | user.setStatus(0); |
| | | } |
| | | userCore.setStatus(user.getStatus()); |
| | | // 2.更新平台用户 S_USER_CORE |
| | | S_user_core userCore = buildUpdateUserCore(finSysTenantUser); |
| | | this.userService.update(userCore); |
| | | return ResponseValue.success(1); |
| | | } |
| | |
| | | * @Date 2023/7/17 14:36 |
| | | */ |
| | | @PostMapping("/defaultPassword") |
| | | public ResponseValue defaultPassword(@RequestBody FinSysTenantUser finSysTenantUser) { |
| | | if (finSysTenantUser == null) { |
| | | public ResponseValue defaultPassword() { |
| | | FinSysTenantUserParam user = CommonUtil.getObjFromReqBody(FinSysTenantUserParam.class); |
| | | FinSysTenantUserParam tenantUser = new FinSysTenantUserParam(); |
| | | CommonUtil.copyProperties(user, tenantUser); |
| | | user = tenantUser; |
| | | |
| | | if (Objects.isNull(user)) { |
| | | return ResponseValue.error("用户信息不存在"); |
| | | } |
| | | //初始化密码 123456 |
| | | String stringValue = this.getArgumentVariable(ArgumentsConstants.KEY_SECURITY_PASSWORD_INIT).getStringValue();// 密文 |
| | | // 初始化密码 123456 |
| | | // 密文 |
| | | String password = this.getArgumentVariable(ArgumentsConstants.KEY_SECURITY_PASSWORD_INIT).getStringValue(); |
| | | // 1. 修改用户表 |
| | | //用户表id |
| | | Long sysUserId = finSysTenantUser.getSysUserId(); |
| | | // 用户表id |
| | | Long sysUserId = user.getSysUserId(); |
| | | S_user_core userCore = new S_user_core(); |
| | | userCore.setId(sysUserId); |
| | | userCore.setPassword(stringValue); |
| | | userCore.setPassword(password); |
| | | userCore.setModify_pwd(0); |
| | | userService.update(userCore); |
| | | // 2. 修改平台用户(不用修改) |
| | |
| | | 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 查父类 |
| | | // 查询父类的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); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 更新角色权限 |
| | | * |
| | | * @param user |
| | | * @return |
| | | */ |
| | | @PostMapping("/updRole") |
| | | public ResponseValue updRole(@RequestBody FinSysTenantUser user) { |
| | | public ResponseValue updRole() { |
| | | FinSysTenantUser user = CommonUtil.getObjFromReqBody(FinSysTenantUser.class); |
| | | FinSysTenantUser tenantUser = new FinSysTenantUser(); |
| | | CommonUtil.copyProperties(user, tenantUser); |
| | | user = tenantUser; |
| | | |
| | | if (user == null) { |
| | | return ResponseValue.error("参数为空"); |
| | | } |
| | | // 1. 根据 user.getSysUserId() 查询 |
| | | List<S_role> list = finSysTenantUserService.getByUserId(user.getSysUserId()); //已有的权限 |
| | | List<Long> roleList = user.getRoleList(); //选择的权限 |
| | | //先删除再添加 |
| | | if (list != null && list.size() > 0) { |
| | | finSysTenantUserService.execDelRoleUserList(user.getSysUserId()); |
| | | // 1. 根据 user.getSysUserId() 查询 |
| | | // 已有的权限 |
| | | List<S_role> list = finSysTenantUserService.getRoleBySysUserId(user.getSysUserId()); |
| | | // 选择的权限 |
| | | List<Long> roleList = user.getRoleList(); |
| | | // 先删除再添加 |
| | | 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); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @Description 新增 |
| | |
| | | */ |
| | | @PostMapping("/addSupplier") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public ResponseValue addSupplier(@RequestBody FinSysTenantUser user) { |
| | | public ResponseValue addSupplier() { |
| | | FinSysTenantUserParam userParam = CommonUtil.getObjFromReqBody(FinSysTenantUserParam.class); |
| | | FinSysTenantUser user = new FinSysTenantUser(); |
| | | CommonUtil.copyProperties(userParam, user); |
| | | |
| | | if (user == null) { |
| | | return ResponseValue.error("参数为空"); |
| | | } |
| | | // 获取运维管理 |
| | | List<S_dept> depts = this.finSysTenantUserService.selectDept(roleName); |
| | | if (depts == null || depts.size() == 0) { |
| | | if (CollectionUtils.isEmpty(depts)) { |
| | | return ResponseValue.error(roleName + "的角色不存在"); |
| | | } |
| | | //根据员工编号查询,如果存在则提示 |
| | | if (finSysTenantUserService.getByUserCode(user.getUserCode()) != null && finSysTenantUserService.getByUserCode(user.getUserCode()) > 0) { |
| | | // 根据员工编号查询,如果存在则提示 |
| | | if (finSysTenantUserService.getByUserCode(user.getUserCode()) != null) { |
| | | return ResponseValue.error("员工编号重复"); |
| | | } |
| | | FinSysTenantUser sysInfo = this.getSysInfo(); |
| | | //插入系统用户 |
| | | user.setId(NumberGenerator.getLongSequenceNumber()); |
| | | user.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); |
| | | user.setCreateBy(this.getCurrentUser().getUser_name()); |
| | | user.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); |
| | | user.setUpdateBy(this.getCurrentUser().getUser_name()); |
| | | user.setIsDelete(0);// 是否删除 0是 1否 |
| | | user.setSysUserId(NumberGenerator.getLongSequenceNumber()); |
| | | user.setIsDelete(1); |
| | | user.setLv(sysInfo.getLv()); |
| | | user.setTenantCode(sysInfo.getTenantCode()); |
| | | user.setTenantId(sysInfo.getTenantId()); |
| | | user.setSysDeptId(2l); //运维管理 |
| | | // 加密手机号 |
| | | String key = PlatformRSAUtils.AES_KEY; |
| | | String userPhone = user.getUserPhone(); |
| | | String pwdPhone = ""; |
| | | if (userPhone != null) { |
| | | pwdPhone = AESUtils.encryptStrAES(userPhone, key); |
| | | user.setUserPhone(pwdPhone); |
| | | } |
| | | |
| | | // 插入系统用户 |
| | | buildTenantUser(user, sysInfo); |
| | | this.finSysTenantUserService.insert(user); |
| | | // 插入平台用户 |
| | | S_user_core userCore = new S_user_core(); |
| | | userCore.setId(user.getSysUserId()); |
| | | userCore.setDept_id(depts.get(0).getId()); //部门 |
| | | userCore.setOrg_id(1L); |
| | | //userCore.setUser_name(); //用户账号 |
| | | userCore.setUser_name(user.getUserCode()); //用户账号 |
| | | userCore.setNick_name(user.getUserName()); |
| | | //用户类型 先默认设置为2 |
| | | userCore.setUser_type(2); |
| | | |
| | | userCore.setPhonenumber(userPhone); |
| | | //初始化密码 123456 |
| | | String pws = this.getArgumentVariable(ArgumentsConstants.KEY_SECURITY_PASSWORD_INIT).getStringValue(); |
| | | userCore.setPassword(pws); |
| | | if (user.getStatus() == 0) { |
| | | userCore.setStatus(1); |
| | | } else { |
| | | userCore.setStatus(0); |
| | | } |
| | | userCore.setDel_flag(0); |
| | | userCore.setCreate_by(this.getCurrentUser().getCreate_by()); |
| | | userCore.setCreate_time(DateUtils.getDateTimeNumber()); |
| | | userCore.setRemark(user.getRemark()); |
| | | userCore.setType(1); |
| | | userCore.setBind_client_id("0"); |
| | | userCore.setBind_wechat(0); |
| | | userCore.setModify_pwd(0); |
| | | userCore.setBind_mobile(0); |
| | | userCore.setBind_mail(0); |
| | | userCore.setProfile_id(0L); |
| | | userCore.setIs_wechat_public(0); |
| | | userCore.setIs_wechat_routine(0); |
| | | userCore.setIs_wechat_ios(0); |
| | | userCore.setIs_wechat_android(0); |
| | | userCore.setIs_logoff(0); |
| | | userCore.setLogoff_time(0L); |
| | | userCore.setIs_sms(0); |
| | | //管理员类型:1= 平台超管, 2=商户超管, 3=系统管理员,4=商户管理员 |
| | | S_user_core userCore = buildUpdateUserCore(user); |
| | | // 部门 |
| | | userCore.setDept_id(depts.get(0).getId()); |
| | | userCore.setType(2); |
| | | //商户id,0-平台 |
| | | userCore.setMer_id(0L); |
| | | this.userService.insert(userCore); |
| | | // 插入平台机构 |
| | | //少角色id |
| | | List<Long> roleList = user.getRoleList(); //机构id 多个 |
| | | Long sysUserId = user.getSysUserId(); //用户id |
| | | // 少角色id |
| | | List<Long> roleList = user.getRoleList(); // 机构id 多个 |
| | | Long sysUserId = user.getSysUserId(); // 用户id |
| | | this.finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId); |
| | | return ResponseValue.success(1); |
| | | } |
| | | |
| | | private Set<String> picFormatArr = new HashSet<String>() {{ |
| | | add(".pjp"); |
| | | add(".svgz"); |
| | | add(".jxl"); |
| | | add(".jpeg"); |
| | | add(".ico"); |
| | | add(".avif"); |
| | | add(".tif"); |
| | | add(".gif"); |
| | | add(".jfif"); |
| | | add(".jpg"); |
| | | add(".svg"); |
| | | add(".png"); |
| | | add(".xbm"); |
| | | add(".pjpeg"); |
| | | add(".bmp"); |
| | | add(".webp"); |
| | | }}; |
| | | private Set<String> picFormatArr = new HashSet<String>() { |
| | | { |
| | | add(".pjp"); |
| | | add(".svgz"); |
| | | add(".jxl"); |
| | | add(".jpeg"); |
| | | add(".ico"); |
| | | add(".avif"); |
| | | add(".tif"); |
| | | add(".gif"); |
| | | add(".jfif"); |
| | | add(".jpg"); |
| | | add(".svg"); |
| | | add(".png"); |
| | | add(".xbm"); |
| | | add(".pjpeg"); |
| | | add(".bmp"); |
| | | add(".webp"); |
| | | } |
| | | }; |
| | | |
| | | @PostMapping("/updatePerson") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public ResponseValue updatePerson(@RequestBody FinSysTenantUser user) { |
| | | if (user == null) { |
| | | public ResponseValue updatePerson() { |
| | | FinSysTenantUserParam userParam = CommonUtil.getObjFromReqBody(FinSysTenantUserParam.class); |
| | | FinSysTenantUserParam tenantUser = new FinSysTenantUserParam(); |
| | | CommonUtil.copyProperties(userParam, tenantUser); |
| | | userParam = tenantUser; |
| | | if (userParam == null) { |
| | | return ResponseValue.error("参数为空"); |
| | | } |
| | | FinSysTenantUser sysInfo = getSysInfo(); |
| | | if (sysInfo == null) { |
| | | return ResponseValue.error("用户信息不存在"); |
| | | } |
| | | String avatar = user.getAvatar(); |
| | | if (!picFormatArr.contains(avatar.substring(avatar.lastIndexOf(".")))) { |
| | | String avatar = userParam.getAvatar(); |
| | | if (StringUtils.isNotEmpty(avatar) && !picFormatArr.contains(avatar.substring(avatar.lastIndexOf(".")))) { |
| | | return ResponseValue.error("头像格式不允许"); |
| | | } |
| | | FinSysTenantUser updUser = new FinSysTenantUser(); |
| | | updUser.setId(sysInfo.getId()); |
| | | updUser.setAvatar(user.getAvatar()); |
| | | updUser.setEmail(user.getEmail()); |
| | | updUser.setUserName(user.getUserName()); |
| | | updUser.setSex(user.getSex()); |
| | | String pwdPhone = ""; |
| | | if (user.getUserPhone() != null) { |
| | | String key = PlatformRSAUtils.AES_KEY; |
| | | pwdPhone = AESUtils.encryptStrAES(user.getUserPhone(), key); |
| | | } |
| | | updUser.setUserPhone(pwdPhone); |
| | | // 1.更新系统用户 FIN_SYS_TENANT_USER |
| | | updUser.setAvatar(avatar); |
| | | updUser.setEmail(userParam.getEmail()); |
| | | updUser.setUserName(userParam.getUserName()); |
| | | updUser.setSex(userParam.getSex()); |
| | | setUserPhone(updUser, userParam.getUserPhone()); |
| | | // 1.更新系统用户 FIN_SYS_TENANT_USER |
| | | finSysTenantUserService.update(updUser); |
| | | // 2.更新平台用户 S_USER_CORE |
| | | // 2.更新平台用户 S_USER_CORE |
| | | S_user_core userCore = new S_user_core(); |
| | | userCore.setId(sysInfo.getSysUserId()); |
| | | userCore.setUpdate_by(this.getCurrentUser().getUser_name()); |
| | |
| | | * @Description 修改密码 |
| | | */ |
| | | @PostMapping("/updatePassword") |
| | | public ResponseValue updatePassword(@RequestBody FinSysTenantUserUpdParam param) { |
| | | public ResponseValue updatePassword() { |
| | | FinSysTenantUserUpdParam param = CommonUtil.getObjFromReqBody(FinSysTenantUserUpdParam.class); |
| | | FinSysTenantUserUpdParam finSysTenantParam = new FinSysTenantUserUpdParam(); |
| | | CommonUtil.copyProperties(param, finSysTenantParam); |
| | | param = finSysTenantParam; |
| | | |
| | | String oldMixPd = param.getOldMixPd(); |
| | | String newMixPd = param.getNewMixPd(); |
| | | String btnMixPd = param.getBtnMixPd(); |
| | | //校验参数 |
| | | // 校验参数 |
| | | if (StringUtils.isEmpty(oldMixPd) || StringUtils.isEmpty(newMixPd) || StringUtils.isEmpty(btnMixPd)) { |
| | | return ResponseValue.error("信息不能为空!"); |
| | | } |
| | |
| | | if (sysInfo == null) { |
| | | return ResponseValue.error("用户信息不存在"); |
| | | } |
| | | //校验俩次输入的密码 |
| | | // 校验俩次输入的密码 |
| | | btnMixPd = PlatformRSAUtils.getRsaDecryptValue(btnMixPd, PlatformRSAUtils.PRIK); |
| | | newMixPd = PlatformRSAUtils.getRsaDecryptValue(newMixPd, PlatformRSAUtils.PRIK); |
| | | if (!newMixPd.equals(btnMixPd)) { |
| | |
| | | if (validatePasswordRule != null) { |
| | | return ResponseValue.error(validatePasswordRule); |
| | | } |
| | | //用户表id |
| | | // 用户表id |
| | | Long sysUserId = sysInfo.getSysUserId(); |
| | | S_user_core queryU = new S_user_core(); |
| | | queryU.setId(sysUserId); |
| | |
| | | return ResponseValue.error("用户信息不存在"); |
| | | } |
| | | oldMixPd = PlatformRSAUtils.getRsaDecryptValue(oldMixPd, PlatformRSAUtils.PRIK); |
| | | //校验老密码 |
| | | // 校验老密码 |
| | | if (!this.matchesPassword(oldMixPd, queryUserInfo.getPassword())) { |
| | | return ResponseValue.error("旧密码输入有误!"); |
| | | } |
| | | if (oldMixPd.equalsIgnoreCase(btnMixPd)) { |
| | | return ResponseValue.error("新密码不能与旧密码相同!"); |
| | | } |
| | | //更新数据库 |
| | | // 更新数据库 |
| | | // 1. 修改用户表 |
| | | queryU.setPassword(this.encryptPassword(btnMixPd)); |
| | | queryU.setModify_pwd(1); |
| | |
| | | |
| | | @ApiOperation(value = "根据机构id查询部门中的用户", notes = "根据机构id查询部门中的用户") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "agencyId", value = "机构id", required = true, dataType = "Long", paramType = "query") |
| | | }) |
| | | @ApiImplicitParam(name = "agencyId", value = "机构id", required = true, dataType = "Long", paramType = "query")}) |
| | | @GetMapping("/select/department") |
| | | public ResponseValue selectDepartment(Long agencyId) { |
| | | FinSysTenantVO finSysTenantVO = new FinSysTenantVO(); |
| | |
| | | // 部门 |
| | | FinSysTenantDepartment finSysTenantDepartment = new FinSysTenantDepartment(); |
| | | finSysTenantDepartment.setTenantId(agencyId); |
| | | List<FinSysTenantDepartment> tenantDepartmentList = finSysTenantDepartmentService.select(finSysTenantDepartment); |
| | | finSysTenantDepartment.setStatus(StatesType.NORMAL.getValue()); |
| | | finSysTenantDepartment.setIsDelete(0); |
| | | List<FinSysTenantDepartment> tenantDepartmentList = |
| | | finSysTenantDepartmentService.select(finSysTenantDepartment); |
| | | List<DepartmentVO> departmentVOList = Lists.newArrayList(); |
| | | tenantDepartmentList.forEach(department -> { |
| | | DepartmentVO departmentVO = new DepartmentVO(); |
| | | //用户 |
| | | // 用户 |
| | | Long id = department.getId(); |
| | | departmentVO.setId(id); |
| | | departmentVO.setName(department.getName()); |
| | | departmentVO.setType("department"); |
| | | FinSysTenantUser finSysTenantUser = new FinSysTenantUser(); |
| | | finSysTenantUser.setSysDeptId(id); |
| | | List<FinSysTenantUser> tenantUserList = finSysTenantUserService.select(finSysTenantUser); |
| | | |
| | | 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()); |
| | | List<UserVO> userVOList = Lists.newArrayList(); |
| | | tenantUserList.forEach(user -> { |
| | | select.forEach(user -> { |
| | | UserVO userVO = new UserVO(); |
| | | userVO.setId(user.getId()); |
| | | userVO.setName(user.getUserName()); |
| | | userVO.setId((Long)user.get("sysUserId")); |
| | | userVO.setName(user.get("userName").toString()); |
| | | userVO.setType("user"); |
| | | userVOList.add(userVO); |
| | | }); |
| | |
| | | |
| | | return ResponseValue.success(finSysTenantVO); |
| | | } |
| | | |
| | | |
| | | } |