Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
map-parent
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
常超
map-parent
Commits
f7a9f1d7
Commit
f7a9f1d7
authored
Nov 15, 2022
by
yangyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
湖南车轨对接、代码同步提交(湖南)
parent
21a2a560
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
292 additions
and
61 deletions
+292
-61
common/common_utils/src/main/java/com/founder/commonutils/util/ExportExcelUtil.java
+12
-5
common/service_base/src/main/java/com/founder/servicebase/interceptor/TokenInterceptor.java
+9
-3
common/service_base/src/main/java/com/founder/servicebase/logs/SkSysLog.java
+4
-0
common/service_base/src/main/java/com/founder/servicebase/logs/SysLogAspect.java
+17
-9
pom.xml
+28
-2
service/publicapi/src/main/java/com/founder/publicapi/PublicapiApplication.java
+8
-2
service/publicapi/src/main/java/com/founder/publicapi/controller/SkDataOperation/SkTrailController.java
+43
-34
service/publicapi/src/main/java/com/founder/publicapi/controller/SkInterface/InterfaceAPI.java
+169
-4
service/publicapi/src/main/resources/bootstrap-prod.properties
+2
-2
No files found.
common/common_utils/src/main/java/com/founder/commonutils/util/ExportExcelUtil.java
View file @
f7a9f1d7
...
...
@@ -40,19 +40,26 @@ public class ExportExcelUtil<T> {
value
++;
}
}
//创建Excel工作薄对象
HSSFWorkbook
wb
=
new
HSSFWorkbook
();
//创建Excel工作表对象
HSSFSheet
sheet
=
wb
.
createSheet
(
title
);
// 设置列宽
sheet
.
setDefaultColumnWidth
((
short
)
15
);
//
生成一个
样式
//
创建单元格
样式
HSSFCellStyle
style
=
wb
.
createCellStyle
();
//创建Excel工作表的行
HSSFRow
row
=
sheet
.
createRow
(
0
);
style
.
setAlignment
(
HSSFCellStyle
.
ALIGN_CENTER
);
System
.
out
.
println
(
HSSFWorkbook
.
class
.
getProtectionDomain
().
getCodeSource
().
getLocation
()
);
HSSFCell
cell
;
Collection
<
String
>
c
=
headersNameMap
.
values
();
// 拿到表格所有标题的value的集合
// 拿到表格所有标题的value的集合
Collection
<
String
>
c
=
headersNameMap
.
values
();
Iterator
<
String
>
it
=
c
.
iterator
();
// 表格标题的迭代器
// 根据选择的字段生成表头
shor
t
size
=
0
;
in
t
size
=
0
;
while
(
it
.
hasNext
())
{
System
.
out
.
println
(
it
);
String
s
=
it
.
toString
();
cell
=
row
.
createCell
(
size
);
cell
.
setCellValue
(
it
.
next
().
toString
());
cell
.
setCellStyle
(
style
);
...
...
@@ -107,7 +114,7 @@ public class ExportExcelUtil<T> {
}
else
{
textVal
=
null
;
}
row
.
createCell
(
(
short
)
zdCell
)
row
.
createCell
(
zdCell
)
.
setCellValue
(
textVal
);
zdCell
++;
}
catch
(
Exception
e
)
{
...
...
common/service_base/src/main/java/com/founder/servicebase/interceptor/TokenInterceptor.java
View file @
f7a9f1d7
...
...
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
com.founder.commonutils.Exception.TokenException
;
import
com.founder.commonutils.model.newPublicEntity.*
;
import
com.founder.commonutils.util.JwtUser
;
import
com.founder.commonutils.util.NetworkUtil
;
import
com.founder.commonutils.util.ResultUtil
;
import
com.founder.servicebase.service.SkServiceApplyService
;
import
com.founder.servicebase.service.SkServiceService
;
...
...
@@ -82,7 +83,7 @@ public class TokenInterceptor implements HandlerInterceptor {
JSONObject
object
=
new
JSONObject
(
sub
);
ThirdToken
token
=
new
ThirdToken
(
object
);
System
.
out
.
println
(
token
);
str
=
verifyToken
(
token
);
str
=
verifyToken
(
request
,
token
);
if
(
str
.
equals
(
""
))
{
name
=
token
.
getServiceName
();
return
true
;
...
...
@@ -163,11 +164,15 @@ public class TokenInterceptor implements HandlerInterceptor {
/**
* 校验第三方token
*/
public
String
verifyToken
(
ThirdToken
token
)
{
public
String
verifyToken
(
HttpServletRequest
request
,
ThirdToken
token
)
{
String
str
=
""
;
// ip验证
if
(!
token
.
getIp
().
contains
(
NetworkUtil
.
getIpAddr
(
request
))){
return
"ip限制!"
;
}
QueryWrapper
queryWrapper
=
new
QueryWrapper
();
queryWrapper
.
eq
(
"applyGs"
,
token
.
getGsNama
());
queryWrapper
.
eq
(
"applyUrl"
,
token
.
getIp
());
queryWrapper
.
like
(
"applyUrl"
,
token
.
getIp
());
queryWrapper
.
eq
(
"status"
,
"1"
);
List
<
SkServiceApply
>
list
=
skServiceApplyService
.
list
(
queryWrapper
);
if
(
list
==
null
||
list
.
size
()
==
0
)
{
...
...
@@ -175,6 +180,7 @@ public class TokenInterceptor implements HandlerInterceptor {
}
else
{
QueryWrapper
queryWrapper1
=
new
QueryWrapper
();
queryWrapper1
.
eq
(
"serviceName"
,
token
.
getServiceName
());
queryWrapper1
.
like
(
"serviceUrl"
,
request
.
getRequestURI
());
List
<
String
>
serviceIds
=
getServiceIds
(
list
);
queryWrapper1
.
in
(
"xxzjbh"
,
serviceIds
);
List
<
SkService
>
list1
=
service
.
list
(
queryWrapper1
);
...
...
common/service_base/src/main/java/com/founder/servicebase/logs/SkSysLog.java
View file @
f7a9f1d7
...
...
@@ -36,5 +36,8 @@ public class SkSysLog implements Serializable {
private
String
content
;
// 返回值
private
String
url
;
// 请求url
private
String
lx
;
// 类型 1时空 2三方
//添加set和get方法
}
\ No newline at end of file
common/service_base/src/main/java/com/founder/servicebase/logs/SysLogAspect.java
View file @
f7a9f1d7
...
...
@@ -8,6 +8,7 @@ import com.founder.commonutils.model.newPublicEntity.ThirdToken;
import
com.founder.commonutils.model.newPublicEntity.Token
;
import
com.founder.commonutils.util.JwtUser
;
import
com.founder.commonutils.util.KeyUtil
;
import
com.founder.commonutils.util.NetworkUtil
;
import
com.founder.servicebase.logs.mapper.mysqlMapper.SkSysLogMapper
;
import
io.jsonwebtoken.Claims
;
import
lombok.SneakyThrows
;
...
...
@@ -46,8 +47,6 @@ public class SysLogAspect {
@Autowired
private
SkSysLogMapper
sysLogMapper
;
@Autowired
private
SqlSessionFactory
sqlSessionFactory
;
private
static
Logger
LOG
=
LoggerFactory
.
getLogger
(
SysLogAspect
.
class
);
//定义切点 @Pointcut
...
...
@@ -97,15 +96,20 @@ public class SysLogAspect {
// 接收到请求,记录请求内容
ServletRequestAttributes
attributes
=
(
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
();
HttpServletRequest
request
=
attributes
.
getRequest
();
if
(
myLog
!=
null
&&
myLog
.
operation
().
equals
(
"LOGIN"
))
{
// 系统登录和单点登录日志处理
if
(
myLog
!=
null
&&
(
myLog
.
operation
().
equals
(
"LOGIN"
)||
myLog
.
operation
().
equals
(
"DDLOGIN"
)
))
{
SysUser
user
=
(
SysUser
)
map
.
get
(
"user"
);
SimpleDateFormat
ss
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
String
today
=
ss
.
format
(
new
Date
());
String
KEY
=
"maplogin"
+
today
;
String
IV
=
"map_vues"
+
today
;
if
(
myLog
.
operation
().
equals
(
"LOGIN"
)){
String
trim
=
desEncrypt
(
user
.
getUsername
(),
KEY
,
IV
).
trim
();
sysLog
.
setUserid
(
trim
);
}
else
if
(
myLog
.
operation
().
equals
(
"DDLOGIN"
)){
String
trim
=
desEncrypt
(
user
.
getIdentitycard
(),
KEY
,
IV
).
trim
();
sysLog
.
setUserid
(
trim
);
}
}
else
{
//获取token信息
Claims
claims
=
null
;
...
...
@@ -118,8 +122,10 @@ public class SysLogAspect {
ThirdToken
token
=
new
ThirdToken
(
object
);
System
.
out
.
println
(
"thirdToken===>"
+
token
);
sysLog
.
setUserid
(
token
.
getGsNama
());
sysLog
.
setLx
(
"2"
);
}
catch
(
TokenException
e
)
{
sysLog
.
setUserid
(
"system"
);
sysLog
.
setUserid
(
"error"
);
sysLog
.
setLx
(
"2"
);
}
}
else
{
try
{
...
...
@@ -130,9 +136,11 @@ public class SysLogAspect {
Token
token
=
new
Token
(
object
);
System
.
out
.
println
(
"token===>"
+
token
);
sysLog
.
setUserid
(
token
.
getUsername
());
sysLog
.
setLx
(
"1"
);
}
catch
(
TokenException
e
)
{
sysLog
.
setUserid
(
"system"
);
sysLog
.
setUserid
(
"error"
);
sysLog
.
setLx
(
"1"
);
}
}
}
...
...
@@ -141,8 +149,8 @@ public class SysLogAspect {
toString
());
LOG
.
info
(
"HTTP_METHOD : "
+
request
.
getMethod
());
LOG
.
info
(
"IP : "
+
request
.
getRemoteAddr
(
));
sysLog
.
setIp
(
request
.
getRemoteAddr
(
));
LOG
.
info
(
"IP : "
+
NetworkUtil
.
getIpAddr
(
request
));
sysLog
.
setIp
(
NetworkUtil
.
getIpAddr
(
request
));
//开始调用时间
// 计时并调用目标函数
...
...
@@ -170,6 +178,7 @@ public class SysLogAspect {
System
.
out
.
println
(
"============================================2.请求开始:"
+
df
.
format
(
new
Date
())
+
"============================================"
);
sysLog
.
setUrl
(
request
.
getRequestURL
().
toString
());
System
.
out
.
println
(
"URL===>"
+
request
.
getRequestURL
());
System
.
out
.
println
(
"用户===>"
+
sysLog
.
getUserid
());
System
.
out
.
println
(
"请求ip===>"
+
sysLog
.
getIp
());
...
...
@@ -178,7 +187,6 @@ public class SysLogAspect {
System
.
out
.
println
(
"传入参数===>"
+
sysLog
.
getParams
());
System
.
out
.
println
(
"返回结果===>"
+
sysLog
.
getContent
());
System
.
out
.
println
(
"总耗时===>"
+
sysLog
.
getTotaltime
());
sysLog
.
setIp
(
request
.
getRequestURL
().
toString
());
System
.
out
.
println
(
"===========================================2.请求结束:"
+
df
.
format
(
new
Date
())
+
"============================================"
);
...
...
pom.xml
View file @
f7a9f1d7
...
...
@@ -52,6 +52,7 @@
<artifactId>
poi-scratchpad
</artifactId>
<version>
3.8
</version>
</dependency>
<dependency>
<groupId>
com.car
</groupId>
<artifactId>
sdkApi
</artifactId>
...
...
@@ -102,11 +103,11 @@
<scope>system</scope>
<systemPath>${project.basedir}/libs/ojdbc-10.jar</systemPath>
</dependency>-->
<dependency>
<
!-- <
dependency>
<groupId>org.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>10</version>
</dependency
>
</dependency>--
>
<!--swagger-->
<!-- <dependency>
...
...
@@ -283,10 +284,35 @@
<artifactId>
poi-scratchpad
</artifactId>
<version>
3.17
</version>
</dependency>
<!-- <dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>-->
<!--集成EasyExcel -->
<!-- 引入easyExcel的时候,排除easyExcel中自带的poi依赖-->
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
easyexcel
</artifactId>
<version>
2.2.6
</version>
<exclusions>
<exclusion>
<groupId>
javax.servlet
</groupId>
<artifactId>
servlet-api
</artifactId>
</exclusion>
<exclusion>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi
</artifactId>
</exclusion>
<exclusion>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi-ooxml
</artifactId>
</exclusion>
<exclusion>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi-ooxml-schemas
</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</dependencyManagement>
...
...
service/publicapi/src/main/java/com/founder/publicapi/PublicapiApplication.java
View file @
f7a9f1d7
...
...
@@ -2,22 +2,28 @@ package com.founder.publicapi;
import
com.founder.commonutils.util.SpringUtil
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.web.client.RestTemplateBuilder
;
import
org.springframework.context.ConfigurableApplicationContext
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.web.client.RestTemplate
;
@SpringBootApplication
@ComponentScan
(
basePackages
=
{
"com.founder"
})
@MapperScan
(
basePackages
=
{
"com.founder.publicapi.mapper"
})
public
class
PublicapiApplication
{
@Autowired
private
RestTemplateBuilder
restTemplateBuilder
;
public
static
void
main
(
String
[]
args
)
{
//run方法的返回值ConfigurableApplicationContext继承了ApplicationContext上下文接口
ConfigurableApplicationContext
applicationContext
=
SpringApplication
.
run
(
PublicapiApplication
.
class
,
args
);
//将run方法的返回值赋值给工具类中的静态变量
SpringUtil
.
applicationContext
=
applicationContext
;
}
@Bean
public
RestTemplate
restTemplate
(){
return
restTemplateBuilder
.
build
();}
}
service/publicapi/src/main/java/com/founder/publicapi/controller/SkDataOperation/SkTrailController.java
View file @
f7a9f1d7
...
...
@@ -193,40 +193,40 @@ public class SkTrailController extends ApiController implements ExcelControllerI
*/
@PostMapping
(
"query"
)
@ApiOperation
(
value
=
"以人侦查_获取轨迹接口"
)
@OperLog
(
message
=
"公共_获取轨迹接口"
,
operation
=
OperationType
.
QUERY
)
//
@OperLog(message = "公共_获取轨迹接口", operation = OperationType.QUERY)
public
MapRestResult
query
(
@RequestBody
SkTrailParam
sktrailParam
,
HttpServletRequest
request
)
{
List
<
SkTrailVO
>
list
=
new
ArrayList
<>();
// 根据标识号查看是否为演示数据 演示数据直接走数据库
if
(
"dev"
.
equals
(
environment
)||
SkTextUtilServiceImpl
.
queryText
(
sktrailParam
.
getLikeValue
()).
size
()>
0
){
//分页
Page
page
=
new
Page
(
sktrailParam
.
getPage
(),
sktrailParam
.
getPageSize
());
QueryWrapper
queryWrapper
=
new
QueryWrapper
();
queryWrapper
.
eq
(
"isDeleted"
,
"0"
);
queryWrapper
.
select
(
"objectValue"
,
"objectType"
,
"objectName"
);
if
(
sktrailParam
.
getLikeField
()
!=
null
&&
!
sktrailParam
.
getLikeField
().
equals
(
""
))
{
queryWrapper
.
eq
(
"objectType"
,
sktrailParam
.
getLikeField
());
}
if
(
sktrailParam
.
getLikeValue
()
!=
null
&&
!
sktrailParam
.
getLikeValue
().
equals
(
""
))
{
queryWrapper
.
like
(
"objectValue"
,
sktrailParam
.
getLikeValue
());
}
//时间
if
(
sktrailParam
.
getKssj
()
!=
null
&&
!
sktrailParam
.
getKssj
().
equals
(
""
))
{
queryWrapper
.
ge
(
"str_to_date(date,'%Y-%m-%d %H:%i:%s')"
,
sktrailParam
.
getKssj
());
}
if
(
sktrailParam
.
getJssj
()
!=
null
&&
!
sktrailParam
.
getJssj
().
equals
(
""
))
{
queryWrapper
.
le
(
"str_to_date(date,'%Y-%m-%d %H:%i:%s')"
,
sktrailParam
.
getJssj
());
}
queryWrapper
.
groupBy
(
"objectValue"
);
queryWrapper
.
groupBy
(
"objectType"
);
queryWrapper
.
groupBy
(
"objectName"
);
IPage
page1
=
skTrailService
.
page
(
page
,
queryWrapper
);
List
<
SkTrail
>
records
=
page1
.
getRecords
();
for
(
SkTrail
skTrail
:
records
)
{
list
.
add
(
new
SkTrailVO
(
skTrail
,
findByBh
(
skTrail
.
getObjectvalue
(),
skTrail
.
getObjecttype
())));
}
}
//
if("dev".equals(environment)||SkTextUtilServiceImpl.queryText(sktrailParam.getLikeValue()).size()>0){
//
//分页
//
Page page = new Page(sktrailParam.getPage(), sktrailParam.getPageSize());
//
QueryWrapper queryWrapper = new QueryWrapper();
//
queryWrapper.eq("isDeleted", "0");
//
queryWrapper.select("objectValue","objectType","objectName");
//
if (sktrailParam.getLikeField() != null && !sktrailParam.getLikeField().equals("")) {
//
queryWrapper.eq("objectType", sktrailParam.getLikeField());
//
}
//
if (sktrailParam.getLikeValue() != null && !sktrailParam.getLikeValue().equals("")) {
//
queryWrapper.like("objectValue", sktrailParam.getLikeValue());
//
}
//
//时间
//
if (sktrailParam.getKssj() != null && !sktrailParam.getKssj().equals("")) {
//
queryWrapper.ge("str_to_date(date,'%Y-%m-%d %H:%i:%s')", sktrailParam.getKssj());
//
}
//
if (sktrailParam.getJssj() != null && !sktrailParam.getJssj().equals("")) {
//
queryWrapper.le("str_to_date(date,'%Y-%m-%d %H:%i:%s')", sktrailParam.getJssj());
//
}
//
//
queryWrapper.groupBy("objectValue");
//
queryWrapper.groupBy("objectType");
//
queryWrapper.groupBy("objectName");
//
//
IPage page1 = skTrailService.page(page, queryWrapper);
//
List<SkTrail> records = page1.getRecords();
//
for (SkTrail skTrail : records) {
//
list.add(new SkTrailVO(skTrail, findByBh(skTrail.getObjectvalue(),skTrail.getObjecttype())));
//
}
//
}
// 真实API
if
(
sktrailParam
.
getLikeField
().
equals
(
"wbgj"
)){
list
=
interfaceAPI
.
getWbXx
(
sktrailParam
.
getLikeValue
(),
sktrailParam
.
getKssj
(),
sktrailParam
.
getJssj
(),
request
,
sktrailParam
.
getPage
(),
sktrailParam
.
getPageSize
());
...
...
@@ -238,6 +238,11 @@ public class SkTrailController extends ApiController implements ExcelControllerI
list
=
interfaceAPI
.
getHcccXx
(
sktrailParam
.
getLikeValue
(),
sktrailParam
.
getKssj
(),
sktrailParam
.
getJssj
(),
request
,
sktrailParam
.
getPage
(),
sktrailParam
.
getPageSize
());
}
else
if
(
sktrailParam
.
getLikeField
().
equals
(
"jdgj"
)){
list
=
interfaceAPI
.
getJdXx
(
sktrailParam
.
getLikeValue
(),
sktrailParam
.
getKssj
(),
sktrailParam
.
getJssj
(),
request
,
sktrailParam
.
getPage
(),
sktrailParam
.
getPageSize
());
}
else
if
(
sktrailParam
.
getLikeField
().
equals
(
"kkgj"
)){
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
=
interfaceAPI
.
getJdcGjNaotu
(
sktrailParam
.
getLikeValue
(),
sktrailParam
.
getKssj
(),
sktrailParam
.
getJssj
(),
sktrailParam
.
getPage
(),
sktrailParam
.
getPageSize
());
list
=
(
List
<
SkTrailVO
>)
map
.
get
(
"rows"
);
return
new
MapRestResult
(
200
,
"OK"
,
map
.
get
(
"total"
),
list
);
}
return
new
MapRestResult
(
200
,
"OK"
,
list
.
size
(),
list
);
}
...
...
@@ -499,11 +504,11 @@ public class SkTrailController extends ApiController implements ExcelControllerI
@PostMapping
(
"/export"
)
@ApiOperation
(
"Excel接口"
)
@OperLog
(
message
=
"Excel接口(轨迹导出)"
,
operation
=
OperationType
.
QUERY
)
//
@OperLog(message = "Excel接口(轨迹导出)", operation = OperationType.QUERY)
public
void
export
(
HttpServletResponse
response
,
@RequestBody
SkTrailParam
sktrailParam
,
HttpServletRequest
request
)
throws
Exception
{
List
<
SkTrailVO
>
list
=
new
ArrayList
<>();
// 根据标识号查看是否为演示数据 演示数据直接走数据库
if
(
SkTextUtilServiceImpl
.
queryText
(
sktrailParam
.
getLikeValue
()).
size
()>
0
){
/*
if(SkTextUtilServiceImpl.queryText(sktrailParam.getLikeValue()).size()>0){
//分页
Page page = new Page(sktrailParam.getPage(), sktrailParam.getPageSize());
QueryWrapper queryWrapper = new QueryWrapper();
...
...
@@ -527,7 +532,7 @@ public class SkTrailController extends ApiController implements ExcelControllerI
for (SkTrail skTrail : records) {
list.add(new SkTrailVO(skTrail, findByBh(skTrail.getObjectvalue(),skTrail.getObjecttype())));
}
}
}
*/
// 真实API
if
(
sktrailParam
.
getLikeField
().
equals
(
"wbgj"
)){
list
=
interfaceAPI
.
getWbXx
(
sktrailParam
.
getLikeValue
(),
sktrailParam
.
getKssj
(),
sktrailParam
.
getJssj
(),
request
,
sktrailParam
.
getPage
(),
sktrailParam
.
getPageSize
());
...
...
@@ -539,6 +544,10 @@ public class SkTrailController extends ApiController implements ExcelControllerI
list
=
interfaceAPI
.
getHcccXx
(
sktrailParam
.
getLikeValue
(),
sktrailParam
.
getKssj
(),
sktrailParam
.
getJssj
(),
request
,
sktrailParam
.
getPage
(),
sktrailParam
.
getPageSize
());
}
else
if
(
sktrailParam
.
getLikeField
().
equals
(
"jdgj"
)){
list
=
interfaceAPI
.
getJdXx
(
sktrailParam
.
getLikeValue
(),
sktrailParam
.
getKssj
(),
sktrailParam
.
getJssj
(),
request
,
sktrailParam
.
getPage
(),
sktrailParam
.
getPageSize
());
}
else
if
(
sktrailParam
.
getLikeField
().
equals
(
"kkgj"
)){
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
=
interfaceAPI
.
getJdcGjNaotu
(
sktrailParam
.
getLikeValue
(),
sktrailParam
.
getKssj
(),
sktrailParam
.
getJssj
(),
sktrailParam
.
getPage
(),
sktrailParam
.
getPageSize
());
list
=
(
List
<
SkTrailVO
>)
map
.
get
(
"rows"
);
}
ExportExcelUtil
<
SkTrail
>
exportExcelUtil
=
new
ExportExcelUtil
<>();
String
[]
headersName
=
{
"号码"
,
"经度"
,
"纬度"
,
"时间"
,
"地址"
};
...
...
service/publicapi/src/main/java/com/founder/publicapi/controller/SkInterface/InterfaceAPI.java
View file @
f7a9f1d7
...
...
@@ -5,21 +5,30 @@ import com.alibaba.fastjson.JSONObject;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.founder.commonutils.model.newPublicEntity.*
;
import
com.founder.commonutils.model.vo.response.SkTrailVO
;
import
com.founder.commonutils.util.DateUtil
;
import
com.founder.commonutils.util.EsUtils
;
import
com.founder.commonutils.util.HttpClient
;
import
com.founder.commonutils.util.StringUtil
;
import
com.founder.commonutils.util.*
;
import
com.founder.publicapi.mapper.mysqlMapper.SysDictitemMapper
;
import
com.founder.publicapi.service.SkPointlocationService
;
import
lombok.SneakyThrows
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.http.HttpEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.converter.HttpMessageConverter
;
import
org.springframework.http.converter.StringHttpMessageConverter
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.client.RestTemplate
;
import
javax.servlet.http.HttpServletRequest
;
import
java.nio.charset.Charset
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.concurrent.Callable
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.FutureTask
;
import
java.util.stream.Collectors
;
...
...
@@ -38,6 +47,8 @@ public class InterfaceAPI {
private
SysDictitemMapper
sysDictitemMapper
;
@Autowired
private
SkPointlocationService
skPointlocationService
;
@Autowired
private
RestTemplate
restTemplate
;
/**
* 获取民航进出港信息
*
...
...
@@ -759,6 +770,125 @@ public class InterfaceAPI {
return
time
.
replace
(
" "
,
"T"
)
+
"Z"
;
}
@SneakyThrows
public
Map
<
String
,
Object
>
getJdcGjNaotu
(
String
cphm
,
String
startDate
,
String
endDate
,
@RequestParam
(
value
=
"page"
,
defaultValue
=
"1"
)
int
page
,
@RequestParam
(
value
=
"rows"
,
defaultValue
=
"10"
)
int
rows
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
// 入参调整
SimpleDateFormat
sf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
try
{
Date
startDateDate
=
sf
.
parse
(
startDate
);
Date
endDateDate
=
sf
.
parse
(
endDate
);
startDate
=
sf
.
format
(
startDateDate
);
endDate
=
sf
.
format
(
endDateDate
);
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
List
<
SkTrail
>
points
=
new
ArrayList
<>();
// 返回数据与前端一致
List
<
SkTrailVO
>
listResult
=
new
ArrayList
<>();
Integer
total
=
0
;
String
urlLogin
=
"http://65.65.100.193:9047/doLogin?zjhm=admin"
;
System
.
out
.
println
(
"登录solrupdate请求url:"
+
urlLogin
);
HttpEntity
<
String
>
jsonObjectLogin
=
restTemplate
.
getForEntity
(
urlLogin
,
String
.
class
);
// 登录登录solrupdate
System
.
out
.
println
(
"登录solrupdate返回:"
+
jsonObjectLogin
);
// 解决中文乱码
List
<
HttpMessageConverter
<?>>
httpMessageConverters
=
restTemplate
.
getMessageConverters
();
httpMessageConverters
.
stream
().
forEach
(
httpMessageConverter
->
{
if
(
httpMessageConverter
instanceof
StringHttpMessageConverter
)
{
StringHttpMessageConverter
messageConverter
=
(
StringHttpMessageConverter
)
httpMessageConverter
;
//设置编码为UTF-8
messageConverter
.
setDefaultCharset
(
Charset
.
forName
(
"UTF-8"
));
}
});
// 第一次请求每页最大拿100条
String
url
=
"http://65.65.100.193:9047/api/getJdcGj?cphm="
+
cphm
+
"&startDate="
+
startDate
+
"&endDate="
+
endDate
+
"&page=1&rows=100"
;
System
.
out
.
println
(
"接口请求url:"
+
url
);
ResponseEntity
<
String
>
entity
=
restTemplate
.
getForEntity
(
url
.
trim
(),
String
.
class
);
Map
<
String
,
Object
>
temp
=
(
Map
)
JSONObject
.
parse
(
entity
.
getBody
());
System
.
out
.
println
(
"接口请求结果数据:"
+
entity
.
getBody
());
// 数据封装与前端一致
SimpleDateFormat
sfResult
=
new
SimpleDateFormat
(
"yyyyMMddhhmmss"
);
SimpleDateFormat
sfFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd hh:mm:ss"
);
if
(
"success"
.
equals
(
temp
.
get
(
"state"
)))
{
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
temp
.
get
(
"rows"
).
toString
());
if
(
jsonArray
.
size
()
>
0
)
{
List
<
Map
<
String
,
Object
>>
list
=
(
List
<
Map
<
String
,
Object
>>)
JSONArray
.
parse
(
jsonArray
.
toJSONString
());
total
=
(
Integer
)
temp
.
get
(
"total"
);
if
(
total
>
100
)
{
// 批量分页拿回轨迹数据
int
size
=
total
;
// 总数
int
limit
=
100
;
// 没页数
long
threadNum
=
size
/
limit
;
// 批量数
for
(
int
i
=
1
;
i
<
threadNum
+
1
;
i
++)
{
if
(
i
==
1
){
i
=
2
;}
// 异步处理
TaskThread
task
=
new
TaskThread
(
i
,
limit
,
cphm
,
startDate
,
endDate
);
FutureTask
<
List
<
Map
<
String
,
Object
>>>
futureTask
=
new
FutureTask
<>(
task
);
// 线程池处理
ExecutorService
executorService
=
Executors
.
newFixedThreadPool
(
10
);
executorService
.
submit
(
futureTask
);
// 结果获取
List
<
Map
<
String
,
Object
>>
listGet
=
futureTask
.
get
();
list
.
addAll
(
listGet
);
executorService
.
shutdown
();
}
}
for
(
Map
<
String
,
Object
>
gjXxMap
:
list
)
{
String
kkbh
=
(
String
)
gjXxMap
.
get
(
"KKBH"
);
String
cph
=
(
String
)
gjXxMap
.
get
(
"CPH"
);
String
gcsj
=
(
String
)
gjXxMap
.
get
(
"GCSJ"
);
String
gczp
=
(
String
)
gjXxMap
.
get
(
"TPLJHZ_Y"
);
String
kkmc
=
(
String
)
gjXxMap
.
get
(
"kkmc"
);
SkTrail
skTrailCf
=
new
SkTrail
();
if
(
null
!=
gjXxMap
.
get
(
"kkjd"
))
{
String
kkjd
=
gjXxMap
.
get
(
"kkjd"
).
toString
();
skTrailCf
.
setX
(
kkjd
);
}
else
{
continue
;
}
if
(
null
!=
gjXxMap
.
get
(
"kkwd"
))
{
String
kkwd
=
gjXxMap
.
get
(
"kkwd"
).
toString
();
skTrailCf
.
setY
(
kkwd
);
}
else
{
continue
;
}
skTrailCf
.
setAddress
(
kkmc
);
try
{
skTrailCf
.
setDate
(
sfFormat
.
format
(
sfResult
.
parse
(
gcsj
)));
skTrailCf
.
setTime
(
DateUtil
.
getTimeStamp
(
sfFormat
.
format
(
sfResult
.
parse
(
gcsj
))));
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
skTrailCf
.
setDeviceid
(
kkbh
);
skTrailCf
.
setFarimglist
(
gczp
);
skTrailCf
.
setNearimglist
(
gczp
);
skTrailCf
.
setObjecttype
(
"kkgj"
);
skTrailCf
.
setObjectname
(
"卡口轨迹"
);
skTrailCf
.
setObjectvalue
(
cph
);
points
.
add
(
skTrailCf
);
}
}
}
if
(
points
.
size
()
>
0
)
{
SkTrailVO
skTrailVO
=
new
SkTrailVO
();
skTrailVO
.
setObjectvalue
(
cphm
);
skTrailVO
.
setObjecttype
(
"kkgj"
);
skTrailVO
.
setObjectname
(
"卡口轨迹"
);
skTrailVO
.
setKssj
(
startDate
);
skTrailVO
.
setJssj
(
endDate
);
skTrailVO
.
setPoints
(
points
);
listResult
.
add
(
skTrailVO
);
}
map
.
put
(
"total"
,
listResult
.
size
());
map
.
put
(
"rows"
,
listResult
);
return
map
;
}
/**
* 功能描述: JSONArray根据时间字段排序
* @author FengChaoTao
...
...
@@ -804,4 +934,39 @@ public class InterfaceAPI {
queryWrapper
.
eq
(
"deviceId"
,
deviceId
);
return
skPointlocationService
.
getOne
(
queryWrapper
);
}
class
TaskThread
implements
Callable
<
List
<
Map
<
String
,
Object
>>>
{
private
int
page
;
private
int
limit
;
private
String
cphm
;
private
String
startDate
;
private
String
endDate
;
public
TaskThread
(
int
page
,
int
limit
,
String
cphm
,
String
startDate
,
String
endDate
)
{
this
.
page
=
page
;
this
.
limit
=
limit
;
this
.
cphm
=
cphm
;
this
.
startDate
=
startDate
;
this
.
endDate
=
endDate
;
}
@Override
public
List
<
Map
<
String
,
Object
>>
call
(){
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
String
url
=
"http://65.65.100.193:9047/api/getJdcGj?cphm="
+
cphm
+
"&startDate="
+
startDate
+
"&endDate="
+
endDate
+
"&page="
+
page
+
"&rows="
+
limit
;
System
.
out
.
println
(
"接口请求url:"
+
url
);
ResponseEntity
<
String
>
entity
=
restTemplate
.
getForEntity
(
url
.
trim
(),
String
.
class
);
Map
<
String
,
Object
>
temp
=
(
Map
)
JSONObject
.
parse
(
entity
.
getBody
());
if
(
"success"
.
equals
(
temp
.
get
(
"state"
)))
{
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
temp
.
get
(
"rows"
).
toString
());
if
(
jsonArray
.
size
()
>
0
)
{
list
=
(
List
<
Map
<
String
,
Object
>>)
JSONArray
.
parse
(
jsonArray
.
toJSONString
());
}
}
return
list
;
}
}
}
service/publicapi/src/main/resources/bootstrap-prod.properties
View file @
f7a9f1d7
...
...
@@ -10,13 +10,13 @@ logging.level.root=INFO
#mysql\uFFFD\uFFFD\uFFFD\u077F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
spring.datasource.driver-class-name
=
com.mysql.cj.jdbc.Driver
spring.datasource.xzxtdb.url
=
ENC(5lDm8jrRL3ZRPNelHHKmy87uO2r12LnIVIQxybw8bmMQrBfXCEkE9WR6y7o6OS+S7yeRnaVQoaAB7d1Z9r9teV3K+DTvLwj01DWCS2p7ggTqycYWHh2eqcpW129HoUoiyPlzRO0Dl+Mnpj/utHB9/lOfAEBhRHLS)
spring.datasource.xzxtdb.url
=
jdbc:mysql://10.142.16.191:4306/xzxt?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.xzxtdb.username
=
ENC(b7OXS5qvb3tVsaDbfqkFpg==)
spring.datasource.xzxtdb.password
=
ENC(PhkJovHr5GezJgLS+gfSFaID3dNlmUi5)
#oracle\uFFFD\uFFFD\uFFFD\u077F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD(\u022B\uFFFD\uFFFD\uFFFD\uFFFD)
spring.datasource.qgdb.driver-class-name
=
com.mysql.cj.jdbc.Driver
spring.datasource.qgdb.url
=
ENC(5lDm8jrRL3ZRPNelHHKmy87uO2r12LnIVIQxybw8bmMQrBfXCEkE9WR6y7o6OS+S7yeRnaVQoaAB7d1Z9r9teV3K+DTvLwj01DWCS2p7ggTqycYWHh2eqcpW129HoUoiyPlzRO0Dl+Mnpj/utHB9/lOfAEBhRHLS)
spring.datasource.qgdb.url
=
jdbc:mysql://10.142.16.191:4306/xzxt?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.qgdb.username
=
ENC(b7OXS5qvb3tVsaDbfqkFpg==)
spring.datasource.qgdb.password
=
ENC(PhkJovHr5GezJgLS+gfSFaID3dNlmUi5)
...
...
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