|
@@ -308,9 +308,7 @@ public class WeComUserDataJob {
|
|
|
}
|
|
|
count++;
|
|
|
Long userId = weComUserMapper.selectIdByExternalUserId(externalUserId);
|
|
|
- if (userId == null) {
|
|
|
- addUser(externalContact, corpId, externalUserId, createAt, staff.getId());
|
|
|
- }
|
|
|
+ userId = addAndUpdateUser(externalContact, corpId, externalUserId, createAt, staff.getId(), userId);
|
|
|
}
|
|
|
String nextCursor = jsonObject.getString("next_cursor");
|
|
|
if (cursor.equals(nextCursor)) {
|
|
@@ -348,10 +346,10 @@ public class WeComUserDataJob {
|
|
|
if (xxlJobParam.getStaffId() != null) {
|
|
|
staffIds.add(xxlJobParam.getStaffId());
|
|
|
}
|
|
|
- if(!CollectionUtils.isEmpty(xxlJobParam.getStaffIds())){
|
|
|
+ if (!CollectionUtils.isEmpty(xxlJobParam.getStaffIds())) {
|
|
|
staffIds.addAll(xxlJobParam.getStaffIds());
|
|
|
}
|
|
|
- if(!CollectionUtils.isEmpty(staffIds)){
|
|
|
+ if (!CollectionUtils.isEmpty(staffIds)) {
|
|
|
staffCriteria.andIdIn(staffIds);
|
|
|
}
|
|
|
List<Staff> staffList = staffMapper.selectByExample(staffExample);
|
|
@@ -382,9 +380,8 @@ public class WeComUserDataJob {
|
|
|
List<Tag> tags = tagMapper.selectByExample(example);
|
|
|
if (!CollectionUtils.isEmpty(tags)) {
|
|
|
Long userId = weComUserMapper.selectIdByExternalUserId(externalUserId);
|
|
|
- if (userId == null) {
|
|
|
- userId = addUser(externalContact, corp.getId(), externalUserId, createAt, staff.getId());
|
|
|
- }
|
|
|
+ userId = addAndUpdateUser(externalContact, corp.getId(), externalUserId,
|
|
|
+ createAt, staff.getId(), userId);
|
|
|
Tag tag = tags.get(0);
|
|
|
UserWithTag userWithTag = new UserWithTag();
|
|
|
userWithTag.setUserId(userId);
|
|
@@ -460,27 +457,38 @@ public class WeComUserDataJob {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private Long addUser(JSONObject externalContact, Long corpId, String externalUserId, Long createAt, Long staffId) {
|
|
|
+ private Long addAndUpdateUser(JSONObject externalContact, Long corpId, String externalUserId, Long createAt, Long staffId, Long userId) {
|
|
|
String name = externalContact.getString("name");
|
|
|
String unionId = externalContact.getString("unionid");
|
|
|
String avatar = externalContact.getString("avatar");
|
|
|
Integer type = externalContact.getInteger("type");
|
|
|
Integer gender = externalContact.getInteger("gender");
|
|
|
- WeComUser weComUser = new WeComUser();
|
|
|
- weComUser.setCorpId(corpId);
|
|
|
- weComUser.setExternalUserId(externalUserId);
|
|
|
- weComUser.setName(name);
|
|
|
- weComUser.setType(type);
|
|
|
- weComUser.setUnionId(unionId);
|
|
|
- weComUser.setGender(gender);
|
|
|
- weComUser.setAvatar(avatar);
|
|
|
- weComUser.setCreatedAt(createAt);
|
|
|
- weComUserMapper.insertSelective(weComUser);
|
|
|
- Long userId = weComUser.getId();
|
|
|
- StaffWithUser staffWithUser = new StaffWithUser();
|
|
|
- staffWithUser.setStaffId(staffId);
|
|
|
- staffWithUser.setUserId(userId);
|
|
|
- staffWithUserMapper.insertSelective(staffWithUser);
|
|
|
+ if (userId == null) {
|
|
|
+ WeComUser weComUser = new WeComUser();
|
|
|
+ weComUser.setCorpId(corpId);
|
|
|
+ weComUser.setExternalUserId(externalUserId);
|
|
|
+ weComUser.setName(name);
|
|
|
+ weComUser.setType(type);
|
|
|
+ weComUser.setUnionId(unionId);
|
|
|
+ weComUser.setGender(gender);
|
|
|
+ weComUser.setAvatar(avatar);
|
|
|
+ weComUser.setCreatedAt(createAt);
|
|
|
+ weComUserMapper.insertSelective(weComUser);
|
|
|
+ userId = weComUser.getId();
|
|
|
+ StaffWithUser staffWithUser = new StaffWithUser();
|
|
|
+ staffWithUser.setStaffId(staffId);
|
|
|
+ staffWithUser.setUserId(userId);
|
|
|
+ staffWithUserMapper.insertSelective(staffWithUser);
|
|
|
+ } else {
|
|
|
+ WeComUser weComUser = new WeComUser();
|
|
|
+ weComUser.setId(userId);
|
|
|
+ weComUser.setName(name);
|
|
|
+ weComUser.setType(type);
|
|
|
+ weComUser.setUnionId(unionId);
|
|
|
+ weComUser.setGender(gender);
|
|
|
+ weComUser.setAvatar(avatar);
|
|
|
+ weComUserMapper.updateByPrimaryKeySelective(weComUser);
|
|
|
+ }
|
|
|
return userId;
|
|
|
}
|
|
|
|