package com.ltkj.web.config.task; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.task.Task; import com.ltkj.common.utils.bean.BeanUtil; import com.ltkj.hosp.domain.TjCustomer; import com.ltkj.hosp.domain.TjReservation; import com.ltkj.hosp.service.ITbTransitionService; import com.ltkj.hosp.service.ITjCustomerService; import com.ltkj.hosp.service.ITjReservationService; import com.ltkj.mall.domain.MallTimeConfig; import com.ltkj.mall.service.IMallTimeConfigService; public class TjReservationTask extends Task { private String reservationId = "-1"; public TjReservationTask(String cusRegisterId, long delayInMilliseconds) { super("TjReservationTask-" + cusRegisterId, delayInMilliseconds); this.reservationId = cusRegisterId; } public TjReservationTask(String cusRegisterId) { super("TjReservationTask-" + cusRegisterId, 60 * 1000 * 60 * 24); // super("TjReservationTask-" + cusRegisterId, 60 * 1000 *3); this.reservationId = cusRegisterId; } @Override public void run() { ITjReservationService reservationService = BeanUtil.getBean(ITjReservationService.class); ITbTransitionService transitionService = BeanUtil.getBean(ITbTransitionService.class); IMallTimeConfigService mallTimeConfigService = BeanUtil.getBean(IMallTimeConfigService.class); ITjCustomerService tjCustomerService = BeanUtil.getBean(ITjCustomerService.class); TjReservation tjReservation = reservationService.getById(reservationId); if(null!=tjReservation){ TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(tjReservation.getIdCard()); String cardId ="0"; if(null !=tjCustomer){ cardId = tjCustomer.getCardId(); } if(tjReservation.getIsExpire()==2){ //对应预约时间数量+1 LambdaQueryWrapper wq=new LambdaQueryWrapper<>(); wq.eq(MallTimeConfig::getTime,tjReservation.getReservationTime()); final MallTimeConfig one = mallTimeConfigService.getOne(wq); one.setNowNum(one.getNowNum()+1); mallTimeConfigService.updateById(one); tjReservation.setIsExpire(1); reservationService.updateById(tjReservation); transitionService.deletedTbTransitionListByCusIdAndTjNum(tjReservation.getIdCard(),cardId); } } } }