Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
middleware-automatic
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
middleware-automatic
Commits
f47c4396
Commit
f47c4396
authored
May 31, 2023
by
shentao
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature' into 'release'
2023年05/30 过滤词添加 See merge request
!72
parents
a28cd5b2
76d0c1a6
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
196 additions
and
9 deletions
+196
-9
middleware-automatic-center-client/src/main/java/com/zhiwei/middleware/automatic/server/pojo/AutoMarkShieldWord.java
+119
-0
middleware-automatic-center-client/src/main/java/com/zhiwei/middleware/automatic/server/pojo/PageVO.java
+2
-0
middleware-automatic-center-server/src/main/java/com/zhiwei/middleware/automatic/server/service/impl/TemplateTitleServiceImpl.java
+1
-1
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/config/GlobalPojo.java
+4
-0
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/mission/AsyncTask.java
+7
-0
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/mission/ScheduledMission.java
+27
-0
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/mission/StartTask.java
+1
-0
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/task/service/TaskServiceCommon.java
+21
-8
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/util/Tools.java
+14
-0
No files found.
middleware-automatic-center-client/src/main/java/com/zhiwei/middleware/automatic/server/pojo/AutoMarkShieldWord.java
0 → 100644
View file @
f47c4396
package
com
.
zhiwei
.
middleware
.
automatic
.
server
.
pojo
;
public
class
AutoMarkShieldWord
{
private
String
id
;
private
String
shieldWord
;
/**
* project 项目
*/
private
String
project
;
/**
* 项目id
*/
private
String
projectId
;
/**
* createAt 创建时间
*/
private
Long
createAt
;
/**
* creator 创建者
*/
private
String
creator
;
/**
* creatorId 创建者id
*/
private
String
creatorId
;
/**
* updateAt 更新时间
*/
private
Long
updateAt
;
/**
* submitter 最后提交人 用于呈现最后操作者
*/
private
String
submitter
;
/**
* submitterId 最后提交人id 用于记录最后操作者
*/
private
String
submitterId
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getShieldWord
()
{
return
shieldWord
;
}
public
void
setShieldWord
(
String
shieldWord
)
{
this
.
shieldWord
=
shieldWord
;
}
public
String
getProject
()
{
return
project
;
}
public
void
setProject
(
String
project
)
{
this
.
project
=
project
;
}
public
String
getProjectId
()
{
return
projectId
;
}
public
void
setProjectId
(
String
projectId
)
{
this
.
projectId
=
projectId
;
}
public
Long
getCreateAt
()
{
return
createAt
;
}
public
void
setCreateAt
(
Long
createAt
)
{
this
.
createAt
=
createAt
;
}
public
String
getCreator
()
{
return
creator
;
}
public
void
setCreator
(
String
creator
)
{
this
.
creator
=
creator
;
}
public
String
getCreatorId
()
{
return
creatorId
;
}
public
void
setCreatorId
(
String
creatorId
)
{
this
.
creatorId
=
creatorId
;
}
public
Long
getUpdateAt
()
{
return
updateAt
;
}
public
void
setUpdateAt
(
Long
updateAt
)
{
this
.
updateAt
=
updateAt
;
}
public
String
getSubmitter
()
{
return
submitter
;
}
public
void
setSubmitter
(
String
submitter
)
{
this
.
submitter
=
submitter
;
}
public
String
getSubmitterId
()
{
return
submitterId
;
}
public
void
setSubmitterId
(
String
submitterId
)
{
this
.
submitterId
=
submitterId
;
}
}
middleware-automatic-center-client/src/main/java/com/zhiwei/middleware/automatic/server/pojo/PageVO.java
View file @
f47c4396
...
@@ -65,6 +65,8 @@ public class PageVO <T> implements Serializable {
...
@@ -65,6 +65,8 @@ public class PageVO <T> implements Serializable {
this
.
list
=
list
;
this
.
list
=
list
;
}
}
public
PageVO
()
{}
public
PageVO
(
int
page
,
int
pageSize
,
int
total
,
List
<
T
>
t
)
{
public
PageVO
(
int
page
,
int
pageSize
,
int
total
,
List
<
T
>
t
)
{
this
.
page
=
page
;
this
.
page
=
page
;
this
.
pageLimit
=
pageSize
;
this
.
pageLimit
=
pageSize
;
...
...
middleware-automatic-center-server/src/main/java/com/zhiwei/middleware/automatic/server/service/impl/TemplateTitleServiceImpl.java
View file @
f47c4396
...
@@ -200,7 +200,7 @@ public class TemplateTitleServiceImpl implements TemplateTitleService {
...
@@ -200,7 +200,7 @@ public class TemplateTitleServiceImpl implements TemplateTitleService {
if
(
count
==
0
)
{
if
(
count
==
0
)
{
return
new
PageVO
<>(
skip
,
pageSize
,
(
int
)
count
,
Collections
.
emptyList
());
return
new
PageVO
<>(
skip
,
pageSize
,
(
int
)
count
,
Collections
.
emptyList
());
}
}
return
new
PageVO
<>(
skip
,
pageSize
,
(
int
)
count
,
templateRecordDao
.
findTemplateRecord
(
query
).
stream
().
map
(
TemplateRecord:
:
toJson
).
collect
(
Collectors
.
toList
()));
return
new
PageVO
<>(
page
,
pageSize
,
(
int
)
count
,
templateRecordDao
.
findTemplateRecord
(
query
).
stream
().
map
(
TemplateRecord:
:
toJson
).
collect
(
Collectors
.
toList
()));
}
}
...
...
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/config/GlobalPojo.java
View file @
f47c4396
package
com
.
zhiwei
.
middleware
.
automatic
.
son
.
config
;
package
com
.
zhiwei
.
middleware
.
automatic
.
son
.
config
;
import
com.zhiwei.middleware.automatic.server.pojo.AutoMarkShieldWord
;
import
com.zhiwei.qbjc.bean.pojo.common.MessagePlatform
;
import
com.zhiwei.qbjc.bean.pojo.common.MessagePlatform
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
public
class
GlobalPojo
{
public
class
GlobalPojo
{
public
static
List
<
MessagePlatform
>
MESSAGE_PLATFORM
;
public
static
List
<
MessagePlatform
>
MESSAGE_PLATFORM
;
public
static
Map
<
String
,
List
<
AutoMarkShieldWord
>>
PROJECT_SHIELD_WORD
;
}
}
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/mission/AsyncTask.java
View file @
f47c4396
package
com
.
zhiwei
.
middleware
.
automatic
.
son
.
mission
;
package
com
.
zhiwei
.
middleware
.
automatic
.
son
.
mission
;
import
com.zhiwei.middleware.automatic.server.pojo.AutoMarkShieldWord
;
import
com.zhiwei.qbjc.bean.pojo.common.MessagePlatform
;
import
com.zhiwei.qbjc.bean.pojo.common.MessagePlatform
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
@Component
@Component
public
class
AsyncTask
{
public
class
AsyncTask
{
...
@@ -20,4 +23,8 @@ public class AsyncTask {
...
@@ -20,4 +23,8 @@ public class AsyncTask {
return
mongoTemplate
.
findAll
(
MessagePlatform
.
class
);
return
mongoTemplate
.
findAll
(
MessagePlatform
.
class
);
}
}
public
Map
<
String
,
List
<
AutoMarkShieldWord
>>
getAutoMarkShieldWord
()
{
return
mongoTemplate
.
findAll
(
AutoMarkShieldWord
.
class
,
"qbjc_auto_mark_shield_word"
)
.
stream
().
collect
(
Collectors
.
groupingBy
(
AutoMarkShieldWord:
:
getProject
,
Collectors
.
toList
()));
}
}
}
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/mission/ScheduledMission.java
View file @
f47c4396
package
com
.
zhiwei
.
middleware
.
automatic
.
son
.
mission
;
package
com
.
zhiwei
.
middleware
.
automatic
.
son
.
mission
;
import
com.zhiwei.middleware.automatic.son.config.GlobalPojo
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
@Component
@EnableScheduling
public
class
ScheduledMission
{
public
class
ScheduledMission
{
private
static
final
Logger
log
=
LogManager
.
getLogger
(
ScheduledMission
.
class
);
private
final
AsyncTask
asyncTask
;
public
ScheduledMission
(
AsyncTask
asyncTask
)
{
this
.
asyncTask
=
asyncTask
;
}
@Scheduled
(
cron
=
"0 0/10 * * * ?"
)
public
void
cacheSync
()
{
try
{
GlobalPojo
.
MESSAGE_PLATFORM
=
asyncTask
.
getMessagePlatform
();
GlobalPojo
.
PROJECT_SHIELD_WORD
=
asyncTask
.
getAutoMarkShieldWord
();
}
catch
(
Exception
e
)
{
log
.
error
(
"定时同步静态缓存错误"
,
e
);
}
}
}
}
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/mission/StartTask.java
View file @
f47c4396
...
@@ -17,6 +17,7 @@ public class StartTask {
...
@@ -17,6 +17,7 @@ public class StartTask {
@PostConstruct
@PostConstruct
public
void
start
()
{
public
void
start
()
{
GlobalPojo
.
MESSAGE_PLATFORM
=
asyncTask
.
getMessagePlatform
();
GlobalPojo
.
MESSAGE_PLATFORM
=
asyncTask
.
getMessagePlatform
();
GlobalPojo
.
PROJECT_SHIELD_WORD
=
asyncTask
.
getAutoMarkShieldWord
();
}
}
}
}
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/task/service/TaskServiceCommon.java
View file @
f47c4396
...
@@ -5,10 +5,7 @@ import com.zhiwei.base.category.ClassB;
...
@@ -5,10 +5,7 @@ import com.zhiwei.base.category.ClassB;
import
com.zhiwei.base.entity.subclass.mark.*
;
import
com.zhiwei.base.entity.subclass.mark.*
;
import
com.zhiwei.middleware.automatic.server.common.GenericAttribute
;
import
com.zhiwei.middleware.automatic.server.common.GenericAttribute
;
import
com.zhiwei.middleware.automatic.server.core.TaskManager
;
import
com.zhiwei.middleware.automatic.server.core.TaskManager
;
import
com.zhiwei.middleware.automatic.server.pojo.AutoTask
;
import
com.zhiwei.middleware.automatic.server.pojo.*
;
import
com.zhiwei.middleware.automatic.server.pojo.MarkInfoMulti
;
import
com.zhiwei.middleware.automatic.server.pojo.TemplateRecord
;
import
com.zhiwei.middleware.automatic.server.pojo.TemplateTitleVo
;
import
com.zhiwei.middleware.automatic.server.pojo.enums.TaskType
;
import
com.zhiwei.middleware.automatic.server.pojo.enums.TaskType
;
import
com.zhiwei.middleware.automatic.server.pojo.enums.TemplateStatus
;
import
com.zhiwei.middleware.automatic.server.pojo.enums.TemplateStatus
;
import
com.zhiwei.middleware.automatic.server.util.RedissonUtil
;
import
com.zhiwei.middleware.automatic.server.util.RedissonUtil
;
...
@@ -203,11 +200,14 @@ public class TaskServiceCommon extends BaseTaskTypePair<TaskServiceCommon.TaskCo
...
@@ -203,11 +200,14 @@ public class TaskServiceCommon extends BaseTaskTypePair<TaskServiceCommon.TaskCo
* @param titleVoMap 模板集
* @param titleVoMap 模板集
*/
*/
private
void
oneTitleMark
(
String
group
,
List
<
MarkInfo
>
markInfos
,
Map
<
String
,
TemplateTitleVo
>
titleVoMap
)
{
private
void
oneTitleMark
(
String
group
,
List
<
MarkInfo
>
markInfos
,
Map
<
String
,
TemplateTitleVo
>
titleVoMap
)
{
List
<
AutoMarkShieldWord
>
autoMarkShieldWords
=
GlobalPojo
.
PROJECT_SHIELD_WORD
.
get
(
group
);
// 移除标题长度小于6的部分
// 移除标题长度小于6的部分
List
<
MarkInfo
>
newList
=
markInfos
.
stream
().
filter
(
markInfo
->
{
List
<
MarkInfo
>
newList
=
markInfos
.
stream
()
String
title
=
Tools
.
filterSymbol
(
markInfo
.
getSourceObj
().
getString
(
GenericAttribute
.
ES_TITLE
));
.
filter
(
markInfo
->
{
return
null
!=
title
&&
title
.
length
()
>
6
;
String
title
=
Tools
.
filterSymbol
(
markInfo
.
getSourceObj
().
getString
(
GenericAttribute
.
ES_TITLE
));
}).
filter
(
e
->
autoMark
(
group
,
e
,
titleVoMap
)).
collect
(
Collectors
.
toList
());
return
autoFilter
(
autoMarkShieldWords
,
title
);
})
.
filter
(
e
->
autoMark
(
group
,
e
,
titleVoMap
)).
collect
(
Collectors
.
toList
());
if
(
newList
.
isEmpty
())
{
if
(
newList
.
isEmpty
())
{
return
;
return
;
}
}
...
@@ -222,6 +222,19 @@ public class TaskServiceCommon extends BaseTaskTypePair<TaskServiceCommon.TaskCo
...
@@ -222,6 +222,19 @@ public class TaskServiceCommon extends BaseTaskTypePair<TaskServiceCommon.TaskCo
dubboHandler
.
markUpsert
(
newList
);
dubboHandler
.
markUpsert
(
newList
);
}
}
private
boolean
autoFilter
(
List
<
AutoMarkShieldWord
>
autoMarkShieldWords
,
String
title
)
{
// 文本长度过滤
if
(
Objects
.
isNull
(
title
)
||
title
.
length
()
<
6
)
{
return
false
;
}
// 表示不需要关键字过滤
if
(
Objects
.
isNull
(
autoMarkShieldWords
)
||
autoMarkShieldWords
.
isEmpty
())
{
return
true
;
}
// 没有命中过滤词
return
autoMarkShieldWords
.
stream
().
noneMatch
(
e
->
Tools
.
approximateStringMatching
(
e
.
getShieldWord
(),
title
));
}
private
boolean
autoMark
(
String
group
,
MarkInfo
markInfo
,
Map
<
String
,
TemplateTitleVo
>
titleVoMap
)
{
private
boolean
autoMark
(
String
group
,
MarkInfo
markInfo
,
Map
<
String
,
TemplateTitleVo
>
titleVoMap
)
{
JSONObject
sourceObj
=
markInfo
.
getSourceObj
();
JSONObject
sourceObj
=
markInfo
.
getSourceObj
();
String
title
=
Tools
.
filterSymbol
(
sourceObj
.
getString
(
GenericAttribute
.
ES_TITLE
));
String
title
=
Tools
.
filterSymbol
(
sourceObj
.
getString
(
GenericAttribute
.
ES_TITLE
));
...
...
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/util/Tools.java
View file @
f47c4396
...
@@ -102,4 +102,18 @@ public class Tools {
...
@@ -102,4 +102,18 @@ public class Tools {
}
}
return
sb
.
toString
();
return
sb
.
toString
();
}
}
/**
* 模糊匹配
* @return boolean 返回类型
*/
public
static
boolean
approximateStringMatching
(
String
beMatching
,
String
mathingWord
)
{
boolean
res
=
false
;
beMatching
=
beMatching
.
toLowerCase
();
mathingWord
=
mathingWord
.
toLowerCase
();
if
(
beMatching
.
contains
(
mathingWord
))
{
res
=
true
;
}
return
res
;
}
}
}
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