消费者售后单列表

This commit is contained in:
clunt 2022-09-25 22:46:05 +08:00
parent e4db217b0c
commit 7a0eb20a76
4 changed files with 127 additions and 1 deletions

View File

@ -298,7 +298,7 @@ public class OrderDetailController extends BaseController {
});
String ids = orderDetailIds.toString();
if(ids.length() > 0){
orderDetail.setOrderDetailIds(ids);
orderDetail.setOrderDetailIds(ids.substring(0, -1));
}
startPage();
List<OrderListResponse> orderListResponses = new ArrayList<>();

View File

@ -21,9 +21,11 @@ import com.ghy.goods.domain.GoodsStandard;
import com.ghy.goods.service.GoodsImgsService;
import com.ghy.goods.service.GoodsService;
import com.ghy.goods.service.GoodsStandardService;
import com.ghy.order.domain.AfterServiceRecord;
import com.ghy.order.domain.OrderDetail;
import com.ghy.order.domain.OrderGoods;
import com.ghy.order.domain.OrderMaster;
import com.ghy.order.service.IAfterServiceRecordService;
import com.ghy.order.service.OrderDetailService;
import com.ghy.order.service.OrderGoodsService;
import com.ghy.order.service.OrderMasterService;
@ -91,6 +93,8 @@ public class OrderMasterController extends BaseController {
private OrderFineRecordService orderFineRecordService;
@Autowired
private ISysAreaService sysAreaService;
@Autowired
private IAfterServiceRecordService afterServiceRecordService;
@RequiresPermissions("order:master:view")
@GetMapping()
@ -176,6 +180,124 @@ public class OrderMasterController extends BaseController {
});
// PageDomain pageDomain = TableSupport.buildPageRequest();
// if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize()) {
// rspData.setRows(orderListResponses);
// rspData.setTotal(orderListResponses.size());
// return rspData;
// }
// Integer pageSize = pageDomain.getPageNum();
// if (pageSize > orderListResponses.size()) {
// pageSize = orderListResponses.size();
// }
// rspData.setRows(orderListResponses.subList(0, pageSize));
// rspData.setTotal(orderListResponses.size());
return voDataTable(orderListResponses, list);
}
@PostMapping("/after/list")
@ResponseBody
public TableDataInfo afterList(@RequestBody OrderMaster orderMaster) {
// 查所有售后的单
List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(new AfterServiceRecord());
// 踢重后的子单ids
List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList());
StringBuilder orderDetailIds = new StringBuilder();
OrderDetail orderDetail = new OrderDetail();
detailIds.forEach(id->{
orderDetailIds.append(id).append(",");
});
String ids = orderDetailIds.toString();
if(ids.length() > 0){
orderDetail.setOrderDetailIds(ids.substring(0, -1));
}
// 所有售后的子单
List<OrderDetail> orderDetailList = orderDetailService.selectOrderDetailList(orderDetail);
StringBuilder orderMasterIds = new StringBuilder();
orderDetailList.stream().map(OrderDetail::getOrderMasterId).distinct()
.collect(Collectors.toList()).forEach(id->{
orderMasterIds.append(id).append(",");
});
if(orderMasterIds.toString().length()>0){
orderMaster.setOrderMasterIds(orderMasterIds.substring(0, -1));
}
startPage();
List<OrderListResponse> orderListResponses = new ArrayList<>();
List<OrderMaster> list = orderMasterService.selectOrderMasterList(orderMaster);
list.forEach(master -> {
// 初始化属性
OrderListResponse orderListResponse = new OrderListResponse();
List<OrderStandard> standardList = new ArrayList<>();
// 师傅信息
Worker worker = master.getWorkerId() != null ? workerService.selectById(master.getWorkerId()) : null;
// 消费者信息
// Customer customer = customerService.selectByCustomerId(master.getCustomerId());
// 商品规格及信息
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId());
// 商品信息
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
Goods goods = goodsService.selectById(goodsStandard.getGoodsId());
// 财务信息
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId());
// 地址信息
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId());
SysArea sysArea = sysAreaService.selectById(customerAddress.getCountryId());
String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress();
// 查询是否超时
List<OrderTimeoutRecord> timeoutRecords = new ArrayList<>();
List<OrderDetail> detailOrderList = orderDetailService.selectByOrderMasterId(master.getId());
detailOrderList.stream().forEach(detail -> {
OrderTimeoutRecord timeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus());
if (timeoutRecord != null) {
timeoutRecords.add(timeoutRecord);
}
});
for (OrderGoods orderGoods : orderStandardList) {
OrderStandard orderStandard = new OrderStandard();
orderStandard.setStandardName(orderGoods.getGoodsName());
orderStandard.setStandardNum(orderGoods.getGoodsNum());
standardList.add(orderStandard);
}
// 编辑返回属性
orderListResponse.setOrderMasterId(master.getId());
orderListResponse.setGoodsName(goods.getGoodsName());
orderListResponse.setGoodsLogoUrl(goods.getGoodsImgUrl());
orderListResponse.setDiscountMoney(financialMaster.getDiscountMoney());
orderListResponse.setTotalMoney(financialMaster.getTotalMoney());
orderListResponse.setPayMoney(financialMaster.getPayMoney());
orderListResponse.setWorkerName(worker == null ? "" : worker.getName());
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
orderListResponse.setCustomerName(customerAddress.getName());
orderListResponse.setCustomerPhone(customerAddress.getPhone());
orderListResponse.setServerTime(master.getRevTime());
orderListResponse.setExpectTimeStart(master.getExpectTimeStart());
orderListResponse.setExpectTimeEnd(master.getExpectTimeEnd());
orderListResponse.setOrderStatus(master.getOrderStatus());
orderListResponse.setPayStatus(master.getPayStatus());
orderListResponse.setPayType(master.getPayType());
orderListResponse.setOrderMasterCode(master.getCode());
orderListResponse.setStandardList(standardList);
orderListResponse.setAddress(completeAddress);
orderListResponse.setRemark(goods.getRemark());
orderListResponse.setCustomerRemark(master.getRemark());
orderListResponse.setOrderTimeoutRecords(timeoutRecords);
orderListResponses.add(orderListResponse);
});
// PageDomain pageDomain = TableSupport.buildPageRequest();
// if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize()) {
// rspData.setRows(orderListResponses);

View File

@ -77,4 +77,5 @@ public class OrderMaster extends BaseEntity {
private Boolean isOverTime;
private String orderMasterIds;
}

View File

@ -119,6 +119,9 @@
<if test="createTimeEnd != null">
AND om.create_time &lt; #{createTimeEnd}
</if>
<if test="orderMasterIds != null">
AND om.id in (#{orderMasterIds});
</if>
</where>
order by om.create_time
<trim suffixOverrides=",">