Commit a37302c7 authored by shiyu's avatar shiyu

用户查询订单列表检查未支付订单,也加上扣除保证金的操作

parent 1e773134
......@@ -24,6 +24,7 @@ import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.core.entity.AuctionOfferNoticeMsg;
import com.wwdz.ch.core.entity.SignedNoticeMsg;
import com.wwdz.ch.db.dto.request.openShop.EarnestRecordRequestDto;
import com.wwdz.ch.wx.entity.GroupPurchaseInfo;
import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderDetailVo;
import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderVo;
......@@ -33,6 +34,7 @@ import com.wwdz.ch.wx.service.distribution.DistributorProfitService;
import com.wwdz.ch.core.service.SendMsgService;
import com.wwdz.ch.wx.service.distribution.GroupPurchaseService;
import com.wwdz.ch.wx.service.distribution.IdentifyOrderService;
import com.wwdz.ch.wx.service.openShop.AuctionEarnestService;
import com.xxdxxs.utils.DateUtils;
import com.xxdxxs.utils.EntityMapper;
import org.redisson.api.RLock;
......@@ -143,6 +145,8 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
@Autowired
ExchangeOrderSnapshotDao exchangeOrderSnapshotDao;
@Autowired
AuctionEarnestService auctionEarnestService;
@Transactional
@Override
......@@ -1362,6 +1366,21 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
long diffInHours = diffInMillies / (60 * 1000 * 60);
if (diffInHours >= 24) {
distributionOrderDao.updateState(distributionOrder.getDistributionOrderId(), DistributionEnum.DistributionOrderStateEnum.CANCEL.getCode());
if (type == DistributionEnum.DistributionTypeEnum.AUCTION.getCode()) {
auctionConfigDao.updateState(distributionOrder.getItemId(), AuctionEnum.StateEnum.GET_NOT_PAY_TO_PASS.getCode());
logger.info("================== 拍品:{}, 超过付款时效, 自动取消订单 ==================", distributionOrder.getItemId());
//扣除用户保证金
EarnestRecordRequestDto deductEarnestDto = new EarnestRecordRequestDto();
deductEarnestDto.setUserId(distributionOrder.getBuyerId());
deductEarnestDto.setAuctionPrice(distributionOrder.getAmount());
deductEarnestDto.setItemId(distributionOrder.getItemId());
Result releaseEarnestResult = auctionEarnestService.deductEarnest(deductEarnestDto);
if (!releaseEarnestResult.getSuccess()) {
logger.error("================== 拍卖订单号:{},超时未支付扣除保证金失败 ==================", distributionOrder.getDistributionOrderId());
} else {
logger.info("================== 拍卖订单号:{}, 超时未支付扣除保证金成功 SUCCESS ==================", distributionOrder.getDistributionOrderId());
}
}
}
}
}
......@@ -1393,6 +1412,21 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
long diffInHours = diffInMillies / (60 * 1000 * 60);
if (diffInHours >= 24) {
distributionOrderDao.updateState(distributionOrder.getDistributionOrderId(), DistributionEnum.DistributionOrderStateEnum.CANCEL.getCode());
if (type == DistributionEnum.DistributionTypeEnum.AUCTION.getCode()) {
auctionConfigDao.updateState(distributionOrder.getItemId(), AuctionEnum.StateEnum.GET_NOT_PAY_TO_PASS.getCode());
logger.info("================== 拍品:{}, 超过付款时效, 自动取消订单 ==================", distributionOrder.getItemId());
//扣除用户保证金
EarnestRecordRequestDto deductEarnestDto = new EarnestRecordRequestDto();
deductEarnestDto.setUserId(distributionOrder.getBuyerId());
deductEarnestDto.setAuctionPrice(distributionOrder.getAmount());
deductEarnestDto.setItemId(distributionOrder.getItemId());
Result releaseEarnestResult = auctionEarnestService.deductEarnest(deductEarnestDto);
if (!releaseEarnestResult.getSuccess()) {
logger.error("================== 拍卖订单号:{},超时未支付扣除保证金失败 ==================", distributionOrder.getDistributionOrderId());
} else {
logger.info("================== 拍卖订单号:{}, 超时未支付扣除保证金成功 SUCCESS ==================", distributionOrder.getDistributionOrderId());
}
}
}
}
});
......
......@@ -255,7 +255,6 @@ public class AutoSendMsgJob {
distributionOrderDao.updateState(distributionOrder.getDistributionOrderId(), DistributionEnum.DistributionOrderStateEnum.CANCEL.getCode());
auctionConfigDao.updateState(distributionOrder.getItemId(), AuctionEnum.StateEnum.GET_NOT_PAY_TO_PASS.getCode());
logger.info("================== 拍品:{}, 超过付款时效, 自动取消订单 ==================", distributionOrder.getItemId());
//扣除用户保证金
EarnestRecordRequestDto deductEarnestDto = new EarnestRecordRequestDto();
deductEarnestDto.setUserId(distributionOrder.getBuyerId());
......
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