From 895ce7ee8243af76e35fdf7205e5ac3c139fe648 Mon Sep 17 00:00:00 2001 From: lanyuanxiaoyao Date: Sat, 16 Aug 2025 14:38:35 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=AE=80=E5=8C=96DTO=E8=BD=AC=E5=8C=96?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E7=9A=84=E5=88=9B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 5 ++++ .../controller/SimpleControllerSupport.java | 27 ++++++------------- .../controller/CompanyController.java | 7 ++--- .../controller/EmployeeController.java | 7 ++--- 4 files changed, 21 insertions(+), 25 deletions(-) diff --git a/pom.xml b/pom.xml index afb79cf..e4585e9 100644 --- a/pom.xml +++ b/pom.xml @@ -96,6 +96,11 @@ lombok 1.18.36 + + org.hibernate + hibernate-jpamodelgen + 6.6.8.Final + io.github.openfeign.querydsl querydsl-apt diff --git a/src/main/java/com/lanyuanxiaoyao/service/template/controller/SimpleControllerSupport.java b/src/main/java/com/lanyuanxiaoyao/service/template/controller/SimpleControllerSupport.java index ec09fc5..3c92fe1 100644 --- a/src/main/java/com/lanyuanxiaoyao/service/template/controller/SimpleControllerSupport.java +++ b/src/main/java/com/lanyuanxiaoyao/service/template/controller/SimpleControllerSupport.java @@ -6,6 +6,7 @@ import com.lanyuanxiaoyao.service.template.entity.SimpleEntity; import com.lanyuanxiaoyao.service.template.helper.ObjectHelper; import com.lanyuanxiaoyao.service.template.service.SimpleServiceSupport; import java.util.List; +import java.util.function.Function; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -24,7 +25,7 @@ public abstract class SimpleControllerSupport save(@RequestBody SAVE_ITEM item) throws Exception { var mapper = saveItemMapper(); - return GlobalResponse.responseSuccess(service.save(mapper.from(item))); + return GlobalResponse.responseSuccess(service.save(mapper.apply(item))); } @GetMapping(LIST) @@ -37,7 +38,7 @@ public abstract class SimpleControllerSupport { try { - return mapper.from(entity); + return mapper.apply(entity); } catch (Exception e) { throw new RuntimeException(e); } @@ -59,7 +60,7 @@ public abstract class SimpleControllerSupport { try { - return mapper.from(entity); + return mapper.apply(entity); } catch (Exception e) { throw new RuntimeException(e); } @@ -73,7 +74,7 @@ public abstract class SimpleControllerSupport detail(@PathVariable("id") Long id) throws Exception { var mapper = detailItemMapper(); - return GlobalResponse.responseSuccess(mapper.from(service.detailOrThrow(id))); + return GlobalResponse.responseSuccess(mapper.apply(service.detailOrThrow(id))); } @GetMapping(REMOVE) @@ -83,21 +84,9 @@ public abstract class SimpleControllerSupport saveItemMapper(); + protected abstract Function saveItemMapper(); - protected abstract ListItemMapper listItemMapper(); + protected abstract Function listItemMapper(); - protected abstract DetailItemMapper detailItemMapper(); - - public interface SaveItemMapper { - ENTITY from(SAVE_ITEM item) throws Exception; - } - - public interface ListItemMapper { - LIST_ITEM from(ENTITY entity) throws Exception; - } - - public interface DetailItemMapper { - DETAIL_ITEM from(ENTITY entity) throws Exception; - } + protected abstract Function detailItemMapper(); } diff --git a/src/test/java/com/lanyuanxiaoyao/service/template/controller/CompanyController.java b/src/test/java/com/lanyuanxiaoyao/service/template/controller/CompanyController.java index 4e51fa1..5923de7 100644 --- a/src/test/java/com/lanyuanxiaoyao/service/template/controller/CompanyController.java +++ b/src/test/java/com/lanyuanxiaoyao/service/template/controller/CompanyController.java @@ -3,6 +3,7 @@ package com.lanyuanxiaoyao.service.template.controller; import com.lanyuanxiaoyao.service.template.entity.Company; import com.lanyuanxiaoyao.service.template.service.CompanyService; import java.time.LocalDateTime; +import java.util.function.Function; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @@ -19,7 +20,7 @@ public class CompanyController extends SimpleControllerSupport saveItemMapper() { + protected Function saveItemMapper() { return item -> { var company = new Company(); company.setId(item.getId()); @@ -30,7 +31,7 @@ public class CompanyController extends SimpleControllerSupport listItemMapper() { + protected Function listItemMapper() { return company -> new ListItem( company.getId(), company.getName(), @@ -39,7 +40,7 @@ public class CompanyController extends SimpleControllerSupport detailItemMapper() { + protected Function detailItemMapper() { return company -> new DetailItem( company.getId(), company.getName(), diff --git a/src/test/java/com/lanyuanxiaoyao/service/template/controller/EmployeeController.java b/src/test/java/com/lanyuanxiaoyao/service/template/controller/EmployeeController.java index 0248e94..aa2c342 100644 --- a/src/test/java/com/lanyuanxiaoyao/service/template/controller/EmployeeController.java +++ b/src/test/java/com/lanyuanxiaoyao/service/template/controller/EmployeeController.java @@ -4,6 +4,7 @@ import com.lanyuanxiaoyao.service.template.entity.Employee; import com.lanyuanxiaoyao.service.template.service.CompanyService; import com.lanyuanxiaoyao.service.template.service.EmployeeService; import java.time.LocalDateTime; +import java.util.function.Function; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @@ -23,7 +24,7 @@ public class EmployeeController extends SimpleControllerSupport saveItemMapper() { + protected Function saveItemMapper() { return item -> { var employee = new Employee(); employee.setId(item.getId()); @@ -36,7 +37,7 @@ public class EmployeeController extends SimpleControllerSupport listItemMapper() { + protected Function listItemMapper() { return employee -> new ListItem( employee.getId(), employee.getName(), @@ -46,7 +47,7 @@ public class EmployeeController extends SimpleControllerSupport detailItemMapper() { + protected Function detailItemMapper() { return employee -> new DetailItem( employee.getId(), employee.getCompany().getId(),