package com.cloudroam.controller.v1; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.cloudroam.common.annotation.LogParams; import com.cloudroam.common.util.PageUtil; import com.cloudroam.dto.calendarHoliday.CalendarHolidayPageDTO; import com.cloudroam.dto.calendarHoliday.CreateCalendarHolidayDTO; import com.cloudroam.dto.calendarHoliday.UpdateCalendarHolidayDTO; import com.cloudroam.service.CalCalendarHolidayService; import io.github.talelin.autoconfigure.exception.NotFoundException; import io.github.talelin.core.annotation.Logger; import io.github.talelin.core.annotation.LoginRequired; import io.github.talelin.core.annotation.PermissionMeta; import io.github.talelin.core.annotation.PermissionModule; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import com.cloudroam.model.CalCalendarHolidayDO; import com.cloudroam.vo.CreatedVO; import com.cloudroam.vo.DeletedVO; import com.cloudroam.vo.PageResponseVO; import com.cloudroam.vo.UpdatedVO; import java.util.List; /** * @author generator@TaoJie * @since 2024-07-25 */ @RestController @RequestMapping("/v1/cal-calendar-holiday") @PermissionModule("日历记事") public class CalCalendarHolidayController { @Autowired private CalCalendarHolidayService calCalendarHolidayService; @PostMapping("") @PermissionMeta(value = "日历记事创建", mount =true) @Logger(template = "{user.nickname} 创建了日历记事 ") @LoginRequired @LogParams public CreatedVO create(@RequestBody @Validated CreateCalendarHolidayDTO validator) { calCalendarHolidayService.insertCalendarHoliday(validator); return new CreatedVO(); } @PutMapping("/{id}") @LoginRequired @PermissionMeta(value = "日历记事更新",mount = true) @Logger(template = "{user.nickname} 更新了日历记事 ") public UpdatedVO update(@PathVariable String id,@RequestBody @Validated UpdateCalendarHolidayDTO validator) { if(StrUtil.isBlank(id)){ throw new NotFoundException("传入的Id不能为空"); } CalCalendarHolidayDO calCalendarHolidayDO=calCalendarHolidayService.getById(id); if(calCalendarHolidayDO == null){ throw new NotFoundException("日历记事不存在"); } calCalendarHolidayService.updateCalendarHoliday(validator); return new UpdatedVO(); } @DeleteMapping("/{id}") @LoginRequired @PermissionMeta(value = "日历记事删除",mount = false) @Logger(template = "{user.nickname} 日历记事删除 ") public DeletedVO delete(@PathVariable String id) { if(StrUtil.isBlank(id)){ throw new NotFoundException("传入的Id不能为空"); } CalCalendarHolidayDO calCalendarHolidayDO=calCalendarHolidayService.getById(id); if(calCalendarHolidayDO == null){ throw new NotFoundException("日历记事不存在"); } calCalendarHolidayService.deleteCalendarHolidayById(id); return new DeletedVO(); } @GetMapping("/{id}") public CalCalendarHolidayDO get(@PathVariable(value = "id") String id) { return calCalendarHolidayService.getById(id); } @PostMapping("/page") public PageResponseVO page( @RequestBody @Validated CalendarHolidayPageDTO dto ) { IPage iPage=calCalendarHolidayService.getCalendarHolidayPage(dto); return PageUtil.build(iPage); } @GetMapping("/list") @PermissionMeta(value = "日历记事信息列表" ,mount = false) @Logger(template = "{user.nickname} 查看日历记事信息列表") @LoginRequired public List list(CalendarHolidayPageDTO dto ) { return calCalendarHolidayService.getCalendarHolidayList(dto); } }