Commit f3a8023f authored by shiyu's avatar shiyu

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

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