package com.matrix.system.shopXcx.quartz; import com.matrix.core.tools.LogUtil; import com.matrix.core.tools.WebUtil; import com.matrix.system.hive.plugin.util.CollectionUtils; import com.matrix.system.shopXcx.bean.ShopActivitiesGroupJoin; import com.matrix.system.shopXcx.bean.ShopActivitiesGroupJoinUser; import com.matrix.system.shopXcx.bean.ShopOrder; import com.matrix.system.shopXcx.dao.ShopActivitiesGroupJoinDao; import com.matrix.system.shopXcx.dao.ShopActivitiesGroupJoinUserDao; import com.matrix.system.shopXcx.dao.ShopOrderDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import java.util.List; /** * 拼团支付超时处理任务 * * @author wzy */ @Configuration @EnableScheduling public class ShopActivityPayTimeOutQuartz { @Autowired private ShopActivitiesGroupJoinUserDao shopActivitiesGroupJoinUserDao; @Autowired private ShopOrderDao shopOrderDao; @Autowired private ShopActivitiesGroupJoinDao shopActivitiesGroupJoinDao; @Value("${scheduling.enabled}") private boolean taskSwitch; @Scheduled(cron = "0 */1 * * * ?") public void executeExt() { if (taskSwitch) { LogUtil.info("#拼团支付超时处理任务#"); List joinUserList = shopActivitiesGroupJoinUserDao.selectGroupJoinUserEnd(); if (CollectionUtils.isNotEmpty(joinUserList)) { for (ShopActivitiesGroupJoinUser joinUser : joinUserList) { if (joinUser.getIsHead() == ShopActivitiesGroupJoinUser.USER_IS_HEAD_Y) { ShopActivitiesGroupJoin groupJoin = shopActivitiesGroupJoinDao.selectById(joinUser.getGjId()); groupJoin.setGjStatus(ShopActivitiesGroupJoin.ACTIVITIES_JOIN_FAIL); shopActivitiesGroupJoinDao.updateByModel(groupJoin); } ShopOrder shopOrder = new ShopOrder(); joinUser.setIsHasPay(ShopActivitiesGroupJoinUser.IS_HAS_PAY_TIME_OUT); joinUser.setIsHasCancel(ShopActivitiesGroupJoinUser.IS_HAS_CANCEL_Y); shopActivitiesGroupJoinUserDao.updateByModel(joinUser); shopOrder.setId(joinUser.getOrderId().intValue()); // shopOrder.setPayStatus(ShopOrder.ORDER_WX_STATUS_PAY_FAIL); shopOrder.setOrderStatus(ShopOrder.ORDER_STATUS_CANCEL); shopOrderDao.updateByModel(shopOrder); } } } } }