From 9a5206b2029e74ebfa5ca4a69e7d42eb9863a700 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BF=97=E8=B6=85?= <1011804356@qq.com> Date: Thu, 10 Apr 2025 11:39:11 +0800 Subject: [PATCH] =?UTF-8?q?#add=20=E6=A0=B9=E6=8D=AE=E7=BB=9F=E4=B8=80?= =?UTF-8?q?=E7=A4=BE=E4=BC=9A=E4=BB=A3=E7=A0=81=E5=92=8C=E5=B9=B4=E4=BB=BD?= =?UTF-8?q?=E6=9F=A5=E4=B8=8B=E8=AF=A5=E4=BC=81=E4=B8=9A=E7=9A=84=E8=90=A5?= =?UTF-8?q?=E6=94=B6=E5=92=8C=E7=A8=8E=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/data/api/finance/FinanceApi.java | 14 ++++++---- .../data/api/finance/dto/FinanceRespDTO.java | 16 ++++++++--- .../data/api/finance/FinanceApiImpl.java | 10 ++++--- .../module/data/dal/bo/finance/FinanceBO.java | 27 +++++++++++++++++++ .../dal/mapper/finance/FinanceMapper.java | 17 ++++++++++++ .../data/service/finance/FinanceService.java | 5 ++-- .../service/finance/FinanceServiceImpl.java | 14 +++++++++- .../mappers/finance/FinanceMapper.xml | 16 +++++++++++ 8 files changed, 104 insertions(+), 15 deletions(-) create mode 100644 sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/dal/bo/finance/FinanceBO.java create mode 100644 sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/dal/mapper/finance/FinanceMapper.java create mode 100644 sk-module-data/sk-module-data-biz/src/main/resources/mappers/finance/FinanceMapper.xml diff --git a/sk-module-data/sk-module-data-api/src/main/java/org/sk/module/data/api/finance/FinanceApi.java b/sk-module-data/sk-module-data-api/src/main/java/org/sk/module/data/api/finance/FinanceApi.java index 7ca3a4505..c8c7228e8 100644 --- a/sk-module-data/sk-module-data-api/src/main/java/org/sk/module/data/api/finance/FinanceApi.java +++ b/sk-module-data/sk-module-data-api/src/main/java/org/sk/module/data/api/finance/FinanceApi.java @@ -4,24 +4,28 @@ package org.sk.module.data.api.finance; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.tags.Tag; import org.sk.module.data.api.finance.dto.FinanceRespDTO; import org.sk.module.data.enums.ApiConstants; import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; @FeignClient(name = ApiConstants.NAME) @Tag(name = "RPC 服务:财务数据") public interface FinanceApi { - String PREFIX = ApiConstants.PREFIX + "/finance"; - @GetMapping(PREFIX + "/get") + @PostMapping(PREFIX + "/get") @Operation(summary = "获取财务信息") - @Parameter(name = "creditCode", description = "统一身份认证编码", example = "91340104MA2TK61Q1R", required = true) - CommonResult getDept(@RequestParam("creditCode") String creditCode); + @Parameters({ + @Parameter(name = "creditCode", description = "统一身份认证编码", example = "SEX", required = true), + @Parameter(name = "year", description = "年份", example = "2022", required = true) + }) + CommonResult getFinanceInfo(@RequestParam("creditCode") String creditCode, + @RequestParam("year") String year); } diff --git a/sk-module-data/sk-module-data-api/src/main/java/org/sk/module/data/api/finance/dto/FinanceRespDTO.java b/sk-module-data/sk-module-data-api/src/main/java/org/sk/module/data/api/finance/dto/FinanceRespDTO.java index 14780db01..d116f53f9 100644 --- a/sk-module-data/sk-module-data-api/src/main/java/org/sk/module/data/api/finance/dto/FinanceRespDTO.java +++ b/sk-module-data/sk-module-data-api/src/main/java/org/sk/module/data/api/finance/dto/FinanceRespDTO.java @@ -4,17 +4,25 @@ package org.sk.module.data.api.finance.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.math.BigDecimal; + @Schema(description = "RPC 服务 - 财务数据 Response DTO") @Data public class FinanceRespDTO { + @Schema(description = "企业名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "企业") + private String comName; - @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - private Long id; - - + @Schema(description = "社会统一信用代码", requiredMode = Schema.RequiredMode.REQUIRED, example = "008x") + private String creditCode; + @Schema(description = "营收(万)", requiredMode = Schema.RequiredMode.REQUIRED, example = "23.10") + private BigDecimal Income; + @Schema(description = "税收(万)", requiredMode = Schema.RequiredMode.REQUIRED, example = "3") + private BigDecimal tax; + @Schema(description = "年份", requiredMode = Schema.RequiredMode.REQUIRED, example = "2022") + private String year; } diff --git a/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/api/finance/FinanceApiImpl.java b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/api/finance/FinanceApiImpl.java index 4fc3f9aab..707fe885e 100644 --- a/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/api/finance/FinanceApiImpl.java +++ b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/api/finance/FinanceApiImpl.java @@ -1,23 +1,27 @@ package org.sk.module.data.api.finance; import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import org.sk.module.data.api.finance.dto.FinanceRespDTO; +import org.sk.module.data.dal.bo.finance.FinanceBO; import org.sk.module.data.service.finance.FinanceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RestController; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + @RestController // 提供 RESTful API 接口,给 Feign 调用 @Validated public class FinanceApiImpl implements FinanceApi { - @Autowired private FinanceService financeService; @Override - public CommonResult getDept(String creditCode) { - return null; + public CommonResult getFinanceInfo(String creditCode, String deptCode) { + FinanceBO result = financeService.getFinanceByCreditCodeAndYear(creditCode, deptCode); + return success(BeanUtils.toBean(result, FinanceRespDTO.class)); } } diff --git a/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/dal/bo/finance/FinanceBO.java b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/dal/bo/finance/FinanceBO.java new file mode 100644 index 000000000..6b904c923 --- /dev/null +++ b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/dal/bo/finance/FinanceBO.java @@ -0,0 +1,27 @@ +package org.sk.module.data.dal.bo.finance; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class FinanceBO { + + @Schema(description = "企业名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "企业") + private String comName; + + @Schema(description = "社会统一信用代码", requiredMode = Schema.RequiredMode.REQUIRED, example = "008x") + private String creditCode; + + @Schema(description = "营收(万)", requiredMode = Schema.RequiredMode.REQUIRED, example = "23.10") + private BigDecimal Income; + + @Schema(description = "税收(万)", requiredMode = Schema.RequiredMode.REQUIRED, example = "3") + private BigDecimal tax; + + @Schema(description = "年份", requiredMode = Schema.RequiredMode.REQUIRED, example = "2022") + private String year; + +} diff --git a/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/dal/mapper/finance/FinanceMapper.java b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/dal/mapper/finance/FinanceMapper.java new file mode 100644 index 000000000..16615c4d3 --- /dev/null +++ b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/dal/mapper/finance/FinanceMapper.java @@ -0,0 +1,17 @@ +package org.sk.module.data.dal.mapper.finance; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.sk.module.data.dal.bo.finance.FinanceBO; + +@Mapper +public interface FinanceMapper { + + /** + * 根据社会统一信用代码和年份查下企业营收和税收 + * @param creditCode 社会统一信用代码 + * @param year 年份 + * @return FinanceBO + */ + FinanceBO getFinanceByCreditCodeAndYear(@Param("creditCode") String creditCode, @Param("year") String year); +} diff --git a/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/service/finance/FinanceService.java b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/service/finance/FinanceService.java index 677a688b4..e0dafe831 100644 --- a/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/service/finance/FinanceService.java +++ b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/service/finance/FinanceService.java @@ -1,10 +1,11 @@ package org.sk.module.data.service.finance; +import org.sk.module.data.dal.bo.finance.FinanceBO; + public interface FinanceService { - - + FinanceBO getFinanceByCreditCodeAndYear(String creditCode, String year); } diff --git a/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/service/finance/FinanceServiceImpl.java b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/service/finance/FinanceServiceImpl.java index ecf7e5e01..ca34a1fd1 100644 --- a/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/service/finance/FinanceServiceImpl.java +++ b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/service/finance/FinanceServiceImpl.java @@ -1,12 +1,24 @@ package org.sk.module.data.service.finance; +import org.apache.commons.lang3.StringUtils; +import org.sk.module.data.dal.bo.finance.FinanceBO; +import org.sk.module.data.dal.mapper.finance.FinanceMapper; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class FinanceServiceImpl implements FinanceService { + @Autowired + private FinanceMapper financeMapper; - + @Override + public FinanceBO getFinanceByCreditCodeAndYear(String creditCode, String year) { + if (StringUtils.isBlank(creditCode) || StringUtils.isBlank(year)) { + return new FinanceBO(); + } + return financeMapper.getFinanceByCreditCodeAndYear(creditCode, year); + } } diff --git a/sk-module-data/sk-module-data-biz/src/main/resources/mappers/finance/FinanceMapper.xml b/sk-module-data/sk-module-data-biz/src/main/resources/mappers/finance/FinanceMapper.xml new file mode 100644 index 000000000..28dead882 --- /dev/null +++ b/sk-module-data/sk-module-data-biz/src/main/resources/mappers/finance/FinanceMapper.xml @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file