修改订单列表及详情查询是否超时单判断逻辑

This commit is contained in:
donqi 2023-05-12 22:24:28 +08:00
parent c3540575ab
commit 9ad2b8cb3b
8 changed files with 53 additions and 105 deletions

View File

@ -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<OrderListResponse> masterList = this.getMasterList(orderMasterReq);
// 超时查询需要排除同个师傅的主单子单同时出现
if (orderListRequest.getIsOverTime() != null && orderListRequest.getIsOverTime()) {
if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
// 需要排除同个师傅的主单子单同时出现
List<OrderListResponse> filteredMasterList = new ArrayList<OrderListResponse>();
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<OrderTimeoutRecord> timeoutRecords = new ArrayList<>();
// 查询售后记录
List<AfterServiceRecord> afterServiceRecords = 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);
}
AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord();
afterServiceRecordQry.setOrderDetailId(detail.getId());
List<AfterServiceRecord> 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<OrderTimeoutRecord> timeoutRecords = new ArrayList<>();
// 查询售后记录
List<AfterServiceRecord> afterServiceRecords = 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);
}
AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord();
afterServiceRecordQry.setOrderDetailId(detail.getId());
List<AfterServiceRecord> 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);

View File

@ -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<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
// 超时记录
OrderTimeoutRecord timeoutRecordQry = new OrderTimeoutRecord();
timeoutRecordQry.setOrderDetailId(detail.getId());
List<OrderTimeoutRecord> 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<FinancialDetail> 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);

View File

@ -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<OrderTimeoutRecord> timeoutRecords = new ArrayList<>();
// 查询售后记录
List<AfterServiceRecord> afterServiceRecords = new ArrayList<>();
List<OrderDetail> 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<AfterServiceRecord> 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<OrderTimeoutRecord> timeoutRecords = new ArrayList<>();
List<OrderDetail> 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<OrderTimeoutRecord> timeoutRecords = new ArrayList<>();
List<OrderDetail> 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());

View File

@ -29,4 +29,9 @@ public class OrderListRequest {
private Integer shelveStatus;
private Integer allSelfAssigned;
/**
* 是否超时 1= 0=
*/
private Integer timeout;
}

View File

@ -137,4 +137,14 @@ public class OrderListResponse {
* 提现到账时间 arrival_time
*/
private Date arrivalTime;
/**
* 是否超时 1= 0=
*/
private Integer timeout;
/**
* 超时扣款次数
*/
private Integer timeoutFineTimes;
}

View File

@ -70,4 +70,14 @@ public class OrderStandardDetail {
*/
private Date drawCashTime;
/**
* 是否超时 1= 0=
*/
private Integer timeout;
/**
* 超时扣款次数
*/
private Integer timeoutFineTimes;
}

View File

@ -161,6 +161,9 @@
<if test="workFinishTimeExisted">
AND od.work_finish_time is not null
</if>
<if test="timeout != null">
AND od.timeout_ = #{timeout}
</if>
</where>
order by od.create_time
<trim suffixOverrides=",">

View File

@ -162,6 +162,9 @@
#{id}
</foreach>
</if>
<if test="timeout != null">
AND om.timeout_ = #{timeout}
</if>
</where>
order by om.create_time
<trim suffixOverrides=",">