From 63fa227fb49717950af56fcbc6b0e1156a09e0ed Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期四, 12 九月 2024 17:28:26 +0800 Subject: [PATCH] 1.日历功能 --- src/main/resources/mapper/calendar/CalendarMapper.xml | 18 ++++ src/main/java/com/mzl/flower/service/impl/CalendarServiceImpl.java | 56 ++++++++++++++ src/main/java/com/mzl/flower/web/calendar/CalendarController.java | 35 ++++++++ src/main/java/com/mzl/flower/mapper/CalendarMapper.java | 16 ++++ src/main/java/com/mzl/flower/service/calendar/CalendarService.java | 17 ++++ src/main/java/com/mzl/flower/entity/CalendarDO.java | 61 +++++++++++++++ 6 files changed, 203 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/mzl/flower/entity/CalendarDO.java b/src/main/java/com/mzl/flower/entity/CalendarDO.java new file mode 100644 index 0000000..1f5d9f5 --- /dev/null +++ b/src/main/java/com/mzl/flower/entity/CalendarDO.java @@ -0,0 +1,61 @@ +package com.mzl.flower.entity; + + +import com.baomidou.mybatisplus.annotation.TableName; + +import lombok.Data; + +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +/** + * @author @TaoJie + * @since 2024-09-12 + */ +@Data +@Accessors(chain = true) +@TableName("t_calendar") +public class CalendarDO { + + private String id; + + + /** + * 日期 + */ + private LocalDateTime calDate; + + /** + * 年 + */ + private String calYear; + + /** + * 月 + */ + private String calMonth; + + /** + * 日 + */ + private String calDay; + + /** + * 周(一/二/三/四/五/六/日) + */ + private String calWeek; + + /** + * 无/休/班 + */ + private Integer type; + + + private LocalDateTime createTime; + + + private LocalDateTime updateTime; + + +} diff --git a/src/main/java/com/mzl/flower/mapper/CalendarMapper.java b/src/main/java/com/mzl/flower/mapper/CalendarMapper.java new file mode 100644 index 0000000..194b5c5 --- /dev/null +++ b/src/main/java/com/mzl/flower/mapper/CalendarMapper.java @@ -0,0 +1,16 @@ +package com.mzl.flower.mapper; + +import com.mzl.flower.entity.CalendarDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * Mapper 接口 + * </p> + * + * @author @TaoJie + * @since 2024-09-12 + */ +public interface CalendarMapper extends BaseMapper<CalendarDO> { + +} diff --git a/src/main/java/com/mzl/flower/service/calendar/CalendarService.java b/src/main/java/com/mzl/flower/service/calendar/CalendarService.java new file mode 100644 index 0000000..75e5df0 --- /dev/null +++ b/src/main/java/com/mzl/flower/service/calendar/CalendarService.java @@ -0,0 +1,17 @@ +package com.mzl.flower.service.calendar; + +import com.mzl.flower.entity.CalendarDO; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 服务类 + * </p> + * + * @author @TaoJie + * @since 2024-09-12 + */ +public interface CalendarService extends IService<CalendarDO> { + + void generateCalendar(int i); +} diff --git a/src/main/java/com/mzl/flower/service/impl/CalendarServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/CalendarServiceImpl.java new file mode 100644 index 0000000..4dc143f --- /dev/null +++ b/src/main/java/com/mzl/flower/service/impl/CalendarServiceImpl.java @@ -0,0 +1,56 @@ +package com.mzl.flower.service.impl; + +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mzl.flower.entity.CalendarDO; +import com.mzl.flower.mapper.CalendarMapper; +import com.mzl.flower.service.calendar.CalendarService; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +/** + * <p> + * 服务实现类 + * </p> + * + * @author @TaoJie + * @since 2024-09-12 + */ +@Service +public class CalendarServiceImpl extends ServiceImpl<CalendarMapper, CalendarDO> implements CalendarService { + + @Override + public void generateCalendar(int year) { + List<CalendarDO> CalendarDOList = new ArrayList<>(); + LocalDateTime startDate = LocalDateTime.of(year, 1, 1, 0, 0); + LocalDateTime endDate = LocalDateTime.of(year, 12, 31, 23, 59); + + + //删除年的数据 + QueryWrapper<CalendarDO> queryWrapper=new QueryWrapper(); + queryWrapper.lambda().eq(CalendarDO::getCalYear,year); + baseMapper.delete(queryWrapper); + + for (LocalDateTime date = startDate; !date.isAfter(endDate); date = date.plusDays(1)) { + CalendarDO CalendarDO = new CalendarDO(); + CalendarDO.setId(IdUtil.simpleUUID()); + CalendarDO.setCalYear(String.valueOf(date.getYear())); + CalendarDO.setCalMonth(String.valueOf(date.getMonthValue())); + CalendarDO.setCalDay(String.valueOf(date.getDayOfMonth())); + CalendarDO.setCalDate(date); + CalendarDO.setCalWeek(String.valueOf(date.getDayOfWeek().getValue())); + CalendarDO.setType(0); + CalendarDO.setCreateTime(LocalDateTime.now()); + CalendarDO.setUpdateTime(LocalDateTime.now()); + CalendarDOList.add(CalendarDO); + + // 重新生成年的数据 + baseMapper.insert(CalendarDO); + } + + } +} diff --git a/src/main/java/com/mzl/flower/web/calendar/CalendarController.java b/src/main/java/com/mzl/flower/web/calendar/CalendarController.java new file mode 100644 index 0000000..b46463c --- /dev/null +++ b/src/main/java/com/mzl/flower/web/calendar/CalendarController.java @@ -0,0 +1,35 @@ +package com.mzl.flower.web.calendar; + + +import com.mzl.flower.service.calendar.CalendarService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** +* @author @TaoJie +* @since 2024-09-12 +*/ +@RestController +@RequestMapping("/v2/calendar") +@Api(value = "日历", tags = "日历") +public class CalendarController { + + @Autowired + CalendarService calendarService; + + @ApiOperation(value = "日历生成", notes = "日历生成") + @GetMapping("/generate/fromTo/{startYear}/{endYear}") + public void generateFromTo(@PathVariable Integer startYear, @PathVariable Integer endYear) { + for(int i=startYear;i<=endYear;i++){ + calendarService.generateCalendar(i); + } + + } + + +} diff --git a/src/main/resources/mapper/calendar/CalendarMapper.xml b/src/main/resources/mapper/calendar/CalendarMapper.xml new file mode 100644 index 0000000..723947b --- /dev/null +++ b/src/main/resources/mapper/calendar/CalendarMapper.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.mzl.flower.mapper.CalendarMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.mzl.flower.entity.CalendarDO"> + <id column="id" property="id" /> + <result column="create_time" property="createTime" /> + <result column="update_time" property="updateTime" /> + <result column="cal_date" property="calDate" /> + <result column="cal_year" property="calYear" /> + <result column="cal_month" property="calMonth" /> + <result column="cal_day" property="calDay" /> + <result column="cal_week" property="calWeek" /> + <result column="type" property="type" /> + </resultMap> + +</mapper> -- Gitblit v1.9.3