From 3fa7ed20437b18f22b57454755cc92060927c90d Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Sat, 12 Oct 2024 13:06:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=8E=B7=E5=8F=96=E6=89=80=E6=9C=89?= =?UTF-8?q?=E9=82=AE=E4=BB=B6=E6=A8=A1=E6=9D=BF=E5=86=85=E5=AE=B9,?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B7=AF=E7=94=B1=E6=B7=BB=E5=8A=A0=E5=92=8C?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/dto/system/email/EmailUsersDto.java | 3 -- .../dao/vo/system/email/EmailUsersVo.java | 5 +++ .../controller/EmailTemplateController.java | 7 ++++ .../security/config/WebSecurityConfig.java | 2 +- .../service/EmailTemplateService.java | 7 ++++ .../impl/EmailTemplateServiceImpl.java | 25 +++++++++++++ .../service/impl/RouterServiceImpl.java | 36 +++++++++++-------- .../resources/mapper/EmailUsersMapper.xml | 3 -- .../main/resources/mapper/RouterMapper.xml | 1 - 9 files changed, 67 insertions(+), 22 deletions(-) diff --git a/dao/src/main/java/cn/bunny/dao/dto/system/email/EmailUsersDto.java b/dao/src/main/java/cn/bunny/dao/dto/system/email/EmailUsersDto.java index d941550..5780dc0 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/system/email/EmailUsersDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/system/email/EmailUsersDto.java @@ -16,9 +16,6 @@ public class EmailUsersDto { @Schema(name = "email", title = "邮箱") private String email; - @Schema(name = "emailTemplate", title = "使用邮件模板") - private Long emailTemplate; - @Schema(name = "host", title = "Host地址") private String host; diff --git a/dao/src/main/java/cn/bunny/dao/vo/system/email/EmailUsersVo.java b/dao/src/main/java/cn/bunny/dao/vo/system/email/EmailUsersVo.java index a0d2e00..a5dd529 100644 --- a/dao/src/main/java/cn/bunny/dao/vo/system/email/EmailUsersVo.java +++ b/dao/src/main/java/cn/bunny/dao/vo/system/email/EmailUsersVo.java @@ -1,6 +1,9 @@ package cn.bunny.dao.vo.system.email; import cn.bunny.dao.vo.BaseVo; +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; @@ -16,6 +19,8 @@ public class EmailUsersVo extends BaseVo { private String email; @Schema(name = "emailTemplate", title = "使用邮件模板") + @JsonFormat(shape = JsonFormat.Shape.STRING) + @JSONField(serializeUsing = ToStringSerializer.class) private Long emailTemplate; @Schema(name = "password", title = "密码") diff --git a/service/src/main/java/cn/bunny/services/controller/EmailTemplateController.java b/service/src/main/java/cn/bunny/services/controller/EmailTemplateController.java index 74dc914..fee72be 100644 --- a/service/src/main/java/cn/bunny/services/controller/EmailTemplateController.java +++ b/service/src/main/java/cn/bunny/services/controller/EmailTemplateController.java @@ -49,6 +49,13 @@ public class EmailTemplateController { return Mono.just(Result.success(pageResult)); } + @Operation(summary = "查询所有邮件模板", description = "查询所有邮件模板") + @GetMapping("getAllEmailTemplates") + public Mono>> getAllEmailTemplates() { + List voList = emailTemplateService.getAllEmailTemplates(); + return Mono.just(Result.success(voList)); + } + @Operation(summary = "添加邮件模板表", description = "添加邮件模板表") @PostMapping("addEmailTemplate") public Mono> addEmailTemplate(@Valid @RequestBody EmailTemplateAddDto dto) { diff --git a/service/src/main/java/cn/bunny/services/security/config/WebSecurityConfig.java b/service/src/main/java/cn/bunny/services/security/config/WebSecurityConfig.java index 60a7422..550dcfd 100644 --- a/service/src/main/java/cn/bunny/services/security/config/WebSecurityConfig.java +++ b/service/src/main/java/cn/bunny/services/security/config/WebSecurityConfig.java @@ -82,7 +82,7 @@ public class WebSecurityConfig { String[] annotations = { "/", "/ws/**", "/*/*/noAuth/**", "/*/noAuth/**", "/noAuth/**", - "/media.ico", "/favicon.ico", "*.html", "/webjars/**", "/v3/api-docs/**", + "/media.ico", "/favicon.ico", "*.html", "/webjars/**", "/v3/api-docs/**", "swagger-ui/**", "/error", "/*/i18n/getI18n", }; return web -> web.ignoring().requestMatchers(annotations) diff --git a/service/src/main/java/cn/bunny/services/service/EmailTemplateService.java b/service/src/main/java/cn/bunny/services/service/EmailTemplateService.java index f8fcded..5e1ec2e 100644 --- a/service/src/main/java/cn/bunny/services/service/EmailTemplateService.java +++ b/service/src/main/java/cn/bunny/services/service/EmailTemplateService.java @@ -49,4 +49,11 @@ public interface EmailTemplateService extends IService { * @param ids 删除id列表 */ void deleteEmailTemplate(List ids); + + /** + * * 查询所有邮件模板 + * + * @return 邮箱模板返回内容列表 + */ + List getAllEmailTemplates(); } diff --git a/service/src/main/java/cn/bunny/services/service/impl/EmailTemplateServiceImpl.java b/service/src/main/java/cn/bunny/services/service/impl/EmailTemplateServiceImpl.java index ef737ff..319038a 100644 --- a/service/src/main/java/cn/bunny/services/service/impl/EmailTemplateServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/impl/EmailTemplateServiceImpl.java @@ -1,14 +1,17 @@ package cn.bunny.services.service.impl; +import cn.bunny.common.service.exception.BunnyException; import cn.bunny.dao.dto.system.email.EmailTemplateAddDto; import cn.bunny.dao.dto.system.email.EmailTemplateDto; import cn.bunny.dao.dto.system.email.EmailTemplateUpdateDto; import cn.bunny.dao.entity.system.EmailTemplate; import cn.bunny.dao.pojo.result.PageResult; +import cn.bunny.dao.pojo.result.ResultCodeEnum; import cn.bunny.dao.vo.system.email.EmailTemplateVo; import cn.bunny.services.mapper.EmailTemplateMapper; import cn.bunny.services.service.EmailTemplateService; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jakarta.validation.Valid; @@ -61,6 +64,10 @@ public class EmailTemplateServiceImpl extends ServiceImpl emailTemplateList = list(Wrappers.lambdaQuery().eq(EmailTemplate::getTemplateName, dto.getTemplateName())); + if (!emailTemplateList.isEmpty()) throw new BunnyException(ResultCodeEnum.DATA_EXIST); + // 保存数据 EmailTemplate emailTemplate = new EmailTemplate(); BeanUtils.copyProperties(dto, emailTemplate); @@ -74,6 +81,10 @@ public class EmailTemplateServiceImpl extends ServiceImpl emailTemplateList = list(Wrappers.lambdaQuery().eq(EmailTemplate::getId, dto.getId())); + if (emailTemplateList.isEmpty()) throw new BunnyException(ResultCodeEnum.DATA_NOT_EXIST); + // 更新内容 EmailTemplate emailTemplate = new EmailTemplate(); BeanUtils.copyProperties(dto, emailTemplate); @@ -89,4 +100,18 @@ public class EmailTemplateServiceImpl extends ServiceImpl ids) { baseMapper.deleteBatchIdsWithPhysics(ids); } + + /** + * * 查询所有邮件模板 + * + * @return 邮箱模板返回内容列表 + */ + @Override + public List getAllEmailTemplates() { + return list().stream().map(emailTemplate -> { + EmailTemplateVo emailTemplateVo = new EmailTemplateVo(); + BeanUtils.copyProperties(emailTemplate, emailTemplateVo); + return emailTemplateVo; + }).toList(); + } } diff --git a/service/src/main/java/cn/bunny/services/service/impl/RouterServiceImpl.java b/service/src/main/java/cn/bunny/services/service/impl/RouterServiceImpl.java index e1e4736..7731670 100644 --- a/service/src/main/java/cn/bunny/services/service/impl/RouterServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/impl/RouterServiceImpl.java @@ -129,11 +129,14 @@ public class RouterServiceImpl extends ServiceImpl impleme IPage page = baseMapper.selectListByPage(pageParams, dto); // 构建返回对象 - List voList = page.getRecords().stream().map(router -> { - RouterManageVo routerManageVo = new RouterManageVo(); - BeanUtils.copyProperties(router, routerManageVo); - return routerManageVo; - }).toList(); + List voList = page.getRecords().stream() + .map(router -> { + RouterManageVo routerManageVo = new RouterManageVo(); + BeanUtils.copyProperties(router, routerManageVo); + return routerManageVo; + }) + .sorted(Comparator.comparing(RouterManageVo::getRouterRank)) + .toList(); return PageResult.builder() .list(voList) @@ -154,11 +157,14 @@ public class RouterServiceImpl extends ServiceImpl impleme lambdaQueryWrapper.like(StringUtils.hasText(dto.getTitle()), Router::getTitle, dto.getTitle()); lambdaQueryWrapper.eq(dto.getVisible() != null, Router::getVisible, dto.getVisible()); - return list(lambdaQueryWrapper).stream().map(router -> { - RouterManageVo routerManageVo = new RouterManageVo(); - BeanUtils.copyProperties(router, routerManageVo); - return routerManageVo; - }).toList(); + return list(lambdaQueryWrapper).stream() + .map(router -> { + RouterManageVo routerManageVo = new RouterManageVo(); + BeanUtils.copyProperties(router, routerManageVo); + return routerManageVo; + }) + .sorted(Comparator.comparing(RouterManageVo::getRouterRank)) + .toList(); } /** @@ -169,8 +175,7 @@ public class RouterServiceImpl extends ServiceImpl impleme @Override public void addMenu(RouterAddDto dto) { // 查找是否添加过路由名称 - String routeName = dto.getRouteName(); - Router router = getOne(Wrappers.lambdaQuery().eq(Router::getRouteName, routeName)); + Router router = getOne(Wrappers.lambdaQuery().eq(Router::getPath, dto.getPath())); if (router != null) throw new BunnyException(ResultCodeEnum.DATA_EXIST); // 添加路由 @@ -187,9 +192,12 @@ public class RouterServiceImpl extends ServiceImpl impleme */ @Override public void updateMenu(RouterUpdateDto dto) { - Long id = dto.getId(); - Router router = getOne(Wrappers.lambdaQuery().eq(Router::getId, id)); + Router router = getOne(Wrappers.lambdaQuery().eq(Router::getId, dto.getId())); + + // 判断更新数据是否存在 if (router == null) throw new BunnyException(ResultCodeEnum.DATA_NOT_EXIST); + + // 判断更新数据id和父级id是否重复 if (dto.getId().equals(dto.getParentId())) throw new BunnyException(ResultCodeEnum.ILLEGAL_DATA_REQUEST); router = new Router(); diff --git a/service/src/main/resources/mapper/EmailUsersMapper.xml b/service/src/main/resources/mapper/EmailUsersMapper.xml index 4cdc7e3..ee78089 100644 --- a/service/src/main/resources/mapper/EmailUsersMapper.xml +++ b/service/src/main/resources/mapper/EmailUsersMapper.xml @@ -33,9 +33,6 @@ and email like CONCAT('%',#{dto.email},'%') - - and email_template like CONCAT('%',#{dto.emailTemplate},'%') - and host like CONCAT('%',#{dto.host},'%') diff --git a/service/src/main/resources/mapper/RouterMapper.xml b/service/src/main/resources/mapper/RouterMapper.xml index 1064802..1b791e3 100644 --- a/service/src/main/resources/mapper/RouterMapper.xml +++ b/service/src/main/resources/mapper/RouterMapper.xml @@ -76,6 +76,5 @@ and visible = #{dto.visible} - order by router_rank