From 95eb8a2a75cbeebcb3393d404c1952bd59b8989a Mon Sep 17 00:00:00 2001
From: wzp <2040239371@qq.com>
Date: 星期五, 01 八月 2025 13:50:16 +0800
Subject: [PATCH] feat: 新增第三方接口访问

---
 src/main/java/com/ots/project/system/user/domain/User.java             |   23 +++++++++++
 src/main/java/com/ots/project/tool/report/LAQ/chart/LAQTest.java       |   38 ++-----------------
 src/main/java/com/ots/project/system/user/mapper/UserMapper.java       |    7 +++
 src/main/java/com/ots/framework/config/ShiroConfig.java                |    2 +
 src/main/java/com/ots/project/system/user/service/IUserService.java    |    7 +++
 src/main/java/com/ots/framework/config/ResourcesConfig.java            |    4 ++
 src/main/java/com/ots/project/system/user/service/UserServiceImpl.java |   11 +++++
 7 files changed, 58 insertions(+), 34 deletions(-)

diff --git a/src/main/java/com/ots/framework/config/ResourcesConfig.java b/src/main/java/com/ots/framework/config/ResourcesConfig.java
index 5822c7b..cbbe3a6 100644
--- a/src/main/java/com/ots/framework/config/ResourcesConfig.java
+++ b/src/main/java/com/ots/framework/config/ResourcesConfig.java
@@ -1,6 +1,7 @@
 package com.ots.framework.config;
 
 import com.ots.framework.interceptor.RepeatSubmitInterceptor;
+import com.ots.framework.interceptor.SignatureVerifyInterceptor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
@@ -17,6 +18,8 @@
     private String indexUrl;
     @Autowired
     private RepeatSubmitInterceptor repeatSubmitInterceptor;
+    @Autowired
+    private SignatureVerifyInterceptor signatureVerifyInterceptor;
 
     @Override
     public void addViewControllers(ViewControllerRegistry registry) {
@@ -35,6 +38,7 @@
     @Override
     public void addInterceptors(InterceptorRegistry registry) {
         registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**");
+        registry.addInterceptor(signatureVerifyInterceptor).addPathPatterns("/**");
     }
 
     /**
diff --git a/src/main/java/com/ots/framework/config/ShiroConfig.java b/src/main/java/com/ots/framework/config/ShiroConfig.java
index 7a6fc6d..caf95d6 100644
--- a/src/main/java/com/ots/framework/config/ShiroConfig.java
+++ b/src/main/java/com/ots/framework/config/ShiroConfig.java
@@ -207,6 +207,8 @@
         filterChainDefinitionMap.put("/exam/testMember/shareAdd", "anon");
         filterChainDefinitionMap.put("/exam/testMember/shareInput", "anon");
         filterChainDefinitionMap.put("/exam/testMember/shareUrl", "anon");
+        //绛惧悕楠岃瘉锛孉PI鎺ュ彛鍖垮悕璁块棶
+        filterChainDefinitionMap.put("/api/**", "anon");
         
         
         Map<String, Filter> filters = new LinkedHashMap<String, Filter>();
diff --git a/src/main/java/com/ots/project/system/user/domain/User.java b/src/main/java/com/ots/project/system/user/domain/User.java
index 7e371f6..f8789ef 100644
--- a/src/main/java/com/ots/project/system/user/domain/User.java
+++ b/src/main/java/com/ots/project/system/user/domain/User.java
@@ -53,6 +53,9 @@
     private String avatar;
     
     private String password;
+
+    //API瀵嗙爜
+    private String apiPassword;
     
     private String salt;
     
@@ -76,6 +79,9 @@
     
     @Excel(name = "鏈�鍚庣櫥闄嗘椂闂�", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
     private Date loginDate;
+
+    //鍥炶皟鍦板潃
+    private String callbackUrl;
     
     @Excels({
             @Excel(name = "閮ㄩ棬鍚嶇О", targetAttr = "deptName", type = Type.EXPORT),
@@ -235,6 +241,21 @@
     public void setUserType(String userType) {
         this.userType = userType;
     }
+
+    public String getApiPassword() {
+        return apiPassword;
+    }
+    public void setApiPassword(String apiPassword) {
+        this.apiPassword = apiPassword;
+    }
+
+    public String getCallbackUrl() {
+        return callbackUrl;
+    }
+    public void setCallbackUrl(String callbackUrl) {
+        this.callbackUrl = callbackUrl;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
@@ -247,11 +268,13 @@
                 .append("sex", getSex())
                 .append("avatar", getAvatar())
                 .append("password", getPassword())
+                .append("apiPassword", getApiPassword())
                 .append("salt", getSalt())
                 .append("status", getStatus())
                 .append("delFlag", getDelFlag())
                 .append("loginIp", getLoginIp())
                 .append("loginDate", getLoginDate())
+                .append("callbackUrl", getCallbackUrl())
                 .append("createBy", getCreateBy())
                 .append("createTime", getCreateTime())
                 .append("updateBy", getUpdateBy())
diff --git a/src/main/java/com/ots/project/system/user/mapper/UserMapper.java b/src/main/java/com/ots/project/system/user/mapper/UserMapper.java
index 0c1f3ec..1a78a70 100644
--- a/src/main/java/com/ots/project/system/user/mapper/UserMapper.java
+++ b/src/main/java/com/ots/project/system/user/mapper/UserMapper.java
@@ -37,4 +37,11 @@
     User checkEmailUnique(String email);
 
     int updateHintState(@Param("userId")String userId,@Param("type") Integer type);
+    
+    /**
+     * 鏍规嵁tokenId鏌ヨ鍥炶皟url
+     * @param tokenId
+     * @return
+     */
+    String selectCallbackUrlByTokenId(@Param("tokenId") String tokenId);
 }
