package com.cloudroam.controller.v1;
|
|
|
import cn.hutool.core.util.StrUtil;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.cloudroam.bo.EmailTaskSettingBO;
|
import com.cloudroam.common.util.PageUtil;
|
import com.cloudroam.dto.emailSmtp.CreateOrUpdateEmailSmtpDTO;
|
import com.cloudroam.dto.emailSmtp.QueryEmailSmtpDTO;
|
import com.cloudroam.dto.emailTask.CreateOrUpdateEmailTaskDTO;
|
import com.cloudroam.dto.emailTask.QueryEmailTaskDTO;
|
import com.cloudroam.model.EmailSmtpSettingDO;
|
import com.cloudroam.service.EmailTaskSettingService;
|
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 lombok.experimental.Accessors;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
import com.cloudroam.model.EmailTaskSettingDO;
|
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;
|
|
/**
|
* @author generator@TaoJie
|
* @since 2023-08-15
|
*/
|
@RestController
|
@RequestMapping("/v1/email-task-setting")
|
public class EmailTaskSettingController {
|
|
@Autowired
|
private EmailTaskSettingService taskSettingService;
|
@PostMapping("")
|
@LoginRequired
|
@PermissionMeta(value = "邮箱任务创建", module = "邮箱任务",mount = false)
|
@Logger(template = "{user.nickname} 创建了邮箱任务 ")
|
public CreatedVO create(@Validated @RequestBody CreateOrUpdateEmailTaskDTO validator) {
|
taskSettingService.createEmailTask(validator);
|
return new CreatedVO();
|
}
|
|
@PutMapping("/{id}")
|
@LoginRequired
|
@PermissionMeta(value = "邮箱任务编辑", module = "邮箱任务",mount = false)
|
@Logger(template = "{user.nickname} 编辑了邮箱任务 ")
|
public UpdatedVO update(@PathVariable String id,@RequestBody @Validated CreateOrUpdateEmailTaskDTO validator) {
|
|
if(StrUtil.isBlank(id)){
|
throw new NotFoundException("传入的Id不能为空");
|
}
|
EmailTaskSettingDO emailTaskSettingDO = taskSettingService.getById(id);
|
|
if(emailTaskSettingDO == null){
|
throw new NotFoundException("记录不存在");
|
}
|
|
taskSettingService.updateEmailTaskSetting(validator);
|
|
return new UpdatedVO();
|
}
|
|
@DeleteMapping("/{id}")
|
@LoginRequired
|
@PermissionMeta(value = "邮箱任务删除", module = "邮箱任务",mount = false)
|
@Logger(template = "{user.nickname} 删除了邮箱任务 ")
|
public DeletedVO delete(@PathVariable String id) {
|
if(StrUtil.isBlank(id)){
|
throw new NotFoundException("id不能为空");
|
}
|
EmailTaskSettingDO emailTaskSettingDO = taskSettingService.getById(id);
|
|
if (emailTaskSettingDO == null) {
|
throw new NotFoundException("记录不存在");
|
}
|
taskSettingService.removeByIdLogic(id);
|
return new DeletedVO();
|
}
|
|
@GetMapping("/{id}")
|
public EmailTaskSettingDO get(@PathVariable String id) {
|
if(StrUtil.isBlank(id)){
|
throw new NotFoundException("id不能为空");
|
}
|
EmailTaskSettingDO emailTaskSettingDO = taskSettingService.getById(id);
|
|
if (emailTaskSettingDO == null) {
|
throw new NotFoundException("记录不存在");
|
}
|
return emailTaskSettingDO;
|
}
|
|
@GetMapping("/page")
|
@LoginRequired
|
@PermissionMeta(value = "邮箱任务列表", module = "邮箱任务",mount = true)
|
@Logger(template = "{user.nickname} 查看邮箱任务列表 ")
|
public PageResponseVO<EmailTaskSettingBO> page(
|
@Validated QueryEmailTaskDTO dto
|
) {
|
IPage<EmailTaskSettingBO> iPage=taskSettingService.getEmailTaskSettingPage(dto);
|
return PageUtil.build(iPage);
|
}
|
|
}
|