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
34768f15
Commit
34768f15
authored
Aug 16, 2024
by
陈健智
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ai搜索品牌、关键词提取优化,接口耗费记录补充
parent
02803bf0
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
89 additions
and
56 deletions
+89
-56
src/main/java/com/zhiwei/brandkbs2/aop/AopLogRecord.java
+5
-5
src/main/java/com/zhiwei/brandkbs2/es/EsClientDao.java
+2
-7
src/main/java/com/zhiwei/brandkbs2/pojo/UserLogRecord.java
+20
-1
src/main/java/com/zhiwei/brandkbs2/pojo/ai/FieldMapping.java
+56
-41
src/main/java/com/zhiwei/brandkbs2/service/impl/BehaviorServiceImpl.java
+1
-1
src/main/java/com/zhiwei/brandkbs2/service/impl/MarkDataServiceImpl.java
+0
-0
src/main/java/com/zhiwei/brandkbs2/service/impl/TaskServiceImpl.java
+5
-1
No files found.
src/main/java/com/zhiwei/brandkbs2/aop/AopLogRecord.java
View file @
34768f15
...
@@ -144,7 +144,7 @@ public class AopLogRecord {
...
@@ -144,7 +144,7 @@ public class AopLogRecord {
String
[]
value
=
method
.
getAnnotation
(
LogRecord
.
class
).
values
();
String
[]
value
=
method
.
getAnnotation
(
LogRecord
.
class
).
values
();
// 注解value为空字符串(value使用默认值未设置)
// 注解value为空字符串(value使用默认值未设置)
if
(
1
==
value
.
length
&&
StringUtils
.
isEmpty
(
value
[
0
])){
if
(
1
==
value
.
length
&&
StringUtils
.
isEmpty
(
value
[
0
])){
return
new
UserLogRecord
(
projectId
,
userInfo
.
getUserId
(),
userInfo
.
getNickname
(),
prefix
,
userInfo
.
getRoleId
(),
now
,
now
);
return
new
UserLogRecord
(
projectId
,
userInfo
.
getUserId
(),
userInfo
.
getNickname
(),
prefix
,
userInfo
.
getRoleId
(),
now
,
now
,
null
);
}
}
// 获取接口传参(value为获取传参的具体字段)并与操作描述description拼接返回,传参值为实体
// 获取接口传参(value为获取传参的具体字段)并与操作描述description拼接返回,传参值为实体
if
(
method
.
getAnnotation
(
LogRecord
.
class
).
arguments
()
&&
method
.
getAnnotation
(
LogRecord
.
class
).
entity
())
{
if
(
method
.
getAnnotation
(
LogRecord
.
class
).
arguments
()
&&
method
.
getAnnotation
(
LogRecord
.
class
).
entity
())
{
...
@@ -176,7 +176,7 @@ public class AopLogRecord {
...
@@ -176,7 +176,7 @@ public class AopLogRecord {
}
}
}
}
String
suffix
=
CollectionUtils
.
isNotEmpty
(
res
)
?
"-"
+
Tools
.
concatWithMinus
(
res
)
:
""
;
String
suffix
=
CollectionUtils
.
isNotEmpty
(
res
)
?
"-"
+
Tools
.
concatWithMinus
(
res
)
:
""
;
return
new
UserLogRecord
(
projectId
,
userInfo
.
getUserId
(),
userInfo
.
getNickname
(),
prefix
+
suffix
,
userInfo
.
getRoleId
(),
now
,
now
);
return
new
UserLogRecord
(
projectId
,
userInfo
.
getUserId
(),
userInfo
.
getNickname
(),
prefix
+
suffix
,
userInfo
.
getRoleId
(),
now
,
now
,
null
);
}
}
// 获取接口传参(value为获取传参的具体字段)并与操作描述description拼接返回,传参值不为实体
// 获取接口传参(value为获取传参的具体字段)并与操作描述description拼接返回,传参值不为实体
if
(
method
.
getAnnotation
(
LogRecord
.
class
).
arguments
()
&&
!
method
.
getAnnotation
(
LogRecord
.
class
).
entity
())
{
if
(
method
.
getAnnotation
(
LogRecord
.
class
).
arguments
()
&&
!
method
.
getAnnotation
(
LogRecord
.
class
).
entity
())
{
...
@@ -190,7 +190,7 @@ public class AopLogRecord {
...
@@ -190,7 +190,7 @@ public class AopLogRecord {
}
}
}
}
String
suffix
=
CollectionUtils
.
isNotEmpty
(
res
)
?
"-"
+
Tools
.
concatWithMinus
(
res
)
:
""
;
String
suffix
=
CollectionUtils
.
isNotEmpty
(
res
)
?
"-"
+
Tools
.
concatWithMinus
(
res
)
:
""
;
return
new
UserLogRecord
(
projectId
,
userInfo
.
getUserId
(),
userInfo
.
getNickname
(),
prefix
+
suffix
,
userInfo
.
getRoleId
(),
now
,
now
);
return
new
UserLogRecord
(
projectId
,
userInfo
.
getUserId
(),
userInfo
.
getNickname
(),
prefix
+
suffix
,
userInfo
.
getRoleId
(),
now
,
now
,
null
);
}
}
// 获取接口返回值(value为获取返回值的具体字段)并与操作描述description拼接返回,返回值为实体
// 获取接口返回值(value为获取返回值的具体字段)并与操作描述description拼接返回,返回值为实体
if
(!
method
.
getAnnotation
(
LogRecord
.
class
).
arguments
()
&&
method
.
getAnnotation
(
LogRecord
.
class
).
entity
()
&&
Objects
.
nonNull
(
responseResult
))
{
if
(!
method
.
getAnnotation
(
LogRecord
.
class
).
arguments
()
&&
method
.
getAnnotation
(
LogRecord
.
class
).
entity
()
&&
Objects
.
nonNull
(
responseResult
))
{
...
@@ -204,9 +204,9 @@ public class AopLogRecord {
...
@@ -204,9 +204,9 @@ public class AopLogRecord {
}
}
}
}
String
suffix
=
CollectionUtils
.
isNotEmpty
(
res
)
?
"-"
+
Tools
.
concatWithMinus
(
res
)
:
""
;
String
suffix
=
CollectionUtils
.
isNotEmpty
(
res
)
?
"-"
+
Tools
.
concatWithMinus
(
res
)
:
""
;
return
new
UserLogRecord
(
projectId
,
userInfo
.
getUserId
(),
userInfo
.
getNickname
(),
prefix
+
suffix
,
userInfo
.
getRoleId
(),
now
,
now
);
return
new
UserLogRecord
(
projectId
,
userInfo
.
getUserId
(),
userInfo
.
getNickname
(),
prefix
+
suffix
,
userInfo
.
getRoleId
(),
now
,
now
,
null
);
}
}
return
new
UserLogRecord
(
projectId
,
userInfo
.
getUserId
(),
userInfo
.
getNickname
(),
prefix
,
userInfo
.
getRoleId
(),
now
,
now
);
return
new
UserLogRecord
(
projectId
,
userInfo
.
getUserId
(),
userInfo
.
getNickname
(),
prefix
,
userInfo
.
getRoleId
(),
now
,
now
,
null
);
}
}
/**
/**
...
...
src/main/java/com/zhiwei/brandkbs2/es/EsClientDao.java
View file @
34768f15
...
@@ -340,11 +340,6 @@ public class EsClientDao {
...
@@ -340,11 +340,6 @@ public class EsClientDao {
BoolQueryBuilder
query
=
getBoolQueryBuilder
(
fieldMappings
);
BoolQueryBuilder
query
=
getBoolQueryBuilder
(
fieldMappings
);
String
[]
fetchSource
=
{
"id"
,
GenericAttribute
.
ES_TIME
,
GenericAttribute
.
ES_IND_TITLE
};
String
[]
fetchSource
=
{
"id"
,
GenericAttribute
.
ES_TIME
,
GenericAttribute
.
ES_IND_TITLE
};
SearchHit
[]
hits
=
searchHits
(
getIndexes
(),
query
,
null
,
fetchSource
,
null
,
0
,
10000
,
null
).
getHits
();
SearchHit
[]
hits
=
searchHits
(
getIndexes
(),
query
,
null
,
fetchSource
,
null
,
0
,
10000
,
null
).
getHits
();
// Map<String, JSONObject> idBaseMap = Arrays.stream(hits).map(hit -> new JSONObject(hit.getSourceAsMap())).collect(Collectors.toMap(json -> json.getString("id"), o -> o));
// Map<String, String> idTitle = Arrays.stream(hits)
// .map(hit -> new JSONObject(hit.getSourceAsMap()))
// .filter(json -> Objects.nonNull(json.getString(GenericAttribute.ES_IND_TITLE)))
// .collect(Collectors.toMap(json -> json.getString("id"), json -> json.getString(GenericAttribute.ES_IND_TITLE)));
Pair
<
Map
<
String
,
JSONObject
>,
Map
<
String
,
String
>>
searchProcess
=
findSearchResultProcess
(
hits
);
Pair
<
Map
<
String
,
JSONObject
>,
Map
<
String
,
String
>>
searchProcess
=
findSearchResultProcess
(
hits
);
Map
<
String
,
JSONObject
>
idBaseMap
=
searchProcess
.
getLeft
();
Map
<
String
,
JSONObject
>
idBaseMap
=
searchProcess
.
getLeft
();
Map
<
String
,
String
>
idTitle
=
searchProcess
.
getRight
();
Map
<
String
,
String
>
idTitle
=
searchProcess
.
getRight
();
...
@@ -378,7 +373,7 @@ public class EsClientDao {
...
@@ -378,7 +373,7 @@ public class EsClientDao {
Map
<
String
,
JSONObject
>
idBaseMap
=
Arrays
.
stream
(
hits
).
map
(
hit
->
new
JSONObject
(
hit
.
getSourceAsMap
())).
collect
(
Collectors
.
toMap
(
json
->
json
.
getString
(
"id"
),
o
->
o
));
Map
<
String
,
JSONObject
>
idBaseMap
=
Arrays
.
stream
(
hits
).
map
(
hit
->
new
JSONObject
(
hit
.
getSourceAsMap
())).
collect
(
Collectors
.
toMap
(
json
->
json
.
getString
(
"id"
),
o
->
o
));
Map
<
String
,
String
>
idTitle
=
Arrays
.
stream
(
hits
)
Map
<
String
,
String
>
idTitle
=
Arrays
.
stream
(
hits
)
.
map
(
hit
->
new
JSONObject
(
hit
.
getSourceAsMap
()))
.
map
(
hit
->
new
JSONObject
(
hit
.
getSourceAsMap
()))
.
filter
(
json
->
Objects
.
nonNull
(
json
.
getString
(
GenericAttribute
.
ES_IND_TITLE
)))
.
filter
(
json
->
Objects
.
nonNull
(
json
.
getString
(
GenericAttribute
.
ES_IND_TITLE
))
||
Tools
.
filterUselessTitle
(
GenericAttribute
.
ES_IND_TITLE
)
)
.
collect
(
Collectors
.
toMap
(
json
->
json
.
getString
(
"id"
),
json
->
json
.
getString
(
GenericAttribute
.
ES_IND_TITLE
)));
.
collect
(
Collectors
.
toMap
(
json
->
json
.
getString
(
"id"
),
json
->
json
.
getString
(
GenericAttribute
.
ES_IND_TITLE
)));
return
Pair
.
of
(
idBaseMap
,
idTitle
);
return
Pair
.
of
(
idBaseMap
,
idTitle
);
}
}
...
@@ -387,7 +382,7 @@ public class EsClientDao {
...
@@ -387,7 +382,7 @@ public class EsClientDao {
fieldMappings
.
stream
().
filter
(
fieldMapping
->
Objects
.
equals
(
FieldMapping
.
FieldMap
.
IND_FULL_TEXT
,
fieldMapping
.
getFieldMap
()))
fieldMappings
.
stream
().
filter
(
fieldMapping
->
Objects
.
equals
(
FieldMapping
.
FieldMap
.
IND_FULL_TEXT
,
fieldMapping
.
getFieldMap
()))
.
findFirst
().
ifPresent
(
fieldMapping
->
{
.
findFirst
().
ifPresent
(
fieldMapping
->
{
String
value
=
String
.
valueOf
(
fieldMapping
.
getValue
());
String
value
=
String
.
valueOf
(
fieldMapping
.
getValue
());
String
newValue
=
HanLP
.
segment
(
Tools
.
filterSpecialCharacter
(
value
)).
stream
().
map
(
s
->
s
.
word
).
distinct
().
collect
(
Collectors
.
joining
(
"
|
"
));
String
newValue
=
HanLP
.
segment
(
Tools
.
filterSpecialCharacter
(
value
)).
stream
().
map
(
s
->
s
.
word
).
distinct
().
collect
(
Collectors
.
joining
(
"
"
));
fieldMapping
.
setValue
(
newValue
);
fieldMapping
.
setValue
(
newValue
);
});
});
BoolQueryBuilder
query
=
getBoolQueryBuilder
(
fieldMappings
);
BoolQueryBuilder
query
=
getBoolQueryBuilder
(
fieldMappings
);
...
...
src/main/java/com/zhiwei/brandkbs2/pojo/UserLogRecord.java
View file @
34768f15
package
com
.
zhiwei
.
brandkbs2
.
pojo
;
package
com
.
zhiwei
.
brandkbs2
.
pojo
;
import
com.zhiwei.brandkbs2.auth.UserThreadLocal
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.Setter
;
import
org.springframework.data.mongodb.core.mapping.Document
;
/**
/**
* @ClassName: UserLogRecord
* @ClassName: UserLogRecord
...
@@ -14,6 +15,7 @@ import org.springframework.data.mongodb.core.mapping.Document;
...
@@ -14,6 +15,7 @@ import org.springframework.data.mongodb.core.mapping.Document;
@Getter
@Getter
@Setter
@Setter
@AllArgsConstructor
@AllArgsConstructor
@NoArgsConstructor
public
class
UserLogRecord
extends
AbstractBaseMongo
{
public
class
UserLogRecord
extends
AbstractBaseMongo
{
/**
/**
* 项目id
* 项目id
...
@@ -43,4 +45,21 @@ public class UserLogRecord extends AbstractBaseMongo{
...
@@ -43,4 +45,21 @@ public class UserLogRecord extends AbstractBaseMongo{
* 更新时间
* 更新时间
*/
*/
private
Long
updateTime
;
private
Long
updateTime
;
/**
* 本次调用费用(ai搜索)
*/
private
Double
cost
;
public
static
UserLogRecord
userLogRecordCost
(
String
description
,
double
cost
){
UserLogRecord
record
=
new
UserLogRecord
();
record
.
setProjectId
(
UserThreadLocal
.
getProjectId
());
record
.
setUserId
(
UserThreadLocal
.
getUserId
());
record
.
setNickname
(
UserThreadLocal
.
getNickname
());
record
.
setDescription
(
description
);
record
.
setRoleId
(
UserThreadLocal
.
getRoleId
());
record
.
setCTime
(
System
.
currentTimeMillis
());
record
.
setUpdateTime
(
System
.
currentTimeMillis
());
record
.
setCost
(
cost
);
return
record
;
}
}
}
src/main/java/com/zhiwei/brandkbs2/pojo/ai/FieldMapping.java
View file @
34768f15
package
com
.
zhiwei
.
brandkbs2
.
pojo
.
ai
;
package
com
.
zhiwei
.
brandkbs2
.
pojo
.
ai
;
import
com.zhiwei.brandkbs2.auth.UserThreadLocal
;
import
com.zhiwei.brandkbs2.common.GlobalPojo
;
import
com.zhiwei.brandkbs2.config.Constant
;
import
com.zhiwei.brandkbs2.es.EsQueryTools
;
import
com.zhiwei.brandkbs2.es.EsQueryTools
;
import
com.zhiwei.brandkbs2.pojo.AbstractProject
;
import
com.zhiwei.brandkbs2.pojo.Contend
;
import
com.zhiwei.brandkbs2.pojo.Project
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.Getter
;
import
lombok.Getter
;
import
org.apache.lucene.search.join.ScoreMode
;
import
org.apache.lucene.search.join.ScoreMode
;
import
org.elasticsearch.index.query.*
;
import
org.elasticsearch.index.query.*
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
/**
* @ClassName: FieldMap
* @ClassName: FieldMap
...
@@ -35,7 +28,7 @@ public class FieldMapping {
...
@@ -35,7 +28,7 @@ public class FieldMapping {
public
QueryBuilder
buildQuery
(
FieldMapping
fieldMapping
)
{
public
QueryBuilder
buildQuery
(
FieldMapping
fieldMapping
)
{
boolean
existsAnd
=
null
!=
fieldMapping
;
boolean
existsAnd
=
null
!=
fieldMapping
;
RangeQueryBuilder
timeRangeBuilder
;
RangeQueryBuilder
timeRangeBuilder
;
String
contendId
=
"0"
;
String
[]
contendIds
=
{
"0"
}
;
// 项目组需绑定查询
// 项目组需绑定查询
switch
(
fieldMap
)
{
switch
(
fieldMap
)
{
case
START_TIME:
case
START_TIME:
...
@@ -52,12 +45,17 @@ public class FieldMapping {
...
@@ -52,12 +45,17 @@ public class FieldMapping {
return
timeRangeBuilder
;
return
timeRangeBuilder
;
case
PROJECT:
case
PROJECT:
if
(
existsAnd
&&
fieldMapping
.
fieldMap
==
FieldMap
.
BRAND
)
{
if
(
existsAnd
&&
fieldMapping
.
fieldMap
==
FieldMap
.
BRAND
)
{
contendId
=
(
String
)
fieldMapping
.
value
;
contendId
s
=
((
String
)
fieldMapping
.
value
).
split
(
"\\|"
)
;
}
}
BoolQueryBuilder
boolQueryBuilder
=
QueryBuilders
.
boolQuery
();
for
(
String
contendId
:
contendIds
)
{
BoolQueryBuilder
nestedBoolBuilder
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
nestedBoolBuilder
=
QueryBuilders
.
boolQuery
();
// 必要条件
// 必要条件
nestedBoolBuilder
.
must
(
QueryBuilders
.
termQuery
(
fieldMap
.
databaseName
,
value
+
"_"
+
contendId
));
nestedBoolBuilder
.
must
(
QueryBuilders
.
termQuery
(
fieldMap
.
databaseName
,
value
+
"_"
+
contendId
));
return
new
NestedQueryBuilder
(
"brandkbs_cache_maps"
,
nestedBoolBuilder
,
ScoreMode
.
None
);
boolQueryBuilder
.
should
(
new
NestedQueryBuilder
(
"brandkbs_cache_maps"
,
nestedBoolBuilder
,
ScoreMode
.
None
));
}
boolQueryBuilder
.
minimumShouldMatch
(
1
);
return
boolQueryBuilder
;
case
BRAND:
case
BRAND:
if
(!
existsAnd
||
fieldMapping
.
fieldMap
!=
FieldMap
.
PROJECT
)
{
if
(!
existsAnd
||
fieldMapping
.
fieldMap
!=
FieldMap
.
PROJECT
)
{
throw
new
IllegalStateException
(
"项目条件缺失"
);
throw
new
IllegalStateException
(
"项目条件缺失"
);
...
@@ -65,7 +63,6 @@ public class FieldMapping {
...
@@ -65,7 +63,6 @@ public class FieldMapping {
return
fieldMapping
.
buildQuery
(
this
);
return
fieldMapping
.
buildQuery
(
this
);
case
IND_FULL_TEXT:
case
IND_FULL_TEXT:
return
EsQueryTools
.
assembleNormalKeywordQuery
(
String
.
valueOf
(
value
),
new
String
[]{
fieldMap
.
databaseName
});
return
EsQueryTools
.
assembleNormalKeywordQuery
(
String
.
valueOf
(
value
),
new
String
[]{
fieldMap
.
databaseName
});
// return QueryBuilders.matchPhraseQuery(fieldMap.databaseName, value);
case
SOURCE:
case
SOURCE:
case
MTAG:
case
MTAG:
return
QueryBuilders
.
termQuery
(
fieldMap
.
databaseName
,
value
);
return
QueryBuilders
.
termQuery
(
fieldMap
.
databaseName
,
value
);
...
@@ -97,41 +94,59 @@ public class FieldMapping {
...
@@ -97,41 +94,59 @@ public class FieldMapping {
}
}
}
}
public
static
FieldMapping
createFromNameAndValue
(
String
name
,
Object
value
,
List
<
FieldMapping
>
fieldMappings
)
{
public
static
FieldMapping
createFromNameAndValue
(
String
name
,
Object
value
,
String
question
)
{
FieldMap
fieldMap
=
null
;
FieldMap
fieldMap
=
null
;
// String projectId = UserThreadLocal.getProjectId();
// TODO 字段转换待完善,引入数据库
// TODO 字段转换待完善,引入数据库
for
(
FieldMap
f
:
FieldMap
.
values
())
{
for
(
FieldMap
f
:
FieldMap
.
values
())
{
if
(
name
.
equals
(
f
.
getName
()))
{
if
(
name
.
equals
(
f
.
getName
()))
{
// 项目名需要转成id
//
// 项目名需要转成id
if
(
FieldMap
.
PROJECT
==
f
)
{
//
if (FieldMap.PROJECT == f) {
Map
<
String
,
Project
>
projectMap
=
GlobalPojo
.
PROJECT_MAP
.
values
().
stream
().
collect
(
Collectors
.
toMap
(
AbstractProject:
:
getProjectName
,
o
->
o
));
//
Map<String, Project> projectMap = GlobalPojo.PROJECT_MAP.values().stream().collect(Collectors.toMap(AbstractProject::getProjectName, o -> o));
if
(
projectMap
.
containsKey
(
String
.
valueOf
(
value
)))
{
//
if (projectMap.containsKey(String.valueOf(value))) {
value
=
projectMap
.
get
(
String
.
valueOf
(
value
)).
getId
();
//
value = projectMap.get(String.valueOf(value)).getId();
}
else
{
//
}else {
value
=
UserThreadLocal
.
getProjectId
()
;
// value = projectId
;
}
//
}
}
//
}
// 品牌需要转换
// 品牌需要转换
if
(
FieldMap
.
BRAND
==
f
)
{
// if (FieldMap.BRAND == f) {
if
(
"主品牌"
.
equals
(
value
))
{
// Project project = GlobalPojo.PROJECT_MAP.get(projectId);
value
=
Constant
.
PRIMARY_CONTEND_ID
;
// if (CollectionUtils.isNotEmpty(project.getContendList())){
}
else
{
// List<String> contends = new ArrayList<>();
// 寻找对应的竞品id
// List<String> contendNames = project.getContendList().stream().map(AbstractProject::getBrandName).collect(Collectors.toList());
Optional
<
FieldMapping
>
project
=
fieldMappings
.
stream
().
filter
(
field
->
Objects
.
equals
(
FieldMap
.
PROJECT
,
field
.
getFieldMap
())).
findFirst
();
// for (String contendName : contendNames) {
if
(
project
.
isPresent
()){
// if (question.contains(contendName)) {
List
<
Contend
>
contendList
=
GlobalPojo
.
PROJECT_MAP
.
get
(
String
.
valueOf
(
project
.
get
().
getValue
())).
getContendList
();
// contends.add(contendName);
Object
finalValue
=
value
;
// }
Optional
<
Contend
>
contendOptional
=
contendList
.
stream
().
filter
(
contend
->
Objects
.
equals
(
contend
.
getBrandName
(),
finalValue
)).
findFirst
();
// }
if
(
contendOptional
.
isPresent
()){
// if (CollectionUtils.isNotEmpty(contends)){
value
=
contendOptional
.
get
().
getId
();
// value = String.join("|", contends);
}
else
{
// }else {
value
=
Constant
.
PRIMARY_CONTEND_ID
;
// value = Constant.PRIMARY_CONTEND_ID;
}
// }
}
else
{
// }else {
value
=
Constant
.
PRIMARY_CONTEND_ID
;
// value = Constant.PRIMARY_CONTEND_ID;
}
// }
}
// if ("主品牌".equals(value)) {
}
// value = Constant.PRIMARY_CONTEND_ID;
// } else {
// // 寻找对应的竞品id
// Optional<FieldMapping> project = fieldMappings.stream().filter(field -> Objects.equals(FieldMap.PROJECT, field.getFieldMap())).findFirst();
// if (project.isPresent()){
// List<Contend> contendList = GlobalPojo.PROJECT_MAP.get(String.valueOf(project.get().getValue())).getContendList();
// Object finalValue = value;
// Optional<Contend> contendOptional = contendList.stream().filter(contend -> Objects.equals(contend.getBrandName(), finalValue)).findFirst();
// if (contendOptional.isPresent()){
// value = contendOptional.get().getId();
// }else {
// value = Constant.PRIMARY_CONTEND_ID;
// }
// }else {
// value = Constant.PRIMARY_CONTEND_ID;
// }
// }
// }
// 标签只包含正负中
// 标签只包含正负中
if
(
FieldMap
.
MTAG
==
f
)
{
if
(
FieldMap
.
MTAG
==
f
)
{
if
(!
Arrays
.
asList
(
"正面"
,
"中性"
,
"负面"
).
contains
(
String
.
valueOf
(
value
)))
{
if
(!
Arrays
.
asList
(
"正面"
,
"中性"
,
"负面"
).
contains
(
String
.
valueOf
(
value
)))
{
...
...
src/main/java/com/zhiwei/brandkbs2/service/impl/BehaviorServiceImpl.java
View file @
34768f15
...
@@ -174,7 +174,7 @@ public class BehaviorServiceImpl implements BehaviorService {
...
@@ -174,7 +174,7 @@ public class BehaviorServiceImpl implements BehaviorService {
if
(
null
==
userInfo
)
{
if
(
null
==
userInfo
)
{
return
;
return
;
}
}
UserLogRecord
userLogRecord
=
new
UserLogRecord
(
projectId
,
userInfo
.
getUserId
(),
userInfo
.
getNickname
(),
description
,
userInfo
.
getRoleId
(),
now
,
now
);
UserLogRecord
userLogRecord
=
new
UserLogRecord
(
projectId
,
userInfo
.
getUserId
(),
userInfo
.
getNickname
(),
description
,
userInfo
.
getRoleId
(),
now
,
now
,
null
);
String
collectionName
=
userLogRecordDao
.
generateCollectionName
();
String
collectionName
=
userLogRecordDao
.
generateCollectionName
();
userLogRecordDao
.
insertOne
(
userLogRecord
,
collectionName
);
userLogRecordDao
.
insertOne
(
userLogRecord
,
collectionName
);
}
}
...
...
src/main/java/com/zhiwei/brandkbs2/service/impl/MarkDataServiceImpl.java
View file @
34768f15
This diff is collapsed.
Click to expand it.
src/main/java/com/zhiwei/brandkbs2/service/impl/TaskServiceImpl.java
View file @
34768f15
...
@@ -493,7 +493,11 @@ public class TaskServiceImpl implements TaskService {
...
@@ -493,7 +493,11 @@ public class TaskServiceImpl implements TaskService {
public
void
cacheAIQuestion
()
{
public
void
cacheAIQuestion
()
{
AtomicInteger
total
=
new
AtomicInteger
();
AtomicInteger
total
=
new
AtomicInteger
();
CompletableFuture
.
allOf
(
GlobalPojo
.
PROJECT_MAP
.
values
().
stream
().
map
(
project
->
CompletableFuture
.
supplyAsync
(()
->
{
CompletableFuture
.
allOf
(
GlobalPojo
.
PROJECT_MAP
.
values
().
stream
().
map
(
project
->
CompletableFuture
.
supplyAsync
(()
->
{
UserThreadLocal
.
set
(
new
UserInfo
().
setProjectId
(
project
.
getId
()));
UserInfo
userInfo
=
new
UserInfo
().
setProjectId
(
project
.
getId
());
userInfo
.
setUserId
(
"0"
);
userInfo
.
setNickname
(
"系统"
);
userInfo
.
setRoleId
(
1
);
UserThreadLocal
.
set
(
userInfo
);
markDataService
.
getAIReferenceQuestionCache
(
false
);
markDataService
.
getAIReferenceQuestionCache
(
false
);
log
.
info
(
"项目:{}-{}-AI参考问题缓存完成:{}个"
,
project
.
getProjectName
(),
project
.
getId
(),
total
.
incrementAndGet
());
log
.
info
(
"项目:{}-{}-AI参考问题缓存完成:{}个"
,
project
.
getProjectName
(),
project
.
getId
(),
total
.
incrementAndGet
());
return
null
;
return
null
;
...
...
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