Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
sl-ai
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhouwei
sl-ai
Commits
36a6440c
Commit
36a6440c
authored
Apr 15, 2025
by
zhouwei
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into 'master'
Dev See merge request
!5
parents
7ee87f51
c0d6a3b6
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
433 additions
and
62 deletions
+433
-62
Constant.java
src/main/java/com/nanyan/securitylink/common/Constant.java
+2
-0
WebConfig.java
src/main/java/com/nanyan/securitylink/config/WebConfig.java
+3
-1
AIController.java
...java/com/nanyan/securitylink/controller/AIController.java
+10
-6
AIInputDTO.java
src/main/java/com/nanyan/securitylink/dto/AIInputDTO.java
+3
-1
AIRequestDTO.java
src/main/java/com/nanyan/securitylink/dto/AIRequestDTO.java
+2
-2
UserHeader.java
src/main/java/com/nanyan/securitylink/entity/UserHeader.java
+5
-36
HeaderInterceptor.java
...om/nanyan/securitylink/interceptor/HeaderInterceptor.java
+7
-6
LogResponseTimeInterceptor.java
.../securitylink/interceptor/LogResponseTimeInterceptor.java
+3
-3
LoginInterceptor.java
...com/nanyan/securitylink/interceptor/LoginInterceptor.java
+1
-4
AIService.java
src/main/java/com/nanyan/securitylink/service/AIService.java
+5
-3
AIServiceImpl.java
...a/com/nanyan/securitylink/service/impl/AIServiceImpl.java
+392
-0
No files found.
src/main/java/com/nanyan/securitylink/common/Constant.java
View file @
36a6440c
...
...
@@ -5,6 +5,8 @@ public interface Constant {
int
picType
=
1
;
int
textType
=
0
;
String
ACCOUNT
=
"account"
;
String
MODEL
=
"model"
;
String
MODEL_KEY
=
"modelKey"
;
int
SUCCESS_STATUS
=
200
;
String
WEATHER_GROUP
=
"weatherType"
;
String
ADMIN_ROLE
=
"admin"
;
...
...
src/main/java/com/nanyan/securitylink/config/WebConfig.java
View file @
36a6440c
...
...
@@ -16,10 +16,12 @@ public class WebConfig extends WebMvcConfigurationSupport {
private
LoginInterceptor
loginInterceptor
;
@Resource
LogResponseTimeInterceptor
logResponseTimeInterceptor
;
@Resource
HeaderInterceptor
headerInterceptor
;
@Override
protected
void
addInterceptors
(
InterceptorRegistry
registry
)
{
//
registry
.
addInterceptor
(
headerInterceptor
);
registry
.
addInterceptor
(
loginInterceptor
);
registry
.
addInterceptor
(
logResponseTimeInterceptor
);
super
.
addInterceptors
(
registry
);
...
...
src/main/java/com/nanyan/securitylink/controller/AIController.java
View file @
36a6440c
package
com
.
nanyan
.
securitylink
.
controller
;
import
com.nanyan.securitylink.dto.
Translate
DTO
;
import
com.nanyan.securitylink.dto.
AIRequest
DTO
;
import
com.nanyan.securitylink.service.AIService
;
import
com.nanyan.securitylink.vo.AIResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -14,11 +14,15 @@ public class AIController {
@Autowired
AIService
aiService
;
@PostMapping
(
"/translate"
)
public
Response
<
AIResponse
>
translate
(
@RequestBody
TranslateDTO
translate
DTO
)
{
return
Response
.
SUCCESS
(
aiService
.
translate
(
translate
DTO
));
public
Response
<
AIResponse
>
translate
(
@RequestBody
AIRequestDTO
AIRequest
DTO
)
{
return
Response
.
SUCCESS
(
aiService
.
translate
(
AIRequest
DTO
));
}
@PostMapping
(
"/tag"
)
public
Response
<
AIResponse
>
newsTag
(
@RequestBody
TranslateDTO
translateDTO
)
{
return
Response
.
SUCCESS
(
aiService
.
newsTags
(
translateDTO
));
@PostMapping
(
"/news/tag"
)
public
Response
<
AIResponse
>
newsTag
(
@RequestBody
AIRequestDTO
AIRequestDTO
)
{
return
Response
.
SUCCESS
(
aiService
.
newsTags
(
AIRequestDTO
));
}
@PostMapping
(
"/natural/disaster/tag"
)
public
Response
<
AIResponse
>
naturalDisasterTag
(
@RequestBody
AIRequestDTO
AIRequestDTO
)
{
return
Response
.
SUCCESS
(
aiService
.
naturalDisasterTag
(
AIRequestDTO
));
}
}
src/main/java/com/nanyan/securitylink/dto/
Translate
InputDTO.java
→
src/main/java/com/nanyan/securitylink/dto/
AI
InputDTO.java
View file @
36a6440c
...
...
@@ -3,7 +3,9 @@ package com.nanyan.securitylink.dto;
import
lombok.Data
;
@Data
public
class
Translate
InputDTO
{
public
class
AI
InputDTO
{
String
record_json
;
String
msg_info
;
String
warn_info
;
String
language
;
}
src/main/java/com/nanyan/securitylink/dto/
Translate
DTO.java
→
src/main/java/com/nanyan/securitylink/dto/
AIRequest
DTO.java
View file @
36a6440c
...
...
@@ -3,8 +3,8 @@ package com.nanyan.securitylink.dto;
import
lombok.Data
;
@Data
public
class
Translate
DTO
{
Translate
InputDTO
inputs
;
public
class
AIRequest
DTO
{
AI
InputDTO
inputs
;
String
response_mode
;
String
user
;
}
src/main/java/com/nanyan/securitylink/entity/UserHeader.java
View file @
36a6440c
package
com
.
nanyan
.
securitylink
.
entity
;
public
class
UserHeader
{
String
userId
;
String
accountName
;
String
role
;
String
token
;
public
String
getToken
()
{
return
token
;
}
public
void
setToken
(
String
token
)
{
this
.
token
=
token
;
}
public
String
getUserId
()
{
return
userId
;
}
public
void
setUserId
(
String
userId
)
{
this
.
userId
=
userId
;
}
import
lombok.Data
;
public
String
getAccountName
()
{
return
accountName
;
}
public
void
setAccountName
(
String
accountName
)
{
this
.
accountName
=
accountName
;
}
public
String
getRole
()
{
return
role
;
}
public
void
setRole
(
String
role
)
{
this
.
role
=
role
;
}
@Data
public
class
UserHeader
{
String
model
;
String
modelKey
;
}
src/main/java/com/nanyan/securitylink/interceptor/HeaderInterceptor.java
View file @
36a6440c
...
...
@@ -5,6 +5,7 @@ import com.nanyan.securitylink.common.MsgCode;
import
com.nanyan.securitylink.entity.UserHeader
;
import
com.nanyan.securitylink.entity.UserThreadLocal
;
import
com.nanyan.securitylink.execption.HeaderException
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.servlet.HandlerInterceptor
;
...
...
@@ -14,19 +15,21 @@ import javax.servlet.http.HttpServletResponse;
import
java.util.Base64
;
@Slf4j
@Component
public
class
HeaderInterceptor
implements
HandlerInterceptor
{
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
try
{
String
accountName
=
getHeader
(
request
,
Constant
.
ACCOUNT
);
String
model
=
getHeader
(
request
,
Constant
.
MODEL
);
String
modelKey
=
getHeader
(
request
,
Constant
.
MODEL_KEY
);
UserHeader
userHeader
=
new
UserHeader
();
userHeader
.
setAccountName
(
accountName
);
userHeader
.
setModel
(
model
);
userHeader
.
setModelKey
(
modelKey
);
UserThreadLocal
.
set
(
userHeader
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
throw
new
HeaderException
(
MsgCode
.
LOGIN_FAILED
);
log
.
info
(
""
,
e
);
}
return
true
;
...
...
@@ -41,8 +44,6 @@ public class HeaderInterceptor implements HandlerInterceptor {
if
(
StringUtils
.
isEmpty
(
value
)){
return
""
;
}
byte
[]
decodedBytes
=
Base64
.
getDecoder
().
decode
(
value
);
value
=
new
String
(
decodedBytes
);
return
value
;
}
}
src/main/java/com/nanyan/securitylink/interceptor/LogResponseTimeInterceptor.java
View file @
36a6440c
...
...
@@ -31,10 +31,10 @@ public class LogResponseTimeInterceptor implements HandlerInterceptor {
// System.out.println("接口耗时:" + time + "ms");
String
requestURI
=
request
.
getRequestURI
();
UserHeader
userHeader
=
UserThreadLocal
.
get
();
String
accountName
=
""
;
String
model
=
""
;
if
(
userHeader
!=
null
){
accountName
=
UserThreadLocal
.
get
().
getAccountName
();
logger
.
info
(
"
account:{} 接口{}耗时{} ms"
,
accountName
,
requestURI
,
time
);
model
=
UserThreadLocal
.
get
().
getModel
();
logger
.
info
(
"
model:{} 接口{}耗时{} ms"
,
model
,
requestURI
,
time
);
}
else
{
logger
.
info
(
"接口{}耗时{} ms"
,
requestURI
,
time
);
}
...
...
src/main/java/com/nanyan/securitylink/interceptor/LoginInterceptor.java
View file @
36a6440c
...
...
@@ -11,10 +11,7 @@ import java.io.IOException;
@Component
public
class
LoginInterceptor
implements
HandlerInterceptor
{
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
IOException
{
String
uri
=
request
.
getRequestURI
();
String
token
=
request
.
getHeader
(
"token"
);
// 从请求头中获取 token
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
{
return
true
;
}
}
src/main/java/com/nanyan/securitylink/service/AIService.java
View file @
36a6440c
package
com
.
nanyan
.
securitylink
.
service
;
import
com.nanyan.securitylink.dto.
Translate
DTO
;
import
com.nanyan.securitylink.dto.
AIRequest
DTO
;
import
com.nanyan.securitylink.vo.AIResponse
;
public
interface
AIService
{
AIResponse
translate
(
TranslateDTO
translateDTO
);
AIResponse
newsTags
(
TranslateDTO
translateDTO
);
AIResponse
translate
(
AIRequestDTO
AIRequestDTO
);
AIResponse
newsTags
(
AIRequestDTO
AIRequestDTO
);
AIResponse
naturalDisasterTag
(
AIRequestDTO
aiRequestDTO
);
}
src/main/java/com/nanyan/securitylink/service/impl/
DeepSeek
AIServiceImpl.java
→
src/main/java/com/nanyan/securitylink/service/impl/AIServiceImpl.java
View file @
36a6440c
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment