Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
E
event
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
陈世强
event
Commits
9cb29731
提交
9cb29731
authored
3月 16, 2024
作者:
chenshiqiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add dispatch
上级
ab59950c
显示空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
1667 行增加
和
2 行删除
+1667
-2
EventAnalysisApplication.java
src/main/java/com/zzsn/event/EventAnalysisApplication.java
+6
-0
TaskExecutor.java
src/main/java/com/zzsn/event/config/TaskExecutor.java
+29
-0
EventController.java
src/main/java/com/zzsn/event/controller/EventController.java
+80
-1
Event.java
src/main/java/com/zzsn/event/entity/Event.java
+1
-0
IEventService.java
src/main/java/com/zzsn/event/service/IEventService.java
+4
-1
EventServiceImpl.java
...in/java/com/zzsn/event/service/impl/EventServiceImpl.java
+15
-0
ObjectUtil.java
src/main/java/com/zzsn/event/util/ObjectUtil.java
+70
-0
RestUtil.java
src/main/java/com/zzsn/event/util/RestUtil.java
+245
-0
SpringContextUtils.java
src/main/java/com/zzsn/event/util/SpringContextUtils.java
+79
-0
XmMappingJackson2HttpMessageConverter.java
...zsn/event/util/XmMappingJackson2HttpMessageConverter.java
+22
-0
oConvertUtils.java
src/main/java/com/zzsn/event/util/oConvertUtils.java
+659
-0
InfoSourceVo.java
src/main/java/com/zzsn/event/vo/InfoSourceVo.java
+256
-0
SubjectKeywordsMap.java
src/main/java/com/zzsn/event/vo/SubjectKeywordsMap.java
+35
-0
SubjectPage.java
src/main/java/com/zzsn/event/vo/SubjectPage.java
+166
-0
没有找到文件。
src/main/java/com/zzsn/event/EventAnalysisApplication.java
浏览文件 @
9cb29731
package
com
.
zzsn
.
event
;
import
com.zzsn.event.config.TaskExecutor
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.context.annotation.Bean
;
@SpringBootApplication
public
class
EventAnalysisApplication
{
...
...
@@ -9,5 +11,9 @@ public class EventAnalysisApplication {
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
EventAnalysisApplication
.
class
,
args
);
}
@Bean
public
TaskExecutor
schedulerRunner
()
{
return
new
TaskExecutor
();
}
}
src/main/java/com/zzsn/event/config/TaskExecutor.java
0 → 100644
浏览文件 @
9cb29731
package
com
.
zzsn
.
event
.
config
;
import
com.zzsn.event.service.IEventService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.stereotype.Component
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.ScheduledExecutorService
;
import
java.util.concurrent.TimeUnit
;
@Slf4j
@Component
public
class
TaskExecutor
implements
CommandLineRunner
{
ScheduledExecutorService
scheduledExecutorService
=
Executors
.
newScheduledThreadPool
(
1
);
private
final
Integer
PERIOD
=
1
;
@Autowired
private
IEventService
eventService
;
@Override
public
void
run
(
String
...
args
)
throws
Exception
{
scheduledExecutorService
.
scheduleAtFixedRate
(()->{
eventService
.
compute
();
},
5
,
PERIOD
,
TimeUnit
.
SECONDS
);
log
.
info
(
"简易版定时任务启动成功!{}{}执行一次"
,
PERIOD
,
TimeUnit
.
HOURS
);
}
}
src/main/java/com/zzsn/event/controller/EventController.java
浏览文件 @
9cb29731
package
com
.
zzsn
.
event
.
controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.zzsn.event.entity.Event
;
import
com.zzsn.event.service.IEventService
;
import
com.zzsn.event.util.ObjectUtil
;
import
com.zzsn.event.util.RestUtil
;
import
com.zzsn.event.vo.InfoSourceVo
;
import
com.zzsn.event.vo.Result
;
import
com.zzsn.event.vo.SubjectKeywordsMap
;
import
com.zzsn.event.vo.SubjectPage
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
netscape.javascript.JSObject
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
...
...
@@ -28,6 +36,8 @@ import java.util.Arrays;
public
class
EventController
{
@Autowired
private
IEventService
eventService
;
@Value
((
"${enterprise-service.url:}"
))
private
String
ENTERPRISE_URL
;
/**
* 分页列表查询
...
...
@@ -116,5 +126,74 @@ public class EventController {
}
/**
* 专题信息源绑定
*/
@PostMapping
(
"/infoSourceBind"
)
public
Object
infoSourceBind
(
@RequestBody
SubjectPage
subjectPage
)
{
try
{
JSONObject
params
=
ObjectUtil
.
objectToJSONObject
(
subjectPage
);;
String
url
=
ENTERPRISE_URL
+
"enterpriseData/getYearReportList"
;
return
RestUtil
.
post
(
url
,
null
,
params
);
}
catch
(
Exception
e
)
{
return
null
;
}
}
/**
* 查询信息源组的绑定列表
*
*/
@GetMapping
(
"/bindList"
)
public
Object
bindList
(
InfoSourceVo
infoSourceVo
,
@RequestParam
(
name
=
"ynBind"
)
Integer
ynBind
,
@RequestParam
(
name
=
"groupId"
)
String
groupId
,
@RequestParam
(
name
=
"pageNo"
,
defaultValue
=
"1"
)
Integer
pageNo
,
@RequestParam
(
name
=
"pageSize"
,
defaultValue
=
"10"
)
Integer
pageSize
)
{
String
url
=
ENTERPRISE_URL
+
"event/infoSource/bindList"
;
JSONObject
params
=
ObjectUtil
.
objectToJSONObject
(
infoSourceVo
);
params
.
put
(
"ynBind"
,
ynBind
);
params
.
put
(
"groupId"
,
groupId
);
params
.
put
(
"pageNo"
,
pageNo
);
params
.
put
(
"pageSize"
,
pageSize
);
return
RestUtil
.
get
(
url
,
params
);
}
/**
* 关键词类别
*
*/
@GetMapping
(
"/keywordsType/rootListNoPage"
)
public
Object
keywordsList
(
@RequestParam
(
name
=
"contain"
,
defaultValue
=
"false"
)
Boolean
contain
,
@RequestParam
(
name
=
"subjectId"
,
defaultValue
=
"0"
)
String
subjectId
)
{
String
url
=
ENTERPRISE_URL
+
"event/keywordsType/rootListNoPage"
;
JSONObject
params
=
new
JSONObject
();
params
.
put
(
"contain"
,
contain
);
params
.
put
(
"subjectId"
,
subjectId
);
return
RestUtil
.
get
(
url
,
params
);
}
/**
* 专题关键词绑定
*/
@PostMapping
(
"/keyWordsBind"
)
public
Object
keyWordsBind
(
@RequestBody
SubjectPage
subjectPage
)
{
try
{
JSONObject
params
=
ObjectUtil
.
objectToJSONObject
(
subjectPage
);;
String
url
=
ENTERPRISE_URL
+
"event/keyWordsBind"
;
return
RestUtil
.
post
(
url
,
null
,
params
);
}
catch
(
Exception
e
)
{
return
null
;
}
}
/**
* 专题关键词绑定
*/
@PostMapping
(
"/keyWordsEdit"
)
public
Object
keyWordsEdit
(
@RequestBody
SubjectKeywordsMap
subjectKeywordsMap
)
{
try
{
JSONObject
params
=
ObjectUtil
.
objectToJSONObject
(
subjectKeywordsMap
);;
String
url
=
ENTERPRISE_URL
+
"event/keyWords/edit"
;
return
RestUtil
.
post
(
url
,
null
,
params
);
}
catch
(
Exception
e
)
{
return
null
;
}
}
}
src/main/java/com/zzsn/event/entity/Event.java
浏览文件 @
9cb29731
...
...
@@ -96,4 +96,5 @@ public class Event {
@Excel
(
name
=
"修改人id"
,
width
=
15
)
@ApiModelProperty
(
value
=
"修改人id"
)
private
String
updateBy
;
private
Integer
status
=
1
;
}
src/main/java/com/zzsn/event/service/IEventService.java
浏览文件 @
9cb29731
...
...
@@ -10,5 +10,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
* @Version: V1.0
*/
public
interface
IEventService
extends
IService
<
Event
>
{
/**
* 计算热度
*/
void
compute
();
}
src/main/java/com/zzsn/event/service/impl/EventServiceImpl.java
浏览文件 @
9cb29731
package
com
.
zzsn
.
event
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.zzsn.event.entity.Event
;
import
com.zzsn.event.mapper.EventMapper
;
import
com.zzsn.event.service.IEventService
;
...
...
@@ -7,6 +8,8 @@ import org.springframework.stereotype.Service;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
java.util.List
;
/**
* @Description: 事件
* @Author: jeecg-boot
...
...
@@ -16,4 +19,16 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service
public
class
EventServiceImpl
extends
ServiceImpl
<
EventMapper
,
Event
>
implements
IEventService
{
@Override
public
void
compute
()
{
//get the events need to compute
List
<
Event
>
list
=
this
.
list
(
new
LambdaQueryWrapper
<
Event
>().
eq
(
Event:
:
getStatus
,
1
));
for
(
Event
event
:
list
)
{
// latest week data
// latest month data
// latest year data
// data before a year
}
}
}
src/main/java/com/zzsn/event/util/ObjectUtil.java
0 → 100644
浏览文件 @
9cb29731
package
com
.
zzsn
.
event
.
util
;
import
com.alibaba.fastjson.JSONObject
;
import
java.lang.reflect.Field
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author lkg
* @date 2023/2/17
*/
public
class
ObjectUtil
{
/**
* 对象转jsonObject
*
* @param obj: 对象
* @author lkg
* @date 2023/2/17
*/
public
static
JSONObject
objectToJSONObject
(
Object
obj
)
{
JSONObject
params
=
new
JSONObject
();
if
(
obj
==
null
)
{
return
params
;
}
Class
<?>
clazz
=
obj
.
getClass
();
Field
[]
fields
=
clazz
.
getDeclaredFields
();
try
{
for
(
Field
field
:
fields
)
{
field
.
setAccessible
(
true
);
if
(
field
.
get
(
obj
)!=
null
)
{
params
.
put
(
field
.
getName
(),
field
.
get
(
obj
));
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
params
;
}
/**
* 对象转map
*
* @param obj: 对象
* @author lkg
* @date 2023/2/17
*/
public
static
Map
<
String
,
String
>
objectToMap
(
Object
obj
)
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
if
(
obj
==
null
)
{
return
map
;
}
Class
clazz
=
obj
.
getClass
();
Field
[]
fields
=
clazz
.
getDeclaredFields
();
try
{
for
(
Field
field
:
fields
)
{
field
.
setAccessible
(
true
);
if
(
field
.
get
(
obj
)!=
null
){
map
.
put
(
field
.
getName
(),
String
.
valueOf
(
field
.
get
(
obj
)));
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
map
;
}
}
src/main/java/com/zzsn/event/util/RestUtil.java
0 → 100644
浏览文件 @
9cb29731
package
com
.
zzsn
.
event
.
util
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.http.*
;
import
org.springframework.http.client.SimpleClientHttpRequestFactory
;
import
org.springframework.http.converter.StringHttpMessageConverter
;
import
org.springframework.web.client.RestTemplate
;
import
java.nio.charset.StandardCharsets
;
import
java.util.Iterator
;
import
java.util.Map
;
/**
* 调用 Restful 接口 Util
*
* @author sunjianlei
*/
@Slf4j
public
class
RestUtil
{
private
static
String
domain
=
null
;
public
static
String
path
=
null
;
public
static
String
getPath
()
{
if
(
path
==
null
)
{
path
=
SpringContextUtils
.
getApplicationContext
().
getEnvironment
().
getProperty
(
"server.servlet.context-path"
);
}
return
oConvertUtils
.
getString
(
path
);
}
/**
* RestAPI 调用器
*/
private
final
static
RestTemplate
RT
;
static
{
SimpleClientHttpRequestFactory
requestFactory
=
new
SimpleClientHttpRequestFactory
();
requestFactory
.
setConnectTimeout
(
100000
);
requestFactory
.
setReadTimeout
(
100000
);
RT
=
new
RestTemplate
(
requestFactory
);
RT
.
getMessageConverters
().
add
(
new
XmMappingJackson2HttpMessageConverter
());
// 解决乱码问题
RT
.
getMessageConverters
().
set
(
1
,
new
StringHttpMessageConverter
(
StandardCharsets
.
UTF_8
));
}
public
static
RestTemplate
getRestTemplate
()
{
return
RT
;
}
/**
* 发送 get 请求
*/
public
static
JSONObject
get
(
String
url
)
{
return
getNative
(
url
,
null
,
null
).
getBody
();
}
/**
* 发送 get 请求
*/
public
static
JSONObject
get
(
String
url
,
JSONObject
variables
)
{
return
getNative
(
url
,
variables
,
null
).
getBody
();
}
/**
* 发送 get 请求
*/
public
static
JSONObject
get
(
String
url
,
JSONObject
variables
,
JSONObject
params
)
{
return
getNative
(
url
,
variables
,
params
).
getBody
();
}
/**
* 发送 get 请求,返回原生 ResponseEntity 对象
*/
public
static
ResponseEntity
<
JSONObject
>
getNative
(
String
url
,
JSONObject
variables
,
JSONObject
params
)
{
return
request
(
url
,
HttpMethod
.
GET
,
variables
,
params
);
}
/**
* 发送 Post 请求
*/
public
static
JSONObject
post
(
String
url
)
{
return
postNative
(
url
,
null
,
null
).
getBody
();
}
/**
* 发送 Post 请求
*/
public
static
JSONObject
post
(
String
url
,
JSONObject
params
)
{
return
postNative
(
url
,
null
,
params
).
getBody
();
}
/**
* 发送 Post 请求
*/
public
static
JSONObject
post
(
String
url
,
JSONObject
variables
,
JSONObject
params
)
{
return
postNative
(
url
,
variables
,
params
).
getBody
();
}
/**
* 发送 POST 请求,返回原生 ResponseEntity 对象
*/
public
static
ResponseEntity
<
JSONObject
>
postNative
(
String
url
,
JSONObject
variables
,
JSONObject
params
)
{
return
request
(
url
,
HttpMethod
.
POST
,
variables
,
params
);
}
/**
* 发送 put 请求
*/
public
static
JSONObject
put
(
String
url
)
{
return
putNative
(
url
,
null
,
null
).
getBody
();
}
/**
* 发送 put 请求
*/
public
static
JSONObject
put
(
String
url
,
JSONObject
params
)
{
return
putNative
(
url
,
null
,
params
).
getBody
();
}
/**
* 发送 put 请求
*/
public
static
JSONObject
put
(
String
url
,
JSONObject
variables
,
JSONObject
params
)
{
return
putNative
(
url
,
variables
,
params
).
getBody
();
}
/**
* 发送 put 请求,返回原生 ResponseEntity 对象
*/
public
static
ResponseEntity
<
JSONObject
>
putNative
(
String
url
,
JSONObject
variables
,
JSONObject
params
)
{
return
request
(
url
,
HttpMethod
.
PUT
,
variables
,
params
);
}
/**
* 发送 delete 请求
*/
public
static
JSONObject
delete
(
String
url
)
{
return
deleteNative
(
url
,
null
,
null
).
getBody
();
}
/**
* 发送 delete 请求
*/
public
static
JSONObject
delete
(
String
url
,
JSONObject
variables
,
JSONObject
params
)
{
return
deleteNative
(
url
,
variables
,
params
).
getBody
();
}
/**
* 发送 delete 请求,返回原生 ResponseEntity 对象
*/
public
static
ResponseEntity
<
JSONObject
>
deleteNative
(
String
url
,
JSONObject
variables
,
JSONObject
params
)
{
return
request
(
url
,
HttpMethod
.
DELETE
,
null
,
variables
,
params
,
JSONObject
.
class
);
}
/**
* 发送请求
*/
public
static
ResponseEntity
<
JSONObject
>
request
(
String
url
,
HttpMethod
method
,
JSONObject
variables
,
JSONObject
params
)
{
return
request
(
url
,
method
,
getHeaderApplicationJson
(),
variables
,
params
,
JSONObject
.
class
);
}
/**
* 发送请求
*
* @param url 请求地址
* @param method 请求方式
* @param headers 请求头 可空
* @param variables 请求url参数 可空
* @param params 请求body参数 可空
* @param responseType 返回类型
* @return ResponseEntity<responseType>
*/
public
static
<
T
>
ResponseEntity
<
T
>
request
(
String
url
,
HttpMethod
method
,
HttpHeaders
headers
,
JSONObject
variables
,
Object
params
,
Class
<
T
>
responseType
)
{
if
(
StringUtils
.
isEmpty
(
url
))
{
throw
new
RuntimeException
(
"url 不能为空"
);
}
if
(
method
==
null
)
{
throw
new
RuntimeException
(
"method 不能为空"
);
}
if
(
headers
==
null
)
{
headers
=
new
HttpHeaders
();
}
// 请求体
String
body
=
""
;
if
(
params
!=
null
)
{
if
(
params
instanceof
JSONObject
)
{
body
=
((
JSONObject
)
params
).
toJSONString
();
}
else
{
body
=
params
.
toString
();
}
}
// 拼接 url 参数
if
(
variables
!=
null
&&
variables
.
size
()
>
0
)
{
url
+=
(
"?"
+
asUrlVariables
(
variables
));
}
// 发送请求
HttpEntity
<
String
>
request
=
new
HttpEntity
<>(
body
,
headers
);
return
RT
.
exchange
(
url
,
method
,
request
,
responseType
);
}
/**
* 获取JSON请求头
*/
public
static
HttpHeaders
getHeaderApplicationJson
()
{
return
getHeader
(
MediaType
.
APPLICATION_JSON_UTF8_VALUE
);
}
/**
* 获取请求头
*/
public
static
HttpHeaders
getHeader
(
String
mediaType
)
{
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
setContentType
(
MediaType
.
parseMediaType
(
mediaType
));
headers
.
add
(
"Accept"
,
mediaType
);
return
headers
;
}
/**
* 将 JSONObject 转为 a=1&b=2&c=3...&n=n 的形式
*/
public
static
String
asUrlVariables
(
JSONObject
variables
)
{
Map
<
String
,
Object
>
source
=
variables
.
getInnerMap
();
Iterator
<
String
>
it
=
source
.
keySet
().
iterator
();
StringBuilder
urlVariables
=
new
StringBuilder
();
while
(
it
.
hasNext
())
{
String
key
=
it
.
next
();
String
value
=
""
;
Object
object
=
source
.
get
(
key
);
if
(
object
!=
null
)
{
if
(!
StringUtils
.
isEmpty
(
object
.
toString
()))
{
value
=
object
.
toString
();
}
}
urlVariables
.
append
(
"&"
).
append
(
key
).
append
(
"="
).
append
(
value
);
}
// 去掉第一个&
return
urlVariables
.
substring
(
1
);
}
}
src/main/java/com/zzsn/event/util/SpringContextUtils.java
0 → 100644
浏览文件 @
9cb29731
package
com
.
zzsn
.
event
.
util
;
import
org.springframework.beans.BeansException
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
@Component
public
class
SpringContextUtils
implements
ApplicationContextAware
{
/**
* 上下文对象实例
*/
private
static
ApplicationContext
applicationContext
;
@Override
public
void
setApplicationContext
(
ApplicationContext
applicationContext
)
throws
BeansException
{
applicationContext
=
applicationContext
;
}
/**
* 获取applicationContext
*
* @return
*/
public
static
ApplicationContext
getApplicationContext
()
{
return
applicationContext
;
}
/**
* 获取HttpServletRequest
*/
public
static
HttpServletRequest
getHttpServletRequest
()
{
return
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
}
public
static
String
getOrigin
(){
HttpServletRequest
request
=
getHttpServletRequest
();
return
request
.
getHeader
(
"Origin"
);
}
/**
* 通过name获取 Bean.
*
* @param name
* @return
*/
public
static
Object
getBean
(
String
name
)
{
return
getApplicationContext
().
getBean
(
name
);
}
/**
* 通过class获取Bean.
*
* @param clazz
* @param <T>
* @return
*/
public
static
<
T
>
T
getBean
(
Class
<
T
>
clazz
)
{
return
getApplicationContext
().
getBean
(
clazz
);
}
/**
* 通过name,以及Clazz返回指定的Bean
*
* @param name
* @param clazz
* @param <T>
* @return
*/
public
static
<
T
>
T
getBean
(
String
name
,
Class
<
T
>
clazz
)
{
return
getApplicationContext
().
getBean
(
name
,
clazz
);
}
}
src/main/java/com/zzsn/event/util/XmMappingJackson2HttpMessageConverter.java
0 → 100644
浏览文件 @
9cb29731
package
com
.
zzsn
.
event
.
util
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
*
*
* @author lkg
* @date 2023/5/27
*/
public
class
XmMappingJackson2HttpMessageConverter
extends
MappingJackson2HttpMessageConverter
{
public
XmMappingJackson2HttpMessageConverter
()
{
List
<
MediaType
>
mediaTypeList
=
new
ArrayList
<>();
mediaTypeList
.
add
(
MediaType
.
TEXT_HTML
);
setSupportedMediaTypes
(
mediaTypeList
);
}
}
src/main/java/com/zzsn/event/util/oConvertUtils.java
0 → 100644
浏览文件 @
9cb29731
package
com
.
zzsn
.
event
.
util
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.io.IOUtils
;
import
org.springframework.beans.BeanUtils
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.UnsupportedEncodingException
;
import
java.lang.reflect.Field
;
import
java.math.BigDecimal
;
import
java.math.BigInteger
;
import
java.net.InetAddress
;
import
java.net.NetworkInterface
;
import
java.net.SocketException
;
import
java.net.UnknownHostException
;
import
java.sql.Date
;
import
java.util.*
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
/**
*
* @Author 张代浩
*
*/
@Slf4j
public
class
oConvertUtils
{
public
static
boolean
isEmpty
(
Object
object
)
{
if
(
object
==
null
)
{
return
(
true
);
}
if
(
""
.
equals
(
object
))
{
return
(
true
);
}
if
(
"null"
.
equals
(
object
))
{
return
(
true
);
}
return
(
false
);
}
public
static
boolean
isNotEmpty
(
Object
object
)
{
if
(
object
!=
null
&&
!
object
.
equals
(
""
)
&&
!
object
.
equals
(
"null"
))
{
return
(
true
);
}
return
(
false
);
}
public
static
String
decode
(
String
strIn
,
String
sourceCode
,
String
targetCode
)
{
String
temp
=
code2code
(
strIn
,
sourceCode
,
targetCode
);
return
temp
;
}
public
static
String
StrToUTF
(
String
strIn
,
String
sourceCode
,
String
targetCode
)
{
strIn
=
""
;
try
{
strIn
=
new
String
(
strIn
.
getBytes
(
"ISO-8859-1"
),
"GBK"
);
}
catch
(
UnsupportedEncodingException
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
return
strIn
;
}
private
static
String
code2code
(
String
strIn
,
String
sourceCode
,
String
targetCode
)
{
String
strOut
=
null
;
if
(
strIn
==
null
||
(
strIn
.
trim
()).
equals
(
""
))
{
return
strIn
;
}
try
{
byte
[]
b
=
strIn
.
getBytes
(
sourceCode
);
for
(
int
i
=
0
;
i
<
b
.
length
;
i
++)
{
System
.
out
.
print
(
b
[
i
]
+
" "
);
}
strOut
=
new
String
(
b
,
targetCode
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
null
;
}
return
strOut
;
}
public
static
int
getInt
(
String
s
,
int
defval
)
{
if
(
s
==
null
||
s
==
""
)
{
return
(
defval
);
}
try
{
return
(
Integer
.
parseInt
(
s
));
}
catch
(
NumberFormatException
e
)
{
return
(
defval
);
}
}
public
static
int
getInt
(
String
s
)
{
if
(
s
==
null
||
s
==
""
)
{
return
0
;
}
try
{
return
(
Integer
.
parseInt
(
s
));
}
catch
(
NumberFormatException
e
)
{
return
0
;
}
}
public
static
int
getInt
(
String
s
,
Integer
df
)
{
if
(
s
==
null
||
s
==
""
)
{
return
df
;
}
try
{
return
(
Integer
.
parseInt
(
s
));
}
catch
(
NumberFormatException
e
)
{
return
0
;
}
}
public
static
Integer
[]
getInts
(
String
[]
s
)
{
Integer
[]
integer
=
new
Integer
[
s
.
length
];
if
(
s
==
null
)
{
return
null
;
}
for
(
int
i
=
0
;
i
<
s
.
length
;
i
++)
{
integer
[
i
]
=
Integer
.
parseInt
(
s
[
i
]);
}
return
integer
;
}
public
static
double
getDouble
(
String
s
,
double
defval
)
{
if
(
s
==
null
||
s
==
""
)
{
return
(
defval
);
}
try
{
return
(
Double
.
parseDouble
(
s
));
}
catch
(
NumberFormatException
e
)
{
return
(
defval
);
}
}
public
static
double
getDou
(
Double
s
,
double
defval
)
{
if
(
s
==
null
)
{
return
(
defval
);
}
return
s
;
}
/*public static Short getShort(String s) {
if (StringUtil.isNotEmpty(s)) {
return (Short.parseShort(s));
} else {
return null;
}
}*/
public
static
int
getInt
(
Object
object
,
int
defval
)
{
if
(
isEmpty
(
object
))
{
return
(
defval
);
}
try
{
return
(
Integer
.
parseInt
(
object
.
toString
()));
}
catch
(
NumberFormatException
e
)
{
return
(
defval
);
}
}
public
static
Integer
getInt
(
Object
object
)
{
if
(
isEmpty
(
object
))
{
return
null
;
}
try
{
return
(
Integer
.
parseInt
(
object
.
toString
()));
}
catch
(
NumberFormatException
e
)
{
return
null
;
}
}
public
static
int
getInt
(
BigDecimal
s
,
int
defval
)
{
if
(
s
==
null
)
{
return
(
defval
);
}
return
s
.
intValue
();
}
public
static
Integer
[]
getIntegerArry
(
String
[]
object
)
{
int
len
=
object
.
length
;
Integer
[]
result
=
new
Integer
[
len
];
try
{
for
(
int
i
=
0
;
i
<
len
;
i
++)
{
result
[
i
]
=
new
Integer
(
object
[
i
].
trim
());
}
return
result
;
}
catch
(
NumberFormatException
e
)
{
return
null
;
}
}
public
static
String
getString
(
String
s
)
{
return
(
getString
(
s
,
""
));
}
public
static
String
getString
(
Object
object
)
{
if
(
isEmpty
(
object
))
{
return
""
;
}
return
(
object
.
toString
().
trim
());
}
public
static
String
getString
(
int
i
)
{
return
(
String
.
valueOf
(
i
));
}
public
static
String
getString
(
float
i
)
{
return
(
String
.
valueOf
(
i
));
}
public
static
String
getString
(
String
s
,
String
defval
)
{
if
(
isEmpty
(
s
))
{
return
(
defval
);
}
return
(
s
.
trim
());
}
public
static
String
getString
(
Object
s
,
String
defval
)
{
if
(
isEmpty
(
s
))
{
return
(
defval
);
}
return
(
s
.
toString
().
trim
());
}
public
static
long
stringToLong
(
String
str
)
{
Long
test
=
new
Long
(
0
);
try
{
test
=
Long
.
valueOf
(
str
);
}
catch
(
Exception
e
)
{
}
return
test
.
longValue
();
}
/**
* 获取本机IP
*/
public
static
String
getIp
()
{
String
ip
=
null
;
try
{
InetAddress
address
=
InetAddress
.
getLocalHost
();
ip
=
address
.
getHostAddress
();
}
catch
(
UnknownHostException
e
)
{
e
.
printStackTrace
();
}
return
ip
;
}
/**
* 判断一个类是否为基本数据类型。
*
* @param clazz
* 要判断的类。
* @return true 表示为基本数据类型。
*/
private
static
boolean
isBaseDataType
(
Class
clazz
)
throws
Exception
{
return
(
clazz
.
equals
(
String
.
class
)
||
clazz
.
equals
(
Integer
.
class
)
||
clazz
.
equals
(
Byte
.
class
)
||
clazz
.
equals
(
Long
.
class
)
||
clazz
.
equals
(
Double
.
class
)
||
clazz
.
equals
(
Float
.
class
)
||
clazz
.
equals
(
Character
.
class
)
||
clazz
.
equals
(
Short
.
class
)
||
clazz
.
equals
(
BigDecimal
.
class
)
||
clazz
.
equals
(
BigInteger
.
class
)
||
clazz
.
equals
(
Boolean
.
class
)
||
clazz
.
equals
(
Date
.
class
)
||
clazz
.
isPrimitive
());
}
/**
* @param request
* IP
* @return IP Address
*/
public
static
String
getIpAddrByRequest
(
HttpServletRequest
request
)
{
String
ip
=
request
.
getHeader
(
"x-forwarded-for"
);
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"Proxy-Client-IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"WL-Proxy-Client-IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getRemoteAddr
();
}
return
ip
;
}
/**
* @return 本机IP
* @throws SocketException
*/
public
static
String
getRealIp
()
throws
SocketException
{
String
localip
=
null
;
// 本地IP,如果没有配置外网IP则返回它
String
netip
=
null
;
// 外网IP
Enumeration
<
NetworkInterface
>
netInterfaces
=
NetworkInterface
.
getNetworkInterfaces
();
InetAddress
ip
=
null
;
boolean
finded
=
false
;
// 是否找到外网IP
while
(
netInterfaces
.
hasMoreElements
()
&&
!
finded
)
{
NetworkInterface
ni
=
netInterfaces
.
nextElement
();
Enumeration
<
InetAddress
>
address
=
ni
.
getInetAddresses
();
while
(
address
.
hasMoreElements
())
{
ip
=
address
.
nextElement
();
if
(!
ip
.
isSiteLocalAddress
()
&&
!
ip
.
isLoopbackAddress
()
&&
ip
.
getHostAddress
().
indexOf
(
":"
)
==
-
1
)
{
// 外网IP
netip
=
ip
.
getHostAddress
();
finded
=
true
;
break
;
}
else
if
(
ip
.
isSiteLocalAddress
()
&&
!
ip
.
isLoopbackAddress
()
&&
ip
.
getHostAddress
().
indexOf
(
":"
)
==
-
1
)
{
// 内网IP
localip
=
ip
.
getHostAddress
();
}
}
}
if
(
netip
!=
null
&&
!
""
.
equals
(
netip
))
{
return
netip
;
}
else
{
return
localip
;
}
}
/**
* java去除字符串中的空格、回车、换行符、制表符
*
* @param str
* @return
*/
public
static
String
replaceBlank
(
String
str
)
{
String
dest
=
""
;
if
(
str
!=
null
)
{
Pattern
p
=
Pattern
.
compile
(
"\\s*|\t|\r|\n"
);
Matcher
m
=
p
.
matcher
(
str
);
dest
=
m
.
replaceAll
(
""
);
}
return
dest
;
}
/**
* 判断元素是否在数组内
*
* @param substring
* @param source
* @return
*/
public
static
boolean
isIn
(
String
substring
,
String
[]
source
)
{
if
(
source
==
null
||
source
.
length
==
0
)
{
return
false
;
}
for
(
int
i
=
0
;
i
<
source
.
length
;
i
++)
{
String
aSource
=
source
[
i
];
if
(
aSource
.
equals
(
substring
))
{
return
true
;
}
}
return
false
;
}
/**
* 获取Map对象
*/
public
static
Map
<
Object
,
Object
>
getHashMap
()
{
return
new
HashMap
<
Object
,
Object
>();
}
/**
* SET转换MAP
*
* @return
*/
public
static
Map
<
Object
,
Object
>
SetToMap
(
Set
<
Object
>
setobj
)
{
Map
<
Object
,
Object
>
map
=
getHashMap
();
for
(
Iterator
iterator
=
setobj
.
iterator
();
iterator
.
hasNext
();)
{
Map
.
Entry
<
Object
,
Object
>
entry
=
(
Map
.
Entry
<
Object
,
Object
>)
iterator
.
next
();
map
.
put
(
entry
.
getKey
().
toString
(),
entry
.
getValue
()
==
null
?
""
:
entry
.
getValue
().
toString
().
trim
());
}
return
map
;
}
public
static
boolean
isInnerIP
(
String
ipAddress
)
{
boolean
isInnerIp
=
false
;
long
ipNum
=
getIpNum
(
ipAddress
);
/**
* 私有IP:A类 10.0.0.0-10.255.255.255 B类 172.16.0.0-172.31.255.255 C类 192.168.0.0-192.168.255.255 当然,还有127这个网段是环回地址
**/
long
aBegin
=
getIpNum
(
"10.0.0.0"
);
long
aEnd
=
getIpNum
(
"10.255.255.255"
);
long
bBegin
=
getIpNum
(
"172.16.0.0"
);
long
bEnd
=
getIpNum
(
"172.31.255.255"
);
long
cBegin
=
getIpNum
(
"192.168.0.0"
);
long
cEnd
=
getIpNum
(
"192.168.255.255"
);
isInnerIp
=
isInner
(
ipNum
,
aBegin
,
aEnd
)
||
isInner
(
ipNum
,
bBegin
,
bEnd
)
||
isInner
(
ipNum
,
cBegin
,
cEnd
)
||
ipAddress
.
equals
(
"127.0.0.1"
);
return
isInnerIp
;
}
private
static
long
getIpNum
(
String
ipAddress
)
{
String
[]
ip
=
ipAddress
.
split
(
"\\."
);
long
a
=
Integer
.
parseInt
(
ip
[
0
]);
long
b
=
Integer
.
parseInt
(
ip
[
1
]);
long
c
=
Integer
.
parseInt
(
ip
[
2
]);
long
d
=
Integer
.
parseInt
(
ip
[
3
]);
long
ipNum
=
a
*
256
*
256
*
256
+
b
*
256
*
256
+
c
*
256
+
d
;
return
ipNum
;
}
private
static
boolean
isInner
(
long
userIp
,
long
begin
,
long
end
)
{
return
(
userIp
>=
begin
)
&&
(
userIp
<=
end
);
}
/**
* 将下划线大写方式命名的字符串转换为驼峰式。
* 如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。</br>
* 例如:hello_world->helloWorld
*
* @param name
* 转换前的下划线大写方式命名的字符串
* @return 转换后的驼峰式命名的字符串
*/
public
static
String
camelName
(
String
name
)
{
StringBuilder
result
=
new
StringBuilder
();
// 快速检查
if
(
name
==
null
||
name
.
isEmpty
())
{
// 没必要转换
return
""
;
}
else
if
(!
name
.
contains
(
"_"
))
{
// 不含下划线,仅将首字母小写
//update-begin--Author:zhoujf Date:20180503 for:TASK #2500 【代码生成器】代码生成器开发一通用模板生成功能
//update-begin--Author:zhoujf Date:20180503 for:TASK #2500 【代码生成器】代码生成器开发一通用模板生成功能
return
name
.
substring
(
0
,
1
).
toLowerCase
()
+
name
.
substring
(
1
).
toLowerCase
();
//update-end--Author:zhoujf Date:20180503 for:TASK #2500 【代码生成器】代码生成器开发一通用模板生成功能
}
// 用下划线将原始字符串分割
String
camels
[]
=
name
.
split
(
"_"
);
for
(
String
camel
:
camels
)
{
// 跳过原始字符串中开头、结尾的下换线或双重下划线
if
(
camel
.
isEmpty
())
{
continue
;
}
// 处理真正的驼峰片段
if
(
result
.
length
()
==
0
)
{
// 第一个驼峰片段,全部字母都小写
result
.
append
(
camel
.
toLowerCase
());
}
else
{
// 其他的驼峰片段,首字母大写
result
.
append
(
camel
.
substring
(
0
,
1
).
toUpperCase
());
result
.
append
(
camel
.
substring
(
1
).
toLowerCase
());
}
}
return
result
.
toString
();
}
/**
* 将下划线大写方式命名的字符串转换为驼峰式。
* 如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。</br>
* 例如:hello_world,test_id->helloWorld,testId
*
* 转换前的下划线大写方式命名的字符串
* @return 转换后的驼峰式命名的字符串
*/
public
static
String
camelNames
(
String
names
)
{
if
(
names
==
null
||
names
.
equals
(
""
)){
return
null
;
}
StringBuffer
sf
=
new
StringBuffer
();
String
[]
fs
=
names
.
split
(
","
);
for
(
String
field
:
fs
)
{
field
=
camelName
(
field
);
sf
.
append
(
field
+
","
);
}
String
result
=
sf
.
toString
();
return
result
.
substring
(
0
,
result
.
length
()
-
1
);
}
//update-begin--Author:zhoujf Date:20180503 for:TASK #2500 【代码生成器】代码生成器开发一通用模板生成功能
/**
* 将下划线大写方式命名的字符串转换为驼峰式。(首字母写)
* 如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。</br>
* 例如:hello_world->HelloWorld
*
* @param name
* 转换前的下划线大写方式命名的字符串
* @return 转换后的驼峰式命名的字符串
*/
public
static
String
camelNameCapFirst
(
String
name
)
{
StringBuilder
result
=
new
StringBuilder
();
// 快速检查
if
(
name
==
null
||
name
.
isEmpty
())
{
// 没必要转换
return
""
;
}
else
if
(!
name
.
contains
(
"_"
))
{
// 不含下划线,仅将首字母小写
return
name
.
substring
(
0
,
1
).
toUpperCase
()
+
name
.
substring
(
1
).
toLowerCase
();
}
// 用下划线将原始字符串分割
String
camels
[]
=
name
.
split
(
"_"
);
for
(
String
camel
:
camels
)
{
// 跳过原始字符串中开头、结尾的下换线或双重下划线
if
(
camel
.
isEmpty
())
{
continue
;
}
// 其他的驼峰片段,首字母大写
result
.
append
(
camel
.
substring
(
0
,
1
).
toUpperCase
());
result
.
append
(
camel
.
substring
(
1
).
toLowerCase
());
}
return
result
.
toString
();
}
//update-end--Author:zhoujf Date:20180503 for:TASK #2500 【代码生成器】代码生成器开发一通用模板生成功能
/**
* 将驼峰命名转化成下划线
* @param para
* @return
*/
public
static
String
camelToUnderline
(
String
para
){
if
(
para
.
length
()<
3
){
return
para
.
toLowerCase
();
}
StringBuilder
sb
=
new
StringBuilder
(
para
);
int
temp
=
0
;
//定位
//从第三个字符开始 避免命名不规范
for
(
int
i
=
2
;
i
<
para
.
length
();
i
++){
if
(
Character
.
isUpperCase
(
para
.
charAt
(
i
))){
sb
.
insert
(
i
+
temp
,
"_"
);
temp
+=
1
;
}
}
return
sb
.
toString
().
toLowerCase
();
}
/**
* 随机数
* @param place 定义随机数的位数
*/
public
static
String
randomGen
(
int
place
)
{
String
base
=
"qwertyuioplkjhgfdsazxcvbnmQAZWSXEDCRFVTGBYHNUJMIKLOP0123456789"
;
StringBuffer
sb
=
new
StringBuffer
();
Random
rd
=
new
Random
();
for
(
int
i
=
0
;
i
<
place
;
i
++)
{
sb
.
append
(
base
.
charAt
(
rd
.
nextInt
(
base
.
length
())));
}
return
sb
.
toString
();
}
/**
* 获取类的所有属性,包括父类
*
* @param object
* @return
*/
public
static
Field
[]
getAllFields
(
Object
object
)
{
Class
<?>
clazz
=
object
.
getClass
();
List
<
Field
>
fieldList
=
new
ArrayList
<>();
while
(
clazz
!=
null
)
{
fieldList
.
addAll
(
new
ArrayList
<>(
Arrays
.
asList
(
clazz
.
getDeclaredFields
())));
clazz
=
clazz
.
getSuperclass
();
}
Field
[]
fields
=
new
Field
[
fieldList
.
size
()];
fieldList
.
toArray
(
fields
);
return
fields
;
}
/**
* 将map的key全部转成小写
* @param list
* @return
*/
public
static
List
<
Map
<
String
,
Object
>>
toLowerCasePageList
(
List
<
Map
<
String
,
Object
>>
list
){
List
<
Map
<
String
,
Object
>>
select
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
row
:
list
)
{
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
Set
<
String
>
keySet
=
row
.
keySet
();
for
(
String
key
:
keySet
)
{
String
newKey
=
key
.
toLowerCase
();
resultMap
.
put
(
newKey
,
row
.
get
(
key
));
}
select
.
add
(
resultMap
);
}
return
select
;
}
/**
* 将entityList转换成modelList
* @param fromList
* @param tClass
* @param <F>
* @param <T>
* @return
*/
public
static
<
F
,
T
>
List
<
T
>
entityListToModelList
(
List
<
F
>
fromList
,
Class
<
T
>
tClass
){
if
(
fromList
==
null
||
fromList
.
isEmpty
()){
return
null
;
}
List
<
T
>
tList
=
new
ArrayList
<>();
for
(
F
f
:
fromList
){
T
t
=
entityToModel
(
f
,
tClass
);
tList
.
add
(
t
);
}
return
tList
;
}
public
static
<
F
,
T
>
T
entityToModel
(
F
entity
,
Class
<
T
>
modelClass
)
{
log
.
debug
(
"entityToModel : Entity属性的值赋值到Model"
);
Object
model
=
null
;
if
(
entity
==
null
||
modelClass
==
null
)
{
return
null
;
}
try
{
model
=
modelClass
.
newInstance
();
}
catch
(
InstantiationException
e
)
{
log
.
error
(
"entityToModel : 实例化异常"
,
e
);
}
catch
(
IllegalAccessException
e
)
{
log
.
error
(
"entityToModel : 安全权限异常"
,
e
);
}
BeanUtils
.
copyProperties
(
entity
,
model
);
return
(
T
)
model
;
}
/**
* 判断 list 是否为空
*
* @param list
* @return true or false
* list == null : true
* list.size() == 0 : true
*/
public
static
boolean
listIsEmpty
(
Collection
list
)
{
return
(
list
==
null
||
list
.
size
()
==
0
);
}
/**
* 判断 list 是否不为空
*
* @param list
* @return true or false
* list == null : false
* list.size() == 0 : false
*/
public
static
boolean
listIsNotEmpty
(
Collection
list
)
{
return
!
listIsEmpty
(
list
);
}
/**
* 读取静态文本内容
* @param url
* @return
*/
public
static
String
readStatic
(
String
url
)
{
String
json
=
""
;
try
{
//换个写法,解决springboot读取jar包中文件的问题
InputStream
stream
=
oConvertUtils
.
class
.
getClassLoader
().
getResourceAsStream
(
url
.
replace
(
"classpath:"
,
""
));
json
=
IOUtils
.
toString
(
stream
,
"UTF-8"
);
}
catch
(
IOException
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
return
json
;
}
}
src/main/java/com/zzsn/event/vo/InfoSourceVo.java
0 → 100644
浏览文件 @
9cb29731
package
com
.
zzsn
.
event
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
@Data
public
class
InfoSourceVo
{
/**主键*/
private
String
id
;
/****************************基本信息********************************/
/**信息源编码*/
private
String
infoSourceCode
;
/**信息源名称,微信公众号名称,微博名称*/
private
String
webSiteName
;
/**栏目名称*/
private
String
siteName
;
/**栏目URL,微信公众号URL,微博URL*/
private
String
siteUri
;
/**微博认证方式(1:个人微博 2:官方微博)*/
private
String
authMode
;
/**功能介绍,微博认证描述*/
private
String
remarks
;
/**公众号BIZ*/
private
String
biz
;
/**是否大V*/
private
int
ynBigV
;
/**权威性*/
private
String
authority
;
/**信息源类别ids*/
private
String
infoSourceTypeId
;
private
String
infoSourceTypeName
;
/**信息源性质ids*/
private
List
<
String
>
infoSourceNatureIds
;
private
String
natureIds
;
private
String
infoSourceNatureNames
;
/**信息源组名称*/
private
String
infoSourceGroupNames
;
/**网站重要级别*/
private
String
siteLevel
;
/**国家*/
private
String
country
;
/**地区*/
private
String
area
;
/**语种*/
private
String
language
;
/**是否(境外、公共、翻墙)*/
private
String
checkedList
;
/**历史数据URL*/
private
String
hisUriExp
;
/**历史数据开始时间*/
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
hisDateStartTime
;
/**历史数据结束时间*/
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
hisDateEndTime
;
/**是否历史所有数据*/
private
String
ynHisDataAll
;
/**状态*/
private
String
status
;
/****************************列表页********************************/
/**列表页URL*/
private
String
listUrl
;
/**表达式类型*/
private
String
listExpressionType
;
/**匹配资讯的url*/
private
String
informationUrl
;
/**匹配资讯标题*/
private
String
informationTitle
;
/**匹配资讯发布时间*/
private
String
informationPublishDate
;
/**匹配资讯来源*/
private
String
informationSource
;
/**列表信息块位置*/
private
String
infoBlockPosition
;
/**抽取链接定位*/
private
String
linkLocation
;
/**自定义实体*/
private
Object
extractInfo
;
/**爬取深度*/
private
Integer
crawlDepth
;
/**页码url*/
private
String
pageUrl
;
/**匹配页码*/
private
String
matchPage
;
/**开始页码*/
private
int
pageStart
;
/**结束页码*/
private
int
pageEnd
;
/**是否所有页*/
private
String
ynPageAll
;
/**预警标签*/
private
List
<
Map
<
String
,
Object
>>
warningTag
;
/****************************详情页********************************/
/**详情页表URL*/
private
int
detailUrl
;
/**表达式类型*/
private
String
detailExpressionType
;
/**匹配详情页标题*/
private
String
detailExpressionTitle
;
private
Integer
titleExtractionMethodType
;
private
String
titleExtractionMethod
;
/**匹配详情页时间*/
private
String
detailExpressionPublishDate
;
private
Integer
publishDateExtractionMethodType
;
private
String
publishDateExtractionMethod
;
/**匹配详情页来源*/
private
String
detailExpressionSource
;
private
Integer
sourceExtractionMethodType
;
private
String
sourceExtractionMethod
;
/**匹配详情页作者*/
private
String
detailExpressionAuthor
;
private
Integer
authorExtractionMethodType
;
private
String
authorExtractionMethod
;
/**匹配详情页摘要*/
private
String
detailExpressionSummary
;
private
Integer
summaryExtractionMethodType
;
private
String
summaryExtractionMethod
;
/**匹配详情页正文*/
private
String
detailExpressionContent
;
private
Integer
contentExtractionMethodType
;
private
String
contentExtractionMethod
;
/**自定义实体*/
private
Object
detailInfo
;
/**是否下载附件*/
private
String
ynDownload
;
/****************************数据页********************************/
/**数据表格页URL*/
private
String
formUrl
;
/**数据表格标题*/
private
String
formTitle
;
/**表达式类型*/
private
String
formType
;
/**数据表格表达式*/
private
String
dataFormExpression
;
/**自定义*/
private
Object
dataFormInfo
;
/**页码URL*/
private
String
dataPageUrl
;
/**页码规则*/
private
String
dataPageRule
;
/**开始页码*/
private
int
dataPageStart
;
/**结束页码*/
private
int
dataPageEnd
;
/**是否所有页码*/
private
String
ynDataPageAll
;
/****************************存储设置********************************/
/**数据类型*/
private
int
dataType
;
/**数据格式*/
private
int
dataFormat
;
/**数据存储方式*/
private
int
dataStorageMode
;
/**数据存储信息*/
private
Object
dataStorageInfo
;
/****************************爬取设置********************************/
/**是否动态爬取*/
private
int
ynDynamicCrawl
;
/**是否需要登陆*/
private
int
ynLogin
;
/**登陆域名*/
private
String
domainName
;
/**登陆链接*/
private
String
link
;
/**登陆账号*/
private
String
account
;
/**登陆密码*/
private
String
passWord
;
/**userAgent*/
private
String
userAgent
;
/**Referer*/
private
String
referer
;
/**cookies*/
private
String
cookies
;
/**headers*/
private
String
headers
;
/**其它参数*/
private
String
otherInfo
;
/****************************爬虫设置********************************/
/**爬虫类别*/
private
int
crawlType
;
/**爬虫名称*/
private
String
crawlName
;
/**爬虫地址*/
private
String
crawlAddress
;
/**参数*/
private
Object
parameter
;
/****************************调度设置********************************/
/**设置方式(1:自由设置 2:cron表达式)*/
private
Integer
setMode
;
/**定时方式(1:时间间隔 2:立即执行)*/
private
String
timerMode
;
/**定时单位(1分;2小时;3日;4月)*/
private
String
unit
;
/**定时数值*/
private
Integer
space
;
/**cron表达式*/
private
String
cron
;
/**说明*/
private
String
explaination
;
/**是否下载*/
private
Boolean
downLoad
;
/**是否立即执行*/
private
Boolean
execute
;
/**验证结果*/
private
String
verification
;
/**所属单位*/
private
String
company
;
/**所属行业*/
private
String
industry
;
/**可信度*/
private
String
reliability
;
/**原创度*/
private
String
originality
;
/**父网站*/
private
String
parentSite
;
/**是否保存快照(1:保存 0:不保存)*/
private
String
ynSnapshot
;
private
String
sourceId
;
/**创建人*/
private
String
createBy
;
/**创建日期*/
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
createTime
;
/**更新人*/
private
String
updateBy
;
/**更新日期*/
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
updateTime
;
}
src/main/java/com/zzsn/event/vo/SubjectKeywordsMap.java
0 → 100644
浏览文件 @
9cb29731
package
com
.
zzsn
.
event
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.jeecgframework.poi.excel.annotation.Excel
;
import
java.io.Serializable
;
/**
* @Description: 专题关键词关联表
* @Author: jeecg-boot
* @Date: 2021-12-09
* @Version: V1.0
*/
@Data
@ApiModel
(
value
=
"subject_keywords_map对象"
,
description
=
"专题关键词关联表"
)
public
class
SubjectKeywordsMap
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**主键*/
@ApiModelProperty
(
value
=
"主键"
)
private
String
id
;
/**专题id*/
@Excel
(
name
=
"专题id"
,
width
=
15
)
@ApiModelProperty
(
value
=
"专题id"
)
private
String
subjectId
;
/**关键词组id*/
@Excel
(
name
=
"关键词组id"
,
width
=
15
)
@ApiModelProperty
(
value
=
"关键词组id"
)
private
String
keywordsId
;
/**类别( 1:标题 2:正文 3:全文)*/
private
String
type
;
}
src/main/java/com/zzsn/event/vo/SubjectPage.java
0 → 100644
浏览文件 @
9cb29731
package
com
.
zzsn
.
event
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.jeecgframework.poi.excel.annotation.Excel
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.List
;
import
java.util.Map
;
@Data
@ApiModel
(
value
=
"SubjectPage"
,
description
=
"专题列表页面"
)
public
class
SubjectPage
{
private
String
id
;
/**项目编码*/
@Excel
(
name
=
"专题编码"
,
width
=
15
)
@ApiModelProperty
(
value
=
"专题编码"
)
private
String
subjectCode
;
/**专题名称*/
@Excel
(
name
=
"专题名称"
,
width
=
15
)
@ApiModelProperty
(
value
=
"专题名称"
)
private
String
subjectName
;
/**绑定的类别*/
@Excel
(
name
=
"类别"
,
width
=
15
)
@ApiModelProperty
(
value
=
"类别"
)
private
String
subjectTypeId
;
private
String
subjectTypeName
;
/**项目id*/
@Excel
(
name
=
"项目id"
,
width
=
15
)
@ApiModelProperty
(
value
=
"项目id"
)
private
String
projectId
;
private
String
projectName
;
/**父级节点*/
@Excel
(
name
=
"父级节点"
,
width
=
15
)
@ApiModelProperty
(
value
=
"父级节点"
)
private
String
pid
;
/**图片策略*/
@Excel
(
name
=
"图片策略"
,
width
=
15
,
dicCode
=
"clb_save_policy"
)
@ApiModelProperty
(
value
=
"图片策略"
)
private
String
picturePolicy
;
/**网页策略*/
@Excel
(
name
=
"网页策略"
,
width
=
15
,
dicCode
=
"clb_save_policy"
)
@ApiModelProperty
(
value
=
"网页策略"
)
private
String
pagePolicy
;
/**状态*/
@Excel
(
name
=
"状态"
,
width
=
15
,
dicCode
=
"clb_subject_status"
)
@ApiModelProperty
(
value
=
"状态"
)
private
Integer
status
=
0
;
/**启用时间*/
@Excel
(
name
=
"启用时间"
,
width
=
15
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@ApiModelProperty
(
value
=
"启用时间"
)
private
java
.
util
.
Date
timeEnable
;
/**停用时间*/
@Excel
(
name
=
"停用时间"
,
width
=
15
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@ApiModelProperty
(
value
=
"停用时间"
)
private
java
.
util
.
Date
timeDisable
;
/**划分专题库*/
@Excel
(
name
=
"划分专题库"
,
width
=
15
,
dicCode
=
"Thematic_Library"
)
@ApiModelProperty
(
value
=
"划分专题库"
)
private
String
library
;
/**定时单位(1分;2小时;3日;4月)*/
@ApiModelProperty
(
value
=
"定时单位"
)
private
String
unit
;
/**定时数值*/
@ApiModelProperty
(
value
=
"定时数值"
)
private
Integer
space
;
/**cron表达式*/
@ApiModelProperty
(
value
=
"cron表达式"
)
private
String
cron
;
/**是否提取热词*/
@ApiModelProperty
(
value
=
"是否提取热词"
)
private
String
ynExtractHotWords
;
/**版本号*/
@Excel
(
name
=
"版本号"
,
width
=
15
)
@ApiModelProperty
(
value
=
"版本号"
)
private
Integer
version
;
/**是否有子节点*/
@Excel
(
name
=
"是否有子节点"
,
width
=
15
,
dicCode
=
"yn"
)
@ApiModelProperty
(
value
=
"是否有子节点"
)
private
String
hasChild
;
/**创建人*/
@ApiModelProperty
(
value
=
"创建人"
)
private
String
createBy
;
/**创建日期*/
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty
(
value
=
"创建日期"
)
private
java
.
util
.
Date
createTime
;
/**更新人*/
@ApiModelProperty
(
value
=
"更新人"
)
private
String
updateBy
;
/**更新日期*/
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty
(
value
=
"更新日期"
)
private
java
.
util
.
Date
updateTime
;
/**所属部门*/
@ApiModelProperty
(
value
=
"所属部门"
)
private
String
sysOrgCode
;
/**信息源数量*/
private
Integer
infoSourceNum
;
/**关键词数量*/
private
Integer
keyWordsNum
;
/**专题信息数量*/
private
Integer
subjectInfoNum
;
/**未审核专题信息数量*/
private
Integer
unCheckNum
;
/**绑定的信息源组list*/
@ApiModelProperty
(
value
=
"信息源组list"
)
private
List
<
String
>
infoSourceIds
;
/**排除的信息源组list*/
@ApiModelProperty
(
value
=
"信息源组list"
)
private
List
<
String
>
excludeInfoSourceIds
;
/**关键词组list*/
@ApiModelProperty
(
value
=
"信息源组list"
)
private
List
<
String
>
keyWordsIds
;
/**搜索引擎list*/
@ApiModelProperty
(
value
=
"搜索引擎list"
)
private
List
<
String
>
searchEngineIds
;
/**是否全部信息源*/
@ApiModelProperty
(
value
=
"是否全部信息源"
)
private
Boolean
ynAll
;
/**绑定的模型ids*/
@ApiModelProperty
(
value
=
"绑定的模型ids"
)
private
List
<
String
>
modelIds
;
/**绑定的模型种类(1:去重模型 2:筛选模型 3:标签模型)*/
@ApiModelProperty
(
value
=
"绑定的模型种类(1:去重模型 2:筛选模型 3:标签模型)"
)
private
String
type
;
private
String
address
;
/**所属客户*/
private
String
customerId
;
private
List
<
Map
<
String
,
Object
>>
warningTag
;
/**专题类别(1:通用专题 2:事件专题)*/
private
Integer
subjectType
;
/**专题信息所在es库名称*/
private
String
esIndex
;
/**定向组list*/
private
List
<
String
>
directionaIds
;
/**排序号*/
private
Integer
sortOrder
;
/**企业数据类型[0-研报;1-年报;2-动态;3-公告]*/
private
String
additionDataType
;
private
String
enterpriseCheck
;
/**备注
*/
private
String
remark
;
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论