fix bug
This commit is contained in:
parent
68023b8cc0
commit
e8fd8d49d2
|
|
@ -1085,7 +1085,11 @@ public class OrderController extends BaseController {
|
|||
break;
|
||||
}
|
||||
}
|
||||
long count = detailAfterListOfMasters.stream().filter(x->(x.getAfterTimeout()!=null && x.getAfterTimeout() == 1)).count();
|
||||
if (isKeep) {
|
||||
if(count > 0){
|
||||
master.setAfterTimeout(1);
|
||||
}
|
||||
filteredMasterList.add(master);
|
||||
}
|
||||
}
|
||||
|
|
@ -1367,6 +1371,7 @@ public class OrderController extends BaseController {
|
|||
orderListResponse.setCustomerRemark(orderMaster.getRemark());
|
||||
orderListResponse.setOrderType(detail.getOrderType());
|
||||
orderListResponse.setTimeout(detail.getTimeout());
|
||||
orderListResponse.setAfterTimeout(detail.getAfterTimeout());
|
||||
orderListResponse.setAfterServiceRecordList(detailRecordMap.get(detail.getId()));
|
||||
orderListResponse.setChangeMoney(changeMoney);
|
||||
orderListResponse.setDrawCashStatus(detail.getDrawCashStatus());
|
||||
|
|
@ -1660,6 +1665,7 @@ public class OrderController extends BaseController {
|
|||
orderListResponse.setOrderType(detail.getOrderType());
|
||||
orderListResponse.setTimeout(detail.getTimeout());
|
||||
orderListResponse.setTimeoutFineTimes(detail.getTimeoutFineTimes());
|
||||
orderListResponse.setAfterTimeout(detail.getAfterTimeout());
|
||||
orderListResponse.setChangeMoney(changeMoney);
|
||||
orderListResponse.setCreateTime(detail.getCreateTime());
|
||||
orderListResponse.setUpdateTime(detail.getUpdateTime());
|
||||
|
|
|
|||
|
|
@ -1150,6 +1150,8 @@ public class OrderMasterController extends BaseController {
|
|||
orderStandardDetail.setDrawCashStatus(orderDetail.getDrawCashStatus());
|
||||
orderStandardDetail.setDrawCashTime(orderDetail.getDrawCashTime());
|
||||
|
||||
orderStandardDetail.setAfterTimeout(orderDetail.getAfterTimeout());
|
||||
|
||||
orderStandardDetails.add(orderStandardDetail);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -163,6 +163,8 @@ public class OrderListResponse {
|
|||
*/
|
||||
private Integer timeoutFineTimes;
|
||||
|
||||
private Integer afterTimeout;
|
||||
|
||||
private String orderMode;
|
||||
|
||||
/*是否合约订单*/
|
||||
|
|
|
|||
|
|
@ -80,4 +80,6 @@ public class OrderStandardDetail {
|
|||
*/
|
||||
private Integer timeoutFineTimes;
|
||||
|
||||
private Integer afterTimeout;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -172,6 +172,11 @@ public class OrderDetail extends BaseEntity {
|
|||
*/
|
||||
private Integer timeout;
|
||||
|
||||
/**
|
||||
* 售后是否超时 1=是 0=否
|
||||
* */
|
||||
private Integer afterTimeout;
|
||||
|
||||
/**
|
||||
* 超时扣款次数
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -87,6 +87,8 @@ public interface OrderDetailMapper {
|
|||
*/
|
||||
int updateTimeout(@Param("id") Long id, @Param("timeout") int timeout, @Param("timeoutFineTimes") int timeoutFineTimes);
|
||||
|
||||
int updateAfterTimeout(@Param("id") Long id, @Param("timeout") int timeout, @Param("timeoutFineTimes") int timeoutFineTimes);
|
||||
|
||||
/**
|
||||
* 通过主订单ID批量更新子订单
|
||||
* 可更新字段: orderStatus
|
||||
|
|
|
|||
|
|
@ -175,6 +175,8 @@ public interface OrderDetailService {
|
|||
*/
|
||||
int updateTimeout(Long id, int timeout, int timeoutFineTimes);
|
||||
|
||||
int updateAfterTimeout(Long id, int timeout, int timeoutFineTimes);
|
||||
|
||||
int deleteByMaster(Long masterId);
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -160,7 +160,11 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
} else {
|
||||
agreeRefund(afterServiceRecord);
|
||||
}
|
||||
// 更新为售后未超时
|
||||
orderDetailService.updateAfterTimeout(afterServiceRecord.getOrderDetailId(), 0, 0);
|
||||
} else if (one.equals(afterServiceRecord.getWorkerFeedbackResult()) && param.getCustomerFinalCheck() == null) {
|
||||
// 更新为售后未超时
|
||||
orderDetailService.updateAfterTimeout(afterServiceRecord.getOrderDetailId(), 0, 0);
|
||||
// 师傅同意 且 客户未处理
|
||||
afterServiceRecordMapper.updateAfterServiceRecord(param);
|
||||
return drawCash ? AjaxResult.error("本单银联已确认货款结算完毕(订单支付完成),款项已到达或即将到达您所绑定帐户,需同意退款的同意后您线下与客户另行操作,系统无法提供原路返回退款!") : AjaxResult.success();
|
||||
|
|
|
|||
|
|
@ -1105,6 +1105,11 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
return orderDetailMapper.updateTimeout(id, timeout, timeoutFineTimes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateAfterTimeout(Long id, int timeout, int timeoutFineTimes) {
|
||||
return orderDetailMapper.updateAfterTimeout(id, timeout, timeoutFineTimes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteByMaster(Long masterId) {
|
||||
return orderDetailMapper.deleteByMaster(masterId);
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<result property="updateTime" column="update_time"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="timeout" column="timeout_"/>
|
||||
<result property="afterTimeout" column="after_timeout"/>
|
||||
<result property="timeoutFineTimes" column="timeout_fine_times"/>
|
||||
</resultMap>
|
||||
|
||||
|
|
@ -60,7 +61,8 @@
|
|||
update_time,
|
||||
remark,
|
||||
timeout_,
|
||||
timeout_fine_times
|
||||
timeout_fine_times,
|
||||
after_timeout
|
||||
FROM order_detail
|
||||
</sql>
|
||||
|
||||
|
|
@ -91,7 +93,8 @@
|
|||
od.remark,
|
||||
od.draw_cash_status,
|
||||
od.timeout_,
|
||||
od.timeout_fine_times
|
||||
od.timeout_fine_times,
|
||||
od.after_timeout
|
||||
FROM order_detail od
|
||||
LEFT JOIN order_master om ON om.id = od.order_master_id
|
||||
LEFT JOIN customer_address ca ON ca.customer_address_id = om.address_id
|
||||
|
|
@ -373,6 +376,13 @@
|
|||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateAfterTimeout">
|
||||
UPDATE order_detail
|
||||
SET after_timeout = #{timeout},
|
||||
timeout_fine_times = #{timeoutFineTimes}
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateByOrderMasterId">
|
||||
UPDATE order_detail
|
||||
<set>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
package com.ghy.quartz.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.ghy.common.enums.OrderStatus;
|
||||
import com.ghy.order.domain.AfterServiceRecord;
|
||||
import com.ghy.order.domain.OrderDetail;
|
||||
import com.ghy.order.domain.OrderMaster;
|
||||
import com.ghy.order.service.IAfterServiceRecordService;
|
||||
import com.ghy.order.service.OrderDetailService;
|
||||
import com.ghy.order.service.OrderMasterService;
|
||||
import com.ghy.payment.domain.FinancialDetail;
|
||||
|
|
@ -42,7 +45,7 @@ public class OrderServiceImpl implements OrderService {
|
|||
*
|
||||
* @see OrderStatus
|
||||
*/
|
||||
@Value("${order.timeout.status:-4,-3,-2,0,2,1,3}")
|
||||
@Value("${order.timeout.status:-4,-3,-2,-1,0,2,1,3}")
|
||||
private List<Integer> timeoutOrderStatus;
|
||||
private static final List<Integer> orderMasterTimeoutStatus = Arrays.asList(0, 1);
|
||||
|
||||
|
|
@ -60,6 +63,8 @@ public class OrderServiceImpl implements OrderService {
|
|||
private FinancialMasterService financialMasterService;
|
||||
@Resource
|
||||
private ISysDeptConfigService sysDeptConfigService;
|
||||
@Resource
|
||||
private IAfterServiceRecordService afterServiceRecordService;
|
||||
|
||||
@Override
|
||||
public void overTimeOrder(String orderStatus) {
|
||||
|
|
@ -187,6 +192,18 @@ public class OrderServiceImpl implements OrderService {
|
|||
boolean timeout = ONE.equals(order.getTimeout());
|
||||
// 超时扣款次数
|
||||
Integer times = order.getTimeoutFineTimes();
|
||||
// 判断是否是售后订单
|
||||
AfterServiceRecord afterParam = new AfterServiceRecord();
|
||||
afterParam.setOrderDetailId(order.getId());
|
||||
List<AfterServiceRecord> afterServiceRecord = afterServiceRecordService.selectAfterServiceRecordList(afterParam);
|
||||
if(CollectionUtil.isNotEmpty(afterServiceRecord) && (afterServiceRecord.get(0).getCustomerFinalCheck() == null || afterServiceRecord.get(0).getCustomerFinalCheck() != 1L)){
|
||||
// 查询一下售后单时间
|
||||
Date afterTime = getOverTime(afterServiceRecord.get(0).getUpdateTime(), 30 * 60 * 1000);
|
||||
if (afterTime.before(now)) {
|
||||
log.info("售后订单[{}]超时30分钟", order.getId());
|
||||
orderDetailService.updateAfterTimeout(order.getId(), 1, 0);
|
||||
}
|
||||
}
|
||||
if (!timeout) {
|
||||
log.info("单号:{},状态:{},创建时间:{},更新时间:{}", order.getCode(), order.getOrderStatus(), order.getCreateTime(), order.getUpdateTime());
|
||||
// 待上门超时
|
||||
|
|
@ -205,7 +222,7 @@ public class OrderServiceImpl implements OrderService {
|
|||
// 未超时的单
|
||||
else if (order.getOrderStatus().equals(OrderStatus.SERVER.code())) {
|
||||
// 服务中状态要按预计上门时间计算4h超时
|
||||
Date overTime = DateUtils.addMilliseconds(order.getExpectTimeStart(), 4 * 60 * 60 * 1000);
|
||||
Date overTime = DateUtils.addMilliseconds(order.getUpdateTime(), 4 * 60 * 60 * 1000);
|
||||
if (overTime.before(now)) {
|
||||
log.info("订单[{}]服务中状态超时4小时 扣款", order.getId());
|
||||
OrderTimeoutRecord record = new OrderTimeoutRecord(order.getId(), order.getWorkerId(), order.getDeptId(), order.getOrderStatus());
|
||||
|
|
|
|||
Loading…
Reference in New Issue