同步规则修改

This commit is contained in:
zhangchenbiao
2023-06-30 20:12:35 +08:00
parent ef40c7ac36
commit 3a31cc1350
3 changed files with 18 additions and 6 deletions

View File

@@ -161,8 +161,14 @@
</if> </if>
</trim> </trim>
ON DUPLICATE KEY UPDATE user_id = values(user_id), name = values(name), remark = values(remark), mobile = values(mobile), email = values(email), org_email = values(org_email) ON DUPLICATE KEY UPDATE user_id = values(user_id), name = values(name), remark = values(remark), mobile = values(mobile), email = values(email), org_email = values(org_email)
, main_admin = values(main_admin), is_admin = values(is_admin), unionid = values(unionid), avatar = values(avatar), jobnumber = values(jobnumber), is_leader = values(is_leader) , main_admin = values(main_admin), is_admin = values(is_admin), unionid = values(unionid), avatar = values(avatar), jobnumber = values(jobnumber)
, leader_dept_ids = values(leader_dept_ids), face_url = values(face_url), user_status = values(user_status), user_region_ids = values(user_region_ids), deleted = values(deleted) , face_url = values(face_url), user_status = values(user_status), user_region_ids = values(user_region_ids), deleted = values(deleted)
<if test="record.isLeader != null">
, is_leader = values(is_leader)
</if>
<if test="record.leaderDeptIds != null">
, leader_dept_ids = values(leader_dept_ids)
</if>
</foreach> </foreach>
</insert> </insert>
<update id="updateByPrimaryKeySelective"> <update id="updateByPrimaryKeySelective">

View File

@@ -2,6 +2,7 @@ package com.cool.store.dto.enterprise;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.entity.EnterpriseUserDO;
import com.cool.store.enums.FSEventTypeEnum;
import com.cool.store.enums.UserStatusEnum; import com.cool.store.enums.UserStatusEnum;
import com.cool.store.utils.UUIDUtils; import com.cool.store.utils.UUIDUtils;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@@ -142,7 +143,7 @@ public class EnterpriseUserDTO implements Serializable {
} }
public static EnterpriseUserDO transUserDtoToDo(EnterpriseUserDTO user, Map<String, String> regionPathMap, Multimap<String, String> leaderDeptMap) { public static EnterpriseUserDO transUserDtoToDo(EnterpriseUserDTO user, Map<String, String> regionPathMap, Multimap<String, String> leaderDeptMap, FSEventTypeEnum eventType) {
EnterpriseUserDO enterpriseUserDO = new EnterpriseUserDO(); EnterpriseUserDO enterpriseUserDO = new EnterpriseUserDO();
enterpriseUserDO.setId(UUIDUtils.get32UUID()); enterpriseUserDO.setId(UUIDUtils.get32UUID());
enterpriseUserDO.setUserId(user.getUserId()); enterpriseUserDO.setUserId(user.getUserId());
@@ -157,7 +158,6 @@ public class EnterpriseUserDTO implements Serializable {
enterpriseUserDO.setAvatar(user.getAvatar()); enterpriseUserDO.setAvatar(user.getAvatar());
enterpriseUserDO.setJobnumber(user.getJobnumber()); enterpriseUserDO.setJobnumber(user.getJobnumber());
enterpriseUserDO.setUserStatus(UserStatusEnum.NORMAL.getCode()); enterpriseUserDO.setUserStatus(UserStatusEnum.NORMAL.getCode());
enterpriseUserDO.setIsLeader(Boolean.FALSE);
List<String> departmentLists = user.getDepartmentLists(); List<String> departmentLists = user.getDepartmentLists();
List<String> regionPaths = new ArrayList<>(); List<String> regionPaths = new ArrayList<>();
if(CollectionUtils.isNotEmpty(departmentLists)){ if(CollectionUtils.isNotEmpty(departmentLists)){
@@ -165,6 +165,10 @@ public class EnterpriseUserDTO implements Serializable {
regionPaths.add(regionPathMap.get(departmentId)); regionPaths.add(regionPathMap.get(departmentId));
} }
} }
//创建的时候给个默认值
if(FSEventTypeEnum.USER_CREATED.equals(eventType)){
enterpriseUserDO.setIsLeader(Boolean.FALSE);
}
Collection<String> deptIds = leaderDeptMap.get(user.getUserId()); Collection<String> deptIds = leaderDeptMap.get(user.getUserId());
if(CollectionUtils.isNotEmpty(deptIds)){ if(CollectionUtils.isNotEmpty(deptIds)){
enterpriseUserDO.setIsLeader(Boolean.TRUE); enterpriseUserDO.setIsLeader(Boolean.TRUE);

View File

@@ -11,6 +11,7 @@ import com.cool.store.dto.enterprise.*;
import com.cool.store.entity.*; import com.cool.store.entity.*;
import com.cool.store.enums.DataSourceEnum; import com.cool.store.enums.DataSourceEnum;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.FSEventTypeEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.http.ISVHttpRequest; import com.cool.store.http.ISVHttpRequest;
import com.cool.store.service.EnterpriseSyncService; import com.cool.store.service.EnterpriseSyncService;
@@ -168,7 +169,8 @@ public class EnterpriseSyncServiceImpl implements EnterpriseSyncService {
@Override @Override
public void userUpdateEvent(UserEventDTO param) { public void userUpdateEvent(UserEventDTO param) {
switch (parseValue(param.getEventType())){ FSEventTypeEnum eventType = parseValue(param.getEventType());
switch (eventType){
case USER_CREATED: case USER_CREATED:
case USER_UPDATED: case USER_UPDATED:
EnterpriseUserDTO userDetail = isvHttpRequest.getUserDetailByUserId(param.getOpenId()); EnterpriseUserDTO userDetail = isvHttpRequest.getUserDetailByUserId(param.getOpenId());
@@ -202,7 +204,7 @@ public class EnterpriseSyncServiceImpl implements EnterpriseSyncService {
}else{ }else{
enterpriseUserRoleDAO.deleteUserRole(userDetail.getUserId()); enterpriseUserRoleDAO.deleteUserRole(userDetail.getUserId());
} }
EnterpriseUserDO enterpriseUser = EnterpriseUserDTO.transUserDtoToDo(userDetail, regionPathMap, leaderDeptMap); EnterpriseUserDO enterpriseUser = EnterpriseUserDTO.transUserDtoToDo(userDetail, regionPathMap, leaderDeptMap, eventType);
enterpriseUserDAO.batchInsertOrUpdate(new ArrayList<>(Arrays.asList(enterpriseUser))); enterpriseUserDAO.batchInsertOrUpdate(new ArrayList<>(Arrays.asList(enterpriseUser)));
break; break;
case USER_DELETED: case USER_DELETED: