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
6dd6609f
Commit
6dd6609f
authored
Apr 25, 2024
by
shenjunjie
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'release' into 'master'
Release See merge request
!493
parents
0853972c
43d5875c
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
175 additions
and
2 deletions
+175
-2
src/main/java/com/zhiwei/brandkbs2/config/Constant.java
+2
-0
src/main/java/com/zhiwei/brandkbs2/controller/app/AppArticleController.java
+15
-1
src/main/java/com/zhiwei/brandkbs2/controller/app/AppHotController.java
+2
-0
src/main/java/com/zhiwei/brandkbs2/dao/DailyReportDao.java
+12
-0
src/main/java/com/zhiwei/brandkbs2/dao/impl/DailyReportDaoImpl.java
+20
-0
src/main/java/com/zhiwei/brandkbs2/pojo/DailyReport.java
+65
-0
src/main/java/com/zhiwei/brandkbs2/service/MarkDataService.java
+22
-1
src/main/java/com/zhiwei/brandkbs2/service/TaskService.java
+5
-0
src/main/java/com/zhiwei/brandkbs2/service/impl/MarkDataServiceImpl.java
+0
-0
src/main/java/com/zhiwei/brandkbs2/service/impl/TaskServiceImpl.java
+19
-0
src/main/java/com/zhiwei/brandkbs2/task/ControlCenter.java
+13
-0
No files found.
src/main/java/com/zhiwei/brandkbs2/config/Constant.java
View file @
6dd6609f
...
@@ -20,12 +20,14 @@ public class Constant {
...
@@ -20,12 +20,14 @@ public class Constant {
public
static
final
Long
ONE_YEAR
=
ONE_MONTH
*
12
;
public
static
final
Long
ONE_YEAR
=
ONE_MONTH
*
12
;
public
static
final
String
SPEC_MINUTE_PATTERN
=
"yyyy.MM.dd HH:mm"
;
public
static
final
String
SPEC_MINUTE_PATTERN
=
"yyyy.MM.dd HH:mm"
;
public
static
final
String
SPEC_DAY_PATTERN
=
"yyyy.MM.dd"
;
public
static
final
String
HOUR_PATTERN
=
"yyyy-MM-dd HH"
;
public
static
final
String
HOUR_PATTERN
=
"yyyy-MM-dd HH"
;
public
static
final
String
DAY_PATTERN
=
"yyyy-MM-dd"
;
public
static
final
String
DAY_PATTERN
=
"yyyy-MM-dd"
;
public
static
final
String
MONTH_PATTERN
=
"yyyy-MM"
;
public
static
final
String
MONTH_PATTERN
=
"yyyy-MM"
;
public
static
final
String
YEAR_PATTERN
=
"yyyy"
;
public
static
final
String
YEAR_PATTERN
=
"yyyy"
;
public
static
final
FastDateFormat
SPEC_MINUTE_FORMAT
=
FastDateFormat
.
getInstance
(
SPEC_MINUTE_PATTERN
);
public
static
final
FastDateFormat
SPEC_MINUTE_FORMAT
=
FastDateFormat
.
getInstance
(
SPEC_MINUTE_PATTERN
);
public
static
final
FastDateFormat
SPEC_DAY_POINT_FORMAT
=
FastDateFormat
.
getInstance
(
SPEC_DAY_PATTERN
);
public
static
final
FastDateFormat
HOUR_FORMAT
=
FastDateFormat
.
getInstance
(
HOUR_PATTERN
);
public
static
final
FastDateFormat
HOUR_FORMAT
=
FastDateFormat
.
getInstance
(
HOUR_PATTERN
);
public
static
final
FastDateFormat
DAY_FORMAT
=
FastDateFormat
.
getInstance
(
DAY_PATTERN
);
public
static
final
FastDateFormat
DAY_FORMAT
=
FastDateFormat
.
getInstance
(
DAY_PATTERN
);
public
static
final
FastDateFormat
SPEC_DAY_FORMAT
=
FastDateFormat
.
getInstance
(
"yyyy/MM/dd"
);
public
static
final
FastDateFormat
SPEC_DAY_FORMAT
=
FastDateFormat
.
getInstance
(
"yyyy/MM/dd"
);
...
...
src/main/java/com/zhiwei/brandkbs2/controller/app/AppArticleController.java
View file @
6dd6609f
...
@@ -481,7 +481,7 @@ public class AppArticleController extends BaseController {
...
@@ -481,7 +481,7 @@ public class AppArticleController extends BaseController {
@ApiOperation
(
"新-舆情分析-活跃渠道"
)
@ApiOperation
(
"新-舆情分析-活跃渠道"
)
@PostMapping
(
"/analyze/active-channel"
)
@PostMapping
(
"/analyze/active-channel"
)
public
ResponseResult
getActiveChannels
(
@RequestBody
MarkSearchDTO
markSearchDTO
)
{
public
ResponseResult
getActiveChannels
(
@RequestBody
MarkSearchDTO
markSearchDTO
)
{
return
ResponseResult
.
success
(
markDataService
.
getActiveChannels
(
markSearchDTO
));
return
ResponseResult
.
success
(
markDataService
.
getActiveChannels
(
markSearchDTO
,
20
));
}
}
@ApiOperation
(
"新-舆情分析-ip分布"
)
@ApiOperation
(
"新-舆情分析-ip分布"
)
...
@@ -538,6 +538,20 @@ public class AppArticleController extends BaseController {
...
@@ -538,6 +538,20 @@ public class AppArticleController extends BaseController {
return
ResponseResult
.
success
(
markDataService
.
getSearchAnalyzeHighWord
(
markSearchDTO
));
return
ResponseResult
.
success
(
markDataService
.
getSearchAnalyzeHighWord
(
markSearchDTO
));
}
}
@ApiOperation
(
"舆情简报-每日一报列表"
)
@GetMapping
(
"/daily-report/list"
)
public
ResponseResult
getDailyReportList
(
@RequestParam
(
value
=
"page"
,
defaultValue
=
"1"
)
Integer
page
,
@RequestParam
(
value
=
"pageSize"
,
defaultValue
=
"10"
)
Integer
pageSize
)
{
return
ResponseResult
.
success
(
markDataService
.
getDailyReportList
(
page
,
pageSize
));
}
@ApiOperation
(
"舆情简报-每日一报详情"
)
@GetMapping
(
"/daily-report/detail/{id}"
)
@Auth
(
role
=
RoleEnum
.
NO_AUTHORISE
)
public
ResponseResult
getDailyReportDetail
(
@PathVariable
String
id
)
{
return
ResponseResult
.
success
(
markDataService
.
getDailyReportDetail
(
id
));
}
private
boolean
checkMTagIllegal
(
StringBuilder
mtag
)
{
private
boolean
checkMTagIllegal
(
StringBuilder
mtag
)
{
List
<
MarkerTag
>
hitTags
=
projectService
.
getProjectById
(
UserThreadLocal
.
getProjectId
()).
getHitTags
();
List
<
MarkerTag
>
hitTags
=
projectService
.
getProjectById
(
UserThreadLocal
.
getProjectId
()).
getHitTags
();
if
(!
Tools
.
isEmpty
(
hitTags
))
{
if
(!
Tools
.
isEmpty
(
hitTags
))
{
...
...
src/main/java/com/zhiwei/brandkbs2/controller/app/AppHotController.java
View file @
6dd6609f
...
@@ -174,6 +174,7 @@ public class AppHotController extends BaseController {
...
@@ -174,6 +174,7 @@ public class AppHotController extends BaseController {
@ApiOperation
(
"热点库-品牌热点-关键词调整"
)
@ApiOperation
(
"热点库-品牌热点-关键词调整"
)
@PutMapping
(
"/keyword/update"
)
@PutMapping
(
"/keyword/update"
)
@LogRecord
(
description
=
"热点库-关键词调整"
,
values
=
"list"
,
entity
=
true
,
arguments
=
true
)
public
ResponseResult
updateKeyword
(
@ApiParam
(
name
=
"json:{list:关键词数组,contendId:竞品id}"
)
@RequestBody
JSONObject
json
)
{
public
ResponseResult
updateKeyword
(
@ApiParam
(
name
=
"json:{list:关键词数组,contendId:竞品id}"
)
@RequestBody
JSONObject
json
)
{
JSONArray
list
=
json
.
getJSONArray
(
"list"
);
JSONArray
list
=
json
.
getJSONArray
(
"list"
);
String
contendId
=
json
.
getString
(
"contendId"
);
String
contendId
=
json
.
getString
(
"contendId"
);
...
@@ -183,6 +184,7 @@ public class AppHotController extends BaseController {
...
@@ -183,6 +184,7 @@ public class AppHotController extends BaseController {
@ApiOperation
(
"热点库-品牌热点-噪音词调整"
)
@ApiOperation
(
"热点库-品牌热点-噪音词调整"
)
@PutMapping
(
"/filter-word/update"
)
@PutMapping
(
"/filter-word/update"
)
@LogRecord
(
description
=
"热点库-噪音词调整"
,
values
=
"list"
,
entity
=
true
,
arguments
=
true
)
public
ResponseResult
updateFilterWord
(
@ApiParam
(
name
=
"json:{list:噪音词数组,contendId:竞品id}"
)
@RequestBody
JSONObject
json
)
{
public
ResponseResult
updateFilterWord
(
@ApiParam
(
name
=
"json:{list:噪音词数组,contendId:竞品id}"
)
@RequestBody
JSONObject
json
)
{
JSONArray
list
=
json
.
getJSONArray
(
"list"
);
JSONArray
list
=
json
.
getJSONArray
(
"list"
);
String
contendId
=
json
.
getString
(
"contendId"
);
String
contendId
=
json
.
getString
(
"contendId"
);
...
...
src/main/java/com/zhiwei/brandkbs2/dao/DailyReportDao.java
0 → 100644
View file @
6dd6609f
package
com
.
zhiwei
.
brandkbs2
.
dao
;
import
com.zhiwei.brandkbs2.pojo.DailyReport
;
/**
* @ClassName: DailyReportDao
* @Description DailyReportDao
* @author: cjz
* @date: 2024-04-22 11:46
*/
public
interface
DailyReportDao
extends
BaseMongoDao
<
DailyReport
>{
}
src/main/java/com/zhiwei/brandkbs2/dao/impl/DailyReportDaoImpl.java
0 → 100644
View file @
6dd6609f
package
com
.
zhiwei
.
brandkbs2
.
dao
.
impl
;
import
com.zhiwei.brandkbs2.dao.DailyReportDao
;
import
com.zhiwei.brandkbs2.pojo.DailyReport
;
import
org.springframework.stereotype.Component
;
/**
* @ClassName: DailyReportDaoImpl
* @Description DailyReportDaoImpl
* @author: cjz
* @date: 2024-04-22 11:46
*/
@Component
(
"dailyReportDao"
)
public
class
DailyReportDaoImpl
extends
BaseMongoDaoImpl
<
DailyReport
>
implements
DailyReportDao
{
private
static
final
String
COLLECTION_NAME
=
"brandkbs_daily_report"
;
public
DailyReportDaoImpl
()
{
super
(
COLLECTION_NAME
);
}
}
src/main/java/com/zhiwei/brandkbs2/pojo/DailyReport.java
0 → 100644
View file @
6dd6609f
package
com
.
zhiwei
.
brandkbs2
.
pojo
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.util.List
;
/**
* @author cjz
* @version 1.0
* @description 每日简报实体类
* @date 2024年4月22日10:06:46
*/
@Getter
@Setter
@AllArgsConstructor
public
class
DailyReport
extends
AbstractBaseMongo
{
private
String
name
;
/**
* 舆情概览
*/
private
JSONObject
summary
;
/**
* 舆情总量
*/
private
JSONObject
yuqingAmount
;
/**
* 情感分布
*/
private
JSONObject
yuqingEmotion
;
/**
* 重点平台
*/
private
JSONObject
platformPercentage
;
/**
* 高频标题
*/
private
List
<
JSONObject
>
topTitle
;
/**
* 发文渠道
*/
private
List
<
JSONObject
>
topSource
;
/**
* 项目id
*/
private
String
projectId
;
/**
* 项目
*/
private
String
project
;
/**
* 时间周期-开始时间
*/
private
Long
startTime
;
/**
* 时间周期-结束时间
*/
private
Long
endTime
;
/**
* 创建时间
*/
private
Long
cTime
;
}
src/main/java/com/zhiwei/brandkbs2/service/MarkDataService.java
View file @
6dd6609f
...
@@ -3,6 +3,7 @@ package com.zhiwei.brandkbs2.service;
...
@@ -3,6 +3,7 @@ package com.zhiwei.brandkbs2.service;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.zhiwei.brandkbs2.model.ResponseResult
;
import
com.zhiwei.brandkbs2.model.ResponseResult
;
import
com.zhiwei.brandkbs2.pojo.BaseMap
;
import
com.zhiwei.brandkbs2.pojo.BaseMap
;
import
com.zhiwei.brandkbs2.pojo.DailyReport
;
import
com.zhiwei.brandkbs2.pojo.Event
;
import
com.zhiwei.brandkbs2.pojo.Event
;
import
com.zhiwei.brandkbs2.pojo.MarkFlowEntity
;
import
com.zhiwei.brandkbs2.pojo.MarkFlowEntity
;
import
com.zhiwei.brandkbs2.pojo.dto.*
;
import
com.zhiwei.brandkbs2.pojo.dto.*
;
...
@@ -581,7 +582,7 @@ public interface MarkDataService {
...
@@ -581,7 +582,7 @@ public interface MarkDataService {
* @param dto 标注数据搜索传输类
* @param dto 标注数据搜索传输类
* @return
* @return
*/
*/
List
<
JSONObject
>
getActiveChannels
(
MarkSearchDTO
dto
);
List
<
JSONObject
>
getActiveChannels
(
MarkSearchDTO
dto
,
int
size
);
/**
/**
* 新-舆情分析-ip分布
* 新-舆情分析-ip分布
...
@@ -673,4 +674,24 @@ public interface MarkDataService {
...
@@ -673,4 +674,24 @@ public interface MarkDataService {
PageVO
<
JSONObject
>
getArticleList
(
String
aggTitle
,
Long
startTime
,
Long
endTime
,
String
planId
,
String
platform
,
int
page
,
int
pageSize
);
PageVO
<
JSONObject
>
getArticleList
(
String
aggTitle
,
Long
startTime
,
Long
endTime
,
String
planId
,
String
platform
,
int
page
,
int
pageSize
);
PageVO
<
JSONObject
>
getArticleList
(
MarkSearchDTO
dto
);
PageVO
<
JSONObject
>
getArticleList
(
MarkSearchDTO
dto
);
/**
* 生成每日一报
*/
void
generateDailyReport
(
Long
startTime
,
Long
endTime
);
/**
* 每日一报列表
* @param page
* @param pageSize
* @return
*/
PageVO
<
JSONObject
>
getDailyReportList
(
int
page
,
int
pageSize
);
/**
* 获取每日一报详情
* @param id id
* @return
*/
DailyReport
getDailyReportDetail
(
String
id
);
}
}
src/main/java/com/zhiwei/brandkbs2/service/TaskService.java
View file @
6dd6609f
...
@@ -57,4 +57,9 @@ public interface TaskService{
...
@@ -57,4 +57,9 @@ public interface TaskService{
* 生成舆情分析词云缓存
* 生成舆情分析词云缓存
*/
*/
void
yuqingAnalyzeHighWordCache
();
void
yuqingAnalyzeHighWordCache
();
/**
* 生成每日一报
*/
void
generateDailyReport
();
}
}
src/main/java/com/zhiwei/brandkbs2/service/impl/MarkDataServiceImpl.java
View file @
6dd6609f
This diff is collapsed.
Click to expand it.
src/main/java/com/zhiwei/brandkbs2/service/impl/TaskServiceImpl.java
View file @
6dd6609f
...
@@ -399,6 +399,25 @@ public class TaskServiceImpl implements TaskService {
...
@@ -399,6 +399,25 @@ public class TaskServiceImpl implements TaskService {
CompletableFuture
.
allOf
(
projectFutures
.
toArray
(
new
CompletableFuture
[
0
])).
join
();
CompletableFuture
.
allOf
(
projectFutures
.
toArray
(
new
CompletableFuture
[
0
])).
join
();
}
}
@Override
public
void
generateDailyReport
()
{
// 时间范围:当天早上八点-前一天早上八点
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
set
(
Calendar
.
HOUR_OF_DAY
,
8
);
calendar
.
set
(
Calendar
.
MINUTE
,
0
);
calendar
.
set
(
Calendar
.
SECOND
,
0
);
calendar
.
set
(
Calendar
.
MILLISECOND
,
0
);
long
endTime
=
calendar
.
getTimeInMillis
();
long
startTime
=
endTime
-
Constant
.
ONE_DAY
;
AtomicInteger
total
=
new
AtomicInteger
();
CompletableFuture
.
allOf
(
GlobalPojo
.
PROJECT_MAP
.
values
().
stream
().
map
(
project
->
CompletableFuture
.
supplyAsync
(()
->
{
UserThreadLocal
.
set
(
new
UserInfo
().
setProjectId
(
project
.
getId
()));
markDataService
.
generateDailyReport
(
startTime
,
endTime
);
log
.
info
(
"项目:{}-{}-每日一报生成已完成:{}个"
,
project
.
getProjectName
(),
project
.
getId
(),
total
.
incrementAndGet
());
return
null
;
},
cacheServiceExecutor
)).
toArray
(
CompletableFuture
[]::
new
)).
join
();
}
private
boolean
reportSendByProject
(
Project
project
)
{
private
boolean
reportSendByProject
(
Project
project
)
{
boolean
flag
=
false
;
boolean
flag
=
false
;
// 扫描setting信息并生成对应报告
// 扫描setting信息并生成对应报告
...
...
src/main/java/com/zhiwei/brandkbs2/task/ControlCenter.java
View file @
6dd6609f
...
@@ -105,4 +105,17 @@ public class ControlCenter {
...
@@ -105,4 +105,17 @@ public class ControlCenter {
log
.
info
(
"定时按周计算项目均值-结束"
);
log
.
info
(
"定时按周计算项目均值-结束"
);
}
}
}
}
@Async
(
"scheduledExecutor"
)
@Scheduled
(
cron
=
"0 0 8 * * ?"
)
public
void
generateDailyReport
()
{
log
.
info
(
"定时生成每日一报-启动"
);
try
{
taskService
.
generateDailyReport
();
}
catch
(
Exception
e
)
{
log
.
error
(
"定时生成每日一报-出错"
,
e
);
}
finally
{
log
.
info
(
"定时生成每日一报-结束"
);
}
}
}
}
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