新增组织架构相关
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
package com.cool.store.dto.buser;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: UserEventDTO
|
||||
* @Description:
|
||||
* @date 2023-06-09 13:53
|
||||
*/
|
||||
@Data
|
||||
public class UserEventDTO {
|
||||
|
||||
private String corpId;
|
||||
|
||||
private String eventType;
|
||||
|
||||
private String userId;
|
||||
|
||||
private String openId;
|
||||
|
||||
private String unionId;
|
||||
|
||||
}
|
||||
@@ -93,7 +93,7 @@ public class EnterpriseUserDTO implements Serializable {
|
||||
|
||||
private String openUserid;
|
||||
|
||||
@ApiModelProperty("")
|
||||
@ApiModelProperty("用户所属部门")
|
||||
private List<String> departmentLists;
|
||||
|
||||
|
||||
@@ -141,4 +141,39 @@ public class EnterpriseUserDTO implements Serializable {
|
||||
return resultList;
|
||||
}
|
||||
|
||||
|
||||
public static EnterpriseUserDO transUserDtoToDo(EnterpriseUserDTO user, Map<String, String> regionPathMap, Multimap<String, String> leaderDeptMap) {
|
||||
EnterpriseUserDO enterpriseUserDO = new EnterpriseUserDO();
|
||||
enterpriseUserDO.setId(UUIDUtils.get32UUID());
|
||||
enterpriseUserDO.setUserId(user.getUserId());
|
||||
enterpriseUserDO.setName(user.getName());
|
||||
enterpriseUserDO.setRemark(user.getRemark());
|
||||
enterpriseUserDO.setMobile(user.getMobile());
|
||||
enterpriseUserDO.setEmail(user.getEmail());
|
||||
enterpriseUserDO.setOrgEmail(user.getOrgEmail());
|
||||
enterpriseUserDO.setMainAdmin(user.getMainAdmin());
|
||||
enterpriseUserDO.setIsAdmin(user.getIsAdmin());
|
||||
enterpriseUserDO.setUnionid(user.getUnionid());
|
||||
enterpriseUserDO.setAvatar(user.getAvatar());
|
||||
enterpriseUserDO.setJobnumber(user.getJobnumber());
|
||||
enterpriseUserDO.setUserStatus(UserStatusEnum.NORMAL.getCode());
|
||||
enterpriseUserDO.setIsLeader(Boolean.FALSE);
|
||||
List<String> departmentLists = user.getDepartmentLists();
|
||||
List<String> regionPaths = new ArrayList<>();
|
||||
if(CollectionUtils.isNotEmpty(departmentLists)){
|
||||
for (String departmentId : departmentLists) {
|
||||
regionPaths.add(regionPathMap.get(departmentId));
|
||||
}
|
||||
}
|
||||
Collection<String> deptIds = leaderDeptMap.get(user.getUserId());
|
||||
if(CollectionUtils.isNotEmpty(deptIds)){
|
||||
enterpriseUserDO.setIsLeader(Boolean.TRUE);
|
||||
enterpriseUserDO.setLeaderDeptIds(JSONObject.toJSONString(deptIds));
|
||||
}
|
||||
enterpriseUserDO.setUserRegionIds(JSONObject.toJSONString(regionPaths));
|
||||
enterpriseUserDO.setDeleted(Boolean.FALSE);
|
||||
enterpriseUserDO.setCreateTime(new Date());
|
||||
return enterpriseUserDO;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -217,7 +217,7 @@ public class SysDepartmentDTO {
|
||||
Collections.reverse(pathIds);
|
||||
String regionPath = CommonConstants.PATH_SPILT + String.join(CommonConstants.PATH_SPILT, pathIds) + CommonConstants.PATH_SPILT;
|
||||
region.setRegionPath(regionPath);
|
||||
region.setDeleted(Boolean.TRUE);
|
||||
region.setDeleted(Boolean.FALSE);
|
||||
if(CollectionUtils.isNotEmpty(dept.getDeptManagerUseridList())){
|
||||
for (String leader : dept.getDeptManagerUseridList()) {
|
||||
leaderDeptMap.put(leader, dept.getId());
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.cool.store.entity;
|
||||
|
||||
import com.cool.store.enums.DataSourceEnum;
|
||||
import com.google.common.collect.Lists;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.io.Serializable;
|
||||
@@ -32,6 +33,9 @@ public class EnterpriseUserRoleDO implements Serializable {
|
||||
@ApiModelProperty("用户id")
|
||||
private String userId;
|
||||
|
||||
@ApiModelProperty("type")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty("删除标识")
|
||||
private Boolean deleted;
|
||||
|
||||
@@ -41,7 +45,7 @@ public class EnterpriseUserRoleDO implements Serializable {
|
||||
@ApiModelProperty("更新时间")
|
||||
private Date updateTime;
|
||||
|
||||
public static List<EnterpriseUserRoleDO> convertDO(String roleId, List<String> userIds){
|
||||
public static List<EnterpriseUserRoleDO> convertSyncDO(String roleId, List<String> userIds){
|
||||
if(CollectionUtils.isEmpty(userIds)){
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
@@ -50,6 +54,7 @@ public class EnterpriseUserRoleDO implements Serializable {
|
||||
EnterpriseUserRoleDO userRole = new EnterpriseUserRoleDO();
|
||||
userRole.setRoleId(roleId);
|
||||
userRole.setUserId(userId);
|
||||
userRole.setType(DataSourceEnum.SYNC.getCode());
|
||||
userRole.setDeleted(Boolean.FALSE);
|
||||
userRole.setCreateTime(new Date());
|
||||
userRole.setUpdateTime(new Date());
|
||||
|
||||
@@ -14,6 +14,7 @@ import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -69,4 +70,22 @@ public class UserRegionMappingDO implements Serializable {
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
|
||||
public static List<UserRegionMappingDO> convertSyncDO(List<String> regionIds, String userId){
|
||||
if(CollectionUtils.isEmpty(regionIds) || StringUtils.isBlank(userId)){
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
List<UserRegionMappingDO> resultList = new ArrayList<>();
|
||||
for (String regionId : regionIds) {
|
||||
UserRegionMappingDO userRegion = new UserRegionMappingDO();
|
||||
userRegion.setRegionId(regionId);
|
||||
userRegion.setUserId(userId);
|
||||
userRegion.setType(DataSourceEnum.SYNC.getCode());
|
||||
userRegion.setCreateTime(System.currentTimeMillis());
|
||||
userRegion.setUpdateTime(System.currentTimeMillis());
|
||||
userRegion.setDeleted(Boolean.FALSE);
|
||||
resultList.add(userRegion);
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.cool.store.vo.region;
|
||||
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.entity.RegionDO;
|
||||
import com.google.common.collect.Lists;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: RegionBaseInfoVO
|
||||
* @Description:
|
||||
* @date 2023-06-12 16:08
|
||||
*/
|
||||
@Data
|
||||
public class RegionBaseInfoVO {
|
||||
|
||||
@ApiModelProperty("区域id")
|
||||
private String regionId;
|
||||
|
||||
@ApiModelProperty("区域名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("子区域")
|
||||
private List<RegionBaseInfoVO> subRegionList;
|
||||
|
||||
public RegionBaseInfoVO(String regionId, String name) {
|
||||
this.regionId = regionId;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public static RegionBaseInfoVO convertTree(List<RegionDO> regionList){
|
||||
Map<String, List<RegionDO>> parentMap = regionList.stream().collect(Collectors.groupingBy(k -> k.getParentId()));
|
||||
RegionDO rootRegion = regionList.stream().filter(o -> CommonConstants.ZERO_STR.equals(o.getParentId())).findFirst().get();
|
||||
RegionBaseInfoVO result = new RegionBaseInfoVO(rootRegion.getRegionId(), rootRegion.getName());
|
||||
result.setSubRegionList(getSubRegion(rootRegion.getRegionId(), parentMap));
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<RegionBaseInfoVO> getSubRegion(String regionId, Map<String, List<RegionDO>> parentMap){
|
||||
List<RegionBaseInfoVO> resultList = new ArrayList<>();
|
||||
if(Objects.isNull(parentMap) || StringUtils.isBlank(regionId)){
|
||||
return resultList;
|
||||
}
|
||||
List<RegionDO> subRegion = parentMap.get(regionId);
|
||||
if(CollectionUtils.isNotEmpty(subRegion)){
|
||||
for (RegionDO region : subRegion) {
|
||||
RegionBaseInfoVO regionBaseInfo = new RegionBaseInfoVO(region.getRegionId(), region.getName());
|
||||
regionBaseInfo.setSubRegionList(getSubRegion(region.getRegionId(), parentMap));
|
||||
resultList.add(regionBaseInfo);
|
||||
}
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user