diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java index c0197705..a9cf2277 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java @@ -732,7 +732,7 @@ public class OrderController extends BaseController { response.setAfterListNum(afterList.size()); // 统计超时单量 orderListRequest = new OrderListRequest(); - orderListRequest.setIsOverTime(true); + orderListRequest.setTimeout(1); orderListRequest.setWorkerId(request.getWorkerId()); orderListRequest.setIsMonitoredOrder(true); orderListRequest.setAllSelfAssigned(0); @@ -784,7 +784,7 @@ public class OrderController extends BaseController { BeanUtils.copyProperties(orderListRequest, orderMasterReq); List masterList = this.getMasterList(orderMasterReq); // 超时查询需要排除同个师傅的主单子单同时出现 - if (orderListRequest.getIsOverTime() != null && orderListRequest.getIsOverTime()) { + if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) { // 需要排除同个师傅的主单子单同时出现 List filteredMasterList = new ArrayList(); for (OrderListResponse master : masterList) { @@ -947,17 +947,10 @@ public class OrderController extends BaseController { SysArea sysArea = sysAreaService.selectById(customerAddress.getCountryId()); String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress(); - // 查询是否超时 - List timeoutRecords = new ArrayList<>(); // 查询售后记录 List afterServiceRecords = new ArrayList<>(); List detailOrderList = orderDetailService.selectByOrderMasterId(master.getId()); detailOrderList.stream().forEach(detail -> { - OrderTimeoutRecord timeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus()); - if (timeoutRecord != null) { - timeoutRecords.add(timeoutRecord); - } - AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord(); afterServiceRecordQry.setOrderDetailId(detail.getId()); List records = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecordQry); @@ -996,7 +989,8 @@ public class OrderController extends BaseController { orderListResponse.setAddress(completeAddress); orderListResponse.setRemark(goods.getRemark()); orderListResponse.setCustomerRemark(master.getRemark()); - orderListResponse.setOrderTimeoutRecords(timeoutRecords); + orderListResponse.setTimeout(master.getTimeout()); + orderListResponse.setTimeoutFineTimes(master.getTimeoutFineTimes()); orderListResponse.setAfterServiceRecordList(afterServiceRecords); orderListResponses.add(orderListResponse); @@ -1075,10 +1069,6 @@ public class OrderController extends BaseController { standardList.add(orderStandard); } - // 查询是否超时 - OrderTimeoutRecord orderTimeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus()); - Boolean isOverTime = orderTimeoutRecord != null; - if (this.checkIsOnlyServer(orderMaster.getId(), detail.getWorkerId())) { FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(detail.getOrderMasterId()); BigDecimal workerFee = financialMaster.getPayMoney(); @@ -1125,7 +1115,7 @@ public class OrderController extends BaseController { orderListResponse.setRemark(goods.getRemark()); orderListResponse.setCustomerRemark(orderMaster.getRemark()); orderListResponse.setOrderType(detail.getOrderType()); - orderListResponse.setIsOverTime(isOverTime); + orderListResponse.setTimeout(detail.getTimeout()); orderListResponse.setAfterServiceRecordList(detailRecordMap.get(detail.getId())); orderListResponse.setChangeMoney(changeMoney); orderListResponse.setDrawCashStatus(detail.getDrawCashStatus()); @@ -1180,25 +1170,15 @@ public class OrderController extends BaseController { SysArea sysArea = sysAreaService.selectById(customerAddress.getCountryId()); String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress(); - // 查询是否超时 - List timeoutRecords = new ArrayList<>(); // 查询售后记录 List afterServiceRecords = new ArrayList<>(); List detailOrderList = orderDetailService.selectByOrderMasterId(master.getId()); detailOrderList.stream().forEach(detail -> { - OrderTimeoutRecord timeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus()); - if (timeoutRecord != null) { - timeoutRecords.add(timeoutRecord); - } - AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord(); afterServiceRecordQry.setOrderDetailId(detail.getId()); List records = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecordQry); afterServiceRecords.addAll(records); }); - if (Boolean.TRUE.equals(orderMaster.getIsOverTime()) && timeoutRecords.size() == 0) { - continue; - } for (OrderGoods orderGoods : orderStandardList) { OrderStandard orderStandard = new OrderStandard(); @@ -1231,7 +1211,8 @@ public class OrderController extends BaseController { orderListResponse.setAddress(completeAddress); orderListResponse.setRemark(goods.getRemark()); orderListResponse.setCustomerRemark(master.getRemark()); - orderListResponse.setOrderTimeoutRecords(timeoutRecords); + orderListResponse.setTimeout(master.getTimeout()); + orderListResponse.setTimeoutFineTimes(master.getTimeoutFineTimes()); orderListResponse.setChangeMoney(changeMoney); orderListResponse.setServerMoney(financialMaster.getServerMoney()); orderListResponse.setAfterServiceRecordList(afterServiceRecords); @@ -1286,13 +1267,6 @@ public class OrderController extends BaseController { standardList.add(orderStandard); } - // 查询是否超时 - OrderTimeoutRecord orderTimeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus()); - Boolean isOverTime = orderTimeoutRecord != null; - if (Boolean.TRUE.equals(orderDetail.getIsOverTime()) && !isOverTime) { - continue; - } - // 售后记录 // AfterServiceRecord afterServiceRecord = new AfterServiceRecord(); // afterServiceRecord.setOrderDetailId(detail.getId()); @@ -1329,7 +1303,8 @@ public class OrderController extends BaseController { orderListResponse.setRemark(goods.getRemark()); orderListResponse.setCustomerRemark(orderMaster.getRemark()); orderListResponse.setOrderType(detail.getOrderType()); - orderListResponse.setIsOverTime(isOverTime); + orderListResponse.setTimeout(detail.getTimeout()); + orderListResponse.setTimeoutFineTimes(detail.getTimeoutFineTimes()); orderListResponse.setChangeMoney(changeMoney); // orderListResponse.setAfterServiceRecordList(afterServiceRecordList); orderListResponses.add(orderListResponse); diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java index a227f770..1c6c41b0 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java @@ -25,10 +25,8 @@ import com.ghy.order.service.*; import com.ghy.payment.domain.FinancialChangeRecord; import com.ghy.payment.domain.FinancialDetail; import com.ghy.payment.domain.FinancialMaster; -import com.ghy.payment.domain.OrderTimeoutRecord; import com.ghy.payment.service.*; import com.ghy.system.domain.SysArea; -import com.ghy.system.domain.SysDeptConfig; import com.ghy.system.service.ISysAreaService; import com.ghy.system.service.ISysDeptConfigService; import com.ghy.system.service.IWxMsgService; @@ -303,28 +301,6 @@ public class OrderDetailController extends BaseController { afterServiceRecord.setOrderDetailId(detail.getId()); List afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); - // 超时记录 - OrderTimeoutRecord timeoutRecordQry = new OrderTimeoutRecord(); - timeoutRecordQry.setOrderDetailId(detail.getId()); - List orderTimeoutRecords = orderFineRecordService.selectList(timeoutRecordQry); - SysDeptConfig sysDeptConfig = sysDeptConfigService.selectByDeptId(request.getDeptId()); - orderTimeoutRecords.stream().forEach(timeoutRecord -> { - switch (timeoutRecord.getOrderStatus()) { - case 0: - timeoutRecord.setPayMoney(sysDeptConfig.getPlainOutTime()); - break; - case 1: - timeoutRecord.setPayMoney(sysDeptConfig.getGoOutTime()); - break; - case 2: - case 3: - timeoutRecord.setPayMoney(sysDeptConfig.getGoingOutTime()); - break; - default: - break; - } - }); - // 查询加价记录 FinancialChangeRecord changeRecordQry = new FinancialChangeRecord(); changeRecordQry.setOrderDetailId(detail.getId()); @@ -364,7 +340,9 @@ public class OrderDetailController extends BaseController { orderListResponse.setFinishImgList(finishImgList); orderListResponse.setWorkerRemark(detail.getRemark()); orderListResponse.setAfterServiceRecordList(afterServiceRecordList); - orderListResponse.setOrderTimeoutRecords(orderTimeoutRecords); + orderListResponse.setTimeout(detail.getTimeout()); + orderListResponse.setTimeoutFineTimes(detail.getTimeoutFineTimes()); + // TODO: 超时扣费 orderListResponse.setFinancialChangeRecords(financialChangeRecords); return AjaxResult.success(orderListResponse); @@ -435,10 +413,6 @@ public class OrderDetailController extends BaseController { standardList.add(orderStandard); } - // 查询是否超时 - OrderTimeoutRecord orderTimeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus()); - Boolean isOverTime = orderTimeoutRecord == null ? false : true; - if (this.checkIsOnlyServer(orderMaster.getId(), detail.getWorkerId())) { BigDecimal workerFee = financialMaster.getPayMoney(); List financialDetailList = financialDetailService.selectByFinancialMasterId(financialMaster.getId()); @@ -488,7 +462,7 @@ public class OrderDetailController extends BaseController { orderListResponse.setRemark(goods.getRemark()); orderListResponse.setCustomerRemark(orderMaster.getRemark()); orderListResponse.setOrderType(detail.getOrderType()); - orderListResponse.setIsOverTime(isOverTime); + orderListResponse.setTimeout(detail.getTimeout()); orderListResponse.setChangeMoney(changeMoney); // orderListResponse.setAfterServiceRecordList(afterServiceRecordList); orderListResponse.setUpdateTime(detail.getUpdateTime()); @@ -584,10 +558,6 @@ public class OrderDetailController extends BaseController { standardList.add(orderStandard); } - // 查询是否超时 - OrderTimeoutRecord orderTimeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus()); - Boolean isOverTime = orderTimeoutRecord == null ? false : true; - if (this.checkIsOnlyServer(orderMaster.getId(), detail.getWorkerId())) { FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(detail.getOrderMasterId()); BigDecimal workerFee = financialMaster.getPayMoney(); @@ -633,7 +603,7 @@ public class OrderDetailController extends BaseController { orderListResponse.setRemark(goods.getRemark()); orderListResponse.setCustomerRemark(orderMaster.getRemark()); orderListResponse.setOrderType(detail.getOrderType()); - orderListResponse.setIsOverTime(isOverTime); + orderListResponse.setTimeout(detail.getTimeout()); orderListResponse.setAfterServiceRecordList(detailRecordMap.get(detail.getId())); orderListResponse.setChangeMoney(changeMoney); orderListResponses.add(orderListResponse); diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java index 1c4ff15b..60560d4a 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java @@ -33,7 +33,6 @@ import com.ghy.order.service.OrderMasterService; import com.ghy.payment.domain.FinancialChangeRecord; import com.ghy.payment.domain.FinancialDetail; import com.ghy.payment.domain.FinancialMaster; -import com.ghy.payment.domain.OrderTimeoutRecord; import com.ghy.payment.service.FinancialChangeRecordService; import com.ghy.payment.service.FinancialDetailService; import com.ghy.payment.service.FinancialMasterService; @@ -159,17 +158,10 @@ public class OrderMasterController extends BaseController { SysArea sysArea = sysAreaService.selectById(customerAddress.getCountryId()); String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress(); - // 查询是否超时 - List timeoutRecords = new ArrayList<>(); // 查询售后记录 List afterServiceRecords = new ArrayList<>(); List detailOrderList = orderDetailService.selectByOrderMasterId(master.getId()); detailOrderList.forEach(detail -> { - OrderTimeoutRecord timeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus()); - if (timeoutRecord != null) { - timeoutRecords.add(timeoutRecord); - } - AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord(); afterServiceRecordQry.setOrderDetailId(detail.getId()); List records = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecordQry); @@ -208,7 +200,8 @@ public class OrderMasterController extends BaseController { orderListResponse.setAddress(completeAddress); orderListResponse.setRemark(goods.getRemark()); orderListResponse.setCustomerRemark(master.getRemark()); - orderListResponse.setOrderTimeoutRecords(timeoutRecords); + orderListResponse.setTimeout(master.getTimeout()); + orderListResponse.setTimeoutFineTimes(master.getTimeoutFineTimes()); orderListResponse.setAfterServiceRecordList(afterServiceRecords); orderListResponses.add(orderListResponse); @@ -317,16 +310,6 @@ public class OrderMasterController extends BaseController { SysArea sysArea = sysAreaService.selectById(customerAddress.getCountryId()); String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress(); - // 查询是否超时 - List timeoutRecords = new ArrayList<>(); - List detailOrderList = orderDetailService.selectByOrderMasterId(master.getId()); - detailOrderList.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()); @@ -359,7 +342,8 @@ public class OrderMasterController extends BaseController { orderListResponse.setAddress(completeAddress); orderListResponse.setRemark(goods.getRemark()); orderListResponse.setCustomerRemark(master.getRemark()); - orderListResponse.setOrderTimeoutRecords(timeoutRecords); + orderListResponse.setTimeout(master.getTimeout()); + orderListResponse.setTimeoutFineTimes(master.getTimeoutFineTimes()); orderListResponses.add(orderListResponse); }); @@ -474,10 +458,6 @@ public class OrderMasterController extends BaseController { // detailPayMoney = detailPayMoney.add(financialChangeRecord.getChangeMoney()); // } - // 查询是否超时 - OrderTimeoutRecord timeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(orderDetail.getId(), orderDetail.getOrderStatus()); - Boolean isOverTime = timeoutRecord != null ? Boolean.TRUE : Boolean.FALSE; - OrderStandardDetail orderStandardDetail = new OrderStandardDetail(); orderStandardDetail.setOrderDetailId(orderDetail.getId()); orderStandardDetail.setOrderDetailCode(orderDetail.getCode()); @@ -496,7 +476,8 @@ public class OrderMasterController extends BaseController { orderStandardDetail.setPayMoney(detailPayMoney); orderStandardDetail.setFinancialChangeRecord(financialChangeRecords); orderStandardDetail.setOrderStatus(orderDetail.getOrderStatus()); - orderStandardDetail.setIsOverTime(isOverTime); + orderStandardDetail.setTimeout(orderDetail.getTimeout()); + orderStandardDetail.setTimeoutFineTimes(orderDetail.getTimeoutFineTimes()); orderStandardDetail.setServerMoney(financialMaster.getServerMoney()); AfterServiceRecord afterServiceRecord = new AfterServiceRecord(); afterServiceRecord.setOrderDetailId(orderDetail.getId()); @@ -554,16 +535,6 @@ public class OrderMasterController extends BaseController { standardList.add(orderStandard); } - // 查询是否超时 - List timeoutRecords = new ArrayList<>(); - List detailOrderList = orderDetailService.selectByOrderMasterId(orderMaster.getId()); - detailOrderList.stream().forEach(detail -> { - OrderTimeoutRecord timeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus()); - if (timeoutRecord != null) { - timeoutRecords.add(timeoutRecord); - } - }); - // 查询主单师傅的最终收益 FinancialDetail fdQry = new FinancialDetail(); fdQry.setPayeeId(orderMaster.getWorkerId()); @@ -601,7 +572,8 @@ public class OrderMasterController extends BaseController { orderListResponse.setRemark(goods.getRemark()); orderListResponse.setCustomerRemark(orderMaster.getRemark()); orderListResponse.setOrderStandardDetailList(orderStandardDetails); - orderListResponse.setOrderTimeoutRecords(timeoutRecords); + orderListResponse.setTimeout(orderMaster.getTimeout()); + orderListResponse.setTimeoutFineTimes(orderMaster.getTimeoutFineTimes()); orderListResponse.setFinalRecvMoney(finalRecvMoney); orderListResponse.setGoodsAreaList(goods.getGoodsAreaList()); diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListRequest.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListRequest.java index 4261aecf..990508d2 100644 --- a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListRequest.java +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListRequest.java @@ -29,4 +29,9 @@ public class OrderListRequest { private Integer shelveStatus; private Integer allSelfAssigned; + + /** + * 是否超时 1=是 0=否 + */ + private Integer timeout; } diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java index c1f0d408..29843eed 100644 --- a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java @@ -137,4 +137,14 @@ public class OrderListResponse { * 提现到账时间 arrival_time */ private Date arrivalTime; + + /** + * 是否超时 1=是 0=否 + */ + private Integer timeout; + + /** + * 超时扣款次数 + */ + private Integer timeoutFineTimes; } diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java index 7904bf1e..7569d0d6 100644 --- a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java @@ -70,4 +70,14 @@ public class OrderStandardDetail { */ private Date drawCashTime; + /** + * 是否超时 1=是 0=否 + */ + private Integer timeout; + + /** + * 超时扣款次数 + */ + private Integer timeoutFineTimes; + } diff --git a/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml index 7fcbe498..a8ec99a2 100644 --- a/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml +++ b/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml @@ -161,6 +161,9 @@ AND od.work_finish_time is not null + + AND od.timeout_ = #{timeout} + order by od.create_time diff --git a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml index 43b6fe85..9a3c35bd 100644 --- a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml +++ b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml @@ -162,6 +162,9 @@ #{id} + + AND om.timeout_ = #{timeout} + order by om.create_time