新增组织架构相关

This commit is contained in:
zhangchenbiao
2023-06-12 16:42:39 +08:00
parent eb9dc4116a
commit a2d58d3dcc
27 changed files with 552 additions and 34 deletions

View File

@@ -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;
}

View File

@@ -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;
}
}

View File

@@ -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());

View File

@@ -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());

View File

@@ -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;
}
}

View File

@@ -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;
}
}