+ * MybatisPlus配置类 + *
+ * + * @author YLL + * @since 2025/6/9 + */ +@Configuration +@MapperScan("asia.yulinling.workflow.mapper") +public class MyBatisPlusConfig { + + /** + * 添加分页插件 + */ + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加 + // 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbType + return interceptor; + } +} diff --git a/src/main/java/asia/yulinling/workflow/controller/TestController.java b/src/main/java/asia/yulinling/workflow/controller/TestController.java index f984ef6..2bee43f 100644 --- a/src/main/java/asia/yulinling/workflow/controller/TestController.java +++ b/src/main/java/asia/yulinling/workflow/controller/TestController.java @@ -1,20 +1,18 @@ package asia.yulinling.workflow.controller; import asia.yulinling.workflow.constant.Status; +import asia.yulinling.workflow.dto.request.PageParam; import asia.yulinling.workflow.exception.JsonException; import asia.yulinling.workflow.exception.PageException; import asia.yulinling.workflow.model.ApiResponse; -import asia.yulinling.workflow.model.PageResult; +import asia.yulinling.workflow.dto.response.PageResult; import asia.yulinling.workflow.model.vo.user.UserVO; import asia.yulinling.workflow.service.UserService; import cn.hutool.core.lang.Dict; import cn.hutool.json.JSONUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.Map; @@ -71,7 +69,7 @@ public class TestController { } @GetMapping("/users") - public ApiResponse+ * 分页请求参数 + *
+ * + * @author YLL + * @since 2025/6/9 + */ +@Data +public class PageParam { + private int pageNum; + private int pageSize; + + public PageParam() { + this.pageNum = 1; + this.pageSize = 10; + } +} diff --git a/src/main/java/asia/yulinling/workflow/model/PageResult.java b/src/main/java/asia/yulinling/workflow/dto/response/PageResult.java similarity index 58% rename from src/main/java/asia/yulinling/workflow/model/PageResult.java rename to src/main/java/asia/yulinling/workflow/dto/response/PageResult.java index 50eabf5..559c1a5 100644 --- a/src/main/java/asia/yulinling/workflow/model/PageResult.java +++ b/src/main/java/asia/yulinling/workflow/dto/response/PageResult.java @@ -1,4 +1,4 @@ -package asia.yulinling.workflow.model; +package asia.yulinling.workflow.dto.response; import lombok.Data; @@ -27,6 +27,9 @@ public class PageResult* 用户Mapper diff --git a/src/main/java/asia/yulinling/workflow/model/vo/user/UserVO.java b/src/main/java/asia/yulinling/workflow/model/vo/user/UserVO.java index 3911a62..11b2520 100644 --- a/src/main/java/asia/yulinling/workflow/model/vo/user/UserVO.java +++ b/src/main/java/asia/yulinling/workflow/model/vo/user/UserVO.java @@ -4,7 +4,7 @@ import lombok.Data; /** *
- * 用户信息VO + * 用户信息VO *
* * @author YLL diff --git a/src/main/java/asia/yulinling/workflow/service/MailService.java b/src/main/java/asia/yulinling/workflow/service/MailService.java index 5caf3b5..aaf5bb8 100644 --- a/src/main/java/asia/yulinling/workflow/service/MailService.java +++ b/src/main/java/asia/yulinling/workflow/service/MailService.java @@ -4,7 +4,7 @@ import jakarta.mail.MessagingException; /** *- * 邮件接口 + * 邮件接口 *
* * @author yulinling @@ -14,20 +14,20 @@ public interface MailService { /** * 发送文本邮件 * - * @param to 收件人地址 - * @param subject 邮件主题 - * @param content 邮件内容 - * @param cc 抄送地址 + * @param to 收件人地址 + * @param subject 邮件主题 + * @param content 邮件内容 + * @param cc 抄送地址 */ void sendSimpleMail(String to, String subject, String content, String... cc); /** * 发送HTML邮件 * - * @param to 收件人地址 - * @param subject 邮件主题 - * @param content 邮件内容 - * @param cc 抄送地址 + * @param to 收件人地址 + * @param subject 邮件主题 + * @param content 邮件内容 + * @param cc 抄送地址 * @throws MessagingException 邮件发送异常 */ void sendHtmlMail(String to, String subject, String content, String... cc) throws MessagingException; @@ -36,11 +36,11 @@ public interface MailService { /** * 发送带附件邮件 * - * @param to 收件人地址 - * @param subject 邮件主题 - * @param content 邮件内容 - * @param filePath 附件地址 - * @param cc 抄送地址 + * @param to 收件人地址 + * @param subject 邮件主题 + * @param content 邮件内容 + * @param filePath 附件地址 + * @param cc 抄送地址 * @throws MessagingException 邮件发送异常 */ void sendAttachmentsMail(String to, String subject, String content, String filePath, String... cc) throws MessagingException; @@ -48,12 +48,12 @@ public interface MailService { /** * 发送正文带静态资源的邮件 * - * @param to 收件人地址 - * @param subject 邮件主题 - * @param content 邮件内容 - * @param rscPath 静态资源地址 - * @param rscId 静态资源id - * @param cc 抄送地址 + * @param to 收件人地址 + * @param subject 邮件主题 + * @param content 邮件内容 + * @param rscPath 静态资源地址 + * @param rscId 静态资源id + * @param cc 抄送地址 * @throws MessagingException 邮件发送异常 */ void sendResourceMail(String to, String subject, String content, String rscPath, String rscId, String... cc) throws MessagingException; diff --git a/src/main/java/asia/yulinling/workflow/service/UserService.java b/src/main/java/asia/yulinling/workflow/service/UserService.java index 03c32cf..258a1ac 100644 --- a/src/main/java/asia/yulinling/workflow/service/UserService.java +++ b/src/main/java/asia/yulinling/workflow/service/UserService.java @@ -1,16 +1,14 @@ package asia.yulinling.workflow.service; +import asia.yulinling.workflow.dto.request.PageParam; import asia.yulinling.workflow.model.ApiResponse; -import asia.yulinling.workflow.model.PageResult; -import asia.yulinling.workflow.model.entity.User; +import asia.yulinling.workflow.dto.response.PageResult; import asia.yulinling.workflow.model.vo.user.UserVO; import org.springframework.transaction.annotation.Transactional; -import java.util.List; - /** *- * 用户接口 + * 用户接口 *
* * @author YLL @@ -20,4 +18,6 @@ import java.util.List; public interface UserService { ApiResponse- * 邮件接口 + * 邮件接口 *
* * @author yulinling @@ -29,13 +30,14 @@ public class MailServiceImpl implements MailService { private final JavaMailSender mailSender; @Value("${spring.mail.username}") private String from; + /** * 发送文本邮件 * - * @param to 收件人地址 - * @param subject 邮件主题 - * @param content 邮件内容 - * @param cc 抄送地址 + * @param to 收件人地址 + * @param subject 邮件主题 + * @param content 邮件内容 + * @param cc 抄送地址 */ @Override public void sendSimpleMail(String to, String subject, String content, String... cc) { @@ -55,10 +57,10 @@ public class MailServiceImpl implements MailService { /** * 发送HTML邮件 * - * @param to 收件人地址 - * @param subject 邮件主题 - * @param content 邮件内容 - * @param cc 抄送地址 + * @param to 收件人地址 + * @param subject 邮件主题 + * @param content 邮件内容 + * @param cc 抄送地址 * @throws MessagingException 邮件发送异常 */ @Override @@ -80,11 +82,11 @@ public class MailServiceImpl implements MailService { /** * 发送带附件邮件 * - * @param to 收件人地址 - * @param subject 邮件主题 - * @param content 邮件内容 - * @param filePath 附件地址 - * @param cc 抄送地址 + * @param to 收件人地址 + * @param subject 邮件主题 + * @param content 邮件内容 + * @param filePath 附件地址 + * @param cc 抄送地址 * @throws MessagingException 邮件发送异常 */ @Override @@ -108,12 +110,12 @@ public class MailServiceImpl implements MailService { /** * 发送正文带静态资源的邮件 * - * @param to 收件人地址 - * @param subject 邮件主题 - * @param content 邮件内容 - * @param rscPath 静态资源地址 - * @param rscId 静态资源id - * @param cc 抄送地址 + * @param to 收件人地址 + * @param subject 邮件主题 + * @param content 邮件内容 + * @param rscPath 静态资源地址 + * @param rscId 静态资源id + * @param cc 抄送地址 * @throws MessagingException 邮件发送异常 */ public void sendResourceMail(String to, String subject, String content, String rscPath, String rscId, String... cc) throws MessagingException { diff --git a/src/main/java/asia/yulinling/workflow/service/impl/UserServiceImpl.java b/src/main/java/asia/yulinling/workflow/service/impl/UserServiceImpl.java index e7bde10..b7e2c42 100644 --- a/src/main/java/asia/yulinling/workflow/service/impl/UserServiceImpl.java +++ b/src/main/java/asia/yulinling/workflow/service/impl/UserServiceImpl.java @@ -1,18 +1,20 @@ package asia.yulinling.workflow.service.impl; +import asia.yulinling.workflow.dto.request.PageParam; import asia.yulinling.workflow.mapper.UserMapper; import asia.yulinling.workflow.model.ApiResponse; -import asia.yulinling.workflow.model.PageResult; +import asia.yulinling.workflow.dto.response.PageResult; import asia.yulinling.workflow.model.entity.User; import asia.yulinling.workflow.model.vo.user.UserVO; import asia.yulinling.workflow.service.UserService; +import asia.yulinling.workflow.utils.PageUtils; import cn.hutool.core.util.ArrayUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.ArrayList; -import java.util.Collections; import java.util.List; /** @@ -55,4 +57,25 @@ public class UserServiceImpl implements UserService { return ApiResponse.ofSuccess(null); } + + @Override + public ApiResponse+ * 分页工具类 + *
+ * + * @author YLL + * @since 2025/6/9 + */ +public class PageUtils { + public static
* 用户测试类
@@ -25,8 +23,15 @@ public class UserServiceTest extends WorkFlowMainTests {
@Test
public void getUserList() {
- ApiResponse