潘志宝
2024-11-12 1337f249608bcbd7ad6cf244870e560a95821727
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.system.controller.admin.mail;
H 2
3
4 import com.iailab.framework.common.pojo.CommonResult;
5 import com.iailab.framework.common.pojo.PageResult;
6 import com.iailab.framework.common.util.object.BeanUtils;
7 import com.iailab.module.system.controller.admin.mail.vo.account.MailAccountPageReqVO;
8 import com.iailab.module.system.controller.admin.mail.vo.account.MailAccountRespVO;
9 import com.iailab.module.system.controller.admin.mail.vo.account.MailAccountSaveReqVO;
10 import com.iailab.module.system.controller.admin.mail.vo.account.MailAccountSimpleRespVO;
11 import com.iailab.module.system.dal.dataobject.mail.MailAccountDO;
12 import com.iailab.module.system.service.mail.MailAccountService;
13 import io.swagger.v3.oas.annotations.Operation;
14 import io.swagger.v3.oas.annotations.Parameter;
15 import io.swagger.v3.oas.annotations.tags.Tag;
16 import org.springframework.security.access.prepost.PreAuthorize;
17 import org.springframework.web.bind.annotation.*;
18
19 import javax.annotation.Resource;
20 import javax.validation.Valid;
21 import java.util.List;
22
23 import static com.iailab.framework.common.pojo.CommonResult.success;
24
25 @Tag(name = "管理后台 - 邮箱账号")
26 @RestController
27 @RequestMapping("/system/mail-account")
28 public class MailAccountController {
29
30     @Resource
31     private MailAccountService mailAccountService;
32
33     @PostMapping("/create")
34     @Operation(summary = "创建邮箱账号")
35     @PreAuthorize("@ss.hasPermission('system:mail-account:create')")
36     public CommonResult<Long> createMailAccount(@Valid @RequestBody MailAccountSaveReqVO createReqVO) {
37         return success(mailAccountService.createMailAccount(createReqVO));
38     }
39
40     @PutMapping("/update")
41     @Operation(summary = "修改邮箱账号")
42     @PreAuthorize("@ss.hasPermission('system:mail-account:update')")
43     public CommonResult<Boolean> updateMailAccount(@Valid @RequestBody MailAccountSaveReqVO updateReqVO) {
44         mailAccountService.updateMailAccount(updateReqVO);
45         return success(true);
46     }
47
48     @DeleteMapping("/delete")
49     @Operation(summary = "删除邮箱账号")
50     @Parameter(name = "id", description = "编号", required = true)
51     @PreAuthorize("@ss.hasPermission('system:mail-account:delete')")
52     public CommonResult<Boolean> deleteMailAccount(@RequestParam Long id) {
53         mailAccountService.deleteMailAccount(id);
54         return success(true);
55     }
56
57     @GetMapping("/get")
58     @Operation(summary = "获得邮箱账号")
59     @Parameter(name = "id", description = "编号", required = true, example = "1024")
60     @PreAuthorize("@ss.hasPermission('system:mail-account:query')")
61     public CommonResult<MailAccountRespVO> getMailAccount(@RequestParam("id") Long id) {
62         MailAccountDO account = mailAccountService.getMailAccount(id);
63         return success(BeanUtils.toBean(account, MailAccountRespVO.class));
64     }
65
66     @GetMapping("/page")
67     @Operation(summary = "获得邮箱账号分页")
68     @PreAuthorize("@ss.hasPermission('system:mail-account:query')")
69     public CommonResult<PageResult<MailAccountRespVO>> getMailAccountPage(@Valid MailAccountPageReqVO pageReqVO) {
70         PageResult<MailAccountDO> pageResult = mailAccountService.getMailAccountPage(pageReqVO);
71         return success(BeanUtils.toBean(pageResult, MailAccountRespVO.class));
72     }
73
74     @GetMapping({"/list-all-simple", "simple-list"})
75     @Operation(summary = "获得邮箱账号精简列表")
76     public CommonResult<List<MailAccountSimpleRespVO>> getSimpleMailAccountList() {
77         List<MailAccountDO> list = mailAccountService.getMailAccountList();
78         return success(BeanUtils.toBean(list, MailAccountSimpleRespVO.class));
79     }
80
81 }