123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package beilv.quartz.task;
- import beilv.admissionticket.domain.AdmissionTicket;
- import beilv.admissionticket.service.IAdmissionTicketService;
- import beilv.common.utils.uuid.IdUtils;
- import beilv.session.domain.BeilvSession;
- import beilv.session.service.IBeilvSessionService;
- import beilv.site.domain.BeilvSite;
- import beilv.site.service.IBeilvSiteService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.List;
- @Component("siteTask")
- public class SiteTask {
- @Autowired
- private IBeilvSessionService sessionService;
- @Autowired
- private IBeilvSiteService siteService;
- @Autowired
- private IAdmissionTicketService ticketService;
- public void abcd(){
- System.out.println("==================================================");
- }
- /**
- * 门票定时任务
- * 定时将日期下的各类型场地+时段写入到数据表中
- *
- * @param day 天数
- */
- public void addAdmissionTicket(Integer day) {
- // 计算写入日期 = 当前日期 + 传入的day天数
- Date writeDate = addDaysToDate(new Date(), day);
- //获取场地信息
- List<BeilvSite> siteList = siteService.getAllToList();
- //获取时段信息
- List<BeilvSession> sessionList = sessionService.getAllToList();
- //创建写入集合, 用于批量新增
- List<AdmissionTicket> ticketList = new ArrayList<>();
- siteList.forEach(site -> {
- sessionList.forEach(session -> {
- //判断场馆相同, 并且场地类型相同
- if (session.getVenueId().equals(site.getVenueId()) && session.getSiteType().equals(site.getSiteType())) {
- //创建门票实体
- AdmissionTicket admissionTicket = new AdmissionTicket(IdUtils.fastSimpleUUID(), String.valueOf(session.getVenueId()), site.getName(), session.getSiteType(), session.getSession(), session.getPrice(),writeDate,"0", session.getVenueName());
- ticketList.add(admissionTicket);
- }
- });
- });
- //批量写入门票信息
- ticketService.insertAdmissionTicketToList(ticketList);
- }
- // 将Date类型加上指定天数的方法
- private Date addDaysToDate(Date date, int days) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date);
- calendar.add(Calendar.DAY_OF_YEAR, days);
- return calendar.getTime();
- }
- }
|