|
@@ -1213,10 +1213,19 @@ public class WeiXinCorpController {
|
|
|
//检查用户是否已经存在
|
|
|
User oldUser = userMapper.selectOne(new QueryWrapper<User>().select("id, name").eq("corpwx_userid", curUserid).eq("company_id", companyId));
|
|
|
if (oldUser == null) {
|
|
|
- userMapper.insert(user);
|
|
|
- } else if (!oldUser.getName().equals(user.getName())){
|
|
|
+ //先检查姓名+手机号是否存在,如果存在,则更新corpwxId
|
|
|
+ User sameNameUser = userMapper.selectOne(new QueryWrapper<User>().eq("name", user.getName()).eq("mobile", user.getPhone()).eq("company_id", companyId).isNull("corpwx_userid").last("limit 1"));
|
|
|
+ if (sameNameUser != null) {
|
|
|
+ User upUser = new User();
|
|
|
+ upUser.setId(sameNameUser.getId());
|
|
|
+ upUser.setCorpwxUserid(user.getCorpwxUserid());
|
|
|
+ userMapper.updateById(upUser);
|
|
|
+ } else {
|
|
|
+ userMapper.insert(user);
|
|
|
+ }
|
|
|
+ } else if (oldUser.getRoleName().equals("超级管理员") && !oldUser.getName().equals(user.getName())){
|
|
|
//姓名不一致,需要更新
|
|
|
- System.out.println("===更新姓名==="+user.getName());
|
|
|
+ System.out.println("===更新超管姓名==="+user.getName());
|
|
|
user.setId(oldUser.getId());
|
|
|
oldUser.setName(user.getName());
|
|
|
userMapper.updateById(oldUser);
|
|
@@ -1334,8 +1343,25 @@ public class WeiXinCorpController {
|
|
|
}
|
|
|
}
|
|
|
//检查用户是否已经存在
|
|
|
- if (userMapper.selectCount(new QueryWrapper<User>().eq("corpwx_userid", curUserid).eq("company_id", companyId)) == 0) {
|
|
|
- userMapper.insert(user);
|
|
|
+ User oldUser = userMapper.selectOne(new QueryWrapper<User>().eq("corpwx_userid", curUserid).eq("company_id", companyId));
|
|
|
+ if (oldUser == null) {
|
|
|
+ //先检查姓名是否存在,如果存在,则更新corpwxId
|
|
|
+ User sameNameUser = userMapper.selectOne(new QueryWrapper<User>().eq("name", user.getName()).eq("mobile", user.getPhone()).eq("company_id", companyId).isNull("corpwx_userid").last("limit 1"));
|
|
|
+ if (sameNameUser != null) {
|
|
|
+ User upUser = new User();
|
|
|
+ upUser.setId(sameNameUser.getId());
|
|
|
+ upUser.setCorpwxUserid(user.getCorpwxUserid());
|
|
|
+ userMapper.updateById(upUser);
|
|
|
+ } else {
|
|
|
+ //姓名也不存在,则插入新记录
|
|
|
+ userMapper.insert(user);
|
|
|
+ }
|
|
|
+ } else if (oldUser.getRoleName().equals("超级管理员") && !oldUser.getName().equals(user.getName())){
|
|
|
+ //姓名不一致,需要更新
|
|
|
+ System.out.println("===更新超管姓名==="+user.getName());
|
|
|
+ user.setId(oldUser.getId());
|
|
|
+ oldUser.setName(user.getName());
|
|
|
+ userMapper.updateById(oldUser);
|
|
|
}
|
|
|
}
|
|
|
}
|