|
@@ -9,6 +9,7 @@ import cn.hutool.core.util.NumberUtil; |
|
|
import cn.hutool.core.util.PhoneUtil; |
|
|
import cn.hutool.core.util.PhoneUtil; |
|
|
import cn.hutool.core.util.StrUtil; |
|
|
import cn.hutool.core.util.StrUtil; |
|
|
import cn.hutool.json.JSONUtil; |
|
|
import cn.hutool.json.JSONUtil; |
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
import com.hz.pm.api.common.util.BizUtils; |
|
|
import com.hz.pm.api.common.util.BizUtils; |
|
@@ -40,6 +41,7 @@ import lombok.extern.slf4j.Slf4j; |
|
|
import org.springframework.stereotype.Component; |
|
|
import org.springframework.stereotype.Component; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
|
|
|
import java.time.LocalDate; |
|
|
import java.time.LocalDateTime; |
|
|
import java.time.LocalDateTime; |
|
|
import java.util.ArrayList; |
|
|
import java.util.ArrayList; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
@@ -109,6 +111,7 @@ public class SyncMhUserOrgManage { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
public void syncUsers(LocalDateTime syncDateTime) { |
|
|
public void syncUsers(LocalDateTime syncDateTime) { |
|
|
MhRetDTO<List<MhUserDTO>> mhRet = mhApiClient.queryUsers(syncDateTime); |
|
|
MhRetDTO<List<MhUserDTO>> mhRet = mhApiClient.queryUsers(syncDateTime); |
|
|
if (mhRet.isOk()) { |
|
|
if (mhRet.isOk()) { |
|
@@ -116,6 +119,7 @@ public class SyncMhUserOrgManage { |
|
|
if (CollUtil.isEmpty(mhUsers)) { |
|
|
if (CollUtil.isEmpty(mhUsers)) { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
LocalDateTime now = LocalDateTime.now(); |
|
|
log.info("同步用户信息:{}条", mhUsers.size()); |
|
|
log.info("同步用户信息:{}条", mhUsers.size()); |
|
|
List<MhUnit> units = mhUnitService.list(); |
|
|
List<MhUnit> units = mhUnitService.list(); |
|
|
Map<Long, MhUnit> unitMap = CollUtils.listToMap(units, MhUnit::getId); |
|
|
Map<Long, MhUnit> unitMap = CollUtils.listToMap(units, MhUnit::getId); |
|
@@ -148,6 +152,7 @@ public class SyncMhUserOrgManage { |
|
|
userInfo.setMobile(mhUser.getAccount()); |
|
|
userInfo.setMobile(mhUser.getAccount()); |
|
|
} |
|
|
} |
|
|
userInfo.setMhUnitId(mhUser.getMhUnitId()); |
|
|
userInfo.setMhUnitId(mhUser.getMhUnitId()); |
|
|
|
|
|
userInfo.setSyncTime(now); |
|
|
savedList.add(userInfo); |
|
|
savedList.add(userInfo); |
|
|
} |
|
|
} |
|
|
if (!savedList.isEmpty()) { |
|
|
if (!savedList.isEmpty()) { |
|
@@ -155,6 +160,11 @@ public class SyncMhUserOrgManage { |
|
|
userInfoService.saveOrUpdateBatch(savedList); |
|
|
userInfoService.saveOrUpdateBatch(savedList); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
if (syncDateTime == null) { |
|
|
|
|
|
Wrapper<UserInfo> delQuery = Wrappers.lambdaQuery(UserInfo.class) |
|
|
|
|
|
.lt(UserInfo::getSyncTime, now.minusSeconds(1)); |
|
|
|
|
|
userInfoService.remove(delQuery); |
|
|
|
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
log.error("同步用户信息失败:{}", JSONUtil.toJsonStr(mhRet)); |
|
|
log.error("同步用户信息失败:{}", JSONUtil.toJsonStr(mhRet)); |
|
|
} |
|
|
} |
|
|