Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner
This commit is contained in:
@@ -74,4 +74,26 @@ public class RegionDAO {
|
|||||||
return regionMapper.getRegionInfoByRegionId(regionId);
|
return regionMapper.getRegionInfoByRegionId(regionId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断一个节点是否是叶子节点
|
||||||
|
* @param regionId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean isLeafNode(String regionId){
|
||||||
|
Integer subCount = regionMapper.getSubNodeCountByRegionId(regionId);
|
||||||
|
return subCount <= CommonConstants.ZERO;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除区域
|
||||||
|
* @param regionId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Integer deleteRegionByRegionId(String regionId){
|
||||||
|
if(StringUtils.isBlank(regionId)){
|
||||||
|
return CommonConstants.ZERO;
|
||||||
|
}
|
||||||
|
return regionMapper.deleteRegionByRegionId(regionId);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,4 +58,17 @@ public interface RegionMapper {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
RegionDO getRegionInfoByRegionId(@Param("regionId") String regionId);
|
RegionDO getRegionInfoByRegionId(@Param("regionId") String regionId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取区域的子节点个数
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Integer getSubNodeCountByRegionId(@Param("regionId") String regionId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除区域
|
||||||
|
* @param regionId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Integer deleteRegionByRegionId(@Param("regionId") String regionId);
|
||||||
}
|
}
|
||||||
@@ -196,4 +196,12 @@
|
|||||||
where
|
where
|
||||||
deleted = 0 and region_id= #{regionId}
|
deleted = 0 and region_id= #{regionId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getSubNodeCountByRegionId" resultType="integer">
|
||||||
|
select count(1) from region where deleted = 0 and parent_id = #{regionId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<update id="deleteRegionByRegionId">
|
||||||
|
update region set deleted = 1 where region_id = #{regionId}
|
||||||
|
</update>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -11,6 +11,9 @@ import com.cool.store.dto.dept.DepartmentEventDTO;
|
|||||||
*/
|
*/
|
||||||
public interface EnterpriseSyncService {
|
public interface EnterpriseSyncService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 全量同步
|
||||||
|
*/
|
||||||
void syncAll();
|
void syncAll();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -85,7 +85,10 @@ public class EnterpriseSyncServiceImpl implements EnterpriseSyncService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步组织架构
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
private Pair<List<RegionDO>, Multimap<String, String>> syncRegion(){
|
private Pair<List<RegionDO>, Multimap<String, String>> syncRegion(){
|
||||||
//同步部门
|
//同步部门
|
||||||
List<SysDepartmentDTO> departments = isvHttpRequest.getSubDepartments(CommonConstants.ROOT_DEPT_ID_STR, true);
|
List<SysDepartmentDTO> departments = isvHttpRequest.getSubDepartments(CommonConstants.ROOT_DEPT_ID_STR, true);
|
||||||
@@ -239,13 +242,23 @@ public class EnterpriseSyncServiceImpl implements EnterpriseSyncService {
|
|||||||
dealUserLeaderDept(updateLeaderDeptMap);
|
dealUserLeaderDept(updateLeaderDeptMap);
|
||||||
break;
|
break;
|
||||||
case DEPARTMENT_DELETED:
|
case DEPARTMENT_DELETED:
|
||||||
|
boolean leafNode = regionDAO.isLeafNode(departmentDetail.getId());
|
||||||
|
if(leafNode){
|
||||||
|
//叶子节点的时候会删除部门
|
||||||
|
regionDAO.deleteRegionByRegionId(departmentDetail.getId());
|
||||||
|
}else{
|
||||||
syncAll();
|
syncAll();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理用户负责部门信息
|
||||||
|
* @param leaderDeptMap
|
||||||
|
*/
|
||||||
public void dealUserLeaderDept(Multimap<String, String> leaderDeptMap){
|
public void dealUserLeaderDept(Multimap<String, String> leaderDeptMap){
|
||||||
if(leaderDeptMap.isEmpty()){
|
if(leaderDeptMap.isEmpty()){
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user