package com.cloudroam.service.impl; import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.cloudroam.common.enumeration.CalendarTypeEnum; import com.cloudroam.dto.calendar.CalendarPageDTO; import com.cloudroam.mapper.CalCalendarMapperCustom; import com.cloudroam.model.CalCalendarDO; import com.cloudroam.mapper.CalCalendarMapper; import com.cloudroam.model.CalCalendarHolidayDO; import com.cloudroam.service.CalCalendarService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Date; import java.util.List; /** *

* 服务实现类 *

* * @author generator@TaoJie * @since 2024-07-25 */ @Service public class CalCalendarServiceImpl extends ServiceImpl implements CalCalendarService { @Autowired private CalCalendarMapperCustom calCalendarMapperCustom; @Override public void generateCalendar(int year) { List calCalendarDOList = new ArrayList<>(); LocalDateTime startDate = LocalDateTime.of(year, 1, 1, 0, 0); LocalDateTime endDate = LocalDateTime.of(year, 12, 31, 23, 59); //删除年的数据 QueryWrapper queryWrapper=new QueryWrapper(); queryWrapper.lambda().eq(CalCalendarDO::getCalYear,year); baseMapper.delete(queryWrapper); for (LocalDateTime date = startDate; !date.isAfter(endDate); date = date.plusDays(1)) { CalCalendarDO calCalendarDO = new CalCalendarDO(); calCalendarDO.setId(IdUtil.simpleUUID()); calCalendarDO.setCalYear(String.valueOf(date.getYear())); calCalendarDO.setCalMonth(String.valueOf(date.getMonthValue())); calCalendarDO.setCalDay(String.valueOf(date.getDayOfMonth())); calCalendarDO.setCalDate(date); calCalendarDO.setCalWeek(String.valueOf(date.getDayOfWeek().getValue())); calCalendarDO.setType(CalendarTypeEnum.NONE.getCode()); calCalendarDO.setCreateTime(new Date()); calCalendarDO.setUpdateTime(new Date()); calCalendarDOList.add(calCalendarDO); // 重新生成年的数据 baseMapper.insert(calCalendarDO); } // repository.saveAll(events); } @Override public List getCalendarList(CalendarPageDTO dto) { QueryWrapper queryWrapper=new QueryWrapper<>(); if(!StringUtils.isEmpty(dto.getCalMonth())){ queryWrapper.lambda().eq(CalCalendarDO::getCalMonth,dto.getCalMonth()); } if(!StringUtils.isEmpty(dto.getCalMonthStart())){ queryWrapper.lambda().ge(CalCalendarDO::getCalMonth,dto.getCalMonthStart()); } if(!StringUtils.isEmpty(dto.getCalMonthEnd())){ queryWrapper.lambda().le(CalCalendarDO::getCalMonth,dto.getCalMonthEnd()); } return baseMapper.selectList(queryWrapper); } }