From fd95223d9703b9c038ed3c782474c885052dda08 Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期五, 22 十二月 2023 17:05:25 +0800 Subject: [PATCH] 代码整理 --- consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java | 584 ++++++++++++++++++++++----------------------------------- 1 files changed, 225 insertions(+), 359 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java index 9329e4f..8dea44c 100644 --- a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java +++ b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java @@ -1,7 +1,6 @@ package com.consum.base.controller; import java.io.IOException; -import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -13,7 +12,7 @@ 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; @@ -23,13 +22,15 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.EasyExcelFactory; 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; @@ -38,9 +39,10 @@ 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.FinSysTenantUserServiceImpl; +import com.consum.base.service.FinSysTenantUserService; import com.consum.model.po.FinSysTenant; import com.consum.model.po.FinSysTenantDepartment; import com.consum.model.po.FinSysTenantUser; @@ -52,7 +54,6 @@ 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; @@ -60,7 +61,6 @@ 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; @@ -78,7 +78,7 @@ private String roleName; - private FinSysTenantUserServiceImpl finSysTenantUserService; + private FinSysTenantUserService finSysTenantUserService; private UserServiceImpl userService; @@ -90,16 +90,15 @@ private FinSysTenantDepartmentService finSysTenantDepartmentService; @Autowired - public void setUserService(UserServiceImpl userService) { - this.userService = userService; - } + private BaseWarehouseManagerService baseWarehouseManagerService; @Autowired public FinSysTenantUserController(FinSysTenantService finSysTenantService, - FinSysTenantUserServiceImpl finSysTenantUserService, RoleServiceImpl roleService) { + FinSysTenantUserService finSysTenantUserService, RoleServiceImpl roleService, UserServiceImpl userService) { this.finSysTenantUserService = finSysTenantUserService; this.finSysTenantService = finSysTenantService; this.roleService = roleService; + this.userService = userService; } /** @@ -114,74 +113,18 @@ 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) { - // 瑙e瘑骞惰劚鏁� - String tel = null; - try { - tel = AESUtils.decryptStrAES(finSysTenantUser.getUserPhone(), PlatformRSAUtils.AES_KEY); - } catch (Exception e) { - logger.error("瑙e瘑鎵嬫満鍙峰け璐ワ紝鍘熷洜锛�" + e); - tel = null; - } - if (StringUtils.isNotEmpty(tel)) { - finSysTenantUser.setUserPhone(PhoneNumberUtils.maskMobile(tel)); - } else { - finSysTenantUser.setUserPhone(""); - } - } else { - finSysTenantUser.setUserPhone(""); - } - - // 寰幆鍘绘煡瑙掕壊 - 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); - } - - // 寰幆鏌ヨ杩愮淮鍟唅d - 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); - ReflectUtil.setFieldValue(pager, fieldDatas, resultList); - - } catch (Exception e) { - logger.error("鍒嗛〉鍒楄〃鏌ヨ澶辫触锛屽師鍥狅細" + e); } return ResponseValue.success(pager); } @@ -213,60 +156,94 @@ return ResponseValue.error("鍙傛暟涓虹┖"); } // 鏍规嵁鍛樺伐缂栧彿鏌ヨ锛屽鏋滃瓨鍦ㄥ垯鎻愮ず - if (finSysTenantUserService.getByUserCode(tenantUser.getUserCode()) != null - && finSysTenantUserService.getByUserCode(tenantUser.getUserCode()) > 0) { + FinSysTenantUser userCode = finSysTenantUserService.getByUserCode(tenantUser.getUserCode()); + if (userCode != null) { return ResponseValue.error("鍛樺伐缂栧彿閲嶅"); } - if (StringUtils.isEmpty(tenantUser.getTenantId()) || "0".equals(tenantUser.getTenantId())) { return ResponseValue.error("娣诲姞鏃惰閫夋嫨鍖哄幙"); } - if (StringUtils.isEmpty(tenantUser.getTenantCode()) || "0".equals(tenantUser.getTenantCode())) { - return ResponseValue.error("娣诲姞鏃惰閫夋嫨鍖哄幙"); - } // 鎻掑叆绯荤粺鐢ㄦ埛 + buildTenantUser(tenantUser, null); + this.finSysTenantUserService.insert(tenantUser); + + // 鎻掑叆骞冲彴鐢ㄦ埛 + S_user_core userCore = getsUserCore(tenantUser); + this.userService.insert(userCore); + // 鎻掑叆骞冲彴鏈烘瀯 + // 灏戣鑹瞚d + // 鏈烘瀯id 澶氫釜 + List<Long> roleList = user.getRoleList(); + if (!CollectionUtils.isEmpty(roleList)) { + // 鐢ㄦ埛id + Long sysUserId = tenantUser.getSysUserId(); + this.finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId); + } + // 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()); - // user.setStatus(1);// 0绂佺敤 1鍚敤 + // 鏄惁鍒犻櫎 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 encPhone = ""; - if (tenantUser.getUserPhone() != null) { - encPhone = AESUtils.encryptStrAES(tenantUser.getUserPhone(), key); + if (StringUtils.isNotEmpty(userPhone)) { + encPhone = AESUtils.encryptStrAES(userPhone, key); } tenantUser.setUserPhone(encPhone); - // 鎬庝箞鑾峰彇宸︿晶鏈烘瀯鏍戞暟鎹� - // tenantUser.setSysDeptId(3L); // 瀵瑰簲骞冲彴鏈烘瀯id 榛樿涓哄钩鍙扮鐞� - this.finSysTenantUserService.insert(tenantUser); + } - // 鎻掑叆骞冲彴鐢ㄦ埛 + private S_user_core getsUserCore(FinSysTenantUser tenantUser) { S_user_core userCore = new S_user_core(); userCore.setId(tenantUser.getSysUserId()); - userCore.setDept_id(3L); // 閮ㄩ棬id锛岀洰鍓嶅啓姝� - userCore.setOrg_id(tenantUser.getSysDeptId()); // 鏈烘瀯id + // 閮ㄩ棬id 閮ㄩ棬淇℃伅鏈悓姝ワ紝鍙~鍏呮暟鎹� + userCore.setDept_id(tenantUser.getSysDeptId()); + // 鏈烘瀯id + userCore.setOrg_id(tenantUser.getSysDeptId()); userCore.setOrg_id(1L); - userCore.setUser_name(tenantUser.getUserCode()); // 鐢ㄦ埛璐﹀彿 + // 鐢ㄦ埛璐﹀彿 + userCore.setUser_name(tenantUser.getUserCode()); userCore.setNick_name(tenantUser.getUserName()); // 鐢ㄦ埛绫诲瀷 鍏堥粯璁よ缃负2 userCore.setUser_type(2); - userCore.setPhonenumber(encPhone); + userCore.setPhonenumber(tenantUser.getUserPhone()); userCore.setSex(tenantUser.getSex().toString()); // 鍒濆鍖栧瘑鐮� 123456 String pws = this.getArgumentVariable(ArgumentsConstants.KEY_SECURITY_PASSWORD_INIT).getStringValue(); userCore.setPassword(pws); // 骞冲彴鐢ㄦ埛琛ㄥ拰绯荤粺鐢ㄦ埛 琛ㄧ姸鎬佺浉鍙� if (tenantUser.getStatus() == 0) { - tenantUser.setStatus(1); + userCore.setStatus(1); } else { - tenantUser.setStatus(0); + userCore.setStatus(0); } - userCore.setStatus(tenantUser.getStatus()); userCore.setDel_flag(0); userCore.setCreate_by(this.getCurrentUser().getUser_name()); userCore.setCreate_time(DateUtils.getDateTimeNumber(System.currentTimeMillis())); @@ -289,16 +266,7 @@ userCore.setType(1); // 鍟嗘埛id锛�0-骞冲彴 userCore.setMer_id(0L); - this.userService.insert(userCore); - // 鎻掑叆骞冲彴鏈烘瀯 - // 灏戣鑹瞚d - List<Long> roleList = user.getRoleList(); // 鏈烘瀯id 澶氫釜 - if (!CollectionUtils.isEmpty(roleList)) { - Long sysUserId = tenantUser.getSysUserId(); // 鐢ㄦ埛id - this.finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId); - } - // this.getFinCustomerCache().remove(); - return ResponseValue.success(1); + return userCore; } /** @@ -325,82 +293,81 @@ List<S_role> roles = this.roleService.select(new S_role()); ArrayList<FinSysTenantUser> finSysTenantUsers = new ArrayList<>(); - 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())) { - throw new ImportUserParamVerifyException("鍗曞厓鏍间笉鑳戒负绌�!"); - } - // 鏍规嵁鍛樺伐缂栧彿鏌ヨ锛屽鏋滃瓨鍦ㄥ垯鎻愮ず - if (finSysTenantUserService.getByUserCode(data.getUserCode()) > 0) { - throw new ImportUserParamVerifyException("鍛樺伐缂栧彿涓虹┖鎴栧凡瀛樺湪!"); - } - if (data.getSex() < 1 && data.getSex() > 0) { - throw new ImportUserParamVerifyException("鎬у埆鐮佸彧鑳戒负 0 鎴� 1"); - } - FinSysTenantUser user = new FinSysTenantUser(); - user.setUserName(data.getUserName()); - user.setUserCode(data.getUserCode()); - user.setUserPhone(data.getUserPhone()); - user.setSex(data.getSex()); - user.setEmail(data.getEmail()); - 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(); - user.setRoleList(Arrays.asList(sRole.orElse(new S_role()).getRole_id())); - - user.setId(NumberGenerator.getLongSequenceNumber()); - user.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); - user.setCreateBy(currentUser.getUser_name()); - user.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); - user.setUpdateBy(currentUser.getUser_name()); - user.setStatus(1);// 0绂佺敤 1鍚敤 - user.setIsDelete(0);// 鏄惁鍒犻櫎 0鏄� 1鍚� - user.setSysUserId(NumberGenerator.getLongSequenceNumber()); - user.setRemark("鎵归噺瀵煎叆"); - // 鍔犲瘑鎵嬫満鍙� - String key = PlatformRSAUtils.AES_KEY; - String encPhone = AESUtils.encryptStrAES(data.getUserPhone(), key); - user.setUserPhone(encPhone); - - user.setIsDelete(1); - // 鎬庝箞鑾峰彇宸︿晶鏈烘瀯鏍戞暟鎹� - user.setSysDeptId(3L); // 瀵瑰簲骞冲彴鏈烘瀯id 榛樿涓哄钩鍙扮鐞� - finSysTenantUsers.add(user); - } - - @Override - public void doAfterAllAnalysed(AnalysisContext context) { - - } - - @Override - public void onException(Exception exception, AnalysisContext context) throws Exception { - if (exception != null) { - // 濡傛灉鏄煇涓�涓崟鍏冩牸鐨勮浆鎹㈠紓甯� 鑳借幏鍙栧埌鍏蜂綋琛屽彿 灏佽鏃跺紓甯� - if (exception instanceof ExcelDataConvertException) { - 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() + " ]"); + EasyExcelFactory + .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())) { + throw new ImportUserParamVerifyException("鍗曞厓鏍间笉鑳戒负绌�!"); } - if (exception instanceof ImportUserParamVerifyException) { - throw new IllegalStateException("绗�" + context.readSheetHolder().getRowIndex() + "琛�, 瑙f瀽閿欒:[ " - + exception.getMessage() + " ]"); + // 鏍规嵁鍛樺伐缂栧彿鏌ヨ锛屽鏋滃瓨鍦ㄥ垯鎻愮ず + if (finSysTenantUserService.getByUserCode(data.getUserCode()) != null) { + throw new ImportUserParamVerifyException("鍛樺伐缂栧彿涓虹┖鎴栧凡瀛樺湪!"); } - throw exception; + if (data.getSex() < 1 && data.getSex() > 0) { + throw new ImportUserParamVerifyException("鎬у埆鐮佸彧鑳戒负 0 鎴� 1"); + } + FinSysTenantUser user = new FinSysTenantUser(); + user.setUserName(data.getUserName()); + user.setUserCode(data.getUserCode()); + user.setUserPhone(data.getUserPhone()); + user.setSex(data.getSex()); + user.setEmail(data.getEmail()); + 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(); + user.setRoleList(Arrays.asList(sRole.orElse(new S_role()).getRole_id())); + + user.setId(NumberGenerator.getLongSequenceNumber()); + user.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); + user.setCreateBy(currentUser.getUser_name()); + user.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); + user.setUpdateBy(currentUser.getUser_name()); + user.setStatus(1);// 0绂佺敤 1鍚敤 + user.setIsDelete(0);// 鏄惁鍒犻櫎 0鏄� 1鍚� + user.setSysUserId(NumberGenerator.getLongSequenceNumber()); + user.setRemark("鎵归噺瀵煎叆"); + // 鍔犲瘑鎵嬫満鍙� + setUserPhone(user, data.getUserPhone()); + + user.setIsDelete(1); + // 鎬庝箞鑾峰彇宸︿晶鏈烘瀯鏍戞暟鎹� + user.setSysDeptId(3L); // 瀵瑰簲骞冲彴鏈烘瀯id 榛樿涓哄钩鍙扮鐞� + finSysTenantUsers.add(user); } - } - }).sheet().doRead(); + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + + } + + @Override + public void onException(Exception exception, AnalysisContext context) throws Exception { + if (exception != null) { + // 濡傛灉鏄煇涓�涓崟鍏冩牸鐨勮浆鎹㈠紓甯� 鑳借幏鍙栧埌鍏蜂綋琛屽彿 灏佽鏃跺紓甯� + if (exception instanceof ExcelDataConvertException) { + 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() + " ]"); + } + if (exception instanceof ImportUserParamVerifyException) { + throw new IllegalStateException("绗�" + context.readSheetHolder().getRowIndex() + "琛�, 瑙f瀽閿欒:[ " + + exception.getMessage() + " ]"); + } + throw exception; + } + } + }).sheet().doRead(); insertUserAndUserCoreBatch(finSysTenantUsers); @@ -415,49 +382,7 @@ 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); } // 淇濆瓨鐢ㄦ埛淇℃伅 @@ -494,26 +419,45 @@ 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 + 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)); + } + 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()); } @@ -521,20 +465,8 @@ 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; } /** @@ -552,25 +484,14 @@ return ResponseValue.error("鍙傛暟涓虹┖"); } // 1.鏇存柊绯荤粺鐢ㄦ埛 FIN_SYS_TENANT_USER 搴旇鏄煡璇� 鐒跺悗鍙敼鐘舵�� - List<FinSysTenantUser> select = finSysTenantUserService.select(new FinSysTenantUser(tenantUser.getId())); - if (select == null || select.size() == 0) { + 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()); + S_user_core userCore = buildUpdateUserCore(finSysTenantUser); this.userService.update(userCore); return ResponseValue.success(1); } @@ -591,13 +512,14 @@ return ResponseValue.error("鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); } // 鍒濆鍖栧瘑鐮� 123456 - String stringValue = this.getArgumentVariable(ArgumentsConstants.KEY_SECURITY_PASSWORD_INIT).getStringValue();// 瀵嗘枃 + // 瀵嗘枃 + String password = this.getArgumentVariable(ArgumentsConstants.KEY_SECURITY_PASSWORD_INIT).getStringValue(); // 1. 淇敼鐢ㄦ埛琛� // 鐢ㄦ埛琛╥d 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. 淇敼骞冲彴鐢ㄦ埛锛堜笉鐢ㄤ慨鏀癸級 @@ -619,13 +541,15 @@ 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 -> "浠撳簱绠$悊鍛�".equals(role.getRole_name())); + HashMap<String, Object> map = new HashMap<>(); - map.put("list", list); + map.put("list", roleList); map.put("data", finSysTenantUser); return ResponseValue.success(map); } @@ -648,10 +572,11 @@ sysInfo.setUserPhone(AESUtils.decryptStrAES(userPhone, key)); } - // 鏌ヨ 鐢ㄦ埛瑙掕壊 TODO 涓存椂瑙e喅 灏嗘潵鏀鹃厤缃枃浠朵腑 + // 鏌ヨ 鐢ㄦ埛瑙掕壊 // 宸叉湁鐨勬潈闄� - List<S_role> list = finSysTenantUserService.getByUserId(sysInfo.getSysUserId()); + List<S_role> list = finSysTenantUserService.getRoleBySysUserId(sysInfo.getSysUserId()); for (S_role s_role : list) { + // TODO 涓存椂瑙e喅 灏嗘潵鏀鹃厤缃枃浠朵腑 if (s_role.getRole_id() != null && s_role.getRole_id().equals(1690961420053L)) { sysInfo.setKfStatus(1); } @@ -659,19 +584,15 @@ // 鏌ヨ鐖剁被鐨刼rgcode 闇�瑕佸皢鑷繁鐨刼rg鍏堟煡鍑烘潵 鍐嶆牴鎹畃arentid 鏌ョ埗绫� 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); @@ -693,13 +614,19 @@ return ResponseValue.error("鍙傛暟涓虹┖"); } // 1. 鏍规嵁 user.getSysUserId() 鏌ヨ - List<S_role> list = finSysTenantUserService.getByUserId(user.getSysUserId()); // 宸叉湁鐨勬潈闄� - List<Long> roleList = user.getRoleList(); // 閫夋嫨鐨勬潈闄� + // 宸叉湁鐨勬潈闄� + 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); @@ -722,80 +649,22 @@ } // 鑾峰彇杩愮淮绠$悊 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 encPhone = ""; - if (userPhone != null) { - encPhone = AESUtils.encryptStrAES(userPhone, key); - user.setUserPhone(encPhone); - } - + 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); // 鎻掑叆骞冲彴鏈烘瀯 // 灏戣鑹瞚d @@ -805,7 +674,7 @@ return ResponseValue.success(1); } - private Set<String> picFormatArr = new HashSet<String>() { + private final Set<String> picFormatArr = new HashSet<String>() { { add(".pjp"); add(".svgz"); @@ -841,21 +710,16 @@ 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 @@ -949,6 +813,8 @@ // 閮ㄩ棬 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(); @@ -960,8 +826,8 @@ 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()); -- Gitblit v1.9.1