feat:订单管理-增加交费总数计算
This commit is contained in:
@@ -83,6 +83,8 @@ public class OrderController extends BaseController {
|
|||||||
private FreezeOrderService freezeOrderService;
|
private FreezeOrderService freezeOrderService;
|
||||||
@Resource
|
@Resource
|
||||||
private EquipmentOrderGoodsService equipmentOrderGoodsService;
|
private EquipmentOrderGoodsService equipmentOrderGoodsService;
|
||||||
|
@Resource
|
||||||
|
private OrderPayService orderPayService;
|
||||||
|
|
||||||
|
|
||||||
@PreAuthorize("hasAuthority('shop:order:list')")
|
@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)) {
|
if (CollectionUtils.isEmpty(list)) {
|
||||||
return success(new PageResult<>(list, 0L));
|
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<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<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, 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, 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<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) {
|
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();
|
final OrderGoodsParam orderGoodsParam = new OrderGoodsParam();
|
||||||
orderGoodsParam.setOrderId(order.getOrderId());
|
orderGoodsParam.setOrderId(order.getOrderId());
|
||||||
List<EquipmentOrderGoods> equipmentOrderGoods = equipmentOrderGoodsCollect.get(order.getOrderId());
|
List<EquipmentOrderGoods> equipmentOrderGoods = equipmentOrderGoodsCollect.get(order.getOrderId());
|
||||||
if (CollectionUtils.isEmpty(equipmentOrderGoods)) {
|
if (!CollectionUtils.isEmpty(equipmentOrderGoods)) {
|
||||||
continue;
|
EquipmentOrderGoods orderGoods = equipmentOrderGoods.get(0);
|
||||||
|
order.setEquipmentGoods(orderGoods);
|
||||||
}
|
}
|
||||||
EquipmentOrderGoods orderGoods = equipmentOrderGoods.get(0);
|
|
||||||
order.setEquipmentGoods(orderGoods);
|
|
||||||
// List<Equipment> equipment = equipmentCollect.get(order.getEquipmentId());
|
// List<Equipment> equipment = equipmentCollect.get(order.getEquipmentId());
|
||||||
// if (CollectionUtils.isNotEmpty(equipment)) {
|
// if (CollectionUtils.isNotEmpty(equipment)) {
|
||||||
// order.setEquipment(equipment.get(0));
|
// order.setEquipment(equipment.get(0));
|
||||||
@@ -152,12 +166,10 @@ public class OrderController extends BaseController {
|
|||||||
order.setEquipment(equipment);
|
order.setEquipment(equipment);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PageParam<Order, OrderParam> page = new PageParam<>(param);
|
//PageParam<Order, OrderParam> page = new PageParam<>(param);
|
||||||
PageResult ret = new PageResult<>(list, page.getTotal());
|
//PageResult ret = new PageResult<>(list, page.getTotal());
|
||||||
ret.setCount((long) list.size());
|
//ret.setCount(pageResult.getCount());
|
||||||
return success(ret);
|
return success(pageResult);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreAuthorize("hasAuthority('shop:order:list')")
|
@PreAuthorize("hasAuthority('shop:order:list')")
|
||||||
|
|||||||
@@ -332,6 +332,10 @@ public class Order implements Serializable {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private Integer isRefund;
|
private Integer isRefund;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "订单交费总数")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private BigDecimal totalPayPrice;
|
||||||
|
|
||||||
public Integer getRestDay() {
|
public Integer getRestDay() {
|
||||||
if(null != orderStatus){
|
if(null != orderStatus){
|
||||||
switch(orderStatus){
|
switch(orderStatus){
|
||||||
|
|||||||
@@ -67,10 +67,20 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
@Override
|
@Override
|
||||||
public PageResult<Order> pageRel(OrderParam param) {
|
public PageResult<Order> pageRel(OrderParam param) {
|
||||||
PageParam<Order, OrderParam> page = new PageParam<>(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);
|
List<Order> list = baseMapper.selectPageRel(page, param);
|
||||||
// 是否查询订单商品
|
// 是否查询订单商品
|
||||||
if(param.getShowGoodsList() != null){
|
/*if(param.getShowGoodsList() != null){
|
||||||
list.forEach(d -> {
|
list.forEach(d -> {
|
||||||
final List<OrderGoods> goodsList = orderGoodsService.list(new LambdaQueryWrapper<OrderGoods>().eq(OrderGoods::getOrderId, d.getOrderId()).gt(OrderGoods::getTotalNum, 0));
|
final List<OrderGoods> goodsList = orderGoodsService.list(new LambdaQueryWrapper<OrderGoods>().eq(OrderGoods::getOrderId, d.getOrderId()).gt(OrderGoods::getTotalNum, 0));
|
||||||
goodsList.forEach(g -> {
|
goodsList.forEach(g -> {
|
||||||
@@ -89,7 +99,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
});
|
});
|
||||||
d.setGoodsList(goodsList);
|
d.setGoodsList(goodsList);
|
||||||
});
|
});
|
||||||
}
|
}*/
|
||||||
return new PageResult<>(list, page.getTotal());
|
return new PageResult<>(list, page.getTotal());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user