Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
brandkbs2
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
shenjunjie
brandkbs2
Commits
19c92c0d
Commit
19c92c0d
authored
Dec 11, 2023
by
shenjunjie
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'release' into 'master'
Release See merge request
!433
parents
2f399fac
c56c8759
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
137 additions
and
14 deletions
+137
-14
src/main/java/com/zhiwei/brandkbs2/controller/app/AppArticleController.java
+1
-2
src/main/java/com/zhiwei/brandkbs2/pojo/ChannelIndex.java
+4
-2
src/main/java/com/zhiwei/brandkbs2/pojo/NonManualProjectPlan.java
+5
-0
src/main/java/com/zhiwei/brandkbs2/service/MarkDataService.java
+1
-1
src/main/java/com/zhiwei/brandkbs2/service/impl/MarkDataServiceImpl.java
+102
-7
src/main/java/com/zhiwei/brandkbs2/util/Tools.java
+6
-1
src/main/resources/application-dev.properties
+5
-0
src/main/resources/application-local.properties
+8
-1
src/main/resources/application-prod.properties
+5
-0
No files found.
src/main/java/com/zhiwei/brandkbs2/controller/app/AppArticleController.java
View file @
19c92c0d
...
...
@@ -324,8 +324,7 @@ public class AppArticleController extends BaseController {
@ApiOperation
(
"非人工项目-方案设置-删除方案"
)
@DeleteMapping
(
"/non-manual/plan/delete/{id}"
)
public
ResponseResult
deleteNonManualProjectPlan
(
@PathVariable
String
id
)
{
markDataService
.
deleteNonManualProjectPlan
(
id
);
return
ResponseResult
.
success
();
return
markDataService
.
deleteNonManualProjectPlan
(
id
);
}
@ApiOperation
(
"非人工项目-方案设置-获取方案详情"
)
...
...
src/main/java/com/zhiwei/brandkbs2/pojo/ChannelIndex.java
View file @
19c92c0d
...
...
@@ -103,12 +103,14 @@ public class ChannelIndex extends AbstractBaseMongo {
return
res
;
}
List
<
Map
<
String
,
Object
>>
cacheMaps
=
(
List
<
Map
<
String
,
Object
>>)
sourceAsMap
.
get
(
GenericAttribute
.
ES_BRANDKBS_CACHE_MAPS
);
List
<
String
>
manualProjectIds
=
GlobalPojo
.
PROJECT_MAP
.
entrySet
().
stream
().
filter
(
entry
->
entry
.
getValue
().
isManual
()).
map
(
Map
.
Entry
::
getKey
).
collect
(
Collectors
.
toList
());
// 非人工项目
List
<
String
>
nonManualProjectIds
=
GlobalPojo
.
PROJECT_MAP
.
entrySet
().
stream
().
filter
(
entry
->!
entry
.
getValue
().
isManual
()).
map
(
Map
.
Entry
::
getKey
).
collect
(
Collectors
.
toList
());
for
(
Map
<
String
,
Object
>
cacheMap
:
cacheMaps
)
{
String
projectId
=
String
.
valueOf
(
cacheMap
.
get
(
"project_id"
));
String
contendId
=
String
.
valueOf
(
cacheMap
.
get
(
"contend_id"
));
// 剔除非人工项目
if
(
m
anualProjectIds
.
contains
(
projectId
)){
if
(
nonM
anualProjectIds
.
contains
(
projectId
)){
continue
;
}
ChannelIndex
channelIndex
=
new
ChannelIndex
(
projectId
,
contendId
,
messagePlatform
.
getName
(),
realSource
,
source
);
...
...
src/main/java/com/zhiwei/brandkbs2/pojo/NonManualProjectPlan.java
View file @
19c92c0d
...
...
@@ -60,6 +60,11 @@ public class NonManualProjectPlan extends AbstractBaseMongo{
*/
private
String
submitter
;
/**
* 快搜订阅服务任务id
*/
private
String
IStarShineSubjectTaskId
;
public
NonManualProjectPlan
(
NonManualProjectPlanDTO
dto
){
this
.
id
=
dto
.
getId
();
this
.
projectId
=
UserThreadLocal
.
getProjectId
();
...
...
src/main/java/com/zhiwei/brandkbs2/service/MarkDataService.java
View file @
19c92c0d
...
...
@@ -406,7 +406,7 @@ public interface MarkDataService {
* 删除非人工项目方案
* @param id
*/
void
deleteNonManualProjectPlan
(
String
id
);
ResponseResult
deleteNonManualProjectPlan
(
String
id
);
/**
* 获取非人工项目方案详情
...
...
src/main/java/com/zhiwei/brandkbs2/service/impl/MarkDataServiceImpl.java
View file @
19c92c0d
...
...
@@ -70,6 +70,9 @@ import org.joda.time.PeriodType;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.http.HttpEntity
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.client.RestTemplate
;
...
...
@@ -103,6 +106,15 @@ public class MarkDataServiceImpl implements MarkDataService {
@Value
(
"${whole.search.url}"
)
private
String
wholeSearchUrl
;
@Value
(
"${istarshine.subject.addTask.url}"
)
private
String
addIStarShineSubjectTaskUrl
;
@Value
(
"${istarshine.subject.deleteTask.url}"
)
private
String
deleteIStarShineSubjectTaskUrl
;
@Value
(
"${istarshine.subject.updateTask.url}"
)
private
String
updateIStarShineSubjectTaskUrl
;
@Resource
(
name
=
"restTemplate"
)
private
RestTemplate
restTemplate
;
...
...
@@ -1711,14 +1723,27 @@ public class MarkDataServiceImpl implements MarkDataService {
if
(
nonManualProjectPlanDao
.
count
(
new
Query
(
Criteria
.
where
(
"projectId"
).
is
(
UserThreadLocal
.
getProjectId
())))
>=
5
)
{
return
ResponseResult
.
failure
(
"超过方案数量上限5"
);
}
// 同时添加快搜订阅任务
String
iStarShineSubjectTaskId
=
addIStarShineSubjectTask
(
dto
);
if
(
Objects
.
isNull
(
iStarShineSubjectTaskId
)){
return
ResponseResult
.
failure
(
"添加方案失败"
);
}
NonManualProjectPlan
plan
=
new
NonManualProjectPlan
(
dto
);
plan
.
setIStarShineSubjectTaskId
(
iStarShineSubjectTaskId
);
nonManualProjectPlanDao
.
insertOne
(
plan
);
return
ResponseResult
.
success
();
}
@Override
public
void
deleteNonManualProjectPlan
(
String
id
)
{
public
ResponseResult
deleteNonManualProjectPlan
(
String
id
)
{
String
iStarShineSubjectTaskId
=
nonManualProjectPlanDao
.
findOneById
(
id
).
getIStarShineSubjectTaskId
();
JSONObject
body
=
restTemplate
.
getForEntity
(
deleteIStarShineSubjectTaskUrl
,
JSONObject
.
class
,
iStarShineSubjectTaskId
,
UserThreadLocal
.
getNickname
()).
getBody
();
if
(
Objects
.
isNull
(
body
)
||
body
.
isEmpty
()
||
!
body
.
getBoolean
(
"status"
)){
log
.
info
(
id
+
"-删除快搜订阅任务失败,接口返回信息-"
+
body
);
return
ResponseResult
.
failure
(
"删除失败"
);
}
nonManualProjectPlanDao
.
deleteOneById
(
id
);
return
ResponseResult
.
success
();
}
@Override
...
...
@@ -1731,7 +1756,81 @@ public class MarkDataServiceImpl implements MarkDataService {
NonManualProjectPlan
existPlan
=
nonManualProjectPlanDao
.
findOneById
(
dto
.
getId
());
NonManualProjectPlan
plan
=
new
NonManualProjectPlan
(
dto
);
plan
.
setCTime
(
existPlan
.
getCTime
());
plan
.
setIStarShineSubjectTaskId
(
existPlan
.
getIStarShineSubjectTaskId
());
ResponseResult
responseResult
=
updateIStarShineSubjectTask
(
dto
);
if
(!
responseResult
.
isStatus
()){
return
responseResult
;
}
nonManualProjectPlanDao
.
updateOne
(
plan
);
return
responseResult
;
}
/**
* 添加快搜订阅任务,非人工项目方案的创建、删除、修改的同时,也要同时对该任务进行操作
* 详见知微tapd-【istatshine-service(外部数据api)】-【外部数据-快搜-订阅-服务接口文档】
* @param dto
* @return
*/
private
String
addIStarShineSubjectTask
(
NonManualProjectPlanDTO
dto
){
JSONObject
param
=
new
JSONObject
();
param
.
put
(
"creatUser"
,
UserThreadLocal
.
getNickname
());
param
.
put
(
"groupId"
,
UserThreadLocal
.
getProjectId
());
param
.
put
(
"projectName"
,
"品见"
);
param
.
put
(
"groupName"
,
projectService
.
getProjectById
(
UserThreadLocal
.
getProjectId
()).
getProjectName
());
param
.
put
(
"taskType"
,
dto
.
getLasting
()
?
"永久"
:
"临时"
);
param
.
put
(
"taskName"
,
dto
.
getName
()
+
"_"
+
System
.
currentTimeMillis
());
param
.
put
(
"crawlerWord"
,
Tools
.
canonicalKeyword
(
dto
.
getKeyword
()));
param
.
put
(
"filterWord"
,
Tools
.
canonicalKeyword
(
dto
.
getFilterWord
()));
if
(!
dto
.
getLasting
()
&&
Objects
.
nonNull
(
dto
.
getEndTime
()))
{
param
.
put
(
"stopTime"
,
dto
.
getEndTime
());
}
param
.
put
(
"filterWtype"
,
String
.
join
(
","
,
dto
.
getType
()));
HttpHeaders
httpHeaders
=
new
HttpHeaders
();
httpHeaders
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
HttpEntity
<
String
>
request
=
new
HttpEntity
<>(
param
.
toJSONString
(),
httpHeaders
);
JSONObject
body
=
restTemplate
.
postForEntity
(
addIStarShineSubjectTaskUrl
,
request
,
JSONObject
.
class
).
getBody
();
if
(
Objects
.
isNull
(
body
)
||
body
.
isEmpty
()
||
!
body
.
getBoolean
(
"status"
)){
log
.
info
(
JSONObject
.
toJSONString
(
dto
)
+
"-添加快搜订阅任务失败"
+
body
);
return
null
;
}
JSONObject
data
=
body
.
getJSONObject
(
"data"
);
if
(
Objects
.
isNull
(
data
)
||
data
.
isEmpty
()){
log
.
info
(
JSONObject
.
toJSONString
(
dto
)
+
"-添加快搜订阅任务失败"
+
body
);
return
null
;
}
return
data
.
getString
(
"id"
);
}
/**
* 修改快搜订阅任务
* @param dto
* @return
*/
private
ResponseResult
updateIStarShineSubjectTask
(
NonManualProjectPlanDTO
dto
){
NonManualProjectPlan
plan
=
nonManualProjectPlanDao
.
findOneById
(
dto
.
getId
());
String
iStarShineSubjectTaskId
=
plan
.
getIStarShineSubjectTaskId
();
JSONObject
param
=
new
JSONObject
();
param
.
put
(
"id"
,
iStarShineSubjectTaskId
);
param
.
put
(
"taskType"
,
dto
.
getLasting
()
?
"永久"
:
"临时"
);
param
.
put
(
"crawlerWord"
,
Tools
.
canonicalKeyword
(
dto
.
getKeyword
()));
param
.
put
(
"filterWord"
,
Tools
.
canonicalKeyword
(
dto
.
getFilterWord
()));
if
(!
dto
.
getLasting
()
&&
Objects
.
nonNull
(
dto
.
getEndTime
()))
{
param
.
put
(
"stopTime"
,
dto
.
getEndTime
());
}
param
.
put
(
"filterWtype"
,
String
.
join
(
","
,
dto
.
getType
()));
param
.
put
(
"taskName"
,
dto
.
getName
()
+
"_"
+
System
.
currentTimeMillis
());
param
.
put
(
"groupName"
,
projectService
.
getProjectById
(
UserThreadLocal
.
getProjectId
()).
getProjectName
());
param
.
put
(
"isKsSubject"
,
true
);
param
.
put
(
"updateTime"
,
System
.
currentTimeMillis
());
param
.
put
(
"updateUser"
,
UserThreadLocal
.
getNickname
());
HttpHeaders
httpHeaders
=
new
HttpHeaders
();
httpHeaders
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
HttpEntity
<
String
>
request
=
new
HttpEntity
<>(
param
.
toJSONString
(),
httpHeaders
);
JSONObject
body
=
restTemplate
.
postForEntity
(
updateIStarShineSubjectTaskUrl
,
request
,
JSONObject
.
class
).
getBody
();
if
(
Objects
.
isNull
(
body
)
||
body
.
isEmpty
()
||
Boolean
.
FALSE
.
equals
(
body
.
getBooleanValue
(
"status"
))){
log
.
info
(
JSONObject
.
toJSONString
(
plan
)
+
"-修改快搜订阅任务失败-"
+
body
);
return
ResponseResult
.
failure
(
"修改失败"
);
}
return
ResponseResult
.
success
();
}
...
...
@@ -1781,14 +1880,10 @@ public class MarkDataServiceImpl implements MarkDataService {
* @return
*/
private
int
getWordCount
(
String
word
){
if
(
Objects
.
isNull
(
word
)){
if
(
StringUtils
.
isBlank
(
word
)){
return
0
;
}
int
count
=
0
;
for
(
String
s
:
word
.
split
(
"\\|"
))
{
count
+=
s
.
split
(
" "
).
length
;
}
return
count
;
return
word
.
split
(
"\\|"
).
length
;
}
@Override
...
...
src/main/java/com/zhiwei/brandkbs2/util/Tools.java
View file @
19c92c0d
...
...
@@ -1325,7 +1325,7 @@ public class Tools {
}
/**
* 丨处理
* 丨处理
, 丨|| 三者有所区别
*
* @param str
* @return
...
...
@@ -1335,6 +1335,10 @@ public class Tools {
if
(
str
.
split
(
"[\\u4e28]+"
).
length
>
1
)
{
str
=
str
.
replaceAll
(
"[\\u4e28]+"
,
"|"
);
}
// |替换
if
(
str
.
split
(
"[\\uff5c]+"
).
length
>
1
){
str
=
str
.
replaceAll
(
"[\\uff5c]+"
,
"|"
);
}
return
Arrays
.
stream
(
str
.
split
(
"[\\u007c]+"
)).
filter
(
StringUtils:
:
isNotBlank
).
collect
(
Collectors
.
joining
(
"|"
));
}
}
\ No newline at end of file
src/main/resources/application-dev.properties
View file @
19c92c0d
...
...
@@ -128,3 +128,7 @@ toolset.articleSummary.url=https://zhiweidata.xyz/api/front/chat-swagger
toolset.articleInfo.url
=
https://yuqing.zhiweidata.com/qbjcbackPhoenix/interface/middleware/match?url={1}&projectId={2}&submitter={3}
toolset.interactionUpdate.url
=
https://zhiwei-middleware.zhiweidata.com/interact/insertData
toolset.interactionResult.url
=
https://zhiwei-middleware.zhiweidata.com/interact/findDataBatch
#\u5916\u90E8\u6570\u636E-\u5FEB\u641C\u8BA2\u9605\u670D\u52A1\u63A5\u53E3
istarshine.subject.addTask.url
=
https://istarshine-service.zhiweidata.com/istarshine/subject/addIStarShineSubjectTask
istarshine.subject.deleteTask.url
=
https://istarshine-service.zhiweidata.com/istarshine/subject/deleteIStarShineSubjectTask?taskId={1}&updateUserName={2}
istarshine.subject.updateTask.url
=
https://istarshine-service.zhiweidata.com/istarshine/subject/updateIStarShineSubjectTask
\ No newline at end of file
src/main/resources/application-local.properties
View file @
19c92c0d
...
...
@@ -32,7 +32,9 @@ mongo.autoConnectRetry=true
mongo.socketKeepAlive
=
true
mongo.socketTimeout
=
120000
mongo.slaveOk
=
true
# \u6D4B\u8BD5
#primary.uri=mongodb://rsync:rsync1q2w3e4r@115.236.59.88:30001/brandkbs2?authSource=admin
# \u7EBF\u4E0A
primary.uri
=
mongodb://brandkbs2:3vh65l$i6qQA@202.107.192.94:17152/brandkbs2?authSource=admin
secondary.uri
=
mongodb://qbjcuser:qbjc1q2w3e4r@202.107.192.94:17152/qbjc?authSource=admin
...
...
@@ -48,7 +50,7 @@ es.clusterNodesHotES=202.107.192.94:29400
es.clusterNameHotES
=
hot-new-es
es.usernameHotES
=
elastic
es.passwordHotES
=
qWxZRW42OHkuOhmF5AXX
es.index.test
=
false
es.index.test
=
false
#channel-index
channel.index.registry
=
zookeeper://192.168.0.11:2181?backup=192.168.0.30:2181,192.168.0.35:2181
...
...
@@ -132,3 +134,7 @@ toolset.articleSummary.url=https://zhiweidata.xyz/api/front/chat-swagger
toolset.articleInfo.url
=
https://yuqing.zhiweidata.com/qbjcbackPhoenix/interface/middleware/match?url={1}&projectId={2}&submitter={3}
toolset.interactionUpdate.url
=
https://zhiwei-middleware.zhiweidata.com/interact/insertData
toolset.interactionResult.url
=
https://zhiwei-middleware.zhiweidata.com/interact/findDataBatch
#\u5916\u90E8\u6570\u636E-\u5FEB\u641C\u8BA2\u9605\u670D\u52A1\u63A5\u53E3
istarshine.subject.addTask.url
=
https://istarshine-service.zhiweidata.com/istarshine/subject/addIStarShineSubjectTask
istarshine.subject.deleteTask.url
=
https://istarshine-service.zhiweidata.com/istarshine/subject/deleteIStarShineSubjectTask?taskId={1}&updateUserName={2}
istarshine.subject.updateTask.url
=
https://istarshine-service.zhiweidata.com/istarshine/subject/updateIStarShineSubjectTask
\ No newline at end of file
src/main/resources/application-prod.properties
View file @
19c92c0d
...
...
@@ -128,3 +128,7 @@ toolset.articleSummary.url=https://zhiweidata.xyz/api/front/chat-swagger
toolset.articleInfo.url
=
https://yuqing.zhiweidata.com/qbjcbackPhoenix/interface/middleware/match?url={1}&projectId={2}&submitter={3}
toolset.interactionUpdate.url
=
https://zhiwei-middleware.zhiweidata.com/interact/insertData
toolset.interactionResult.url
=
https://zhiwei-middleware.zhiweidata.com/interact/findDataBatch
#\u5916\u90E8\u6570\u636E-\u5FEB\u641C\u8BA2\u9605\u670D\u52A1\u63A5\u53E3
istarshine.subject.addTask.url
=
https://istarshine-service.zhiweidata.com/istarshine/subject/addIStarShineSubjectTask
istarshine.subject.deleteTask.url
=
https://istarshine-service.zhiweidata.com/istarshine/subject/deleteIStarShineSubjectTask?taskId={1}&updateUserName={2}
istarshine.subject.updateTask.url
=
https://istarshine-service.zhiweidata.com/istarshine/subject/updateIStarShineSubjectTask
\ No newline at end of file
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