|
|
|
@@ -1,9 +1,11 @@ |
|
|
|
package com.iformall.schedule; |
|
|
|
|
|
|
|
import com.iformall.domain.po.WxAppinfo; |
|
|
|
import com.iformall.domain.po.WxCoupon; |
|
|
|
import com.iformall.domain.po.WxOrder; |
|
|
|
import com.iformall.enums.*; |
|
|
|
import com.iformall.mapper.WxAppinfoMapper; |
|
|
|
import com.iformall.mapper.WxCouponMapper; |
|
|
|
import com.iformall.mapper.WxOrderGroupMapper; |
|
|
|
import com.iformall.mapper.WxOrderMapper; |
|
|
|
import com.iformall.service.WxOrderGroupService; |
|
|
|
@@ -47,6 +49,9 @@ public class OrderExpiringSchedule { |
|
|
|
@Autowired |
|
|
|
WxRefundOrderService wxRefundOrderService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
WxCouponMapper wxCouponMapper; |
|
|
|
|
|
|
|
@Scheduled(cron = "0 */5 * * * *?") // 每5分钟检查一次 |
|
|
|
//@Scheduled(cron = "*/10 * * * * ?") // 测试10秒中一次 |
|
|
|
public void orderExpireSchedule() { |
|
|
|
@@ -130,10 +135,15 @@ public class OrderExpiringSchedule { |
|
|
|
|
|
|
|
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) |
|
|
|
public void orderExpired(WxOrder order) { |
|
|
|
Integer status = EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode(); |
|
|
|
WxCoupon wxCoupon = wxCouponMapper.selectByPrimaryKey(order.getProductId()); |
|
|
|
if (wxCoupon.getType().equals(EnumCouponType.COUPON_GROUP.getCode())) { |
|
|
|
status = EnumOrderStatus.ORDER_STATUS_COOPERATING_BREAK.getCode(); |
|
|
|
} |
|
|
|
WxOrder updateOrder = new WxOrder(); |
|
|
|
updateOrder.setId(order.getId()); |
|
|
|
updateOrder.setUpdateDate(new Date()); |
|
|
|
updateOrder.setOrderStatus(EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode()); |
|
|
|
updateOrder.setOrderStatus(status); |
|
|
|
wxOrderMapper.updateByPrimaryKeySelective(updateOrder); |
|
|
|
|
|
|
|
// 库存退回 |
|
|
|
|