|
|
|
@ -110,6 +110,7 @@ import java.math.BigDecimal;
|
|
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
|
import java.util.*; |
|
|
|
|
import java.util.concurrent.TimeUnit; |
|
|
|
|
import java.util.function.Consumer; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -2409,78 +2410,140 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<StoreOrderMapper, Y
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public Map<String, Object> queryManyType(String[] typeList, Pageable pageable,YxStoreOrderQueryCriteria criteria) { |
|
|
|
|
public Map<String, Object> queryManyType(String[] typeList, Pageable pageable,YxStoreOrderQueryCriteria criteria,String orderStatus) { |
|
|
|
|
LambdaQueryWrapper<YxStoreOrder> queryWrapper =new LambdaQueryWrapper<>(); |
|
|
|
|
if(StringUtils.isNotBlank(criteria.getOrderId())){ |
|
|
|
|
queryWrapper.and(wrapper->{ |
|
|
|
|
wrapper.like(YxStoreOrder::getOrderId,criteria.getOrderId()); |
|
|
|
|
}); |
|
|
|
|
// queryWrapper.like(YxStoreOrder::getOrderId,criteria.getOrderId());
|
|
|
|
|
queryWrapper.like(YxStoreOrder::getOrderId,criteria.getOrderId()); |
|
|
|
|
} |
|
|
|
|
if(StringUtils.isNotBlank(criteria.getUserPhone())){ |
|
|
|
|
queryWrapper.and(wrapper->{ |
|
|
|
|
wrapper.like(YxStoreOrder::getUserPhone,criteria.getUserPhone()); |
|
|
|
|
}); |
|
|
|
|
// queryWrapper.like(YxStoreOrder::getUserPhone,criteria.getUserPhone());
|
|
|
|
|
queryWrapper.like(YxStoreOrder::getUserPhone,criteria.getUserPhone()); |
|
|
|
|
} |
|
|
|
|
if(StringUtils.isNotBlank(criteria.getUserAddress())){ |
|
|
|
|
queryWrapper.like(YxStoreOrder::getUserAddress,criteria.getUserAddress()); |
|
|
|
|
} |
|
|
|
|
for (String orderType:typeList){ |
|
|
|
|
switch (orderType) { |
|
|
|
|
case "1": //普通
|
|
|
|
|
// criteria.setBargainId(0);
|
|
|
|
|
// criteria.setCombinationId(0);
|
|
|
|
|
// criteria.setSeckillId(0);
|
|
|
|
|
queryWrapper .or((wrapper)->{ |
|
|
|
|
wrapper.eq(YxStoreOrder::getBargainId,0) |
|
|
|
|
.eq(YxStoreOrder::getCombinationId,0) |
|
|
|
|
.eq(YxStoreOrder::getSeckillId,0); |
|
|
|
|
queryWrapper.like(YxStoreOrder::getUserAddress,criteria.getUserAddress()); //地址模糊查询
|
|
|
|
|
} |
|
|
|
|
if (StrUtil.isNotEmpty(orderStatus)){ //选择了订单状态
|
|
|
|
|
switch (orderStatus) { |
|
|
|
|
case "0": //未支付
|
|
|
|
|
queryWrapper.and((wrapper)->{ |
|
|
|
|
wrapper.eq(YxStoreOrder::getPaid,OrderInfoEnum.PAY_STATUS_0.getValue()) |
|
|
|
|
.eq(YxStoreOrder::getStatus,OrderInfoEnum.STATUS_0.getValue()) |
|
|
|
|
.eq(YxStoreOrder::getRefundStatus,OrderInfoEnum.REFUND_STATUS_0.getValue()); |
|
|
|
|
}); |
|
|
|
|
break; |
|
|
|
|
case "2": //拼团
|
|
|
|
|
// criteria.setNewCombinationId(0);
|
|
|
|
|
queryWrapper.or((wrapper)->{ |
|
|
|
|
wrapper.ne(YxStoreOrder::getCombinationId,0); |
|
|
|
|
case "1": //未发货(待审核)
|
|
|
|
|
queryWrapper.and((wrapper)->{ |
|
|
|
|
wrapper.eq(YxStoreOrder::getPaid,OrderInfoEnum.PAY_STATUS_1.getValue()) |
|
|
|
|
.eq(YxStoreOrder::getStatus,OrderInfoEnum.STATUS_0.getValue()) |
|
|
|
|
.eq(YxStoreOrder::getRefundStatus,OrderInfoEnum.REFUND_STATUS_0.getValue()); |
|
|
|
|
}); |
|
|
|
|
break; |
|
|
|
|
case "3": //秒杀
|
|
|
|
|
// criteria.setNewSeckillId(0);
|
|
|
|
|
queryWrapper.or((wrapper)->{ |
|
|
|
|
wrapper.ne(YxStoreOrder::getSeckillId,0); |
|
|
|
|
case "5": //拣货中(通过审核,原未发货)
|
|
|
|
|
queryWrapper.and((wrapper)->{ |
|
|
|
|
wrapper.eq(YxStoreOrder::getPaid,OrderInfoEnum.PAY_STATUS_1.getValue()) |
|
|
|
|
.eq(YxStoreOrder::getStatus,OrderInfoEnum.STATUS_5.getValue()) |
|
|
|
|
.eq(YxStoreOrder::getRefundStatus,OrderInfoEnum.REFUND_STATUS_0.getValue()); |
|
|
|
|
}); |
|
|
|
|
break; |
|
|
|
|
case "4": //砍价
|
|
|
|
|
// criteria.setNewBargainId(0);
|
|
|
|
|
queryWrapper.or((wrapper)->{ |
|
|
|
|
wrapper.ne(YxStoreOrder::getBargainId,0); |
|
|
|
|
case "2": //待收货
|
|
|
|
|
queryWrapper.and((wrapper)->{ |
|
|
|
|
wrapper.eq(YxStoreOrder::getPaid,OrderInfoEnum.PAY_STATUS_1.getValue()) |
|
|
|
|
.eq(YxStoreOrder::getStatus,OrderInfoEnum.STATUS_1.getValue()) |
|
|
|
|
.eq(YxStoreOrder::getRefundStatus,OrderInfoEnum.REFUND_STATUS_0.getValue()); |
|
|
|
|
}); |
|
|
|
|
break; |
|
|
|
|
case "5": //核销
|
|
|
|
|
// criteria.setShippingType(2);
|
|
|
|
|
queryWrapper.or((wrapper)->{ |
|
|
|
|
wrapper.ne(YxStoreOrder::getShippingType,2); |
|
|
|
|
case "3": |
|
|
|
|
queryWrapper.and((wrapper)->{ |
|
|
|
|
wrapper.eq(YxStoreOrder::getPaid,OrderInfoEnum.PAY_STATUS_1.getValue()) |
|
|
|
|
.eq(YxStoreOrder::getStatus,OrderInfoEnum.STATUS_2.getValue()) |
|
|
|
|
.eq(YxStoreOrder::getRefundStatus,OrderInfoEnum.REFUND_STATUS_0.getValue()); |
|
|
|
|
}); |
|
|
|
|
break; |
|
|
|
|
case "6": //积分
|
|
|
|
|
// criteria.setPayIntegral(new BigDecimal("0.00"));
|
|
|
|
|
queryWrapper.or((wrapper)->{ |
|
|
|
|
wrapper.gt(YxStoreOrder::getPayIntegral,new BigDecimal("0.00")); |
|
|
|
|
case "4": |
|
|
|
|
queryWrapper.and((wrapper)->{ |
|
|
|
|
wrapper.eq(YxStoreOrder::getPaid,OrderInfoEnum.PAY_STATUS_1.getValue()) |
|
|
|
|
.eq(YxStoreOrder::getStatus,OrderInfoEnum.STATUS_3.getValue()) |
|
|
|
|
.eq(YxStoreOrder::getRefundStatus,OrderInfoEnum.REFUND_STATUS_0.getValue()); |
|
|
|
|
}); |
|
|
|
|
break; |
|
|
|
|
case "-1": |
|
|
|
|
queryWrapper.and((wrapper)->{ |
|
|
|
|
wrapper.eq(YxStoreOrder::getPaid,OrderInfoEnum.PAY_STATUS_1.getValue()) |
|
|
|
|
.eq(YxStoreOrder::getRefundStatus,OrderInfoEnum.REFUND_STATUS_1.getValue()); |
|
|
|
|
}); |
|
|
|
|
break; |
|
|
|
|
case "-2": |
|
|
|
|
queryWrapper.and((wrapper)->{ |
|
|
|
|
wrapper.eq(YxStoreOrder::getPaid,OrderInfoEnum.PAY_STATUS_1.getValue()) |
|
|
|
|
.eq(YxStoreOrder::getRefundStatus,OrderInfoEnum.REFUND_STATUS_2.getValue()); |
|
|
|
|
}); |
|
|
|
|
break; |
|
|
|
|
case "-9": |
|
|
|
|
queryWrapper.and((wrapper)->{ |
|
|
|
|
wrapper.eq(YxStoreOrder::getRefundStatus,OrderInfoEnum.REFUND_STATUS_0.getValue()); |
|
|
|
|
}); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//时间
|
|
|
|
|
if (ObjectUtil.isNotEmpty(criteria.getCreateTime())){ |
|
|
|
|
queryWrapper.between(YxStoreOrder::getCreateTime,criteria.getCreateTime().get(0),criteria.getCreateTime().get(1)); |
|
|
|
|
} |
|
|
|
|
queryWrapper.and(wrapper->{ |
|
|
|
|
for (String orderType:typeList){ //筛选了订单类型
|
|
|
|
|
switch (orderType) { |
|
|
|
|
case "1": //普通
|
|
|
|
|
wrapper.or((wrapper1)->{ |
|
|
|
|
wrapper1.eq(YxStoreOrder::getBargainId,0) |
|
|
|
|
.eq(YxStoreOrder::getCombinationId,0) |
|
|
|
|
.eq(YxStoreOrder::getSeckillId,0); |
|
|
|
|
}); |
|
|
|
|
break; |
|
|
|
|
case "2": //拼团
|
|
|
|
|
// criteria.setNewCombinationId(0);
|
|
|
|
|
wrapper.or((wrapper1)->{ |
|
|
|
|
wrapper1.ne(YxStoreOrder::getCombinationId,0); |
|
|
|
|
}); |
|
|
|
|
break; |
|
|
|
|
case "3": //秒杀
|
|
|
|
|
// criteria.setNewSeckillId(0);
|
|
|
|
|
wrapper.or((wrapper1)->{ |
|
|
|
|
wrapper1.ne(YxStoreOrder::getSeckillId,0); |
|
|
|
|
}); |
|
|
|
|
break; |
|
|
|
|
case "4": //砍价
|
|
|
|
|
// criteria.setNewBargainId(0);
|
|
|
|
|
wrapper.or((wrapper1)->{ |
|
|
|
|
wrapper1.ne(YxStoreOrder::getBargainId,0); |
|
|
|
|
}); |
|
|
|
|
break; |
|
|
|
|
case "5": //核销
|
|
|
|
|
// criteria.setShippingType(2);
|
|
|
|
|
wrapper.or((wrapper1)->{ |
|
|
|
|
wrapper1.ne(YxStoreOrder::getShippingType,2); |
|
|
|
|
}); |
|
|
|
|
break; |
|
|
|
|
case "6": //积分
|
|
|
|
|
// criteria.setPayIntegral(new BigDecimal("0.00"));
|
|
|
|
|
wrapper.or((wrapper1)->{ |
|
|
|
|
wrapper1.gt(YxStoreOrder::getPayIntegral,new BigDecimal("0.00")); |
|
|
|
|
}); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
getPage(pageable); |
|
|
|
|
PageInfo<YxStoreOrder> page = new PageInfo<>(storeOrderMapper.selectList(queryWrapper)); |
|
|
|
|
List<YxStoreOrderDto> storeOrderDTOS = new ArrayList<>(); |
|
|
|
|
for (YxStoreOrder yxStoreOrder : page.getList()) { |
|
|
|
|
this.orderList(storeOrderDTOS, yxStoreOrder); |
|
|
|
|
} |
|
|
|
|
// List<YxStoreOrderDto> list=this.newAssemble(page.getList());
|
|
|
|
|
// List<YxStoreOrderDto> storeOrderDTOS = new ArrayList<>();
|
|
|
|
|
// for (YxStoreOrder yxStoreOrder : page.getList()) {
|
|
|
|
|
// this.orderList(storeOrderDTOS, yxStoreOrder);
|
|
|
|
|
// }
|
|
|
|
|
List<YxStoreOrderDto> list=this.newAssemble(page.getList()); |
|
|
|
|
Map<String, Object> map = new LinkedHashMap<>(2); |
|
|
|
|
map.put("content", storeOrderDTOS); |
|
|
|
|
// map.put("content", list);
|
|
|
|
|
// map.put("content", storeOrderDTOS);
|
|
|
|
|
map.put("content", list); |
|
|
|
|
map.put("totalElements", page.getTotal()); |
|
|
|
|
return map; |
|
|
|
|
} |
|
|
|
|