fix - 简单修改篮球入场订单逻辑
This commit is contained in:
@@ -44,10 +44,9 @@ public class BarcodeTimeOrderTask {
|
||||
@Scheduled(cron = "0 0/5 * * * ?")
|
||||
public void execute(){
|
||||
logger.error("执行BarcodeTimeOrderTask.execute");
|
||||
// 查询用户已经过期的按次入场订单
|
||||
List<BarcodeOrderTime> barcodeOrderTimes = barcodeOrderTimeMapper.endOrderList(new Date());
|
||||
Date date = new Date();
|
||||
List<BarcodeOrderTime> barcodeOrderTimes = barcodeOrderTimeMapper.endOrderList(date);
|
||||
if (barcodeOrderTimes != null && barcodeOrderTimes.size() > 0){
|
||||
Date date = new Date();
|
||||
for (BarcodeOrderTime barcodeOrderTime : barcodeOrderTimes) {
|
||||
logger.info("用户:" + barcodeOrderTime.getMemberId() + ",在场馆" + barcodeOrderTime.getVenueId() + "已到期");
|
||||
barcodeOrderTime.setStatus(BarCodeStatusEnum.USED.getValue());
|
||||
@@ -60,37 +59,43 @@ public class BarcodeTimeOrderTask {
|
||||
@Scheduled(cron = "0 0/2 * * * ?")
|
||||
public void refundOrder(){
|
||||
logger.error("执行BarcodeTimeOrderTask.refundOrder");
|
||||
// 需要支付的订单
|
||||
List<BarcodeOrderTime> barcodeOrderTimes = barcodeOrderTimeMapper.needPayOrderList();
|
||||
if (barcodeOrderTimes != null && barcodeOrderTimes.size() > 0){
|
||||
Date date = new Date();
|
||||
for (BarcodeOrderTime barcodeOrderTime : barcodeOrderTimes) {
|
||||
int minutes = DateUtilCard.diffMinute(barcodeOrderTime.getModifiedTime(), date);
|
||||
if (minutes < 10) {
|
||||
continue;
|
||||
boolean isHourlyRefund = barcodeOrderTime.getPayMoney() != null && barcodeOrderTime.getPayMoney() > 0;
|
||||
|
||||
if (!isHourlyRefund) {
|
||||
// 按次计费:10分钟宽限期
|
||||
int minutes = DateUtilCard.diffMinute(barcodeOrderTime.getModifiedTime(), date);
|
||||
if (minutes < 10) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// 关闭订单
|
||||
barcodeOrderTime.setPaying(0);
|
||||
barcodeOrderTime.setModifiedTime(date);
|
||||
barcodeOrderTime.setStatus(BarCodeStatusEnum.USED.getValue());
|
||||
barcodeOrderTimeMapper.updateByPrimaryKey(barcodeOrderTime);
|
||||
if (barcodeOrderTime.getPayMoney() <= 0) {
|
||||
continue;
|
||||
}
|
||||
Order order = orderMapper.findOrderSn(barcodeOrderTime.getOrderSn(), barcodeOrderTime.getMemberId());
|
||||
if (order != null) {
|
||||
// 找到订单
|
||||
logger.info("用户" + barcodeOrderTime.getMemberId() + "的订单" + barcodeOrderTime.getOrderSn() + "需要退款" + barcodeOrderTime.getPayMoney());
|
||||
MemberRefund memberRefund = new MemberRefund();
|
||||
memberRefund.setMemberId(barcodeOrderTime.getMemberId());
|
||||
memberRefund.setLessonId(barcodeOrderTime.getId());
|
||||
memberRefund.setMoney(order.getPrice());
|
||||
memberRefund.setOrderSn(barcodeOrderTime.getOrderSn());
|
||||
memberRefund.setTransactionId(order.getTradeSn());
|
||||
memberRefund.setOrderId(order.getId());
|
||||
memberRefund.setOutRefundNo(createSn());//商户退款单号
|
||||
memberRefund.setPlatformId(1);
|
||||
memberRefundMapper.insert(memberRefund);
|
||||
wechatPayService.refundInputMoney(memberRefund,new BigDecimal(barcodeOrderTime.getPayMoney()));
|
||||
|
||||
// 按时计费退款
|
||||
if (isHourlyRefund) {
|
||||
Order order = orderMapper.findOrderSn(barcodeOrderTime.getOrderSn(), barcodeOrderTime.getMemberId());
|
||||
if (order != null) {
|
||||
logger.info("用户" + barcodeOrderTime.getMemberId() + "的订单" + barcodeOrderTime.getOrderSn() + "需要退款" + barcodeOrderTime.getPayMoney());
|
||||
MemberRefund memberRefund = new MemberRefund();
|
||||
memberRefund.setMemberId(barcodeOrderTime.getMemberId());
|
||||
memberRefund.setLessonId(barcodeOrderTime.getId());
|
||||
memberRefund.setMoney(order.getPrice());
|
||||
memberRefund.setOrderSn(barcodeOrderTime.getOrderSn());
|
||||
memberRefund.setTransactionId(order.getTradeSn());
|
||||
memberRefund.setOrderId(order.getId());
|
||||
memberRefund.setOutRefundNo(createSn());
|
||||
memberRefund.setPlatformId(1);
|
||||
memberRefundMapper.insert(memberRefund);
|
||||
wechatPayService.refundInputMoney(memberRefund,new BigDecimal(barcodeOrderTime.getPayMoney()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user