|
@@ -173,38 +173,57 @@ public class OrgUserSyncServiceImpl implements OrgUserSyncService {
|
|
|
// 组织UserDo对象和UserOrgDo对象
|
|
|
List<SysUserDo> userDos = new ArrayList<>();
|
|
|
List<SysUserOrgDo> userOrgDos = new ArrayList<>();
|
|
|
+ // 主键ID集合
|
|
|
+ List<String> ids = new ArrayList<>();
|
|
|
|
|
|
for (VPsndocVo psndocVo : allOracleUsers) {
|
|
|
- // 用户表数据构造
|
|
|
- SysUserDo userDo = new SysUserDo();
|
|
|
- userDo.setId(psndocVo.getPk_psndoc());
|
|
|
- userDo.setAccount(psndocVo.getUser_code());
|
|
|
- userDo.setName(psndocVo.getName());
|
|
|
- userDo.setCode(psndocVo.getCode());
|
|
|
- userDo.setEmail(psndocVo.getSecret_email());
|
|
|
- if("1".equals(psndocVo.getSex())){
|
|
|
- userDo.setGender("male");
|
|
|
- } else if ("2".equals(psndocVo.getSex())) {
|
|
|
- userDo.setGender("female");
|
|
|
- }
|
|
|
- userDo.setMobile(psndocVo.getMobile());
|
|
|
- userDo.setCreatedate(DateUtil.parseDate(psndocVo.getCreationtime()));
|
|
|
- userDo.setModifydate(DateUtil.parseDate(psndocVo.getTs()));
|
|
|
- // 设置登录密码
|
|
|
- List<SysUserDo> hasUser = users.stream().filter(v -> v.getId().equals(psndocVo.getPk_psndoc())).collect(Collectors.toList());
|
|
|
- if(hasUser != null && hasUser.size() == 1){
|
|
|
- userDo.setPassword(hasUser.get(0).getPassword());
|
|
|
+ if(ids.contains(psndocVo.getPk_psndoc())){
|
|
|
+ List<SysUserOrgDo> hasOrgs = userOrgDos.stream().filter(v ->
|
|
|
+ v.getUserid().equals(psndocVo.getPk_psndoc()) && v.getOrgid().equals(psndocVo.getPk_dept()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if(hasOrgs == null || hasOrgs.size() == 0){
|
|
|
+ // 用户部门表数据构造
|
|
|
+ if(StringUtils.isNotBlank(psndocVo.getPk_dept())){
|
|
|
+ SysUserOrgDo userOrgDo = new SysUserOrgDo();
|
|
|
+ userOrgDo.setUserid(psndocVo.getPk_psndoc());
|
|
|
+ userOrgDo.setOrgid(psndocVo.getPk_dept());
|
|
|
+ userOrgDo.setId(SecurityUtil.getUUID());
|
|
|
+ userOrgDos.add(userOrgDo);
|
|
|
+ }
|
|
|
+ }
|
|
|
}else{
|
|
|
- userDo.setPassword(SecurityUtil.getSaltMd5AndSha("000000", userDo.getId()));
|
|
|
- }
|
|
|
- userDos.add(userDo);
|
|
|
- // 用户部门表数据构造
|
|
|
- if(StringUtils.isNotBlank(psndocVo.getPk_dept())){
|
|
|
- SysUserOrgDo userOrgDo = new SysUserOrgDo();
|
|
|
- userOrgDo.setUserid(userDo.getId());
|
|
|
- userOrgDo.setOrgid(psndocVo.getPk_dept());
|
|
|
- userOrgDo.setId(SecurityUtil.getUUID());
|
|
|
- userOrgDos.add(userOrgDo);
|
|
|
+ ids.add(psndocVo.getPk_psndoc());
|
|
|
+ // 用户表数据构造
|
|
|
+ SysUserDo userDo = new SysUserDo();
|
|
|
+ userDo.setId(psndocVo.getPk_psndoc());
|
|
|
+ userDo.setAccount(psndocVo.getUser_code());
|
|
|
+ userDo.setName(psndocVo.getName());
|
|
|
+ userDo.setCode(psndocVo.getCode());
|
|
|
+ userDo.setEmail(psndocVo.getSecret_email());
|
|
|
+ if("1".equals(psndocVo.getSex())){
|
|
|
+ userDo.setGender("male");
|
|
|
+ } else if ("2".equals(psndocVo.getSex())) {
|
|
|
+ userDo.setGender("female");
|
|
|
+ }
|
|
|
+ userDo.setMobile(psndocVo.getMobile());
|
|
|
+ userDo.setCreatedate(DateUtil.parseDate(psndocVo.getCreationtime()));
|
|
|
+ userDo.setModifydate(DateUtil.parseDate(psndocVo.getTs()));
|
|
|
+ // 设置登录密码
|
|
|
+ List<SysUserDo> hasUser = users.stream().filter(v -> v.getId().equals(psndocVo.getPk_psndoc())).collect(Collectors.toList());
|
|
|
+ if(hasUser != null && hasUser.size() == 1){
|
|
|
+ userDo.setPassword(hasUser.get(0).getPassword());
|
|
|
+ }else{
|
|
|
+ userDo.setPassword(SecurityUtil.getSaltMd5AndSha("000000", userDo.getId()));
|
|
|
+ }
|
|
|
+ userDos.add(userDo);
|
|
|
+ // 用户部门表数据构造
|
|
|
+ if(StringUtils.isNotBlank(psndocVo.getPk_dept())){
|
|
|
+ SysUserOrgDo userOrgDo = new SysUserOrgDo();
|
|
|
+ userOrgDo.setUserid(userDo.getId());
|
|
|
+ userOrgDo.setOrgid(psndocVo.getPk_dept());
|
|
|
+ userOrgDo.setId(SecurityUtil.getUUID());
|
|
|
+ userOrgDos.add(userOrgDo);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
// 数据保存
|