Commit a5df19af by huangjinxin

Merge remote-tracking branch 'origin/develop' into develop

2 parents 32bac8a1 24343f24
...@@ -58,7 +58,7 @@ public interface IBeanRemoteService { ...@@ -58,7 +58,7 @@ public interface IBeanRemoteService {
* 查询BEAN账号详情 * 查询BEAN账号详情
* *
* @param accessToken ACCESS_TOKEN * @param accessToken ACCESS_TOKEN
* @param workNo 账号中心ID * @param workNo hrId
* @return 人员详情信息 * @return 人员详情信息
* @apiNote 根据账号ID(账号中心ID)从BEAN查询账号详情,包括账号姓名、联系方式、所属部门、技能资质等信息 * @apiNote 根据账号ID(账号中心ID)从BEAN查询账号详情,包括账号姓名、联系方式、所属部门、技能资质等信息
*/ */
......
...@@ -192,17 +192,29 @@ public class BeanRemoteServiceImpl { ...@@ -192,17 +192,29 @@ public class BeanRemoteServiceImpl {
for (BeanAccountInfo account : userlist) { for (BeanAccountInfo account : userlist) {
log.info("开始同步人员信息{}", JsonUtil.toJson(account)); log.info("开始同步人员信息{}", JsonUtil.toJson(account));
BeanR<BeanUserDetail> beanUserDetailBeanR = beanRemoteService.userDetail(getAccessToken(), account.getHrId()); saveEngineerInfoByHrId(departId, account.getHrId(), account.getUserName());
}
}
/**
* 根据hrId 获取BEAN自有账户(工程师)详情,并存储工程师基本信息和业务信息, (会自动忽略不存在工号的账户信息- 库里如果已有相关账户会被覆盖)
*
* @param departId 部门ID, (这里只能传分部)
* @param hrId bean 用户列表接口提供的 hrId
* @param userName 用户名
*/
public void saveEngineerInfoByHrId(String departId, String hrId, String userName) {
BeanR<BeanUserDetail> beanUserDetailBeanR = beanRemoteService.userDetail(getAccessToken(), hrId);
log.info("[查询BEAN用户详情]【/api/openapi/user/queryDetail】返回值-------------------->{}", JsonUtil.toJson(beanUserDetailBeanR)); log.info("[查询BEAN用户详情]【/api/openapi/user/queryDetail】返回值-------------------->{}", JsonUtil.toJson(beanUserDetailBeanR));
BeanUserDetail userDetailInfo = beanUserDetailBeanR.getData(); BeanUserDetail userDetailInfo = beanUserDetailBeanR.getData();
if (!beanUserDetailBeanR.getSuccess() || Objects.isNull(userDetailInfo)) { if (!beanUserDetailBeanR.getSuccess() || Objects.isNull(userDetailInfo)) {
log.error("用户详情列表未获取到用户:{}-{}的详细信息 , 错误信息:{}", account.getUserName(), account.getCenterId(), beanUserDetailBeanR.getMessage()); log.error("用户详情列表未获取到用户:{}-{}的详细信息 , 错误信息:{}", userName, hrId, beanUserDetailBeanR.getMessage());
continue; return;
} }
String engineerCode = userDetailInfo.getWorkNo(); String engineerCode = userDetailInfo.getWorkNo();
if (StringUtils.isBlank(engineerCode)) { if (StringUtils.isBlank(engineerCode)) {
log.warn("分站:{}工程师{}没有工号", departId, userDetailInfo.getUsername()); log.warn("分站:{}工程师{}没有工号", departId, userDetailInfo.getUsername());
continue; return;
} }
final Address address = userDetailInfo.getAddress(); final Address address = userDetailInfo.getAddress();
//fixme 正式同步需移除当前逻辑 //fixme 正式同步需移除当前逻辑
...@@ -212,9 +224,10 @@ public class BeanRemoteServiceImpl { ...@@ -212,9 +224,10 @@ public class BeanRemoteServiceImpl {
engineerInfoDao.flush(); engineerInfoDao.flush();
//保存业务属性信息--常用出发地信息 //保存业务属性信息--常用出发地信息
EngineerBusinessEntity engineerBusiness = getEngineerBusiness(engineerCode, address); EngineerBusinessEntity engineerBusiness = getEngineerBusiness(engineerCode, address);
if (engineerBusiness == null){ continue;} if (engineerBusiness == null) {
engineerBusinessDao.save(engineerBusiness); return;
} }
engineerBusinessDao.save(engineerBusiness);
} }
private EngineerInfoEntity getEngineerInfoEntity(String departId, String engineerCode, BeanUserDetail userDetailInfo, Address address) { private EngineerInfoEntity getEngineerInfoEntity(String departId, String engineerCode, BeanUserDetail userDetailInfo, Address address) {
......
...@@ -86,8 +86,8 @@ scheduler: ...@@ -86,8 +86,8 @@ scheduler:
day-offset-end: 20 day-offset-end: 20
calc-org-capacity: calc-org-capacity:
# 8-20点,每小时1次 # 每小时两次, 分别于10分以及 40分执行
cron-expr: 0 0 1-23 * * ? cron-expr: 0 10,40 * * * ?
day-offset-begin: 0 day-offset-begin: 0
day-offset-end: 20 day-offset-end: 20
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!