From 245869dd8018d9ded08cc8658aabbe2a536ed43a Mon Sep 17 00:00:00 2001 From: "MSI\\2Fi" Date: Tue, 2 Apr 2024 10:52:21 +0800 Subject: [PATCH] Company Search related API --- .../modules/data/entity/CompanyRepository.java | 4 ++++ .../entity/projections/CompanySearchInfo.java | 15 +++++++++++++++ .../tsms/modules/data/service/CompanyService.kt | 13 +++++++++++++ .../tsms/modules/data/web/CompanyController.kt | 16 ++++++++++++++++ 4 files changed, 48 insertions(+) create mode 100644 src/main/java/com/ffii/tsms/modules/data/entity/projections/CompanySearchInfo.java create mode 100644 src/main/java/com/ffii/tsms/modules/data/service/CompanyService.kt create mode 100644 src/main/java/com/ffii/tsms/modules/data/web/CompanyController.kt diff --git a/src/main/java/com/ffii/tsms/modules/data/entity/CompanyRepository.java b/src/main/java/com/ffii/tsms/modules/data/entity/CompanyRepository.java index 534102d..098b940 100644 --- a/src/main/java/com/ffii/tsms/modules/data/entity/CompanyRepository.java +++ b/src/main/java/com/ffii/tsms/modules/data/entity/CompanyRepository.java @@ -1,6 +1,10 @@ package com.ffii.tsms.modules.data.entity; import com.ffii.core.support.AbstractRepository; +import com.ffii.tsms.modules.data.entity.projections.CompanySearchInfo; + +import java.util.List; public interface CompanyRepository extends AbstractRepository { + List findCompanySearchInfoBy(); } \ No newline at end of file diff --git a/src/main/java/com/ffii/tsms/modules/data/entity/projections/CompanySearchInfo.java b/src/main/java/com/ffii/tsms/modules/data/entity/projections/CompanySearchInfo.java new file mode 100644 index 0000000..2b57a0e --- /dev/null +++ b/src/main/java/com/ffii/tsms/modules/data/entity/projections/CompanySearchInfo.java @@ -0,0 +1,15 @@ +package com.ffii.tsms.modules.data.entity.projections; + +/** + * Projection for {@link com.ffii.tsms.modules.data.entity.Company} + */ +public interface CompanySearchInfo { + + Long getId(); + String getCompanyCode(); + String getName(); + String getBrNo(); + String getContactName(); + String getPhone(); + String getEmail(); +} \ No newline at end of file diff --git a/src/main/java/com/ffii/tsms/modules/data/service/CompanyService.kt b/src/main/java/com/ffii/tsms/modules/data/service/CompanyService.kt new file mode 100644 index 0000000..1ab5030 --- /dev/null +++ b/src/main/java/com/ffii/tsms/modules/data/service/CompanyService.kt @@ -0,0 +1,13 @@ +package com.ffii.tsms.modules.data.service + +import com.ffii.tsms.modules.data.entity.CompanyRepository +import com.ffii.tsms.modules.data.entity.projections.CompanySearchInfo +import org.springframework.stereotype.Service +@Service +class CompanyService( + private val companyRepository: CompanyRepository +) { + fun allCompanys(): List{ + return companyRepository.findCompanySearchInfoBy() + } +} \ No newline at end of file diff --git a/src/main/java/com/ffii/tsms/modules/data/web/CompanyController.kt b/src/main/java/com/ffii/tsms/modules/data/web/CompanyController.kt new file mode 100644 index 0000000..464aeae --- /dev/null +++ b/src/main/java/com/ffii/tsms/modules/data/web/CompanyController.kt @@ -0,0 +1,16 @@ +package com.ffii.tsms.modules.data.web.models + +import com.ffii.tsms.modules.data.entity.projections.CompanySearchInfo +import com.ffii.tsms.modules.data.service.CompanyService +import org.springframework.web.bind.annotation.GetMapping +import org.springframework.web.bind.annotation.RequestMapping +import org.springframework.web.bind.annotation.RestController + +@RestController +@RequestMapping("/companys") +class CompanyController(private val companyService: CompanyService) { + @GetMapping + fun allProjects(): List{ + return companyService.allCompanys() + } +} \ No newline at end of file