feat:订单管理-增加交费总数计算
This commit is contained in:
@@ -83,6 +83,8 @@ public class OrderController extends BaseController {
|
||||
private FreezeOrderService freezeOrderService;
|
||||
@Resource
|
||||
private EquipmentOrderGoodsService equipmentOrderGoodsService;
|
||||
@Resource
|
||||
private OrderPayService orderPayService;
|
||||
|
||||
|
||||
@PreAuthorize("hasAuthority('shop:order:list')")
|
||||
@@ -116,7 +118,9 @@ public class OrderController extends BaseController {
|
||||
|
||||
// 云芯威项目查询关联设备
|
||||
// 查询订单的关联商品
|
||||
List<Order> list = orderService.listRel(param);
|
||||
//List<Order> list = orderService.listRel(param);//注意:这里每次查询都全量会非常影响性能
|
||||
PageResult<Order> pageResult= orderService.pageRel(param);
|
||||
List<Order> list = pageResult.getList();
|
||||
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
return success(new PageResult<>(list, 0L));
|
||||
@@ -129,20 +133,30 @@ public class OrderController extends BaseController {
|
||||
}
|
||||
List<Equipment> equipmentList = equipmentService.list(Wrappers.lambdaQuery(Equipment.class).in(Equipment::getEquipmentId, equipmentIds));
|
||||
List<EquipmentOrderGoods> equipmentOrderGoodsList = equipmentOrderGoodsService.list(Wrappers.lambdaQuery(EquipmentOrderGoods.class).in(EquipmentOrderGoods::getOrderId, orderIds));
|
||||
List<OrderPay> orderPayList = orderPayService.list(Wrappers.lambdaQuery(OrderPay.class).eq(OrderPay::getPayStatus,20).in(OrderPay::getRentOrderId, orderIds));
|
||||
// Map<Integer, List<Equipment>> equipmentCollect = equipmentList.stream().collect(Collectors.groupingBy(Equipment::getEquipmentId));
|
||||
Map<Integer, Equipment> equipmentCollect = equipmentList.stream().collect(Collectors.toMap(Equipment::getEquipmentId, e->e));
|
||||
Map<Integer, List<EquipmentOrderGoods>> equipmentOrderGoodsCollect = equipmentOrderGoodsList.stream().collect(Collectors.groupingBy(EquipmentOrderGoods::getOrderId));
|
||||
Map<Integer, List<OrderPay>> orderPayCollect = orderPayList.stream().collect(Collectors.groupingBy(OrderPay::getRentOrderId));
|
||||
|
||||
// 查询订单的设备
|
||||
for (Order order : list) {
|
||||
//计算缴费总钱数
|
||||
List<OrderPay> orderPays = orderPayCollect.get(order.getOrderId());
|
||||
if (null != orderPays && !orderPays.isEmpty()) {
|
||||
BigDecimal sum = orderPays.stream().map(OrderPay::getOrderPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
order.setTotalPayPrice(sum);
|
||||
} else {
|
||||
order.setTotalPayPrice(BigDecimal.ZERO);
|
||||
}
|
||||
|
||||
final OrderGoodsParam orderGoodsParam = new OrderGoodsParam();
|
||||
orderGoodsParam.setOrderId(order.getOrderId());
|
||||
List<EquipmentOrderGoods> equipmentOrderGoods = equipmentOrderGoodsCollect.get(order.getOrderId());
|
||||
if (CollectionUtils.isEmpty(equipmentOrderGoods)) {
|
||||
continue;
|
||||
if (!CollectionUtils.isEmpty(equipmentOrderGoods)) {
|
||||
EquipmentOrderGoods orderGoods = equipmentOrderGoods.get(0);
|
||||
order.setEquipmentGoods(orderGoods);
|
||||
}
|
||||
EquipmentOrderGoods orderGoods = equipmentOrderGoods.get(0);
|
||||
order.setEquipmentGoods(orderGoods);
|
||||
// List<Equipment> equipment = equipmentCollect.get(order.getEquipmentId());
|
||||
// if (CollectionUtils.isNotEmpty(equipment)) {
|
||||
// order.setEquipment(equipment.get(0));
|
||||
@@ -152,12 +166,10 @@ public class OrderController extends BaseController {
|
||||
order.setEquipment(equipment);
|
||||
}
|
||||
}
|
||||
PageParam<Order, OrderParam> page = new PageParam<>(param);
|
||||
PageResult ret = new PageResult<>(list, page.getTotal());
|
||||
ret.setCount((long) list.size());
|
||||
return success(ret);
|
||||
|
||||
|
||||
//PageParam<Order, OrderParam> page = new PageParam<>(param);
|
||||
//PageResult ret = new PageResult<>(list, page.getTotal());
|
||||
//ret.setCount(pageResult.getCount());
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('shop:order:list')")
|
||||
|
||||
@@ -332,6 +332,10 @@ public class Order implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private Integer isRefund;
|
||||
|
||||
@ApiModelProperty(value = "订单交费总数")
|
||||
@TableField(exist = false)
|
||||
private BigDecimal totalPayPrice;
|
||||
|
||||
public Integer getRestDay() {
|
||||
if(null != orderStatus){
|
||||
switch(orderStatus){
|
||||
|
||||
@@ -67,10 +67,20 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
@Override
|
||||
public PageResult<Order> pageRel(OrderParam param) {
|
||||
PageParam<Order, OrderParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("delivery_time desc,create_time desc");
|
||||
String sort = param.getSort();
|
||||
String order = param.getOrder();
|
||||
if(StrUtil.isNotBlank(sort)){
|
||||
String orderStr = sort;
|
||||
if(StrUtil.isNotBlank(order)){
|
||||
orderStr += " " + order;
|
||||
}
|
||||
page.setDefaultOrder(orderStr);
|
||||
} else {
|
||||
page.setDefaultOrder("create_time desc");
|
||||
}
|
||||
List<Order> list = baseMapper.selectPageRel(page, param);
|
||||
// 是否查询订单商品
|
||||
if(param.getShowGoodsList() != null){
|
||||
/*if(param.getShowGoodsList() != null){
|
||||
list.forEach(d -> {
|
||||
final List<OrderGoods> goodsList = orderGoodsService.list(new LambdaQueryWrapper<OrderGoods>().eq(OrderGoods::getOrderId, d.getOrderId()).gt(OrderGoods::getTotalNum, 0));
|
||||
goodsList.forEach(g -> {
|
||||
@@ -89,7 +99,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
});
|
||||
d.setGoodsList(goodsList);
|
||||
});
|
||||
}
|
||||
}*/
|
||||
return new PageResult<>(list, page.getTotal());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user