Commit f3a8023f authored by shiyu's avatar shiyu

超时未寄出自动取消申请单

parent c114cc16
......@@ -32,11 +32,8 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
......@@ -76,7 +73,7 @@ public class SysExchangeApplyOrderServiceImpl implements SysExchangeApplyOrderSe
try {
//短信内容
String orderId = dto.getExchangeApplyOrderId();
ExchangeApplyOrder exchangeApplyOrder = exchangeApplyOrderDao.findByOrderId(orderId);
ExchangeApplyOrder exchangeApplyOrder = exchangeApplyOrderDao.findByApplyOrderId(orderId);
String targetUserOrderId = exchangeApplyOrder.getTargetUserOrderId();
String userOrderId = exchangeApplyOrder.getUserOrderId();
//平台通过申请单
......@@ -212,7 +209,7 @@ public class SysExchangeApplyOrderServiceImpl implements SysExchangeApplyOrderSe
public Result findDetail(ExchangeApplyOrderRequestDto dto) {
try {
String orderId = dto.getExchangeApplyOrderId();
ExchangeApplyOrder exchangeApplyOrder = exchangeApplyOrderDao.findByOrderId(orderId);
ExchangeApplyOrder exchangeApplyOrder = exchangeApplyOrderDao.findByApplyOrderId(orderId);
String targetUserOrderId = exchangeApplyOrder.getTargetUserOrderId();
String userOrderId = exchangeApplyOrder.getUserOrderId();
......
......@@ -18,7 +18,7 @@ public interface ExchangeApplyOrderDao {
List<ExchangeApplyOrder> findByPage(ExchangeApplyOrderRequestDto dto);
ExchangeApplyOrder findByOrderId(String orderId);
ExchangeApplyOrder findByApplyOrderId(String orderId);
ExchangeApplyOrder findByExchangeOrderId(String exchangeOrderId);
......
......@@ -41,7 +41,7 @@ public class ExchangeApplyOrderDaoImpl implements ExchangeApplyOrderDao {
@Override
public ExchangeApplyOrder findByOrderId(String orderId) {
public ExchangeApplyOrder findByApplyOrderId(String orderId) {
ExchangeApplyOrderExample example = new ExchangeApplyOrderExample();
ExchangeApplyOrderExample.Criteria criteria = example.createCriteria();
criteria.andExchangeApplyOrderIdEqualTo(orderId);
......
......@@ -3,7 +3,6 @@ package com.wwdz.ch.wx.impl.distribution;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.core.consts.CommConsts;
import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.consts.ExchangeApplyOrderEnum;
import com.wwdz.ch.core.entity.SupplierItemVo;
import com.wwdz.ch.core.entity.exchange.ExchangeApplyOrderVo;
......@@ -21,7 +20,6 @@ import com.wwdz.ch.db.dao.exchange.ExchangeApplyOrderDetailDao;
import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.domain.distribution.*;
import com.wwdz.ch.db.dto.request.ItemSimpleDto;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.db.dto.request.exchange.ExchangeApplyOrderRequestDto;
import com.wwdz.ch.wx.entity.request.ExchangeRequestDto;
......@@ -141,7 +139,7 @@ public class ExchangeApplyOrderServiceImpl implements ExchangeApplyOrderService
String msg = "";
try {
String orderId = dto.getExchangeApplyOrderId();
ExchangeApplyOrder exchangeApplyOrder = exchangeApplyOrderDao.findByOrderId(orderId);
ExchangeApplyOrder exchangeApplyOrder = exchangeApplyOrderDao.findByApplyOrderId(orderId);
if (ExchangeApplyOrderEnum.StateEnum.AGREE.getCode() == dto.getState()) {
//同意交换申请,则为交换双方创建订单
//为提交方创建订单
......@@ -357,7 +355,7 @@ public class ExchangeApplyOrderServiceImpl implements ExchangeApplyOrderService
try {
//检查该订单是否超时未审批
checkHandleTimeOutByOrderId(dto.getExchangeApplyOrderId());
ExchangeApplyOrder exchangeApplyOrder = exchangeApplyOrderDao.findByOrderId(dto.getExchangeApplyOrderId());
ExchangeApplyOrder exchangeApplyOrder = exchangeApplyOrderDao.findByApplyOrderId(dto.getExchangeApplyOrderId());
ExchangeApplyOrderVo exchangeApplyOrderVo = new ExchangeApplyOrderVo();
EntityMapper.copyAttribute(exchangeApplyOrder, exchangeApplyOrderVo);
//交换的目标商品
......@@ -445,6 +443,7 @@ public class ExchangeApplyOrderServiceImpl implements ExchangeApplyOrderService
* @param userId
*/
private void checkHandleTimeOut(Long userId){
//我收到的
ExchangeApplyOrderRequestDto queryDto = new ExchangeApplyOrderRequestDto();
queryDto.setTargetUserId(userId);
queryDto.setState(ExchangeApplyOrderEnum.StateEnum.PRE_HANDLE.getCode());
......@@ -460,6 +459,23 @@ public class ExchangeApplyOrderServiceImpl implements ExchangeApplyOrderService
exchangeApplyOrderDetailDao.updateInValid(orderId);
}
});
//我提交的
ExchangeApplyOrderRequestDto commitQueryDto = new ExchangeApplyOrderRequestDto();
commitQueryDto.setUserId(userId);
commitQueryDto.setState(ExchangeApplyOrderEnum.StateEnum.PRE_HANDLE.getCode());
List<ExchangeApplyOrder> commitApplyOrderList = exchangeApplyOrderDao.findByPage(commitQueryDto);
commitApplyOrderList.forEach(exchangeApplyOrder -> {
String orderId = exchangeApplyOrder.getExchangeApplyOrderId();
long diffInMillies = Math.abs(new Date().getTime() - exchangeApplyOrder.getCreateTime().getTime());
//超出48小时未处理审批单,订单取消
long diffInHours = diffInMillies / (60 * 1000 * 60);
if (diffInHours >= 48) {
//取消申请单,把订单明细设置为无效
exchangeApplyOrderDao.updateState(orderId, ExchangeApplyOrderEnum.StateEnum.DISAGREE.getCode());
exchangeApplyOrderDetailDao.updateInValid(orderId);
}
});
}
......@@ -468,7 +484,7 @@ public class ExchangeApplyOrderServiceImpl implements ExchangeApplyOrderService
* @param exchangeApplyOrderId
*/
private void checkHandleTimeOutByOrderId(String exchangeApplyOrderId){
ExchangeApplyOrder exchangeApplyOrder = exchangeApplyOrderDao.findByExchangeOrderId(exchangeApplyOrderId);
ExchangeApplyOrder exchangeApplyOrder = exchangeApplyOrderDao.findByApplyOrderId(exchangeApplyOrderId);
if (exchangeApplyOrder != null && exchangeApplyOrder.getState() == ExchangeApplyOrderEnum.StateEnum.PRE_HANDLE.getCode()) {
long diffInMillies = Math.abs(new Date().getTime() - exchangeApplyOrder.getCreateTime().getTime());
//超出48小时未处理审批单,订单取消
......
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