diff --git a/src/main/java/com/ots/project/system/user/service/IUserService.java b/src/main/java/com/ots/project/system/user/service/IUserService.java
index f44c767..803adc4 100644
--- a/src/main/java/com/ots/project/system/user/service/IUserService.java
+++ b/src/main/java/com/ots/project/system/user/service/IUserService.java
@@ -47,4 +47,11 @@
 
     int changeHintStatus(String userId, Integer type);
 
+    /**
+     * 鏍规嵁tokenId鏌ヨ鍥炶皟url
+     * @param tokenId
+     * @return
+     */
+    String selectCallbackUrlByTokenId(String tokenId);
+
 }
diff --git a/src/main/java/com/ots/project/system/user/service/UserServiceImpl.java b/src/main/java/com/ots/project/system/user/service/UserServiceImpl.java
index 503473c..71cc9ad 100644
--- a/src/main/java/com/ots/project/system/user/service/UserServiceImpl.java
+++ b/src/main/java/com/ots/project/system/user/service/UserServiceImpl.java
@@ -325,4 +325,15 @@
         }
         return 0;
     }
+
+
+    /**
+     * 鏍规嵁tokenId鏌ヨ鍥炶皟url
+     * @param tokenId
+     * @return
+     */
+    @Override
+    public String selectCallbackUrlByTokenId(String tokenId) {
+        return userMapper.selectCallbackUrlByTokenId(tokenId);
+    }
 }
diff --git a/src/main/java/com/ots/project/tool/report/LAQ/chart/LAQTest.java b/src/main/java/com/ots/project/tool/report/LAQ/chart/LAQTest.java
index 053dd0a..fec179b 100644
--- a/src/main/java/com/ots/project/tool/report/LAQ/chart/LAQTest.java
+++ b/src/main/java/com/ots/project/tool/report/LAQ/chart/LAQTest.java
@@ -1,54 +1,24 @@
 package com.ots.project.tool.report.LAQ.chart;
 
-import com.alibaba.fastjson.JSON;
-import com.aspose.words.Chart;
-import com.aspose.words.Document;
-import com.aspose.words.DocumentBuilder;
-import com.aspose.words.Paragraph;
-import com.microsoft.schemas.vml.CTTextbox;
 import com.ots.common.utils.StringUtils;
 import com.ots.common.utils.poi.ExcelUtil;
-import com.ots.common.utils.poi.WordUtil;
-import com.ots.project.tool.report.LAQ.LAQReport;
 import com.ots.project.tool.report.LAQ.LAQTemplate;
 import com.ots.project.tool.report.MAQ.base.RowData;
 import com.ots.project.tool.report.MAQ.base.SeriesData;
-import javafx.scene.chart.ScatterChart;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.ooxml.POIXMLDocument;
 import org.apache.poi.ooxml.POIXMLDocumentPart;
 import org.apache.poi.openxml4j.util.ZipSecureFile;
-import org.apache.poi.sl.usermodel.PictureData;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.util.Units;
-import org.apache.poi.xddf.usermodel.chart.AxisPosition;
-import org.apache.poi.xddf.usermodel.chart.XDDFCategoryAxis;
-import org.apache.poi.xddf.usermodel.chart.XDDFChartData;
-import org.apache.poi.xddf.usermodel.chart.XDDFValueAxis;
-import org.apache.poi.xssf.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.apache.poi.xwpf.usermodel.XWPFChart;
 import org.apache.poi.xwpf.usermodel.XWPFDocument;
-import org.apache.poi.xwpf.usermodel.XWPFParagraph;
-import org.apache.poi.xwpf.usermodel.XWPFRun;
-import org.apache.xmlbeans.XmlObject;
 import org.openxmlformats.schemas.drawingml.x2006.chart.*;
-import org.openxmlformats.schemas.officeDocument.x2006.math.CTText;
-import org.openxmlformats.schemas.officeDocument.x2006.math.CTUnSignedInteger;
-import org.openxmlformats.schemas.officeDocument.x2006.math.impl.CTUnSignedIntegerImpl;
-import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTxbxContent;
 
-import java.awt.*;
 import java.io.*;
-import java.math.BigInteger;
 import java.util.*;
-
-
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 

--
Gitblit v1.9.1