package com.hxzk.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.hxzk.mapper.KaoQinDao; import com.hxzk.pojo.TbAchor; import com.hxzk.pojo.TbKaoqing; import com.hxzk.pojo.TbTag; import com.hxzk.service.KaoQinService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.Date; import java.util.List; @Service public class KaoQinServiceImpl extends ServiceImpl implements KaoQinService { @Autowired KaoQinDao kaoQinDao; @Override public PageInfo findAll(Integer page, Integer limit) { QueryWrapper queryWrapper = new QueryWrapper<>(); PageHelper.startPage(page, limit); LocalDate currentDate = LocalDate.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); String formattedDate = currentDate.format(formatter); List cardList = kaoQinDao.findAllKaoQin(formattedDate); PageInfo info = new PageInfo<>(cardList); return info; } @Override public PageInfo findSearch(Integer page, Integer limit, TbKaoqing achor) { PageHelper.startPage(page, limit); List cardList = null; String dateStr = achor.getName(); String dateStr1 = achor.getBumen(); SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat outputFormat = new SimpleDateFormat("yyyyMMdd"); try { Date date = inputFormat.parse(dateStr); Date date1 = inputFormat.parse(dateStr1); String outputDateStr = outputFormat.format(date); String outputDateStr1 = outputFormat.format(date1); achor.setName(outputDateStr); achor.setBumen(outputDateStr1); achor.setIntime(dateStr); achor.setOuttime(dateStr1); } catch (ParseException e) { e.printStackTrace(); } if (achor.getTagid() == null || achor.getTagid().equals("")) { String s = achor.getIntime().split(" ")[0]; String e = achor.getOuttime().split(" ")[0]; String[] start = s.split("-"); String[] end = e.split("-"); String sql = new String(); //只根据时间查询 LocalDate startDate = LocalDate.of(Integer.parseInt(start[0]), Integer.parseInt(start[1]), Integer.parseInt(start[2])); LocalDate endDate = LocalDate.of(Integer.parseInt(end[0]), Integer.parseInt(end[1]), Integer.parseInt(end[2])); long numOfDaysBetween = ChronoUnit.DAYS.between(startDate, endDate); // 计算两个日期之间的天数 for (int i = 1; i <= numOfDaysBetween; i++) { LocalDate date = startDate.plusDays(i); String riqi = date.toString().split("-")[0]+date.toString().split("-")[1]+date.toString().split("-")[2]; sql += " UNION select * from tb_kaoqing_" + riqi+" "; achor.setBumen(sql);} cardList = kaoQinDao.findSearchTime(achor); } else { if (achor.getName() == null || achor.getName().equals("")) { LocalDate currentDate = LocalDate.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); String formattedDate = currentDate.format(formatter); achor.setName(formattedDate); cardList = kaoQinDao.findSearch(achor); } else { cardList = kaoQinDao.findSearch(achor); } //根据时间和输入的姓名进行查询 } PageInfo info = new PageInfo<>(cardList); return info; } }