客商主数据同步修改BUG

This commit is contained in:
秦鸿展
2026-06-13 17:27:45 +08:00
parent 72e54bb219
commit a3420936db
2 changed files with 54 additions and 1 deletions
@@ -1378,12 +1378,60 @@ public class UserShipperApplicationService {
userShipperDO.setUpdateTime(DateUtil.date());
UserShipperEntity userShipperEntity = userShipperDomainService.saveUserShipperByUserId(userShipperDO);
userShipperDO.setShipperId(userShipperEntity.getShipperId());
authShipper(userShipperDO);
authEnterpriseShipperForMasterData(userShipperDO, loginUser);
UserShipperEntity shipperEntity = userShipperDomainService.findShipperByUserId(user.getUserId());
syncWlhyShipperSafely(shipperEntity, record.getCode());
}
/**
* MDM 同步专用审核:只更新认证状态,不复制登录人全部角色、不开钱包、不发通知;网货由 syncWlhyShipperSafely 处理。
*/
private void authEnterpriseShipperForMasterData(UserShipperDO userShipperDO, LoginUser loginUser) {
if (userShipperDO.getAuthType() == null || userShipperDO.getAuthType() != 2) {
throw new ServiceException("MDM同步仅支持企业委托方审核");
}
if (userShipperDO.getShipperAuthStatus() != 3) {
throw new ServiceException("MDM同步审核状态错误");
}
Long authUserId;
String authUserName;
if (ObjectUtil.isNotNull(userShipperDO.getAutomaticCheckUserInfo())
&& ObjectUtil.equal(userShipperDO.getAutomaticCheckUserInfo(), 1)
&& loginUser.getOrganizationPo() != null
&& loginUser.getOrganizationPo().getPrincipalId() != null) {
authUserId = loginUser.getOrganizationPo().getPrincipalId();
authUserName = loginUser.getOrganizationPo().getPrincipalName();
} else {
authUserId = loginUser.getUserPo().getUserId();
authUserName = loginUser.getUserPo().getUserName();
}
String remark = "MDM主数据自动审核";
userShipperDO.setShipperFill(userShipperDO.getShipperAuthStatus());
userShipperDO.setShipperFillAuthId(authUserId);
userShipperDO.setShipperFillAuthName(authUserName);
userShipperDO.setShipperFillTime(DateUtil.date());
userShipperDO.setShipperFillRemark(remark);
userShipperDO.setShipperEnterpriseFill(userShipperDO.getShipperAuthStatus());
userShipperDO.setShipperType(2);
userShipperDO.setShipperEnterpriselAuthId(authUserId);
userShipperDO.setShipperEnterpriselAuthName(authUserName);
userShipperDO.setShipperEnterpriseFillTime(DateUtil.date());
userShipperDO.setShipperEnterpriseFillRemark(remark);
UserDO userDO = new UserDO();
userDO.setUserId(userShipperDO.getUserId());
userDO.setUserAuthStatus(userShipperDO.getShipperAuthStatus());
userDO.setUserAuthTime(userShipperDO.getShipperFillTime());
userDO.setUserAuthByUsername(authUserName);
userApplicationService.updateUser(userDO);
userShipperDO.setUpdateByName(loginUser.getUsername());
userShipperDO.setUpdateBy(loginUser.getUserid());
userShipperDO.setUpdateTime(new Date());
userShipperDomainService.saveUserShipper(userShipperDO);
}
@Transactional(rollbackFor = Exception.class)
public void updateEnterpriseShipperFromMasterData(MdmMerchantRecordDTO record, UserShipperPo existing,
LoginUser loginUser, Long targetOrganizationId,
@@ -204,6 +204,11 @@ public class UserShipperMasterDataSyncService {
log.error(msg, e);
}
}
log.info("MDM同步进度 page={}/{}, 本页{}条, 累计新增={}, 更新={}, 跳过={}, 失败={}",
currentPage, pageData.getTotalPages() != null ? pageData.getTotalPages() : "?",
pageData.getDataInfo().size(),
resultVo.getAddCount(), resultVo.getUpdateCount(),
resultVo.getSkipCount(), resultVo.getFailCount());
totalPages = pageData.getTotalPages();
if (totalPages == null || totalPages <= 0) {
break;