同步规则修改
This commit is contained in:
@@ -161,8 +161,14 @@
|
||||
</if>
|
||||
</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)
|
||||
, main_admin = values(main_admin), is_admin = values(is_admin), unionid = values(unionid), avatar = values(avatar), jobnumber = values(jobnumber), is_leader = values(is_leader)
|
||||
, 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)
|
||||
, main_admin = values(main_admin), is_admin = values(is_admin), unionid = values(unionid), avatar = values(avatar), jobnumber = values(jobnumber)
|
||||
, 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>
|
||||
</insert>
|
||||
<update id="updateByPrimaryKeySelective">
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.cool.store.dto.enterprise;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.entity.EnterpriseUserDO;
|
||||
import com.cool.store.enums.FSEventTypeEnum;
|
||||
import com.cool.store.enums.UserStatusEnum;
|
||||
import com.cool.store.utils.UUIDUtils;
|
||||
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.setId(UUIDUtils.get32UUID());
|
||||
enterpriseUserDO.setUserId(user.getUserId());
|
||||
@@ -157,7 +158,6 @@ public class EnterpriseUserDTO implements Serializable {
|
||||
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)){
|
||||
@@ -165,6 +165,10 @@ public class EnterpriseUserDTO implements Serializable {
|
||||
regionPaths.add(regionPathMap.get(departmentId));
|
||||
}
|
||||
}
|
||||
//创建的时候给个默认值
|
||||
if(FSEventTypeEnum.USER_CREATED.equals(eventType)){
|
||||
enterpriseUserDO.setIsLeader(Boolean.FALSE);
|
||||
}
|
||||
Collection<String> deptIds = leaderDeptMap.get(user.getUserId());
|
||||
if(CollectionUtils.isNotEmpty(deptIds)){
|
||||
enterpriseUserDO.setIsLeader(Boolean.TRUE);
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.cool.store.dto.enterprise.*;
|
||||
import com.cool.store.entity.*;
|
||||
import com.cool.store.enums.DataSourceEnum;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.FSEventTypeEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.http.ISVHttpRequest;
|
||||
import com.cool.store.service.EnterpriseSyncService;
|
||||
@@ -168,7 +169,8 @@ public class EnterpriseSyncServiceImpl implements EnterpriseSyncService {
|
||||
|
||||
@Override
|
||||
public void userUpdateEvent(UserEventDTO param) {
|
||||
switch (parseValue(param.getEventType())){
|
||||
FSEventTypeEnum eventType = parseValue(param.getEventType());
|
||||
switch (eventType){
|
||||
case USER_CREATED:
|
||||
case USER_UPDATED:
|
||||
EnterpriseUserDTO userDetail = isvHttpRequest.getUserDetailByUserId(param.getOpenId());
|
||||
@@ -202,7 +204,7 @@ public class EnterpriseSyncServiceImpl implements EnterpriseSyncService {
|
||||
}else{
|
||||
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)));
|
||||
break;
|
||||
case USER_DELETED:
|
||||
|
||||
Reference in New Issue
Block a user