diff --git a/sk-module-data/sk-module-data-api/pom.xml b/sk-module-data/sk-module-data-api/pom.xml
index 034c960e6..27c01706f 100644
--- a/sk-module-data/sk-module-data-api/pom.xml
+++ b/sk-module-data/sk-module-data-api/pom.xml
@@ -4,7 +4,7 @@
cn.iocoder.cloud
sk-module-data
- 2.4.1-jdk8-SNAPSHOT
+ ${revision}
4.0.0
sk-module-data-api
diff --git a/sk-module-data/sk-module-data-biz/pom.xml b/sk-module-data/sk-module-data-biz/pom.xml
index f6febd2bc..ace35e21d 100644
--- a/sk-module-data/sk-module-data-biz/pom.xml
+++ b/sk-module-data/sk-module-data-biz/pom.xml
@@ -181,7 +181,7 @@
true
lib/
false
- cn.iocoder.yudao.module.system.SystemServerApplication
+ org.sk.module.data.SkModuleDataBizApplication
./resources/
@@ -217,7 +217,7 @@
-
+
diff --git a/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/config/SecurityConfiguration.java b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/config/SecurityConfiguration.java
index 9148980ce..5d5130fbe 100644
--- a/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/config/SecurityConfiguration.java
+++ b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/config/SecurityConfiguration.java
@@ -32,6 +32,7 @@ public class SecurityConfiguration {
.requestMatchers("/actuator/**").permitAll();
// RPC 服务的安全配置
registry.requestMatchers(ApiConstants.PREFIX + "/**").permitAll();
+ registry.requestMatchers( "/finance/**").permitAll();
}
};
diff --git a/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/controller/finance/FinanceController.java b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/controller/finance/FinanceController.java
index 621d1d22e..9e4b25a85 100644
--- a/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/controller/finance/FinanceController.java
+++ b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/controller/finance/FinanceController.java
@@ -4,6 +4,8 @@ package org.sk.module.data.controller.finance;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
import org.sk.module.data.dal.bo.finance.FinanceBO;
import org.sk.module.data.dal.param.finance.FinanceParam;
import org.sk.module.data.dal.param.finance.IncomeAndTaxParam;
@@ -11,15 +13,12 @@ import org.sk.module.data.dal.vo.FinanceVO;
import org.sk.module.data.service.finance.FinanceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import javax.annotation.security.PermitAll;
import javax.validation.Valid;
import java.util.List;
-
+@Tag(name = "对外接口 - 财务数据")
@RestController
@RequestMapping("/finance")
public class FinanceController {
@@ -34,6 +33,7 @@ public class FinanceController {
return "hello wzc";
}
+ @Operation(summary = "获取财务信息")
@GetMapping("/getFinanceInfo")
public CommonResult getFinanceInfo(@Valid @RequestBody FinanceParam financeParam) {
@@ -48,8 +48,8 @@ public class FinanceController {
* @param param
* @return
*/
-// @PermitAll
- @GetMapping("/getIncomeAndTax")
+ @Operation(summary = "根据拼接的统一社会信用编码以及年份获取数据")
+ @PostMapping("/getIncomeAndTax")
public CommonResult> getIncomeAndTax(@Valid @RequestBody IncomeAndTaxParam param) {
return CommonResult.success(financeService.getIncomeAndTax(param));
}
diff --git a/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/dal/mapper/auth/AuthClientMapper.java b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/dal/mapper/auth/AuthClientMapper.java
new file mode 100644
index 000000000..a8acb095f
--- /dev/null
+++ b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/dal/mapper/auth/AuthClientMapper.java
@@ -0,0 +1,19 @@
+package org.sk.module.data.dal.mapper.auth;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.sk.module.data.dal.bo.finance.FinanceBO;
+
+import java.util.List;
+
+/**
+ * @author haoran
+ */
+@Mapper
+@DS("master")
+public interface AuthClientMapper {
+
+ int selectClientByIdAndSecret(@Param("id")String id, @Param("secret")String secret);
+
+}
diff --git a/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/filter/AuthFilter.java b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/filter/AuthFilter.java
new file mode 100644
index 000000000..f56e9f220
--- /dev/null
+++ b/sk-module-data/sk-module-data-biz/src/main/java/org/sk/module/data/filter/AuthFilter.java
@@ -0,0 +1,59 @@
+package org.sk.module.data.filter;
+
+import org.sk.module.data.dal.mapper.auth.AuthClientMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.HandlerExecutionChain;
+import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
+
+import javax.servlet.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.lang.reflect.Method;
+
+@Component
+public class AuthFilter implements Filter {
+
+ @Autowired
+ @Qualifier("requestMappingHandlerMapping") // 或 "controllerEndpointHandlerMapping"
+ private RequestMappingHandlerMapping handlerMapping;
+
+ @Autowired
+ private AuthClientMapper authClientMapper;
+
+ public AuthFilter( RequestMappingHandlerMapping requestMappingHandlerMapping) {
+ this.handlerMapping = requestMappingHandlerMapping;
+ }
+
+ @Override
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
+ throws IOException, ServletException {
+ HttpServletRequest httpRequest = (HttpServletRequest) request;
+ HttpServletResponse httpResponse = (HttpServletResponse) response;
+
+ // 获取请求头中的密钥和 ID
+ String id = httpRequest.getHeader("X-Id");
+ String secretKey = httpRequest.getHeader("X-Secret-Key");
+
+ // 校验 ID 和密钥是否匹配
+ if (isValid(id, secretKey)) {
+ chain.doFilter(request, response);
+ } else {
+ httpResponse.setStatus(HttpServletResponse.SC_FORBIDDEN); // 403 Forbidden
+ httpResponse.setContentType("application/json");
+ httpResponse.getWriter().write("{\"error\": \"Invalid ID or Secret Key\"}");
+ }
+ }
+
+
+ /**
+ * 校验 ID 和密钥是否匹配
+ */
+ private boolean isValid(String id, String secretKey) {
+ // 示例逻辑:从数据库中查询 ID 和密钥是否匹配
+ return authClientMapper.selectClientByIdAndSecret(id,secretKey) == 1;
+ }
+}
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 08ffff3e4..d5da80f8c 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
@@ -16,7 +16,7 @@ import java.util.Arrays;
import java.util.List;
@Service
-@DS("master")
+@DS("slave1")
public class FinanceServiceImpl implements FinanceService {
diff --git a/sk-module-data/sk-module-data-biz/src/main/resources/mappers/auth/AuthClientMapper.xml b/sk-module-data/sk-module-data-biz/src/main/resources/mappers/auth/AuthClientMapper.xml
new file mode 100644
index 000000000..8fe3186e3
--- /dev/null
+++ b/sk-module-data/sk-module-data-biz/src/main/resources/mappers/auth/AuthClientMapper.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
\ No newline at end of file