package com.cloudroam.controller.v1; import com.cloudroam.dto.calendar.CalendarPageDTO; import com.cloudroam.dto.calendarHoliday.CalendarHolidayPageDTO; import com.cloudroam.model.CalCalendarHolidayDO; import com.cloudroam.service.CalCalendarService; import io.github.talelin.core.annotation.Logger; import io.github.talelin.core.annotation.LoginRequired; import io.github.talelin.core.annotation.PermissionMeta; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestParam; import com.cloudroam.model.CalCalendarDO; import com.cloudroam.vo.CreatedVO; import com.cloudroam.vo.DeletedVO; import com.cloudroam.vo.PageResponseVO; import com.cloudroam.vo.UpdatedVO; import javax.validation.constraints.Min; import javax.validation.constraints.Max; import javax.validation.constraints.Positive; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @author generator@TaoJie * @since 2024-07-25 */ @RestController @RequestMapping("/v1/cal-calendar") public class CalCalendarController { @Autowired private CalCalendarService calCalendarService; @PostMapping("") public CreatedVO create() { return new CreatedVO(); } @PutMapping("/{id}") public UpdatedVO update(@PathVariable @Positive(message = "{id.positive}") Integer id) { return new UpdatedVO(); } @DeleteMapping("/{id}") public DeletedVO delete(@PathVariable @Positive(message = "{id.positive}") Integer id) { return new DeletedVO(); } @GetMapping("/{id}") public CalCalendarDO get(@PathVariable(value = "id") @Positive(message = "{id.positive}") Integer id) { return null; } @GetMapping("/page") public PageResponseVO page( @RequestParam(name = "page", required = false, defaultValue = "0") @Min(value = 0, message = "{page.number.min}") Integer page, @RequestParam(name = "count", required = false, defaultValue = "10") @Min(value = 1, message = "{page.count.min}") @Max(value = 30, message = "{page.count.max}") Integer count ) { return null; } @GetMapping("/list") @PermissionMeta(value = "日历记事信息列表" ,mount = false) @Logger(template = "{user.nickname} 查看日历记事信息列表") @LoginRequired public List list(CalendarPageDTO dto ) { return calCalendarService.getCalendarList(dto); } @GetMapping("/generate/{year}") public void generate(@PathVariable Integer year) { calCalendarService.generateCalendar(year); } @GetMapping("/generate/fromTo/{startYear}/{endYear}") public void generateFromTo(@PathVariable Integer startYear,@PathVariable Integer endYear) { for(int i=startYear;i<=endYear;i++){ calCalendarService.generateCalendar(i); } } }