三江统一用户复制bug修复
This commit is contained in:
parent
a1fa49237c
commit
647356cdc1
@ -19,6 +19,8 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
@ -121,9 +123,9 @@ public class SjMqService {
|
||||
|
||||
}
|
||||
|
||||
public void onUserOrgChanged(UserOrgChangeMessage userOrgChangeMessage) {
|
||||
public void onUserOrgChanged(UserOrgChangeMessage message) {
|
||||
/*
|
||||
复制用户?:
|
||||
复制用户:
|
||||
{
|
||||
"category": "2-2",
|
||||
"id": "wnibicyw0TTVSymhmKmWW1ZA",
|
||||
@ -235,17 +237,87 @@ public class SjMqService {
|
||||
}
|
||||
}
|
||||
*/
|
||||
UserOrgChangeType type = userOrgChangeMessage.getType();
|
||||
if (type.equals(UserOrgChangeType.COPY) || type.equals(UserOrgChangeType.ADD)) {
|
||||
//复制 新增用户
|
||||
SystemUser systemUser = convertToSystemUser(userOrgChangeMessage);
|
||||
/*
|
||||
复制用户:
|
||||
{
|
||||
"category": "2-2",
|
||||
"id": "m790mhblRqOGkAoAGmib8icA",
|
||||
"orgId": "1IS459dhSkaOTdQJSshYVw",
|
||||
"timestamp": 1680226673408,
|
||||
"type": "COPY",
|
||||
"user": {
|
||||
"creator": "Z4K0Un08TibykTF5tiauD15Q",
|
||||
"$opType": "copy",
|
||||
"jp": "csfz123",
|
||||
"sex": "2",
|
||||
"jobs": "",
|
||||
"createAt": 1680226655000,
|
||||
"categoryOrgId": "2-2",
|
||||
"orgInstanceId": "2-2-zhY43eia0SS2Xiap2vGf5DHA",
|
||||
"$orgAttrs": [
|
||||
{
|
||||
"org": {
|
||||
"orgName": "测试123",
|
||||
"orgId": "zhY43eia0SS2Xiap2vGf5DHA"
|
||||
},
|
||||
"attrs": {
|
||||
"orgInstanceId": "2-2-zhY43eia0SS2Xiap2vGf5DHA",
|
||||
"sn": 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"name": "测试复制123",
|
||||
"id": "m790mhblRqOGkAoAGmib8icA",
|
||||
"lastModified": 1680226655242,
|
||||
"state": "1",
|
||||
"sn": 0,
|
||||
"certificateNum": "34030420230316931X",
|
||||
"authLevel": "0",
|
||||
"certificateType": "idcard",
|
||||
"qp": "ceshifuzhi123"
|
||||
}
|
||||
}
|
||||
*/
|
||||
UserOrgChangeType type = message.getType();
|
||||
if (type.equals(UserOrgChangeType.ADD)) {
|
||||
//新增用户
|
||||
SystemUser systemUser = convertToSystemUser(message);
|
||||
systemUserMapper.insert(systemUser);
|
||||
insertBaseModuleUser(systemUser);
|
||||
} else if (type.equals(UserOrgChangeType.MOVE)) {
|
||||
//移动用户,什么不用做
|
||||
//移动用户
|
||||
SystemUser systemUser = systemUserMapper.selectOne(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getSjUnifiedAuthenticationUserId, message.getId()));
|
||||
String dbOrgIds = systemUser.getSjUnifiedAuthenticationOrgIds();
|
||||
if (StringUtils.isNotBlank(dbOrgIds)) {
|
||||
List<String> list = Stream.of(dbOrgIds.split(",")).collect(Collectors.toList());
|
||||
list.remove(message.getOldOrgId());
|
||||
list.add(message.getOrgId());
|
||||
systemUser.setSjUnifiedAuthenticationOrgIds(StringUtils.join(list.toArray(), ","));
|
||||
}
|
||||
systemUserMapper.updateById(systemUser);
|
||||
} else if (type.equals(UserOrgChangeType.DELETE)) {
|
||||
//删除用户
|
||||
systemUserMapper.delete(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getSjUnifiedAuthenticationUserId, userOrgChangeMessage.getId()));
|
||||
SystemUser systemUser = systemUserMapper.selectOne(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getSjUnifiedAuthenticationUserId, message.getId()));
|
||||
String dbOrgIds = systemUser.getSjUnifiedAuthenticationOrgIds();
|
||||
if (StringUtils.isBlank(dbOrgIds) || dbOrgIds.equals(message.getOrgId())) {
|
||||
systemUserMapper.delete(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getSjUnifiedAuthenticationUserId, message.getId()));
|
||||
} else {
|
||||
//一个账号有多份的情况,从组织ids里面去除一个
|
||||
List<String> list = Stream.of(dbOrgIds.split(",")).collect(Collectors.toList());
|
||||
list.remove(message.getOrgId());
|
||||
systemUser.setSjUnifiedAuthenticationOrgIds(StringUtils.join(list.toArray(), ","));
|
||||
systemUserMapper.updateById(systemUser);
|
||||
}
|
||||
} else if (type.equals(UserOrgChangeType.COPY)) {
|
||||
//复制用户
|
||||
SystemUser systemUser = systemUserMapper.selectOne(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getSjUnifiedAuthenticationUserId, message.getId()));
|
||||
String dbOrgIds = systemUser.getSjUnifiedAuthenticationOrgIds();
|
||||
if (StringUtils.isNotBlank(dbOrgIds)) {
|
||||
List<String> list = Stream.of(dbOrgIds.split(",")).collect(Collectors.toList());
|
||||
list.add(message.getOrgId());
|
||||
systemUser.setSjUnifiedAuthenticationOrgIds(StringUtils.join(list.toArray(), ","));
|
||||
}
|
||||
systemUserMapper.updateById(systemUser);
|
||||
}
|
||||
}
|
||||
|
||||
@ -280,6 +352,7 @@ public class SjMqService {
|
||||
systemUser.setSn("B386480F85E84592B8E102224D090794");
|
||||
systemUser.setAccountType(7);
|
||||
systemUser.setSjUnifiedAuthenticationUserId(userOrgChangeMessage.getId());
|
||||
systemUser.setSjUnifiedAuthenticationOrgIds(userOrgChangeMessage.getOrgId());
|
||||
return systemUser;
|
||||
}
|
||||
|
||||
|
||||
@ -4,8 +4,6 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@ -121,4 +119,9 @@ public class SystemUser implements Serializable {
|
||||
* 三江统一登录的用户id
|
||||
*/
|
||||
private String sjUnifiedAuthenticationUserId;
|
||||
|
||||
/**
|
||||
* 三江统一登录的组织ids
|
||||
*/
|
||||
private String sjUnifiedAuthenticationOrgIds;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user