From 2d02dee9812ff906c0a5db97a5d04154bf54fa3f Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期三, 13 十二月 2023 17:39:58 +0800 Subject: [PATCH] 修改用户角色关联 --- admin-web/src/views/systemManger/server/user/index.vue | 2 consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java | 48 +++++---------- consum-base/src/main/java/com/consum/base/pojo/FinSysTenantUserSearchParam.java | 3 + consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantUserVO.java | 60 +++++++++++++++++++ consum-base/src/main/java/com/consum/base/service/FinSysTenantUserService.java | 7 +- consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantUserServiceImpl.java | 46 +++++++++------ 6 files changed, 111 insertions(+), 55 deletions(-) diff --git a/admin-web/src/views/systemManger/server/user/index.vue b/admin-web/src/views/systemManger/server/user/index.vue index 04e3997..0a651d3 100644 --- a/admin-web/src/views/systemManger/server/user/index.vue +++ b/admin-web/src/views/systemManger/server/user/index.vue @@ -109,7 +109,7 @@ { title: '缂栧彿', field: 'userCode', align: 'left' }, { title: '鐢ㄦ埛濮撳悕', field: 'userName', align: 'left' }, { title: '鐧诲綍鍚�', field: 'userPhone', align: 'center' }, - { title: '鎵�灞炴満鏋�', field: 'userPhone', align: 'center', width: 150 }, + { title: '鎵�灞炴満鏋�', field: 'tenantName', align: 'center', width: 150 }, { title: '閮ㄩ棬', field: 'sysDeptName', align: 'center' }, { field: 'status', 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 25d05a3..7ee165a 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 @@ -12,7 +12,6 @@ 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; @@ -29,6 +28,7 @@ import com.consum.base.BaseController; 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; @@ -51,7 +51,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; @@ -59,7 +58,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; @@ -119,32 +117,20 @@ 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); } @@ -450,14 +436,14 @@ // 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); } - if (roleList != null && roleList.size() > 0) { + if (!CollectionUtils.isEmpty(roleList)) { finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId); } this.getFinSysTenantUserCache().remove(sysUserId.toString()); @@ -558,13 +544,12 @@ 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); HashMap<String, Object> map = new HashMap<>(); - map.put("list", list); + map.put("list", roleList); map.put("data", finSysTenantUser); return ResponseValue.success(map); } @@ -587,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); } @@ -633,7 +619,7 @@ } // 1. 鏍规嵁 user.getSysUserId() 鏌ヨ // 宸叉湁鐨勬潈闄� - List<S_role> list = finSysTenantUserService.getByUserId(user.getSysUserId()); + List<S_role> list = finSysTenantUserService.getRoleBySysUserId(user.getSysUserId()); // 閫夋嫨鐨勬潈闄� List<Long> roleList = user.getRoleList(); // 鍏堝垹闄ゅ啀娣诲姞 diff --git a/consum-base/src/main/java/com/consum/base/pojo/FinSysTenantUserSearchParam.java b/consum-base/src/main/java/com/consum/base/pojo/FinSysTenantUserSearchParam.java index d0327fc..20bee83 100644 --- a/consum-base/src/main/java/com/consum/base/pojo/FinSysTenantUserSearchParam.java +++ b/consum-base/src/main/java/com/consum/base/pojo/FinSysTenantUserSearchParam.java @@ -39,4 +39,7 @@ private Long sysUserId; + private Integer pageNum; + + private Integer pageSize; } diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantUserVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantUserVO.java index df9b90c..5e6bc2f 100644 --- a/consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantUserVO.java +++ b/consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantUserVO.java @@ -1,7 +1,7 @@ package com.consum.base.pojo.response; -import com.consum.model.po.FinSysTenantUser; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -12,7 +12,63 @@ */ @Data @ApiModel(value = "FinSysTenantUserVO", description = "鏈烘瀯鐢ㄦ埛淇℃伅") -public class FinSysTenantUserVO extends FinSysTenantUser { +public class FinSysTenantUserVO { + // 涓婚敭 + @ApiModelProperty(value = "涓婚敭") + private Long id; + + @ApiModelProperty(value = "鐢ㄦ埛缂栫爜") + private String userCode; + + @ApiModelProperty(value = "鐢ㄦ埛濮撳悕") + private String userName; + + @ApiModelProperty(value = "鐢ㄦ埛鐧诲綍鍚�") + private String userPhone; + + @ApiModelProperty(value = "鏈烘瀯id") + private String tenantId; + + @ApiModelProperty(value = "鏈烘瀯鍚嶇О") + private String tenantName; + + @ApiModelProperty(value = "閮ㄩ棬鍚嶇О") private String sysDeptName; + + @ApiModelProperty(value = "鐘舵�� (0绂佺敤1鍚敤)") + private Integer status; + + // private String createBy; + // + // private Long createTime; + // + // private String updateBy; + // + // private Long updateTime; + // + // private Integer sex; + // + // private Long seq; + // + // private Long sysUserId; + // + // private Long sysDeptId; + // + // private String tenantCode; + // + // private Integer isDelete; + // + // private Long supplierId; + // + // + // + // private String roleStr; + // + // private List<Long> roleList; + // + // // 鏄惁涓鸿繍缁村晢 濡傛灉鏈夎繍缁村晢id 鍒欎唬琛ㄦ槸锛屽弽涔嬩笉鏄� + // private String isSupplier; + + } diff --git a/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserService.java b/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserService.java index 8143561..5104777 100644 --- a/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserService.java +++ b/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserService.java @@ -1,12 +1,13 @@ package com.consum.base.service; +import com.consum.base.pojo.response.FinSysTenantUserVO; import java.util.List; +import com.consum.base.core.utils.PageUtil; import com.consum.base.pojo.FinSysTenantUserSearchParam; import com.consum.model.po.FinSysTenantUser; import com.iplatform.model.po.S_dept; import com.iplatform.model.po.S_role; -import com.walker.db.page.GenericPager; import com.walker.jdbc.service.BaseService; /** @@ -17,7 +18,7 @@ **/ public interface FinSysTenantUserService extends BaseService { - GenericPager<FinSysTenantUser> queryAllPageUser(FinSysTenantUserSearchParam param); + PageUtil<FinSysTenantUserVO> queryAllPageUser(FinSysTenantUserSearchParam param); FinSysTenantUser queryOneById(String id); @@ -33,7 +34,7 @@ FinSysTenantUser getByUserCode(String userCode); - List<S_role> getByUserId(Long userId); + List<S_role> getRoleBySysUserId(Long userId); List<S_role> getRoleAll(); diff --git a/consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantUserServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantUserServiceImpl.java index eaf3dad..5a6a9fe 100644 --- a/consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantUserServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantUserServiceImpl.java @@ -5,9 +5,14 @@ import java.util.List; import java.util.Map; +import org.apache.commons.compress.utils.Lists; import org.springframework.stereotype.Service; +import com.consum.base.core.utils.MapUtils; +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.response.FinSysTenantUserVO; import com.consum.base.service.FinSysTenantUserService; import com.consum.model.po.FinSysTenantUser; import com.iplatform.base.util.PlatformRSAUtils; @@ -24,7 +29,9 @@ private static final String SQL_GET_USER = "SELECT * FROM fin_sys_tenant_user WHERE IS_DELETE = 0 AND `STATUS` = 1 AND TENANT_ID = ?"; private static final String SQL_QH_PAGE_USER_PREFIX = - "select fstu.* from FIN_SYS_TENANT_USER fstu where fstu.IS_DELETE = 0 "; + "select fstu.id,fstu.USER_CODE,fstu.USER_NAME,fstu.USER_PHONE,fst.name tenantName,fstd.name sysDeptName,fst.STATUS from FIN_SYS_TENANT_USER fstu " + + "left join fin_sys_tenant fst on fst.id =fstu.TENANT_ID " + + "left join fin_sys_tenant_department fstd on fstd.id = fstu.SYS_DEPT_ID where fstu.IS_DELETE = 0 "; private static final String SQL_TENANT_USER = "select fstu.*, fst.TENANT_NAME, fst.LV from FIN_SYS_TENANT_USER fstu\n" @@ -47,8 +54,8 @@ * @Date 2023/7/17 14:26 */ @Override - public GenericPager<FinSysTenantUser> queryAllPageUser(FinSysTenantUserSearchParam param) { - Map<String, Object> parameter = new HashMap<>(5); + public PageUtil<FinSysTenantUserVO> queryAllPageUser(FinSysTenantUserSearchParam param) { + Map<String, Object> parameter = new HashMap<>(10); StringBuilder sql = new StringBuilder(SQL_QH_PAGE_USER_PREFIX); if (param.getTenantCode() > 0) { sql.append(" and fstu.TENANT_CODE =:tenantCode"); @@ -66,19 +73,11 @@ sql.append(" and USER_CODE like :USER_CODE"); parameter.put("USER_CODE", StringUtils.CHAR_PERCENT + param.getUserCode() + StringUtils.CHAR_PERCENT); } - // if(StringUtils.isNotEmpty(param.getUserCode())){ - // sql.append(" and user_code like :user_code"); - // parameter.put("user_code", StringUtils.CHAR_PERCENT + param.getUserCode() + StringUtils.CHAR_PERCENT); - // } + if (param.getStatus() != null) { - sql.append(" and status =:status"); + sql.append(" and fstu.status =:status"); parameter.put("status", param.getStatus()); } - - // if(param.getRoleId()!=null &&!param.getRoleId().equals("")){ - // sql.append(" and fstu.SYS_USER_ID in (select user_id from s_role_user where role_id = :role_id)"); - // parameter.put("role_id", param.getRoleId()); - // } if (StringUtils.isNotEmpty(param.getUserPhone())) { sql.append(" and USER_PHONE =:userPhone"); @@ -111,8 +110,19 @@ sql.append(" and fstu.AGENT_JID is null "); } } - sql.append(" ORDER BY SEQ asc ,CREATE_TIME desc"); - return this.selectSplit(sql.toString(), parameter, new FinSysTenantUser()); + sql.append(" ORDER BY SEQ asc ,fstu.CREATE_TIME desc"); + + GenericPager<Map<String, Object>> mapGenericPager = + this.selectSplit(sql.toString(), parameter, param.getPageNum(), param.getPageSize(), new MapperUtil()); + PageUtil pageUtil = new PageUtil(mapGenericPager); + + List<FinSysTenantUserVO> result = Lists.newArrayList(); + mapGenericPager.getDatas().forEach(map -> { + FinSysTenantUserVO finSysTenantUserVO = MapUtils.convertMapToObj(map, FinSysTenantUserVO.class); + result.add(finSysTenantUserVO); + }); + pageUtil.setDatas(result); + return pageUtil; } @Override @@ -218,10 +228,10 @@ * @return */ @Override - public List<S_role> getByUserId(Long userId) { + public List<S_role> getRoleBySysUserId(Long userId) { Map<String, Object> parameter = new HashMap<>(); - StringBuilder sql = new StringBuilder(SQL_SELECT_USER_ID); - sql.append("and ROLE_ID IN (SELECT DISTINCT(ROLE_ID) FROM S_ROLE_USER WHERE USER_ID= :userId )"); + StringBuilder sql = new StringBuilder("SELECT * FROM S_ROLE where "); + sql.append("ROLE_ID IN (SELECT DISTINCT(ROLE_ID) FROM S_ROLE_USER WHERE USER_ID= :userId )"); parameter.put("userId", userId); List<S_role> select = this.select(sql.toString(), parameter, new S_role()); return select; -- Gitblit v1.9.1