diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/TempUserDetailDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/TempUserDetailDAO.java index c72270b26..9d813dd6c 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/TempUserDetailDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/TempUserDetailDAO.java @@ -29,6 +29,10 @@ public class TempUserDetailDAO { return tempUserDetailMapper.insertSelective(detailDO); } + public Integer updateByPrimaryKeySelective(TempUserDetailDO detailDO) { + return tempUserDetailMapper.updateByPrimaryKeySelective(detailDO); + } + public TempUserDetailDO selectById(Long id) { return tempUserDetailMapper.selectOne(TempUserDetailDO.builder().id(id).build()); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/listener/XfsgTrainingPersonSyncListener.java b/coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/listener/XfsgTrainingPersonSyncListener.java index 235172100..53e9a1c89 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/listener/XfsgTrainingPersonSyncListener.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/listener/XfsgTrainingPersonSyncListener.java @@ -84,16 +84,24 @@ public class XfsgTrainingPersonSyncListener implements MessageListener { } TempUserDetailDO checkTempUserDetailDO = tempUserDetailDAO.selectByIdCard(request.getIdCard()); // 系统已建店,并且身份证号信息不存在 - if(checkTempUserDetailDO != null){ + if(checkTempUserDetailDO == null){ + StaffBaseInfoDTO staffBaseInfoDTO = xfsgEhrService.getUserInfoByCode(request.getJobnumber()); + log.info("培训人员主数据信息:staffBaseInfoDTO:{}", JSONObject.toJSONString(staffBaseInfoDTO)); + if(staffBaseInfoDTO != null){ + TempUserDetailDO tempUserDetailDO = fillTempUserDetailDO(shopInfoDO, staffBaseInfoDTO); + tempUserDetailDAO.insertSelective(tempUserDetailDO); + } + }else if(checkTempUserDetailDO != null && checkTempUserDetailDO.getShopId() == 0L){ + // 已录入,但是没有店铺id + checkTempUserDetailDO.setLineId(shopInfoDO.getLineId()); + checkTempUserDetailDO.setShopId(shopInfoDO.getId()); + checkTempUserDetailDO.setRegionId(shopInfoDO.getRegionId()); + tempUserDetailDAO.updateByPrimaryKeySelective(checkTempUserDetailDO); + }else { log.info("培训人员身份证信息已存在idCard:{}", checkTempUserDetailDO.getIdCard()); return; } - StaffBaseInfoDTO staffBaseInfoDTO = xfsgEhrService.getUserInfoByCode(request.getJobnumber()); - log.info("培训人员主数据信息:staffBaseInfoDTO:{}", JSONObject.toJSONString(staffBaseInfoDTO)); - if(staffBaseInfoDTO != null){ - TempUserDetailDO tempUserDetailDO = fillTempUserDetailDO(shopInfoDO, staffBaseInfoDTO); - tempUserDetailDAO.insertSelective(tempUserDetailDO); - } + } private TempUserDetailDO fillTempUserDetailDO(ShopInfoDO shopInfoDO, StaffBaseInfoDTO staffBaseInfoDTO) {