处理分页问题 以及完单报错问题处理
This commit is contained in:
parent
ae843ab767
commit
5c17e811a9
|
|
@ -1026,6 +1026,9 @@ public class OrderMasterController extends BaseController {
|
|||
|
||||
// 查询所有数据,不进行分页
|
||||
List<OrderMaster> list = orderMasterService.selectOrderMasterList(orderMaster);
|
||||
orderMaster.setPageNum(null);
|
||||
orderMaster.setPageSize(null);
|
||||
List<OrderMaster> countList = orderMasterService.selectOrderMasterList(orderMaster);
|
||||
|
||||
// 处理orderType为0的情况,额外查询原师傅ID相关的订单
|
||||
OrderMaster origiOrderMaster = new OrderMaster();
|
||||
|
|
@ -1035,6 +1038,7 @@ public class OrderMasterController extends BaseController {
|
|||
origiOrderMaster.setOrderStatuses("0,1,2,3,4");
|
||||
List<OrderMaster> originalList = orderMasterService.selectOrderMasterList(origiOrderMaster);
|
||||
list.addAll(originalList);
|
||||
countList.addAll(originalList);
|
||||
}
|
||||
|
||||
// 合并数据后去重(根据订单ID)
|
||||
|
|
@ -1042,8 +1046,15 @@ public class OrderMasterController extends BaseController {
|
|||
for (OrderMaster order : list) {
|
||||
uniqueOrderMap.put(order.getId(), order);
|
||||
}
|
||||
|
||||
List<OrderMaster> uniqueList = new ArrayList<>(uniqueOrderMap.values());
|
||||
|
||||
uniqueOrderMap = new LinkedHashMap<>();
|
||||
for (OrderMaster order : countList) {
|
||||
uniqueOrderMap.put(order.getId(), order);
|
||||
}
|
||||
countList = new ArrayList<>(uniqueOrderMap.values());
|
||||
|
||||
// 按创建时间排序
|
||||
uniqueList.sort((o1, o2) -> {
|
||||
if (o1.getUpdateTimeAlias() == null && o2.getUpdateTimeAlias() == null) return 0;
|
||||
|
|
@ -1052,8 +1063,8 @@ public class OrderMasterController extends BaseController {
|
|||
return o2.getUpdateTimeAlias().compareTo(o1.getUpdateTimeAlias());
|
||||
});
|
||||
|
||||
// 使用startPage()方式获取分页参数(从HTTP请求中获取)
|
||||
// startPage();
|
||||
// 获取分页参数(从HTTP请求中获取)
|
||||
// 注意:这里不能使用startPage(),因为我们要查询所有数据进行手动分页
|
||||
// 获取分页参数(从PageDomain中获取)
|
||||
// PageDomain pageDomain = TableSupport.buildPageRequest();
|
||||
// Integer pageNum = pageDomain.getPageNum() != null ? pageDomain.getPageNum() : orderMaster.getPageNum();
|
||||
|
|
@ -1358,7 +1369,7 @@ public class OrderMasterController extends BaseController {
|
|||
}
|
||||
orderListResponses.add(orderListResponse);
|
||||
});
|
||||
return voDataTable(orderListResponses, uniqueList);
|
||||
return voDataTable(orderListResponses, countList);
|
||||
}
|
||||
|
||||
@PostMapping("/app/count")
|
||||
|
|
|
|||
|
|
@ -254,11 +254,10 @@
|
|||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-6 control-label is-required">倒计时小时数:</label>
|
||||
<label class="col-sm-6 control-label">倒计时小时数:</label>
|
||||
<div class="col-sm-6">
|
||||
<input name="countdownHours" placeholder="请输入倒计时小时数" class="form-control" type="number" min="1" max="168"
|
||||
th:field="*{countdownHours}"
|
||||
required>
|
||||
th:field="*{countdownHours}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -380,7 +380,7 @@ public class OrderMaster extends BaseEntity {
|
|||
@Excel(name = "退款时是否已支付", cellType = Excel.ColumnType.NUMERIC, readConverterExp = "0=未支付,1=已支付")
|
||||
private Integer refundPayStatus;
|
||||
|
||||
// private Integer pageSize;
|
||||
//
|
||||
// private Integer pageNum;
|
||||
private Integer pageSize;
|
||||
|
||||
private Integer pageNum;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -193,22 +193,38 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
// 子单修改从服务中到确认中需要修改已服务商品数量,从确认中到服务中需要重置已服务商品数量
|
||||
if (OrderStatus.FINISH_CHECK.code() == orderDetail.getOrderStatus() && originOrderDetail.getOrderStatus() < OrderStatus.FINISH_CHECK.code()) {
|
||||
List<OrderGoods> orderGoodsList = orderGoodsService.selectByOrderDetailId(orderDetail.getId());
|
||||
orderGoodsList.stream().forEach(orderGoods -> {
|
||||
orderGoods.setServerGoodsNum(orderGoods.getGoodsNum());
|
||||
orderGoodsService.updateOrderGoods(orderGoods);
|
||||
// 主单关联商品相应修改已服务数量
|
||||
Integer masterServerGoodsNum = masterGoodsMap.get(orderGoods.getGoodsStandardId()).getServerGoodsNum();
|
||||
masterGoodsMap.get(orderGoods.getGoodsStandardId()).setServerGoodsNum(masterServerGoodsNum += orderGoods.getServerGoodsNum());
|
||||
});
|
||||
if (CollectionUtils.isNotEmpty(orderGoodsList)) {
|
||||
orderGoodsList.stream().filter(Objects::nonNull).forEach(orderGoods -> {
|
||||
if (orderGoods.getGoodsStandardId() != null) {
|
||||
// 检查goodsNum是否为null,提供默认值0
|
||||
Integer goodsNum = orderGoods.getGoodsNum() != null ? orderGoods.getGoodsNum() : 0;
|
||||
orderGoods.setServerGoodsNum(goodsNum);
|
||||
orderGoodsService.updateOrderGoods(orderGoods);
|
||||
// 主单关联商品相应修改已服务数量
|
||||
OrderGoods masterGoods = masterGoodsMap.get(orderGoods.getGoodsStandardId());
|
||||
if (masterGoods != null && masterGoods.getServerGoodsNum() != null) {
|
||||
Integer masterServerGoodsNum = masterGoods.getServerGoodsNum();
|
||||
masterGoods.setServerGoodsNum(masterServerGoodsNum + goodsNum);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
} else if (OrderStatus.FINISH_CHECK.code() == originOrderDetail.getOrderStatus() && orderDetail.getOrderStatus() < OrderStatus.FINISH_CHECK.code()) {
|
||||
List<OrderGoods> orderGoodsList = orderGoodsService.selectByOrderDetailId(orderDetail.getId());
|
||||
orderGoodsList.stream().forEach(orderGoods -> {
|
||||
orderGoods.setServerGoodsNum(0);
|
||||
orderGoodsService.updateOrderGoods(orderGoods);
|
||||
// 主单关联商品相应修改已服务数量
|
||||
Integer masterServerGoodsNum = masterGoodsMap.get(orderGoods.getGoodsStandardId()).getServerGoodsNum();
|
||||
masterGoodsMap.get(orderGoods.getGoodsStandardId()).setServerGoodsNum(masterServerGoodsNum -= orderGoods.getGoodsNum());
|
||||
});
|
||||
if (CollectionUtils.isNotEmpty(orderGoodsList)) {
|
||||
orderGoodsList.stream().filter(Objects::nonNull).forEach(orderGoods -> {
|
||||
if (orderGoods.getGoodsStandardId() != null) {
|
||||
orderGoods.setServerGoodsNum(0);
|
||||
orderGoodsService.updateOrderGoods(orderGoods);
|
||||
// 主单关联商品相应修改已服务数量
|
||||
OrderGoods masterGoods = masterGoodsMap.get(orderGoods.getGoodsStandardId());
|
||||
if (masterGoods != null && masterGoods.getServerGoodsNum() != null && orderGoods.getGoodsNum() != null) {
|
||||
Integer masterServerGoodsNum = masterGoods.getServerGoodsNum();
|
||||
masterGoods.setServerGoodsNum(masterServerGoodsNum - orderGoods.getGoodsNum());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
// 更新主单关联商品
|
||||
masterOrderGoodsList.stream().forEach(masterOrderGoods -> {
|
||||
|
|
|
|||
|
|
@ -1341,7 +1341,7 @@ public class OrderServiceImpl implements OrderService {
|
|||
|
||||
//单独处理待上门通知
|
||||
public void checkTimeoutDoor(OrderDetail order) {
|
||||
log.info("子单超时开始:单号:{}, 内容:{}", order.getCode(), order);
|
||||
//log.info("子单超时开始:单号:{}, 内容:{}", order.getCode(), order);
|
||||
Date now = new Date();
|
||||
// 是否超时
|
||||
boolean timeout = ONE.equals(order.getTimeout());
|
||||
|
|
|
|||
Loading…
Reference in New Issue