@@ -2,11 +2,13 @@ package com.iformall.schedule;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.domain.dto.WxSharingOrderDto;
import com.iformall.domain.po.*;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
import com.iformall.service.WxCouponOrderService;
import com.iformall.service.WxOrderService;
import com.iformall.service.WxProfitSharingOrderService;
import com.iformall.service.WxRefundOrderService;
@@ -31,6 +33,9 @@ public class CouponOrderExpiringSchedule {
@Autowired
private WxCouponOrderMapper wxCouponOrderMapper;
@Autowired
private WxCouponOrderService wxCouponOrderService;
@Autowired
private WxRefundOrderService wxRefundOrderService;
@@ -108,6 +113,32 @@ public class CouponOrderExpiringSchedule {
couponOrderExpireRefund(order, true);
}
@Scheduled(cron = "0 0 5 * * ?") // 每天凌晨00:05
// @Scheduled(cron = "*/10 * * * * ?") // 测试10秒中一次
public void couponOrderGoodsVerifySchedule() {//14天确认收获 系统自动核销
List<WxMall> malls = getMalls();
for (WxMall mall: malls) {
List<WxCouponOrder> list = wxCouponOrderMapper.findExpiredCouponOrderGoodsVerify(mall.getTenantId());
if (null != list && list.size() > 0 ) {
list.stream().forEach(co -> {
WxCouponOrder couponOrder = null;
try {
couponOrder = wxCouponOrderService.verify(co,null,EnumCouponVerifyType.VERIFY_C_AUTO);
} catch (MallinkException e) {
logger.error("核销异常: " + e.getMessage());
} catch (Exception e) {
logger.error("核销异常: " + e.getMessage());
}
if (couponOrder != null && couponOrder.getMerchantId() != null) {
wxCouponOrderService.sendInsideCouponVerifyMsg(couponOrder, couponOrder.getId(), couponOrder.getMerchantId());
}
});
}
}
}
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})