diff --git a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java index ac98583..866698e 100644 --- a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java +++ b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.java @@ -60,6 +60,9 @@ public class AuthPermissionInfoRespVO { */ @Schema(description = "CRM职能", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048") private String crmUserFunction; + + @Schema(description = "用户部门拼接", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private String deptIdColl; } @Schema(description = "管理后台 - 登录用户的菜单信息 Response VO") diff --git a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/user/vo/user/UserSaveReqVO.java b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/user/vo/user/UserSaveReqVO.java index 564cfd4..28ebce3 100644 --- a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/user/vo/user/UserSaveReqVO.java +++ b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/user/vo/user/UserSaveReqVO.java @@ -99,4 +99,8 @@ public class UserSaveReqVO { */ @Schema(description = "CRM职能", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private Integer crmUserFunction; + + @Schema(description = "用户部门拼接", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private String deptIdColl; + } diff --git a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/user/vo/user/UserSimpleRespVO.java b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/user/vo/user/UserSimpleRespVO.java index c3ac357..f48f084 100644 --- a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/user/vo/user/UserSimpleRespVO.java +++ b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/user/vo/user/UserSimpleRespVO.java @@ -32,4 +32,8 @@ public class UserSimpleRespVO { * CRM职能 * 枚举 {@link com.ensign.crm.framework.common.enums.CrmFunctionEnum} */ - private Integer crmUserFunction;} + private Integer crmUserFunction; + + @Schema(description = "多个部门ID拼接") + private String deptIdColl; +} diff --git a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/convert/user/UserConvert.java b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/convert/user/UserConvert.java index 5b7311d..1ea0d97 100644 --- a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/convert/user/UserConvert.java +++ b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/convert/user/UserConvert.java @@ -14,6 +14,7 @@ import com.ensign.crm.module.system.dal.dataobject.dept.PostDO; import com.ensign.crm.module.system.dal.dataobject.permission.RoleDO; import com.ensign.crm.module.system.dal.dataobject.social.SocialUserDO; import com.ensign.crm.module.system.dal.dataobject.user.AdminUserDO; +import org.apache.commons.lang3.StringUtils; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -40,7 +41,27 @@ public interface UserConvert { default List convertSimpleList(List list, Map deptMap) { return CollectionUtils.convertList(list, user -> { UserSimpleRespVO userVO = BeanUtils.toBean(user, UserSimpleRespVO.class); - MapUtils.findAndThen(deptMap, user.getDeptId(), dept -> userVO.setDeptName(dept.getName())); + String deptIdColl = userVO.getDeptIdColl(); + if (StringUtils.isBlank(deptIdColl)) { + MapUtils.findAndThen(deptMap, user.getDeptId(), dept -> userVO.setDeptName(dept.getName())); + return userVO; + } + String[] split = deptIdColl.split(","); + StringBuilder deptName = new StringBuilder(); + StringBuilder deptColl = new StringBuilder(); + for (String s : split) { + Long deptId = Long.valueOf(s); + if (deptMap.containsKey(deptId)) { + deptName.append(deptMap.get(deptId).getName()).append(","); + deptColl.append(deptMap.get(deptId).getId()).append(","); + } + } + if (deptName.length() > 0) { + userVO.setDeptName(deptName.substring(0, deptName.length() - 1)); + } + if (deptColl.length() > 0) { + userVO.setDeptIdColl(deptColl.substring(0, deptColl.length() - 1)); + } return userVO; }); }