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
9a3b79e2
Commit
9a3b79e2
authored
Jul 01, 2024
by
shenjunjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
小红书定制模块后台部分
parent
321a1b2f
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
369 additions
and
24 deletions
+369
-24
src/main/java/com/zhiwei/brandkbs2/controller/admin/BaseModuleController.java
+30
-8
src/main/java/com/zhiwei/brandkbs2/controller/admin/ExtraController.java
+13
-0
src/main/java/com/zhiwei/brandkbs2/dao/XiaohongshuRecordDao.java
+24
-0
src/main/java/com/zhiwei/brandkbs2/dao/XiaohongshuWordDao.java
+12
-0
src/main/java/com/zhiwei/brandkbs2/dao/impl/XiaohongshuRecordDaoImpl.java
+56
-0
src/main/java/com/zhiwei/brandkbs2/dao/impl/XiaohongshuWordDaoImpl.java
+20
-0
src/main/java/com/zhiwei/brandkbs2/pojo/AbstractBaseWord.java
+5
-3
src/main/java/com/zhiwei/brandkbs2/pojo/HighWord.java
+4
-0
src/main/java/com/zhiwei/brandkbs2/pojo/HighlightWord.java
+4
-0
src/main/java/com/zhiwei/brandkbs2/pojo/Project.java
+2
-3
src/main/java/com/zhiwei/brandkbs2/pojo/XiaohongshuRecord.java
+46
-0
src/main/java/com/zhiwei/brandkbs2/pojo/XiaohongshuWord.java
+25
-0
src/main/java/com/zhiwei/brandkbs2/pojo/vo/ProjectVO.java
+3
-3
src/main/java/com/zhiwei/brandkbs2/service/ExtraService.java
+8
-0
src/main/java/com/zhiwei/brandkbs2/service/XiaohongshuWordService.java
+22
-0
src/main/java/com/zhiwei/brandkbs2/service/impl/ExtraServiceImpl.java
+16
-2
src/main/java/com/zhiwei/brandkbs2/service/impl/ProjectServiceImpl.java
+5
-3
src/main/java/com/zhiwei/brandkbs2/service/impl/TableWordServiceImpl.java
+2
-2
src/main/java/com/zhiwei/brandkbs2/service/impl/XiaohongshuWordServiceImpl.java
+72
-0
No files found.
src/main/java/com/zhiwei/brandkbs2/controller/admin/BaseModuleController.java
View file @
9a3b79e2
...
@@ -10,15 +10,9 @@ import com.zhiwei.brandkbs2.enmus.RoleEnum;
...
@@ -10,15 +10,9 @@ import com.zhiwei.brandkbs2.enmus.RoleEnum;
import
com.zhiwei.brandkbs2.model.ResponseResult
;
import
com.zhiwei.brandkbs2.model.ResponseResult
;
import
com.zhiwei.brandkbs2.pojo.dto.TagFilterDTO
;
import
com.zhiwei.brandkbs2.pojo.dto.TagFilterDTO
;
import
com.zhiwei.brandkbs2.pojo.vo.ProjectVO
;
import
com.zhiwei.brandkbs2.pojo.vo.ProjectVO
;
import
com.zhiwei.brandkbs2.service.HighWordService
;
import
com.zhiwei.brandkbs2.service.*
;
import
com.zhiwei.brandkbs2.service.HighlightWordService
;
import
com.zhiwei.brandkbs2.service.ProjectService
;
import
com.zhiwei.brandkbs2.service.TagFilterService
;
import
com.zhiwei.brandkbs2.util.Tools
;
import
com.zhiwei.brandkbs2.util.Tools
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.*
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
...
@@ -46,6 +40,9 @@ public class BaseModuleController extends BaseController {
...
@@ -46,6 +40,9 @@ public class BaseModuleController extends BaseController {
@Resource
(
name
=
"highlightWordServiceImpl"
)
@Resource
(
name
=
"highlightWordServiceImpl"
)
HighlightWordService
highlightWordService
;
HighlightWordService
highlightWordService
;
@Resource
(
name
=
"xiaohongshuWordServiceImpl"
)
XiaohongshuWordService
xiaohongshuWordService
;
@Resource
(
name
=
"projectServiceImpl"
)
@Resource
(
name
=
"projectServiceImpl"
)
ProjectService
projectService
;
ProjectService
projectService
;
...
@@ -146,4 +143,29 @@ public class BaseModuleController extends BaseController {
...
@@ -146,4 +143,29 @@ public class BaseModuleController extends BaseController {
return
ResponseResult
.
success
();
return
ResponseResult
.
success
();
}
}
@ApiOperation
(
"获取舆情分析小红书关键词(小红书定制模块)"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"page"
,
value
=
"页码"
,
defaultValue
=
"1"
,
paramType
=
"query"
,
dataType
=
"int"
),
@ApiImplicitParam
(
name
=
"size"
,
value
=
"每页记录数"
,
defaultValue
=
"10"
,
paramType
=
"query"
,
dataType
=
"int"
),
@ApiImplicitParam
(
name
=
"keyword"
,
value
=
"搜索关键字"
,
paramType
=
"query"
,
dataType
=
"string"
)})
@GetMapping
(
"/xiaohongshuWord/list"
)
public
ResponseResult
findXiaohongshuWordList
(
@RequestParam
(
value
=
"page"
,
defaultValue
=
"1"
)
int
page
,
@RequestParam
(
value
=
"pageSize"
,
defaultValue
=
"10"
)
int
pageSize
,
@RequestParam
(
value
=
"keyword"
,
defaultValue
=
""
)
String
keyword
)
{
return
ResponseResult
.
success
(
xiaohongshuWordService
.
findWord
(
page
,
pageSize
,
keyword
));
}
@ApiOperation
(
"新增舆情分析小红书关键词(小红书定制模块)"
)
@PostMapping
(
"/highlightWord/add"
)
public
ResponseResult
addXiaohongshuWordList
(
@ApiParam
(
name
=
"info:{keyword:关键词, planName:方案名)"
)
@RequestBody
JSONObject
info
)
{
String
keyword
=
info
.
getString
(
"keyword"
);
String
planName
=
info
.
getString
(
"planName"
);
return
xiaohongshuWordService
.
addWord
(
keyword
,
planName
,
UserThreadLocal
.
getProjectId
(),
UserThreadLocal
.
getNickname
());
}
@ApiOperation
(
"删除舆情分析小红书关键词(小红书定制模块)"
)
@PostMapping
(
"/highlightWord/delete{id}"
)
public
ResponseResult
deleteXiaohongshuWord
(
@PathVariable
String
id
)
{
xiaohongshuWordService
.
deleteWord
(
id
);
return
ResponseResult
.
success
();
}
}
}
src/main/java/com/zhiwei/brandkbs2/controller/admin/ExtraController.java
View file @
9a3b79e2
...
@@ -119,4 +119,17 @@ public class ExtraController extends BaseController {
...
@@ -119,4 +119,17 @@ public class ExtraController extends BaseController {
extraService
.
adjustInteractionRecord
(
json
.
getInteger
(
"count"
));
extraService
.
adjustInteractionRecord
(
json
.
getInteger
(
"count"
));
return
ResponseResult
.
success
();
return
ResponseResult
.
success
();
}
}
@ApiOperation
(
"互动量更新-舆情分析-数据更新用量(小红书定制模块)"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"startTime"
,
value
=
"起始时间"
,
paramType
=
"query"
,
dataType
=
"long"
),
@ApiImplicitParam
(
name
=
"endTime"
,
value
=
"结束时间"
,
paramType
=
"query"
,
dataType
=
"long"
),
@ApiImplicitParam
(
name
=
"timeType"
,
defaultValue
=
"week"
,
value
=
"时间类型字段(week/month)"
,
paramType
=
"query"
,
dataType
=
"string"
)}
)
@GetMapping
(
"/xiaohongshuRecord"
)
public
ResponseResult
findXiaohongshuRecordList
(
@RequestParam
(
value
=
"startTime"
)
long
startTime
,
@RequestParam
(
value
=
"endTime"
)
long
endTime
,
@RequestParam
(
value
=
"timeType"
,
defaultValue
=
"week"
)
String
timeType
)
{
return
ResponseResult
.
success
(
extraService
.
xiaohongshuRecordLog
(
startTime
,
endTime
,
timeType
));
}
}
}
src/main/java/com/zhiwei/brandkbs2/dao/XiaohongshuRecordDao.java
0 → 100644
View file @
9a3b79e2
package
com
.
zhiwei
.
brandkbs2
.
dao
;
import
com.zhiwei.brandkbs2.pojo.XiaohongshuRecord
;
import
com.zhiwei.brandkbs2.pojo.vo.LineVO
;
import
java.util.List
;
/**
* @ClassName: XiaohongshuRecordDao
* @Description XiaohongshuRecordDao
* @author: sjj
* @date: 2024-06-28 17:41
*/
public
interface
XiaohongshuRecordDao
extends
BaseMongoDao
<
XiaohongshuRecord
>
{
/**
* @param startTime 起始时间
* @param endTime 结束时间
* @param timeType 时间类型
* @return list
*/
List
<
LineVO
>
aggregateDayLastRecord
(
long
startTime
,
long
endTime
,
String
timeType
);
}
src/main/java/com/zhiwei/brandkbs2/dao/XiaohongshuWordDao.java
0 → 100644
View file @
9a3b79e2
package
com
.
zhiwei
.
brandkbs2
.
dao
;
import
com.zhiwei.brandkbs2.pojo.XiaohongshuWord
;
/**
* @ClassName: XiaohongshuWordDao
* @Description XiaohongshuWordDao
* @author: sjj
* @date: 2024-06-28 14:08
*/
public
interface
XiaohongshuWordDao
extends
BaseMongoDao
<
XiaohongshuWord
>{
}
src/main/java/com/zhiwei/brandkbs2/dao/impl/XiaohongshuRecordDaoImpl.java
0 → 100644
View file @
9a3b79e2
package
com
.
zhiwei
.
brandkbs2
.
dao
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.zhiwei.brandkbs2.auth.UserThreadLocal
;
import
com.zhiwei.brandkbs2.dao.XiaohongshuRecordDao
;
import
com.zhiwei.brandkbs2.pojo.XiaohongshuRecord
;
import
com.zhiwei.brandkbs2.pojo.vo.LineVO
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.mongodb.core.aggregation.Aggregation
;
import
org.springframework.data.mongodb.core.aggregation.AggregationOperation
;
import
org.springframework.data.mongodb.core.aggregation.AggregationResults
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @ClassName: XiaohongshuRecordDaoImpl
* @Description XiaohongshuRecordDaoImpl
* @author: sjj
* @date: 2024-06-28 17:43
*/
@Component
(
"xiaohongshuRecordDao"
)
public
class
XiaohongshuRecordDaoImpl
extends
BaseMongoDaoImpl
<
XiaohongshuRecord
>
implements
XiaohongshuRecordDao
{
private
static
final
String
COLLECTION_NAME
=
"brandkbs_xiaohongshu_record"
;
public
XiaohongshuRecordDaoImpl
()
{
super
(
COLLECTION_NAME
);
}
@Override
public
List
<
LineVO
>
aggregateDayLastRecord
(
long
startTime
,
long
endTime
,
String
timeType
)
{
// 2024-06-19 前10位,代表天级;则前7位代表月级
int
norOfChars
=
10
;
if
(
timeType
.
equals
(
"month"
))
{
norOfChars
=
7
;
}
List
<
LineVO
>
res
=
new
ArrayList
<>();
Criteria
criteria
=
Criteria
.
where
(
"projectId"
).
is
(
UserThreadLocal
.
getProjectId
());
List
<
AggregationOperation
>
operations
=
new
ArrayList
<>();
// operations区分先后顺序
operations
.
add
(
Aggregation
.
match
(
criteria
));
operations
.
add
(
Aggregation
.
project
(
"currentCount"
).
and
(
"cTime"
).
substring
(
0
,
norOfChars
).
as
(
"cTime"
));
operations
.
add
(
Aggregation
.
group
(
"cTime"
).
last
(
"currentCount"
).
as
(
"count"
));
operations
.
add
(
Aggregation
.
sort
(
Sort
.
by
(
Sort
.
Order
.
asc
(
"_id"
))));
Aggregation
aggregation
=
Aggregation
.
newAggregation
(
operations
);
// 聚合结果
AggregationResults
<
JSONObject
>
aggregateResult
=
mongoTemplate
.
aggregate
(
aggregation
,
COLLECTION_NAME
,
JSONObject
.
class
);
List
<
JSONObject
>
mappedResults
=
aggregateResult
.
getMappedResults
();
for
(
JSONObject
mappedResult
:
mappedResults
)
{
res
.
add
(
new
LineVO
(
mappedResult
.
getLong
(
"count"
),
mappedResult
.
getDate
(
"_id"
).
getTime
()));
}
return
res
;
}
}
src/main/java/com/zhiwei/brandkbs2/dao/impl/XiaohongshuWordDaoImpl.java
0 → 100644
View file @
9a3b79e2
package
com
.
zhiwei
.
brandkbs2
.
dao
.
impl
;
import
com.zhiwei.brandkbs2.dao.XiaohongshuWordDao
;
import
com.zhiwei.brandkbs2.pojo.XiaohongshuWord
;
import
org.springframework.stereotype.Component
;
/**
* @ClassName: XiaohongshuWordDaoImpl
* @Description XiaohongshuWordDaoImpl
* @author: sjj
* @date: 2024年6月28日16:02:03
*/
@Component
(
"xiaohongshuWordDao"
)
public
class
XiaohongshuWordDaoImpl
extends
BaseMongoDaoImpl
<
XiaohongshuWord
>
implements
XiaohongshuWordDao
{
private
static
final
String
COLLECTION_NAME
=
"brandkbs_xiaohongshu_word"
;
public
XiaohongshuWordDaoImpl
()
{
super
(
COLLECTION_NAME
);
}
}
src/main/java/com/zhiwei/brandkbs2/pojo/AbstractBaseWord.java
View file @
9a3b79e2
...
@@ -36,16 +36,18 @@ public abstract class AbstractBaseWord extends AbstractBaseMongo {
...
@@ -36,16 +36,18 @@ public abstract class AbstractBaseWord extends AbstractBaseMongo {
*/
*/
private
String
projectId
;
private
String
projectId
;
public
static
<
T
>
List
<
T
>
createFromList
(
List
<
String
>
keywords
,
String
projectId
,
String
submitter
)
{
abstract
AbstractBaseWord
newInstance
();
public
<
T
extends
AbstractBaseWord
>
List
<
T
>
createFromList
(
List
<
String
>
keywords
,
String
projectId
,
String
submitter
)
{
List
<
T
>
res
=
new
ArrayList
<>();
List
<
T
>
res
=
new
ArrayList
<>();
Long
now
=
System
.
currentTimeMillis
();
Long
now
=
System
.
currentTimeMillis
();
for
(
String
keyword
:
keywords
)
{
for
(
String
keyword
:
keywords
)
{
AbstractBaseWord
word
=
new
HighWord
();
T
word
=
(
T
)
newInstance
();
word
.
setKeyword
(
keyword
);
word
.
setKeyword
(
keyword
);
word
.
setCTime
(
now
);
word
.
setCTime
(
now
);
word
.
setProjectId
(
projectId
);
word
.
setProjectId
(
projectId
);
word
.
setSubmitter
(
submitter
);
word
.
setSubmitter
(
submitter
);
res
.
add
(
(
T
)
word
);
res
.
add
(
word
);
}
}
return
res
;
return
res
;
}
}
...
...
src/main/java/com/zhiwei/brandkbs2/pojo/HighWord.java
View file @
9a3b79e2
...
@@ -14,4 +14,8 @@ import org.springframework.data.mongodb.core.mapping.Document;
...
@@ -14,4 +14,8 @@ import org.springframework.data.mongodb.core.mapping.Document;
@Setter
@Setter
@Document
(
collection
=
"brandkbs_high_word"
)
@Document
(
collection
=
"brandkbs_high_word"
)
public
class
HighWord
extends
AbstractBaseWord
{
public
class
HighWord
extends
AbstractBaseWord
{
@Override
AbstractBaseWord
newInstance
()
{
return
new
HighWord
();
}
}
}
src/main/java/com/zhiwei/brandkbs2/pojo/HighlightWord.java
View file @
9a3b79e2
...
@@ -14,4 +14,8 @@ import org.springframework.data.mongodb.core.mapping.Document;
...
@@ -14,4 +14,8 @@ import org.springframework.data.mongodb.core.mapping.Document;
@Setter
@Setter
@Document
(
collection
=
"brandkbs_highlight_word"
)
@Document
(
collection
=
"brandkbs_highlight_word"
)
public
class
HighlightWord
extends
AbstractBaseWord
{
public
class
HighlightWord
extends
AbstractBaseWord
{
@Override
AbstractBaseWord
newInstance
()
{
return
new
HighlightWord
();
}
}
}
src/main/java/com/zhiwei/brandkbs2/pojo/Project.java
View file @
9a3b79e2
...
@@ -34,10 +34,9 @@ public class Project extends AbstractProject {
...
@@ -34,10 +34,9 @@ public class Project extends AbstractProject {
private
List
<
Contend
>
contendList
;
private
List
<
Contend
>
contendList
;
/**
/**
* 模块展示列表(
1:标注库 2:大库
)
* 模块展示列表(
xiaohongshu:达达项目定制化
)
*/
*/
@Deprecated
private
List
<
String
>
moduleShowList
;
private
List
<
Integer
>
moduleShowList
;
/**
/**
* 工具库功能入口展示列表(目前有:摘要提取,互动量更新,词云,字节影响力计算,其中前三者默认开启)
* 工具库功能入口展示列表(目前有:摘要提取,互动量更新,词云,字节影响力计算,其中前三者默认开启)
...
...
src/main/java/com/zhiwei/brandkbs2/pojo/XiaohongshuRecord.java
0 → 100644
View file @
9a3b79e2
package
com
.
zhiwei
.
brandkbs2
.
pojo
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.util.Date
;
/**
* @ClassName: XiaohongshuRecord
* @Description 小红书定制模块更新互动量记录
* @author: sjj
* @date: 2024年6月28日17:24:30
*/
@Getter
@Setter
public
class
XiaohongshuRecord
extends
AbstractBaseMongo
{
/**
* 项目id
*/
private
String
projectId
;
/**
* 本次使用数值
*/
private
int
usedCount
;
/**
* 提交人
*/
private
String
submitter
;
/**
* 创建时间(Date类型方便聚合查询)
*/
private
Date
cTime
;
public
static
XiaohongshuRecord
createUsedRecord
(
String
projectId
,
int
usedCount
,
String
submitter
)
{
XiaohongshuRecord
record
=
new
XiaohongshuRecord
();
record
.
projectId
=
projectId
;
record
.
usedCount
=
usedCount
;
record
.
submitter
=
submitter
;
record
.
cTime
=
new
Date
();
return
record
;
}
}
src/main/java/com/zhiwei/brandkbs2/pojo/XiaohongshuWord.java
0 → 100644
View file @
9a3b79e2
package
com
.
zhiwei
.
brandkbs2
.
pojo
;
import
lombok.Getter
;
import
lombok.Setter
;
import
org.springframework.data.mongodb.core.mapping.Document
;
/**
* @ClassName: XiaohongshuWord
* @Description 小红书定制配置词
* @author: sjj
* @date: 2024-06-28 14:08
*/
@Getter
@Setter
@Document
(
collection
=
"brandkbs_xiaohongshu_word"
)
public
class
XiaohongshuWord
extends
AbstractBaseWord
{
private
String
planName
;
@Override
AbstractBaseWord
newInstance
()
{
return
new
XiaohongshuWord
();
}
}
src/main/java/com/zhiwei/brandkbs2/pojo/vo/ProjectVO.java
View file @
9a3b79e2
...
@@ -88,10 +88,10 @@ public class ProjectVO {
...
@@ -88,10 +88,10 @@ public class ProjectVO {
private
List
<
Contend
>
contendList
;
private
List
<
Contend
>
contendList
;
/**
/**
* 模块展示列表(
1:标注库 2:大库
)
* 模块展示列表(
xiaohongshu:达达项目定制化
)
*/
*/
@ApiModelProperty
(
"
舆情数据源(模块展示列表(1:标注库 2:大库))
"
)
@ApiModelProperty
(
"
xiaohongshu:达达项目定制化
"
)
private
List
<
Integer
>
moduleShowList
;
private
List
<
String
>
moduleShowList
;
/**
/**
* 工具库功能入口展示列表(目前有:摘要提取,互动量更新,词云,字节影响力计算,其中前三者默认开启)
* 工具库功能入口展示列表(目前有:摘要提取,互动量更新,词云,字节影响力计算,其中前三者默认开启)
...
...
src/main/java/com/zhiwei/brandkbs2/service/ExtraService.java
View file @
9a3b79e2
...
@@ -115,4 +115,12 @@ public interface ExtraService {
...
@@ -115,4 +115,12 @@ public interface ExtraService {
* @param usedCount 使用次数
* @param usedCount 使用次数
*/
*/
void
decreaseInteractionRecord
(
InteractionUpdateRecord
.
UsedType
usedType
,
Integer
usedCount
);
void
decreaseInteractionRecord
(
InteractionUpdateRecord
.
UsedType
usedType
,
Integer
usedCount
);
/**
* 数据总览
*
* @return json
*/
JSONObject
xiaohongshuRecordLog
(
long
startTime
,
long
endTime
,
String
timeType
);
}
}
src/main/java/com/zhiwei/brandkbs2/service/XiaohongshuWordService.java
0 → 100644
View file @
9a3b79e2
package
com
.
zhiwei
.
brandkbs2
.
service
;
import
com.zhiwei.brandkbs2.model.ResponseResult
;
/**
* @ClassName: XiaohongshuWordService
* @Description 小红书定制模块关键词接口
* @author: sjj
* @date: 2024-06-28 10:09
*/
public
interface
XiaohongshuWordService
extends
TableWordService
{
/**
* 添加关键词
* @param keyword 关键词
* @param planName 方案名
* @param projectId 项目id
* @param submitter 提交人
* @return
*/
ResponseResult
addWord
(
String
keyword
,
String
planName
,
String
projectId
,
String
submitter
);
}
src/main/java/com/zhiwei/brandkbs2/service/impl/ExtraServiceImpl.java
View file @
9a3b79e2
...
@@ -6,8 +6,9 @@ import com.zhiwei.brandkbs2.config.Constant;
...
@@ -6,8 +6,9 @@ import com.zhiwei.brandkbs2.config.Constant;
import
com.zhiwei.brandkbs2.dao.InteractionUpdateRecordDao
;
import
com.zhiwei.brandkbs2.dao.InteractionUpdateRecordDao
;
import
com.zhiwei.brandkbs2.dao.ProjectDao
;
import
com.zhiwei.brandkbs2.dao.ProjectDao
;
import
com.zhiwei.brandkbs2.dao.WholeSearchRecordDao
;
import
com.zhiwei.brandkbs2.dao.WholeSearchRecordDao
;
import
com.zhiwei.brandkbs2.
pojo.Project
;
import
com.zhiwei.brandkbs2.
dao.XiaohongshuRecordDao
;
import
com.zhiwei.brandkbs2.pojo.InteractionUpdateRecord
;
import
com.zhiwei.brandkbs2.pojo.InteractionUpdateRecord
;
import
com.zhiwei.brandkbs2.pojo.Project
;
import
com.zhiwei.brandkbs2.pojo.WholeSearchRecord
;
import
com.zhiwei.brandkbs2.pojo.WholeSearchRecord
;
import
com.zhiwei.brandkbs2.pojo.vo.PageVO
;
import
com.zhiwei.brandkbs2.pojo.vo.PageVO
;
import
com.zhiwei.brandkbs2.service.ExtraService
;
import
com.zhiwei.brandkbs2.service.ExtraService
;
...
@@ -20,7 +21,6 @@ import org.springframework.stereotype.Service;
...
@@ -20,7 +21,6 @@ import org.springframework.stereotype.Service;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -38,6 +38,9 @@ public class ExtraServiceImpl implements ExtraService {
...
@@ -38,6 +38,9 @@ public class ExtraServiceImpl implements ExtraService {
@Resource
(
name
=
"interactionUpdateRecordDao"
)
@Resource
(
name
=
"interactionUpdateRecordDao"
)
private
InteractionUpdateRecordDao
interactionUpdateRecordDao
;
private
InteractionUpdateRecordDao
interactionUpdateRecordDao
;
@Resource
(
name
=
"xiaohongshuRecordDao"
)
private
XiaohongshuRecordDao
xiaohongshuRecordDao
;
@Resource
(
name
=
"projectDao"
)
@Resource
(
name
=
"projectDao"
)
private
ProjectDao
projectDao
;
private
ProjectDao
projectDao
;
...
@@ -204,6 +207,17 @@ public class ExtraServiceImpl implements ExtraService {
...
@@ -204,6 +207,17 @@ public class ExtraServiceImpl implements ExtraService {
interactionUpdateRecordDao
.
insertOne
(
record
,
interactionUpdateRecordDao
.
generateCollectionName
());
interactionUpdateRecordDao
.
insertOne
(
record
,
interactionUpdateRecordDao
.
generateCollectionName
());
}
}
@Override
public
JSONObject
xiaohongshuRecordLog
(
long
startTime
,
long
endTime
,
String
timeType
)
{
JSONObject
json
=
new
JSONObject
();
Query
query
=
new
Query
();
query
.
addCriteria
(
Criteria
.
where
(
"projectId"
).
is
(
UserThreadLocal
.
getProjectId
()));
query
.
addCriteria
(
Criteria
.
where
(
"cTime"
).
gte
(
new
Date
(
startTime
)).
lt
(
new
Date
(
endTime
)));
json
.
put
(
"count"
,
xiaohongshuRecordDao
.
count
(
query
));
json
.
put
(
"trendList"
,
xiaohongshuRecordDao
.
aggregateDayLastRecord
(
startTime
,
endTime
,
timeType
));
return
json
;
}
private
List
<
JSONObject
>
interactionUsedList
(
Query
query
,
String
...
collectionNames
)
{
private
List
<
JSONObject
>
interactionUsedList
(
Query
query
,
String
...
collectionNames
)
{
return
interactionUpdateRecordDao
.
findList
(
query
,
collectionNames
).
stream
().
map
(
record
->
{
return
interactionUpdateRecordDao
.
findList
(
query
,
collectionNames
).
stream
().
map
(
record
->
{
JSONObject
json
=
new
JSONObject
();
JSONObject
json
=
new
JSONObject
();
...
...
src/main/java/com/zhiwei/brandkbs2/service/impl/ProjectServiceImpl.java
View file @
9a3b79e2
...
@@ -801,9 +801,11 @@ public class ProjectServiceImpl implements ProjectService {
...
@@ -801,9 +801,11 @@ public class ProjectServiceImpl implements ProjectService {
*/
*/
private
List
<
Map
<
String
,
Object
>>
getPermissionList
(
Project
project
)
{
private
List
<
Map
<
String
,
Object
>>
getPermissionList
(
Project
project
)
{
List
<
Map
<
String
,
Object
>>
permissionList
=
new
ArrayList
<>();
List
<
Map
<
String
,
Object
>>
permissionList
=
new
ArrayList
<>();
Map
<
String
,
Object
>
originPermission
=
new
HashMap
<>();
// 定制化模块权限
originPermission
.
put
(
"origin"
,
Objects
.
nonNull
(
project
.
getModuleShowList
())
&&
project
.
getModuleShowList
().
contains
(
2
));
List
<
String
>
moduleShowList
=
project
.
getModuleShowList
();
permissionList
.
add
(
originPermission
);
Map
<
String
,
Object
>
customPermission
=
new
HashMap
<>();
customPermission
.
put
(
"xiaohongshu"
,
Objects
.
nonNull
(
moduleShowList
)
&&
moduleShowList
.
contains
(
"xiaohongshu"
));
permissionList
.
add
(
customPermission
);
// 友好渠道榜、敏感渠道榜是否有数据
// 友好渠道榜、敏感渠道榜是否有数据
Map
<
String
,
Object
>
channelPermission
=
new
HashMap
<>();
Map
<
String
,
Object
>
channelPermission
=
new
HashMap
<>();
JSONObject
jsonObject
=
GlobalPojo
.
PROJECT_EMOTION_CHANNEL_DATA
.
get
(
project
.
getId
());
JSONObject
jsonObject
=
GlobalPojo
.
PROJECT_EMOTION_CHANNEL_DATA
.
get
(
project
.
getId
());
...
...
src/main/java/com/zhiwei/brandkbs2/service/impl/TableWordServiceImpl.java
View file @
9a3b79e2
...
@@ -22,7 +22,7 @@ import java.util.stream.Collectors;
...
@@ -22,7 +22,7 @@ import java.util.stream.Collectors;
* @author: sjj
* @author: sjj
* @date: 2023-05-25 14:35
* @date: 2023-05-25 14:35
*/
*/
public
class
TableWordServiceImpl
implements
TableWordService
{
public
class
TableWordServiceImpl
implements
TableWordService
{
final
BaseMongoDao
<?
extends
AbstractBaseWord
>
baseMongoDao
;
final
BaseMongoDao
<?
extends
AbstractBaseWord
>
baseMongoDao
;
final
MongoUtil
mongoUtil
;
final
MongoUtil
mongoUtil
;
...
@@ -60,7 +60,7 @@ public class TableWordServiceImpl implements TableWordService{
...
@@ -60,7 +60,7 @@ public class TableWordServiceImpl implements TableWordService{
if
(
newList
.
size
()
+
existList
.
size
()
>
100
)
{
if
(
newList
.
size
()
+
existList
.
size
()
>
100
)
{
return
ResponseResult
.
failure
(
"关键词添加超过上限值100"
);
return
ResponseResult
.
failure
(
"关键词添加超过上限值100"
);
}
}
baseMongoDao
.
insertMany
(
HighWord
.
createFromList
(
newList
,
projectId
,
submitter
));
baseMongoDao
.
insertMany
(
new
HighWord
()
.
createFromList
(
newList
,
projectId
,
submitter
));
return
ResponseResult
.
success
();
return
ResponseResult
.
success
();
}
}
...
...
src/main/java/com/zhiwei/brandkbs2/service/impl/XiaohongshuWordServiceImpl.java
0 → 100644
View file @
9a3b79e2
package
com
.
zhiwei
.
brandkbs2
.
service
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.zhiwei.brandkbs2.auth.UserThreadLocal
;
import
com.zhiwei.brandkbs2.dao.XiaohongshuWordDao
;
import
com.zhiwei.brandkbs2.model.ResponseResult
;
import
com.zhiwei.brandkbs2.pojo.XiaohongshuWord
;
import
com.zhiwei.brandkbs2.pojo.vo.PageVO
;
import
com.zhiwei.brandkbs2.service.XiaohongshuWordService
;
import
com.zhiwei.brandkbs2.util.MongoUtil
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @ClassName: XiaohongshuWordServiceImpl
* @Description 小红书定制模块关键词接口实现类
* @author: sjj
* @date: 2024-06-28 10:11
*/
@Service
(
"xiaohongshuWordServiceImpl"
)
public
class
XiaohongshuWordServiceImpl
extends
TableWordServiceImpl
implements
XiaohongshuWordService
{
final
XiaohongshuWordDao
xiaohongshuWordDao
;
public
XiaohongshuWordServiceImpl
(
@Qualifier
(
"xiaohongshuWordDao"
)
XiaohongshuWordDao
xiaohongshuWordDao
,
@Qualifier
(
"mongoUtil"
)
MongoUtil
mongoUtil
)
{
super
(
xiaohongshuWordDao
,
mongoUtil
);
this
.
xiaohongshuWordDao
=
xiaohongshuWordDao
;
}
@Override
public
PageVO
<
JSONObject
>
findWord
(
int
page
,
int
size
,
String
keyword
)
{
String
projectId
=
UserThreadLocal
.
getProjectId
();
Query
query
=
Query
.
query
(
Criteria
.
where
(
"projectId"
).
is
(
projectId
));
long
count
=
xiaohongshuWordDao
.
count
(
query
);
mongoUtil
.
start
(
page
,
size
,
query
);
List
<
XiaohongshuWord
>
xiaohongshuWords
=
xiaohongshuWordDao
.
findListByKeywordFuzz
(
query
,
keyword
,
new
String
[]{
"keyword"
});
List
<
JSONObject
>
resList
=
xiaohongshuWords
.
stream
().
map
(
xiaohongshuWord
->
{
JSONObject
result
=
new
JSONObject
();
result
.
put
(
"id"
,
xiaohongshuWord
.
getId
());
result
.
put
(
"keyword"
,
xiaohongshuWord
.
getKeyword
());
result
.
put
(
"cTime"
,
xiaohongshuWord
.
getCTime
());
result
.
put
(
"submitter"
,
xiaohongshuWord
.
getSubmitter
());
result
.
put
(
"planName"
,
xiaohongshuWord
.
getPlanName
());
return
result
;
}).
collect
(
Collectors
.
toList
());
MongoUtil
.
PageHelper
<
JSONObject
>
pageHelper
=
mongoUtil
.
pageHelper
(
count
,
resList
);
return
PageVO
.
createPageVo
(
pageHelper
,
resList
);
}
@Override
public
ResponseResult
addWord
(
String
keyword
,
String
planName
,
String
projectId
,
String
submitter
)
{
long
count
=
xiaohongshuWordDao
.
count
(
Query
.
query
(
Criteria
.
where
(
"projectId"
).
is
(
projectId
)));
// 关键词10上限
if
(
count
>=
10
)
{
return
ResponseResult
.
failure
(
"新增方案添加超过上限值10"
);
}
XiaohongshuWord
xiaohongshuWord
=
new
XiaohongshuWord
();
xiaohongshuWord
.
setKeyword
(
keyword
);
xiaohongshuWord
.
setPlanName
(
planName
);
xiaohongshuWord
.
setProjectId
(
projectId
);
xiaohongshuWord
.
setSubmitter
(
submitter
);
xiaohongshuWord
.
setCTime
(
System
.
currentTimeMillis
());
xiaohongshuWordDao
.
insertOne
(
xiaohongshuWord
);
return
ResponseResult
.
success
();
}
}
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