From abc26c2c0e3c5c348da72e5d9d778b6cd8819bbc Mon Sep 17 00:00:00 2001 From: hhhhsc <1710496817@qq.com> Date: Fri, 24 Oct 2025 17:55:41 +0800 Subject: [PATCH] refactor: update service and repository structure to use DTOs and improve clarity --- .../OperatorMarketServiceConfiguration.java | 5 +- .../operator/application/CategoryService.java | 26 ++--- .../operator/application/LabelService.java | 9 +- .../operator/application/OperatorService.java | 74 ++++++-------- .../domain/modal/RelationCategoryDTO.java | 15 --- .../operator/domain/model/Category.java | 18 ++++ .../domain/model/CategoryRelation.java | 16 ++++ .../domain/{modal => model}/Operator.java | 8 +- .../operator/domain/model/OperatorView.java | 39 ++++++++ .../CategoryRelationRepository.java | 15 +++ .../domain/repository/CategoryRepository.java | 11 +++ .../domain/repository/OperatorRepository.java | 15 +++ .../repository/OperatorViewRepository.java | 15 +++ .../converter/CategoryConverter.java | 15 +++ .../converter/CategoryRelationConverter.java | 15 +++ .../converter/OperatorConverter.java | 11 ++- .../Impl/CategoryRelationRepositoryImpl.java | 32 +++++++ .../Impl/CategoryRepositoryImpl.java | 24 +++++ .../Impl/OperatorRepositoryImpl.java | 33 +++++++ .../Impl/OperatorViewRepositoryImpl.java | 52 ++++++++++ .../persistence/mapper/CategoryMapper.java | 9 +- .../mapper/CategoryRelationMapper.java | 15 +-- .../persistence/mapper/OperatorMapper.java | 24 +---- .../mapper/OperatorViewMapper.java | 30 ++++++ .../dto/CategoryDto.java} | 6 +- .../dto/CategoryRelationDto.java} | 4 +- .../interfaces/dto/CreateOperatorRequest.java | 36 ------- .../dto/{Label.java => LabelDto.java} | 2 +- ...OperatorResponse.java => OperatorDto.java} | 6 +- .../interfaces/dto/UpdateOperatorRequest.java | 32 ------- .../{api => rest}/CategoryController.java | 2 +- .../{api => rest}/LabelController.java | 16 ++-- .../{api => rest}/OperatorController.java | 22 ++--- .../main/resources/mappers/CategoryMapper.xml | 8 -- .../mappers/CategoryRelationMapper.xml | 24 ----- .../main/resources/mappers/OperatorMapper.xml | 96 ------------------- 36 files changed, 427 insertions(+), 353 deletions(-) delete mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/domain/modal/RelationCategoryDTO.java create mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/domain/model/Category.java create mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/domain/model/CategoryRelation.java rename backend/services/operator-market-service/src/main/java/com/datamate/operator/domain/{modal => model}/Operator.java (73%) create mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/domain/model/OperatorView.java create mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/domain/repository/CategoryRelationRepository.java create mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/domain/repository/CategoryRepository.java create mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/domain/repository/OperatorRepository.java create mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/domain/repository/OperatorViewRepository.java create mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/infrastructure/converter/CategoryConverter.java create mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/infrastructure/converter/CategoryRelationConverter.java rename backend/services/operator-market-service/src/main/java/com/datamate/operator/{domain => infrastructure}/converter/OperatorConverter.java (67%) create mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/infrastructure/persistence/Impl/CategoryRelationRepositoryImpl.java create mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/infrastructure/persistence/Impl/CategoryRepositoryImpl.java create mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/infrastructure/persistence/Impl/OperatorRepositoryImpl.java create mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/infrastructure/persistence/Impl/OperatorViewRepositoryImpl.java create mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/infrastructure/persistence/mapper/OperatorViewMapper.java rename backend/services/operator-market-service/src/main/java/com/datamate/operator/{domain/modal/Category.java => interfaces/dto/CategoryDto.java} (59%) rename backend/services/operator-market-service/src/main/java/com/datamate/operator/{domain/modal/CategoryRelation.java => interfaces/dto/CategoryRelationDto.java} (61%) delete mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/interfaces/dto/CreateOperatorRequest.java rename backend/services/operator-market-service/src/main/java/com/datamate/operator/interfaces/dto/{Label.java => LabelDto.java} (86%) rename backend/services/operator-market-service/src/main/java/com/datamate/operator/interfaces/dto/{OperatorResponse.java => OperatorDto.java} (90%) delete mode 100644 backend/services/operator-market-service/src/main/java/com/datamate/operator/interfaces/dto/UpdateOperatorRequest.java rename backend/services/operator-market-service/src/main/java/com/datamate/operator/interfaces/{api => rest}/CategoryController.java (95%) rename backend/services/operator-market-service/src/main/java/com/datamate/operator/interfaces/{api => rest}/LabelController.java (72%) rename backend/services/operator-market-service/src/main/java/com/datamate/operator/interfaces/{api => rest}/OperatorController.java (61%) delete mode 100644 backend/services/operator-market-service/src/main/resources/mappers/CategoryMapper.xml delete mode 100644 backend/services/operator-market-service/src/main/resources/mappers/CategoryRelationMapper.xml delete mode 100644 backend/services/operator-market-service/src/main/resources/mappers/OperatorMapper.xml diff --git a/backend/services/operator-market-service/src/main/java/com/datamate/operator/OperatorMarketServiceConfiguration.java b/backend/services/operator-market-service/src/main/java/com/datamate/operator/OperatorMarketServiceConfiguration.java index e05a2bd..1e0e5c7 100644 --- a/backend/services/operator-market-service/src/main/java/com/datamate/operator/OperatorMarketServiceConfiguration.java +++ b/backend/services/operator-market-service/src/main/java/com/datamate/operator/OperatorMarketServiceConfiguration.java @@ -13,10 +13,9 @@ import org.springframework.scheduling.annotation.EnableScheduling; @Configuration @EnableAsync @EnableScheduling -@EntityScan(basePackages = "com.datamate.operator.domain.modal") +@EntityScan(basePackages = "com.datamate.operator.domain.model") @ComponentScan(basePackages = { - "com.datamate.operator", - "com.datamate.shared" + "com.datamate.operator" }) public class OperatorMarketServiceConfiguration { // Service configuration class for JAR packaging diff --git a/backend/services/operator-market-service/src/main/java/com/datamate/operator/application/CategoryService.java b/backend/services/operator-market-service/src/main/java/com/datamate/operator/application/CategoryService.java index 45da8d8..77f9c63 100644 --- a/backend/services/operator-market-service/src/main/java/com/datamate/operator/application/CategoryService.java +++ b/backend/services/operator-market-service/src/main/java/com/datamate/operator/application/CategoryService.java @@ -1,10 +1,10 @@ package com.datamate.operator.application; -import com.datamate.operator.domain.modal.Category; -import com.datamate.operator.domain.modal.CategoryRelation; -import com.datamate.operator.infrastructure.persistence.mapper.CategoryMapper; -import com.datamate.operator.infrastructure.persistence.mapper.CategoryRelationMapper; +import com.datamate.operator.domain.repository.CategoryRelationRepository; +import com.datamate.operator.domain.repository.CategoryRepository; +import com.datamate.operator.interfaces.dto.CategoryDto; +import com.datamate.operator.interfaces.dto.CategoryRelationDto; import com.datamate.operator.interfaces.dto.CategoryTreeResponse; import com.datamate.operator.interfaces.dto.SubCategory; import lombok.RequiredArgsConstructor; @@ -18,30 +18,30 @@ import java.util.stream.Collectors; @Service @RequiredArgsConstructor public class CategoryService { - private final CategoryMapper categoryMapper; + private final CategoryRepository categoryRepo; - private final CategoryRelationMapper categoryRelationMapper; + private final CategoryRelationRepository categoryRelationRepo; public List getAllCategories() { - List allCategories = categoryMapper.findAllCategories(); - List allRelations = categoryRelationMapper.findAllRelation(); + List allCategories = categoryRepo.findAllCategories(); + List allRelations = categoryRelationRepo.findAllRelation(); Map relationMap = allRelations.stream() .collect(Collectors.groupingBy( - CategoryRelation::getCategoryId, + CategoryRelationDto::getCategoryId, Collectors.collectingAndThen(Collectors.counting(), Math::toIntExact))); Map nameMap = allCategories.stream() - .collect(Collectors.toMap(Category::getId, Category::getName)); - Map> groupedByParentId = allCategories.stream() + .collect(Collectors.toMap(CategoryDto::getId, CategoryDto::getName)); + Map> groupedByParentId = allCategories.stream() .filter(relation -> relation.getParentId() > 0) - .collect(Collectors.groupingBy(Category::getParentId)); + .collect(Collectors.groupingBy(CategoryDto::getParentId)); return groupedByParentId.entrySet().stream() .sorted(Map.Entry.comparingByKey()) .map(entry -> { Integer parentId = entry.getKey(); - List group = entry.getValue(); + List group = entry.getValue(); CategoryTreeResponse response = new CategoryTreeResponse(); response.setId(parentId); response.setName(nameMap.get(parentId)); diff --git a/backend/services/operator-market-service/src/main/java/com/datamate/operator/application/LabelService.java b/backend/services/operator-market-service/src/main/java/com/datamate/operator/application/LabelService.java index cba6ce4..f9fe8be 100644 --- a/backend/services/operator-market-service/src/main/java/com/datamate/operator/application/LabelService.java +++ b/backend/services/operator-market-service/src/main/java/com/datamate/operator/application/LabelService.java @@ -1,21 +1,20 @@ package com.datamate.operator.application; -import com.datamate.operator.interfaces.dto.Label; -import com.datamate.operator.interfaces.dto.*; +import com.datamate.operator.interfaces.dto.LabelDto; import org.springframework.stereotype.Service; import java.util.List; import java.util.Collections; @Service public class LabelService { - public List