diff --git a/client/src/views/management/Organization.vue b/client/src/views/management/Organization.vue index ccf3b2a..33aeac7 100644 --- a/client/src/views/management/Organization.vue +++ b/client/src/views/management/Organization.vue @@ -52,6 +52,9 @@ onMounted(() => { method: 'get', url: `${information.baseUrl}/jsonapi/organization`, data: { + fields: { + organization: 'name' + }, page: { size: '${perPage|default:undefined}', number: '${page|default:undefined}', diff --git a/src/main/java/com/lanyuanxiaoyao/server/controller/base/AbstractController.java b/src/main/java/com/lanyuanxiaoyao/server/controller/base/AbstractController.java index 280dd48..0fd5bb4 100644 --- a/src/main/java/com/lanyuanxiaoyao/server/controller/base/AbstractController.java +++ b/src/main/java/com/lanyuanxiaoyao/server/controller/base/AbstractController.java @@ -1,13 +1,20 @@ package com.lanyuanxiaoyao.server.controller.base; import com.lanyuanxiaoyao.server.service.base.AbstractService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; public abstract class AbstractController { public abstract AbstractService getService(); - @PostMapping("save") + @GetMapping("/get/{id}") + public ENTITY get(@PathVariable("id") ID id) { + return getService().get(id); + } + + @PostMapping("/save") public ID save(@RequestBody ENTITY entity) { return getService().save(entity); } diff --git a/src/main/java/com/lanyuanxiaoyao/server/entity/mapper/DepartmentMapper.java b/src/main/java/com/lanyuanxiaoyao/server/entity/mapper/DepartmentMapper.java index 82a3188..74b1ba1 100644 --- a/src/main/java/com/lanyuanxiaoyao/server/entity/mapper/DepartmentMapper.java +++ b/src/main/java/com/lanyuanxiaoyao/server/entity/mapper/DepartmentMapper.java @@ -1,9 +1,9 @@ package com.lanyuanxiaoyao.server.entity.mapper; import com.lanyuanxiaoyao.server.entity.Department; -import com.lanyuanxiaoyao.server.entity.mapper.qualifier.DepartmentQualifier; -import com.lanyuanxiaoyao.server.entity.mapper.qualifier.OrganizationQualifier; import com.lanyuanxiaoyao.server.entity.vo.DepartmentSaveVO; +import com.lanyuanxiaoyao.server.service.DepartmentService; +import com.lanyuanxiaoyao.server.service.OrganizationService; import org.mapstruct.Mapper; import org.mapstruct.Mapping; @@ -15,8 +15,8 @@ import org.mapstruct.Mapping; */ @Mapper( uses = { - OrganizationQualifier.class, - DepartmentQualifier.class, + OrganizationService.class, + DepartmentService.class, } ) public abstract class DepartmentMapper implements EntityMapper { diff --git a/src/main/java/com/lanyuanxiaoyao/server/entity/mapper/qualifier/DepartmentQualifier.java b/src/main/java/com/lanyuanxiaoyao/server/entity/mapper/qualifier/DepartmentQualifier.java deleted file mode 100644 index 396996f..0000000 --- a/src/main/java/com/lanyuanxiaoyao/server/entity/mapper/qualifier/DepartmentQualifier.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.lanyuanxiaoyao.server.entity.mapper.qualifier; - -import com.lanyuanxiaoyao.server.entity.Department; -import com.lanyuanxiaoyao.server.repository.DepartmentRepository; -import org.springframework.stereotype.Component; - -@Component -public class DepartmentQualifier implements EntityQualifier { - private final DepartmentRepository departmentRepository; - - public DepartmentQualifier(DepartmentRepository departmentRepository) { - this.departmentRepository = departmentRepository; - } - - @Override - public Department get(Long id) { - return departmentRepository.getReferenceById(id); - } -} diff --git a/src/main/java/com/lanyuanxiaoyao/server/entity/mapper/qualifier/EntityQualifier.java b/src/main/java/com/lanyuanxiaoyao/server/entity/mapper/qualifier/EntityQualifier.java deleted file mode 100644 index 043ffc6..0000000 --- a/src/main/java/com/lanyuanxiaoyao/server/entity/mapper/qualifier/EntityQualifier.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.lanyuanxiaoyao.server.entity.mapper.qualifier; - -public interface EntityQualifier { - E get(ID id); -} diff --git a/src/main/java/com/lanyuanxiaoyao/server/entity/mapper/qualifier/OrganizationQualifier.java b/src/main/java/com/lanyuanxiaoyao/server/entity/mapper/qualifier/OrganizationQualifier.java deleted file mode 100644 index 0108243..0000000 --- a/src/main/java/com/lanyuanxiaoyao/server/entity/mapper/qualifier/OrganizationQualifier.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.lanyuanxiaoyao.server.entity.mapper.qualifier; - -import com.lanyuanxiaoyao.server.entity.Organization; -import com.lanyuanxiaoyao.server.repository.OrganizationRepository; -import org.springframework.stereotype.Component; - -@Component -public class OrganizationQualifier implements EntityQualifier { - private final OrganizationRepository organizationRepository; - - public OrganizationQualifier(OrganizationRepository organizationRepository) { - this.organizationRepository = organizationRepository; - } - - @Override - public Organization get(Long id) { - return organizationRepository.getReferenceById(id); - } -} diff --git a/src/main/java/com/lanyuanxiaoyao/server/service/DepartmentService.java b/src/main/java/com/lanyuanxiaoyao/server/service/DepartmentService.java new file mode 100644 index 0000000..04d851a --- /dev/null +++ b/src/main/java/com/lanyuanxiaoyao/server/service/DepartmentService.java @@ -0,0 +1,28 @@ +package com.lanyuanxiaoyao.server.service; + +import com.blinkfox.fenix.jpa.FenixJpaRepository; +import com.lanyuanxiaoyao.server.entity.Department; +import com.lanyuanxiaoyao.server.repository.DepartmentRepository; +import com.lanyuanxiaoyao.server.service.base.AbstractService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +public class DepartmentService extends AbstractService { + private final DepartmentRepository departmentRepository; + + public DepartmentService(DepartmentRepository departmentRepository) { + this.departmentRepository = departmentRepository; + } + + @Override + public FenixJpaRepository getRepository() { + return departmentRepository; + } + + @Override + public Long getId(Department department) { + return department.getId(); + } +} diff --git a/src/main/java/com/lanyuanxiaoyao/server/service/OrganizationService.java b/src/main/java/com/lanyuanxiaoyao/server/service/OrganizationService.java index 8c357be..15d5f0f 100644 --- a/src/main/java/com/lanyuanxiaoyao/server/service/OrganizationService.java +++ b/src/main/java/com/lanyuanxiaoyao/server/service/OrganizationService.java @@ -1,5 +1,6 @@ package com.lanyuanxiaoyao.server.service; +import com.blinkfox.fenix.jpa.FenixJpaRepository; import com.lanyuanxiaoyao.server.entity.Organization; import com.lanyuanxiaoyao.server.repository.OrganizationRepository; import com.lanyuanxiaoyao.server.service.base.AbstractService; @@ -16,8 +17,12 @@ public class OrganizationService extends AbstractService { } @Override - public Long save(Organization organization) { - Organization save = organizationRepository.saveOrUpdateByNotNullProperties(organization); - return save.getId(); + public FenixJpaRepository getRepository() { + return organizationRepository; + } + + @Override + public Long getId(Organization organization) { + return organization.getId(); } } diff --git a/src/main/java/com/lanyuanxiaoyao/server/service/base/AbstractService.java b/src/main/java/com/lanyuanxiaoyao/server/service/base/AbstractService.java index bd72034..485d31b 100644 --- a/src/main/java/com/lanyuanxiaoyao/server/service/base/AbstractService.java +++ b/src/main/java/com/lanyuanxiaoyao/server/service/base/AbstractService.java @@ -1,5 +1,18 @@ package com.lanyuanxiaoyao.server.service.base; +import com.blinkfox.fenix.jpa.FenixJpaRepository; + public abstract class AbstractService { - public abstract ID save(ENTITY entity); + public abstract FenixJpaRepository getRepository(); + + public abstract ID getId(ENTITY entity); + + public ENTITY get(ID id) { + return getRepository().getReferenceById(id); + } + + public ID save(ENTITY entity) { + ENTITY saved = getRepository().saveOrUpdateByNotNullProperties(entity); + return getId(saved); + } }