Commit 285a2302 authored by shiyu's avatar shiyu

检测24小时以物换物未发出,取消订单

parent 44abce69
...@@ -130,6 +130,9 @@ public class DistributionOrderRequestDto extends BaseRequestDto implements Entit ...@@ -130,6 +130,9 @@ public class DistributionOrderRequestDto extends BaseRequestDto implements Entit
*/ */
private Integer state; private Integer state;
private List<Integer> stateList;
/** /**
* 查询时要排除的状态 * 查询时要排除的状态
*/ */
......
...@@ -115,6 +115,7 @@ public class DistributionOrderDaoImpl implements DistributionOrderDao { ...@@ -115,6 +115,7 @@ public class DistributionOrderDaoImpl implements DistributionOrderDao {
JdbcHelper.ifPresent(dto.getSellerId(), criteria::andSellerIdEqualTo); JdbcHelper.ifPresent(dto.getSellerId(), criteria::andSellerIdEqualTo);
JdbcHelper.ifPresent(dto.getSellerIdList(), criteria::andSellerIdIn); JdbcHelper.ifPresent(dto.getSellerIdList(), criteria::andSellerIdIn);
JdbcHelper.ifPresent(dto.getState(), criteria::andStateEqualTo); JdbcHelper.ifPresent(dto.getState(), criteria::andStateEqualTo);
JdbcHelper.ifPresent(dto.getStateList(), criteria::andStateIn);
JdbcHelper.ifPresent(dto.getFilterStateList(), criteria::andStateNotIn); JdbcHelper.ifPresent(dto.getFilterStateList(), criteria::andStateNotIn);
JdbcHelper.ifPresent(dto.getLogisticsState(), criteria::andLogisticsStateEqualTo); JdbcHelper.ifPresent(dto.getLogisticsState(), criteria::andLogisticsStateEqualTo);
JdbcHelper.ifPresent(dto.getNotFilterLogisticsState(), criteria::andLogisticsStateNotEqualTo); JdbcHelper.ifPresent(dto.getNotFilterLogisticsState(), criteria::andLogisticsStateNotEqualTo);
......
...@@ -768,11 +768,15 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -768,11 +768,15 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
try { try {
//先查询订单当前状态 //先查询订单当前状态
DistributionOrder distributionOrder = distributionOrderDao.findById(dto.getDistributionOrderId()); DistributionOrder distributionOrder = distributionOrderDao.findById(dto.getDistributionOrderId());
if (distributionOrder.getType().intValue() == DistributionEnum.DistributionTypeEnum.EXCHANGE.getCode()) {
distributionOrderDao.updateState(dto.getDistributionOrderId(), DistributionEnum.DistributionOrderStateEnum.CANCEL.getCode());
} else {
if (distributionOrder.getState() != DistributionEnum.DistributionOrderStateEnum.PRE_PAY.getCode()) { if (distributionOrder.getState() != DistributionEnum.DistributionOrderStateEnum.PRE_PAY.getCode()) {
return Result.failed("该订单不是待支付状态,无法直接取消"); return Result.failed("该订单不是待支付状态,无法直接取消");
} }
distributionOrderDao.updateState(dto.getDistributionOrderId(), DistributionEnum.DistributionOrderStateEnum.CANCEL.getCode()); distributionOrderDao.updateState(dto.getDistributionOrderId(), DistributionEnum.DistributionOrderStateEnum.CANCEL.getCode());
distributorProfitDao.updateValidState(dto.getDistributionOrderId(), false); distributorProfitDao.updateValidState(dto.getDistributionOrderId(), false);
}
return Result.success(); return Result.success();
} catch (Exception e) { } catch (Exception e) {
logger.error("用户取消订单失败 error : {}", e); logger.error("用户取消订单失败 error : {}", e);
...@@ -1322,7 +1326,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -1322,7 +1326,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
DistributionOrderRequestDto dto = new DistributionOrderRequestDto(); DistributionOrderRequestDto dto = new DistributionOrderRequestDto();
dto.setBuyerId(userId); dto.setBuyerId(userId);
dto.setSellerId(distributorId); dto.setSellerId(distributorId);
dto.setState(DistributionEnum.DistributionOrderStateEnum.PRE_PAY.getCode()); dto.setStateList(Arrays.asList(DistributionEnum.DistributionOrderStateEnum.PRE_PAY.getCode(), DistributionEnum.DistributionOrderStateEnum.PRE_EXCHANGE.getCode()));
List<DistributionOrder> prePayList = distributionOrderDao.findByPage(dto); List<DistributionOrder> prePayList = distributionOrderDao.findByPage(dto);
prePayList.forEach(distributionOrder -> { prePayList.forEach(distributionOrder -> {
long diffInMillies = Math.abs(new Date().getTime() - distributionOrder.getCreateTime().getTime()); long diffInMillies = Math.abs(new Date().getTime() - distributionOrder.getCreateTime().getTime());
......
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