修改商业合作伙伴推送-各组织独立问题

This commit is contained in:
zhaoqing
2026-06-11 11:22:43 +08:00
parent cc37974239
commit 0c69a6ef36
7 changed files with 118 additions and 29 deletions
@@ -26,6 +26,8 @@ import com.mhd.system.api.FinanceServiceFeign;
import com.mhd.system.api.WlhyServiceFeign;
import com.mhd.system.api.event.object.ShipperNameChangedEvent;
import com.mhd.system.api.service.webSocket.AsyncWebSocketApplicationService;
import com.mhd.user.domain.businessPartnerPushLog.entity.BusinessPartnerPushLog;
import com.mhd.user.domain.businessPartnerPushLog.repository.mapper.BusinessPartnerPushLogMapper;
import com.mhd.user.domain.roleAggregate.entity.RoleEntity;
import com.mhd.user.domain.roleAggregate.repository.todo.RoleDo;
import com.mhd.user.domain.roleAggregate.service.RoleDomainService;
@@ -117,6 +119,9 @@ public class UserShipperApplicationService {
@Resource
private UserShipperMapper userShipperMapper;
@Resource
private BusinessPartnerPushLogMapper businessPartnerPushLogMapper;
/**
* @Description 查询托运人列表
* @Author Alex
@@ -1223,23 +1228,47 @@ public class UserShipperApplicationService {
}
/**
* 推送状态更新
* @param shipperId
* @param pushStatus
* @param pushTime
* @param pushBy
* @return
* 推送状态更新(按 shipper_id + organization_id 维度,支持多组织独立推送)
*/
public int updatePushStatus(Long shipperId, Integer pushStatus, String pushTime, Long pushBy,String pushByName) {
UserShipperEntity userShipper = new UserShipperEntity();
userShipper.setShipperId(shipperId);
userShipper.setPushStatus(pushStatus);
if (pushTime != null && !"".equals(pushTime)) {
userShipper.setPushTime(DateUtil.parse(pushTime));
public int updatePushStatus(Long shipperId, Integer pushStatus, String pushTime, Long pushBy, String pushByName, Long organizationId) {
// 查询是否已有该组织对该货主的推送记录
BusinessPartnerPushLog pushLog =
businessPartnerPushLogMapper.selectOne(
new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<BusinessPartnerPushLog>()
.eq(BusinessPartnerPushLog::getShipperId, shipperId)
.eq(BusinessPartnerPushLog::getOrganizationId, organizationId)
.eq(BusinessPartnerPushLog::getDelFlag, 1)
);
Date now = new Date();
Date pushDate = (pushTime != null && !"".equals(pushTime)) ? DateUtil.parse(pushTime) : now;
if (pushLog != null) {
// 已有记录 → 更新
pushLog.setPushStatus(pushStatus);
pushLog.setPushTime(pushDate);
pushLog.setPushBy(pushBy);
pushLog.setPushByName(pushByName);
pushLog.setUpdateTime(now);
pushLog.setUpdateBy(pushBy);
return businessPartnerPushLogMapper.updateById(pushLog) > 0 ? 1 : 0;
} else {
// 没有记录 → 新增
BusinessPartnerPushLog newLog =
new BusinessPartnerPushLog();
newLog.setShipperId(shipperId);
newLog.setOrganizationId(organizationId);
newLog.setPushStatus(pushStatus);
newLog.setPushTime(pushDate);
newLog.setPushBy(pushBy);
newLog.setPushByName(pushByName);
newLog.setDelFlag(1);
newLog.setCreateTime(now);
newLog.setCreateBy(pushBy);
newLog.setUpdateTime(now);
newLog.setUpdateBy(pushBy);
return businessPartnerPushLogMapper.insert(newLog) > 0 ? 1 : 0;
}
userShipper.setPushBy(pushBy);
userShipper.setPushByName(pushByName);
return userShipperMapper.updatePushStatus(userShipper);
}
public UserShipperPo findByCustomerNcCodeAndOrganizationId(String customerNcCode, Long organizationId) {