Commit 57a36eb87c196f12a9e50d0a010e08f2d7627366

Authored by zhangmeiyang
1 parent 31b05494

feat(tax): 引入税务管道映射创建模型并更新服务接口

- 新增 TaxPipelineMappingCreate 模型用于创建税务管道映射- 更新 ITaxPipelineMappingService 接口以使用新的创建模型
- 修改 DynamicTaxPipelineMappingService 实现以适配新模型
- 移除旧的 TaxPipelineMappingCreateCO 模型引用
- 添加对 TaxPipelineMappingCreate 的参数验证支持
tax-central/src/main/java/com/diligrp/tax/central/model/TaxPipelineMappingCreate.java 0 → 100644
  1 +package com.diligrp.tax.central.model;
  2 +
  3 +import jakarta.validation.Valid;
  4 +import jakarta.validation.constraints.NotEmpty;
  5 +import jakarta.validation.constraints.NotNull;
  6 +import lombok.Getter;
  7 +import lombok.Setter;
  8 +
  9 +/**
  10 + * @Author: zhangmeiyang
  11 + * @CreateTime: 2025-11-07 11:06
  12 + * @Version: todo
  13 + */
  14 +@Getter
  15 +@Setter
  16 +@Valid
  17 +public class TaxPipelineMappingCreate {
  18 + /**
  19 + * 租户 ID
  20 + */
  21 + @NotNull(message = "租户ID不能为空")
  22 + private Long tenantId;
  23 + /**
  24 + * 管道 ID
  25 + */
  26 + @NotNull(message = "管道ID不能为空")
  27 + private Long pipelineId;
  28 + /**
  29 + * 文档类型
  30 + */
  31 + @NotEmpty(message = "文档类型不能为空")
  32 + private String documentType;
  33 + /**
  34 + * 同步系统数据唯一键
  35 + */
  36 + @NotEmpty(message = "同步系统数据唯一键不能为空")
  37 + private String systemDataId;
  38 + /**
  39 + * 账套数据唯一键
  40 + */
  41 + @NotEmpty(message = "账套数据唯一键不能为空")
  42 + private String pipelineDataId;
  43 + /**
  44 + * 原始发送数据
  45 + */
  46 + @NotEmpty(message = "原始发送数据不能为空")
  47 + private String originData;
  48 + /**
  49 + * 同步状态
  50 + */
  51 + @NotNull(message = "同步状态不能为空")
  52 + private Integer state;
  53 +}
... ...
tax-central/src/main/java/com/diligrp/tax/central/service/ITaxPipelineMappingService.java
1 1 package com.diligrp.tax.central.service;
2 2  
  3 +import com.diligrp.tax.central.model.TaxPipelineMappingCreate;
3 4 import com.diligrp.tax.central.model.TenantTaxPipelineMapping;
4 5  
5 6 import java.util.Optional;
... ... @@ -16,4 +17,11 @@ public interface ITaxPipelineMappingService {
16 17 * @return {@link Optional }<{@link TenantTaxPipelineMapping }>
17 18 */
18 19 Optional<TenantTaxPipelineMapping> findByPipelineIdAndDocumentTypeAndSystemDataId(Long tenantId,Long pipelineId,String documentType,String systemDataId);
  20 +
  21 + /**
  22 + * 插入
  23 + *
  24 + * @param taxPipelineMappingCreate
  25 + */
  26 + void insert(TaxPipelineMappingCreate taxPipelineMappingCreate);
19 27 }
... ...
tax-storage/src/main/java/com/diligrp/tax/storage/service/DynamicTaxPipelineMappingService.java
... ... @@ -2,6 +2,7 @@ package com.diligrp.tax.storage.service;
2 2  
3 3 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
4 4 import com.diligrp.tax.central.exception.TaxAgentServiceException;
  5 +import com.diligrp.tax.central.model.TaxPipelineMappingCreate;
5 6 import com.diligrp.tax.central.model.TenantTaxPipelineMapping;
6 7 import com.diligrp.tax.central.service.ITaxPipelineMappingService;
7 8 import com.diligrp.tax.central.type.DocumentType;
... ... @@ -9,7 +10,6 @@ import com.diligrp.tax.central.type.TaxSystemType;
9 10 import com.diligrp.tax.central.utils.JsonUtils;
10 11 import com.diligrp.tax.storage.domain.TaxPipelineMapping;
11 12 import com.diligrp.tax.storage.model.co.TaxPipelineMappingCO;
12   -import com.diligrp.tax.storage.model.co.TaxPipelineMappingCreateCO;
13 13 import com.diligrp.tax.storage.repo.TaxPipelineMappingRepository;
14 14 import com.diligrp.tax.storage.type.MappingStateType;
15 15 import jakarta.annotation.Resource;
... ... @@ -82,14 +82,10 @@ public class DynamicTaxPipelineMappingService implements ITaxPipelineMappingServ
82 82 return taxPipelineMappingRepository.findByPipelineIdAndDocumentTypeAndSystemDataId(taxPipelineMapping);
83 83 }
84 84  
85   - /**
86   - * 插入
87   - *
88   - * @param taxPipelineMappingCO 税务管道测绘公司
89   - */
90   - public void insert(@Validated TaxPipelineMappingCreateCO taxPipelineMappingCO) {
91   - DocumentType.validateDocumentType(taxPipelineMappingCO.getDocumentType());
92   - TaxPipelineMapping taxPipelineMapping = JsonUtils.convertValue(taxPipelineMappingCO, TaxPipelineMapping.class);
  85 + @Override
  86 + public void insert(@Validated TaxPipelineMappingCreate taxPipelineMappingCreate) {
  87 + DocumentType.validateDocumentType(taxPipelineMappingCreate.getDocumentType());
  88 + TaxPipelineMapping taxPipelineMapping = JsonUtils.convertValue(taxPipelineMappingCreate, TaxPipelineMapping.class);
93 89 taxPipelineMapping.setState(MappingStateType.SYNCED.value);
94 90 taxPipelineMappingRepository.insert(taxPipelineMapping);
95 91 }
... ...