Commit fabedecc authored by shiyu's avatar shiyu

小程序退货单超时签收检查

parent 7342c618
...@@ -31,6 +31,8 @@ import org.slf4j.Logger; ...@@ -31,6 +31,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.*; import java.util.*;
...@@ -80,6 +82,8 @@ public class ReturnOrderServiceImpl implements ReturnOrderService { ...@@ -80,6 +82,8 @@ public class ReturnOrderServiceImpl implements ReturnOrderService {
@Override @Override
public Result findList(ReturnOrderRequestDto dto) { public Result findList(ReturnOrderRequestDto dto) {
//检查退货单商品寄出是否超过7天未确认,超时则系统默认已确认签收
checkTimeOutForReturnSigned(dto.getUserId());
try { try {
if (StringUtils.hasLength(dto.getSearchParam())) { if (StringUtils.hasLength(dto.getSearchParam())) {
//判断查询条件是否为中文,是的话就根据商品名称模糊查询 //判断查询条件是否为中文,是的话就根据商品名称模糊查询
...@@ -195,7 +199,6 @@ public class ReturnOrderServiceImpl implements ReturnOrderService { ...@@ -195,7 +199,6 @@ public class ReturnOrderServiceImpl implements ReturnOrderService {
//货品待退回 //货品待退回
appletStateNodeVoList.get(1).setPassed(true); appletStateNodeVoList.get(1).setPassed(true);
for (ReturnOrderRecord returnOrderRecord : returnOrderRecordList) { for (ReturnOrderRecord returnOrderRecord : returnOrderRecordList) {
//货品已出库 //货品已出库
if (returnOrderRecord.getType() == ReturnOrderEnum.OperateTypeEnum.SEND_RETURN.getCode()) { if (returnOrderRecord.getType() == ReturnOrderEnum.OperateTypeEnum.SEND_RETURN.getCode()) {
...@@ -232,4 +235,53 @@ public class ReturnOrderServiceImpl implements ReturnOrderService { ...@@ -232,4 +235,53 @@ public class ReturnOrderServiceImpl implements ReturnOrderService {
} }
return Result.failed(); return Result.failed();
} }
/**
* 退货发出超过7天,系统默认已签收
*/
private void checkTimeOutForReturnSigned(long userId) {
//查询商品已寄出的退货单
ReturnOrderRequestDto returnOrderRequestDto = new ReturnOrderRequestDto();
returnOrderRequestDto.setUserId(userId);
returnOrderRequestDto.setState(ReturnOrderEnum.StateEnum.SENDED.getCode());
returnOrderRequestDto.setPage(1);
returnOrderRequestDto.setLimit(100);
List<ReturnOrder> waitConfirmList = returnOrderDao.findByPage(returnOrderRequestDto);
for (ReturnOrder returnOrder : waitConfirmList) {
//查询退货寄回的时间
ReturnOrderRecord returnOrderRecord = returnOrderRecordDao.findByType(returnOrder.getReturnOrderId(), ReturnOrderEnum.OperateTypeEnum.SEND_RETURN.getCode());
Date startTime = returnOrderRecord.getCreateTime();
Date endTime = new Date();
long diffInMillies = Math.abs(endTime.getTime() - startTime.getTime());
long diffInHours = diffInMillies / (60 * 60 * 1000);
if (diffInHours >= (24 * 7)) {
//超时未签收
timeOutSystemSigned(returnOrder.getReturnOrderId());
logger.info(">>>>>> 退货单号: {} 退货发出超过7天,系统默认已签收,更改退货单状态为已完成,并记录操作节点 <<<<<<<", returnOrder.getReturnOrderId());
}
}
}
/**
* 确认超时系统默认签收
* @param returnOrderId
* @return
*/
@Transactional
public Result timeOutSystemSigned(String returnOrderId) {
try {
ReturnOrder returnOrder = new ReturnOrder();
returnOrder.setReturnOrderId(returnOrderId);
returnOrder.setState(ReturnOrderEnum.StateEnum.FINISH.getCode());
returnOrderDao.update(returnOrder);
//寄出超过7天,系统默认签收
returnOrderRecordDao.insert(returnOrderId, "用户未确认,超过7天系统自动确认收货", ReturnOrderEnum.OperateTypeEnum.SYSTEM_SIGNED.getCode(), "");
return Result.success();
} catch (Exception e) {
logger.error("用户未确认,超过7天系统自动确认收货 error : {}", e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return Result.failed();
}
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment