no message

This commit is contained in:
cb 2025-12-22 17:42:16 +08:00
parent 5a172360bc
commit dd51d48a45
3 changed files with 34 additions and 13 deletions

View File

@ -1234,7 +1234,7 @@ public class OrderController extends BaseController {
orderListRequest.setDeptId(request.getDeptId());
orderListRequest.setTimeout(1);
orderListRequest.setWorkerId(request.getWorkerId());
orderListRequest.setIsMonitoredOrder(true);
// orderListRequest.setIsMonitoredOrder(true);
orderListRequest.setNeedImgs(false);
orderListRequest.setOrderType(request.getOrderType());
response.setOverTimeOrderNum(this.appMixOrderCount(orderListRequest));
@ -1337,38 +1337,52 @@ public class OrderController extends BaseController {
List<OrderMaster> filteredMasterList = new ArrayList<OrderMaster>();
for (OrderMaster master : allList) {
boolean isKeep = false;
// 查询该主单下所有售后中的子单
// 查询该主单下所有子单使用与统计子单相同的查询条件
OrderDetail detailAfterListOfMasterQry = new OrderDetail();
detailAfterListOfMasterQry.setOrderMasterCode(master.getCode());
BeanUtils.copyProperties(orderListRequest, detailAfterListOfMasterQry);
detailAfterListOfMasterQry.setOrderMasterCode(master.getCode()); // 确保使用主单code
List<OrderDetail> tmpDetailListOfMasters = orderDetailService
.selectOrderDetailList(detailAfterListOfMasterQry);
// 如果主单下没有符合条件的子单保留主单因为子单没有被统计不存在重复计数
if (CollectionUtils.isEmpty(tmpDetailListOfMasters)) {
filteredMasterList.add(master);
continue;
}
List<OrderListResponse> detailListOfMasters = new ArrayList<>();
tmpDetailListOfMasters.forEach(model -> {
OrderListResponse response = new OrderListResponse();
BeanUtils.copyProperties(model, response);
detailListOfMasters.add(response);
});
// 检查是否有其他师傅的子单排除同个师傅的主单子单同时出现
for (OrderListResponse detailListOfMaster : detailListOfMasters) {
if (!detailListOfMaster.getWorkerId().equals(orderListRequest.getWorkerId())) {
// 修复空指针问题检查workerId是否为null
if (detailListOfMaster.getWorkerId() != null
&& orderListRequest.getWorkerId() != null
&& !detailListOfMaster.getWorkerId().equals(orderListRequest.getWorkerId())) {
isKeep = true;
break;
}
}
logger.info("主单id{},子单数据{},{}", master.getId(), CollectionUtils.isEmpty(tmpDetailListOfMasters),
isKeep);
if (isKeep || CollectionUtils.isEmpty(tmpDetailListOfMasters)) {
logger.info("主单id{},符合条件的子单数量{},是否有其他师傅的子单:{}", master.getId(), detailListOfMasters.size(), isKeep);
// 如果有其他师傅的子单保留主单
// 如果所有子单都是同一个师傅等于请求的workerId且这些子单已经在前面统计过了排除主单避免重复计数
if (isKeep) {
filteredMasterList.add(master);
}
// 如果所有子单都是同一个师傅且这些子单已经在前面统计过了不添加到filteredMasterList排除主单
}
count += filteredMasterList.size();
mateIds = filteredMasterList.stream().map(OrderMaster::getId)
.collect(Collectors.toList());
logger.info("主单filteredMasterList超时数量{}总数{},filteredMasterList的id集合{}", filteredMasterList.size(), count,
mateIds);
if (CollectionUtils.isEmpty(filteredMasterList)) {
count += masterList.size();
}
} else {
count += masterList.size();
}
@ -2076,6 +2090,10 @@ public class OrderController extends BaseController {
if (orderMaster.getOrderStatus() != null && OrderStatus.PLAIN.code() == orderMaster.getOrderStatus()) {
orderMaster.setHasDispatchedAll(0);
}
if(orderMaster.getTimeout()!=null && orderMaster.getTimeout()>0){
orderMaster.setOrderStatuses("1,2,4");
}
List<OrderMaster> list = orderMasterService.selectOrderMasterList(orderMaster);
List<Long> orderMasterIds = list.stream().map(OrderMaster::getId).collect(Collectors.toList());
// 缓存 orderDetailMap

View File

@ -719,8 +719,10 @@
<if test="shareAccountCountdownDuration != null">#{shareAccountCountdownDuration},</if>
<if test="refundPayStatus != null">#{refundPayStatus},</if>
0,
SYSDATE(),
SYSDATE()
<if test="createTime != null">#{createTime},</if>
<if test="createTime == null">SYSDATE(),</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateTime == null">SYSDATE()</if>
)
</insert>

View File

@ -242,7 +242,8 @@ public class OrderServiceImpl implements OrderService {
if (order.getGoodsOrderMasterId()==null) {
orderMasterService.removeWorker(order.getId());
}
orderMasterService.updateCreateTime(order.getId());
// orderMasterService.up;
// 移除 updateCreateTime 调用创建时间不应该被修改它代表订单最初创建的时间
}
return;
}