Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
R
refined-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
refined-platform
Commits
b663562e
Commit
b663562e
authored
2 years ago
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加服务追踪
parent
723f86a1
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
68 additions
and
131 deletions
+68
-131
refined-manager/src/main/java/com/mortals/xhx/daemon/task/RealTimeDownloadImgTaskImpl.java
.../mortals/xhx/daemon/task/RealTimeDownloadImgTaskImpl.java
+0
-112
refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncRegisterUserTaskImpl.java
...com/mortals/xhx/daemon/task/SyncRegisterUserTaskImpl.java
+49
-5
refined-manager/src/main/java/com/mortals/xhx/module/realtime/web/RealtimeDataflowController.java
...s/xhx/module/realtime/web/RealtimeDataflowController.java
+19
-13
refined-manager/src/main/resources/bootstrap.yml
refined-manager/src/main/resources/bootstrap.yml
+0
-1
No files found.
refined-manager/src/main/java/com/mortals/xhx/daemon/task/RealTimeDownloadImgTaskImpl.java
deleted
100644 → 0
View file @
723f86a1
package
com.mortals.xhx.daemon.task
;
import
cn.hutool.core.codec.Base64
;
import
cn.hutool.core.date.DateUtil
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.service.ITask
;
import
com.mortals.framework.service.ITaskExcuteService
;
import
com.mortals.framework.utils.ServletUtils
;
import
com.mortals.xhx.base.system.upload.service.UploadService
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
com.mortals.xhx.module.hik.face.model.req.img.ImgReq
;
import
com.mortals.xhx.module.hik.face.service.IHikFaceService
;
import
com.mortals.xhx.module.realtime.model.RealtimeDataflowEntity
;
import
com.mortals.xhx.module.realtime.model.RealtimeDataflowQuery
;
import
com.mortals.xhx.module.realtime.model.RealtimeDataflowStatEntity
;
import
com.mortals.xhx.module.realtime.model.RealtimeDataflowStatQuery
;
import
com.mortals.xhx.module.realtime.service.RealtimeDataflowService
;
import
com.mortals.xhx.module.realtime.service.RealtimeDataflowStatService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.ByteArrayInputStream
;
import
java.io.InputStream
;
import
java.util.Date
;
import
java.util.List
;
import
static
java
.
util
.
stream
.
Collectors
.
toList
;
/**
* 人流图片下载
*/
@Slf4j
//@Service("RealTimeDownloadImgTask")
public
class
RealTimeDownloadImgTaskImpl
implements
ITaskExcuteService
{
@Autowired
private
RealtimeDataflowService
realtimeDataflowService
;
@Autowired
private
IHikFaceService
faceService
;
@Autowired
private
UploadService
uploadService
;
@Override
public
void
excuteTask
(
ITask
task
)
throws
AppException
{
donwnloadSnap
();
}
private
void
donwnloadSnap
()
{
//下载最近一天的抓拍数据
RealtimeDataflowQuery
realtimeDataflowQuery
=
new
RealtimeDataflowQuery
();
realtimeDataflowQuery
.
setDetectTimeStart
(
DateUtil
.
yesterday
().
toStringDefaultTimeZone
());
realtimeDataflowQuery
.
setDetectTimeEnd
(
DateUtil
.
formatDateTime
(
new
Date
()));
PageInfo
pageInfo
=
new
PageInfo
();
pageInfo
.
setPrePageResult
(
50
);
List
<
RealtimeDataflowEntity
>
updateList
=
realtimeDataflowService
.
find
(
realtimeDataflowQuery
,
pageInfo
,
null
).
getList
()
.
parallelStream
()
.
filter
(
f
->
!
ObjectUtils
.
isEmpty
(
f
.
getPicUri
()))
.
filter
(
f
->
ObjectUtils
.
isEmpty
(
f
.
getPicture
()))
.
map
(
item
->
{
ImgReq
imgReq
=
new
ImgReq
();
imgReq
.
setUrl
(
item
.
getPicUri
());
Rest
<
String
>
rest
=
faceService
.
downloadPicture
(
imgReq
);
if
(
YesNoEnum
.
YES
.
getValue
()
==
rest
.
getCode
())
{
byte
[]
bytes
=
Base64
.
decode
(
rest
.
getData
());
if
(!
ObjectUtils
.
isEmpty
(
bytes
))
{
InputStream
inputStream
=
new
ByteArrayInputStream
(
bytes
);
MultipartFile
file
=
ServletUtils
.
getMultipartFile
(
inputStream
,
"snap.jpg"
);
String
filePath
=
uploadService
.
saveFileUpload
(
file
,
"file/fileupload/snap/"
+
DateUtil
.
today
(),
null
);
item
.
setPicture
(
filePath
);
item
.
setUpdateTime
(
new
Date
());
item
.
setUpdateUserId
(
1L
);
item
.
setUpdateUserName
(
"system"
);
log
.
info
(
"item:{},picPath:{}"
,
item
.
getId
(),
item
.
getPicture
());
return
item
;
}
}
return
null
;
}).
filter
(
f
->
f
!=
null
).
collect
(
toList
());
log
.
info
(
"更新图片列表:{}"
,
updateList
.
size
());
if
(!
ObjectUtils
.
isEmpty
(
updateList
))
{
realtimeDataflowService
.
update
(
updateList
,
null
);
}
}
@Override
public
void
stopTask
(
ITask
task
)
throws
AppException
{
}
public
static
void
main
(
String
[]
args
)
{
// 获取当前时间的小时数
int
hour
=
DateUtil
.
hour
(
new
Date
(),
true
);
// 获取当前时间所在小时的开始时间和结束时间
Date
startTime
=
DateUtil
.
beginOfHour
(
new
Date
());
Date
endTime
=
DateUtil
.
endOfHour
(
new
Date
());
// 格式化时间为指定格式
String
startTimeStr
=
DateUtil
.
format
(
startTime
,
"yyyy-MM-dd HH:00:00"
);
String
endTimeStr
=
DateUtil
.
format
(
endTime
,
"yyyy-MM-dd HH:59:59"
);
// 输出结果
System
.
out
.
println
(
"当前时间所在小时的开始时间:"
+
startTimeStr
);
System
.
out
.
println
(
"当前时间所在小时的结束时间:"
+
endTimeStr
);
}
}
This diff is collapsed.
Click to expand it.
refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncRegisterUserTaskImpl.java
View file @
b663562e
...
...
@@ -59,16 +59,62 @@ public class SyncRegisterUserTaskImpl implements ITaskExcuteService {
@Override
public
void
excuteTask
(
ITask
task
)
throws
AppException
{
log
.
info
(
"同步注册用户任务"
);
//
syncRegisterUsers();
syncRegisterUsersTotal
();
syncRegisterUsers
();
//
syncRegisterUsersTotal();
log
.
info
(
"同步注册用户任务完成"
);
log
.
info
(
"同步注册用户照片任务"
);
syncRegister
UsersPhoto
s
();
syncRegister
PhotoUser
s
();
log
.
info
(
"同步注册用户任务照片完成"
);
}
private
void
syncRegisterPhotoUsers
()
{
String
registerPath
=
"/inter/Actuary/peoplePhotoList"
;
String
url
=
host
+
registerPath
;
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"page"
,
1
);
params
.
put
(
"size"
,
10000
);
String
respJson
=
HttpUtil
.
get
(
url
,
params
);
Rest
<
RegisterDataInfo
>
rest
=
JSON
.
parseObject
(
respJson
,
new
TypeReference
<
Rest
<
RegisterDataInfo
>>()
{
});
if
(
rest
.
getCode
()
==
YesNoEnum
.
YES
.
getValue
())
{
List
<
DataItem
>
userList
=
rest
.
getData
().
getData
();
log
.
info
(
"注册用户有照片数量:{}"
,
userList
.
size
());
for
(
DataItem
user
:
userList
)
{
//判断是否本地已存在 不存在
if
(
ObjectUtils
.
isEmpty
(
user
.
getIdcardIDCardNo
()))
{
continue
;
}
PersonEntity
personServiceExtCache
=
personService
.
getExtCache
(
user
.
getIdcardIDCardNo
());
if
(
ObjectUtils
.
isEmpty
(
personServiceExtCache
)){
log
.
info
(
"用户不存在,idcard:{}"
,
user
.
getIdcardIDCardNo
());
continue
;
}
//判断是否有图片地址
if
(
ObjectUtils
.
isEmpty
(
personServiceExtCache
.
getSourcePhotoUri
())){
PersonEntity
personEntity
=
new
PersonEntity
();
personEntity
.
setId
(
personServiceExtCache
.
getCreateUserId
());
personEntity
.
setSourcePhotoUri
(
user
.
getIdcardDataPhotoFileName
());
//直接下载更新到本地
String
downUrl
=
url
+
personEntity
.
getSourcePhotoUri
();
// String downUrl = "http://192.168.0.98:11078/file/fileupload/1679215657433.jpg";
log
.
info
(
"downUrl:{}"
,
downUrl
);
byte
[]
bytes
=
HttpUtil
.
downloadBytes
(
downUrl
);
if
(
bytes
.
length
>
0
)
{
InputStream
inputStream
=
new
ByteArrayInputStream
(
bytes
);
MultipartFile
file
=
getMultipartFile
(
inputStream
,
"photo.jpg"
);
String
filePath
=
uploadService
.
saveFileUpload
(
file
,
"file/fileupload/photo"
,
null
);
personEntity
.
setPhoto
(
filePath
);
personService
.
update
(
personEntity
);
}
}
}
}
}
private
void
syncRegisterUsersTotal
()
{
log
.
info
(
"同步注册用户全量更新"
);
...
...
@@ -191,8 +237,6 @@ public class SyncRegisterUserTaskImpl implements ITaskExcuteService {
if
(!
ObjectUtils
.
isEmpty
(
newPerson
.
getSourcePhotoUri
())
&&
!
newPerson
.
getSourcePhotoUri
().
equals
(
oldPerson
.
getSourcePhotoUri
()))
{
return
false
;
}
return
true
;
}
...
...
This diff is collapsed.
Click to expand it.
refined-manager/src/main/java/com/mortals/xhx/module/realtime/web/RealtimeDataflowController.java
View file @
b663562e
package
com.mortals.xhx.module.realtime.web
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.OrderCol
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
...
...
@@ -8,51 +9,56 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
com.mortals.framework.model.Context
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.module.realtime.model.RealtimeDataflowEntity
;
import
com.mortals.xhx.module.realtime.service.RealtimeDataflowService
;
import
org.apache.commons.lang3.ArrayUtils
;
import
com.mortals.framework.util.StringUtils
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
com.alibaba.fastjson.JSONObject
;
import
java.util.Arrays
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
static
com
.
mortals
.
framework
.
ap
.
SysConstains
.*;
/**
*
* 人员发现记录
*
* @author zxfei
* @date 2023-04-09
*/
* 人员发现记录
*
* @author zxfei
* @date 2023-04-09
*/
@RestController
@RequestMapping
(
"realtime/dataflow"
)
public
class
RealtimeDataflowController
extends
BaseCRUDJsonBodyMappingController
<
RealtimeDataflowService
,
RealtimeDataflowEntity
,
Long
>
{
public
class
RealtimeDataflowController
extends
BaseCRUDJsonBodyMappingController
<
RealtimeDataflowService
,
RealtimeDataflowEntity
,
Long
>
{
@Autowired
private
ParamService
paramService
;
public
RealtimeDataflowController
(){
super
.
setModuleDesc
(
"人员发现记录"
);
public
RealtimeDataflowController
()
{
super
.
setModuleDesc
(
"人员发现记录"
);
}
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"isBooking"
,
paramService
.
getParamBySecondOrganize
(
"RealtimeDataflow"
,
"isBooking"
));
this
.
addDict
(
model
,
"isBooking"
,
paramService
.
getParamBySecondOrganize
(
"RealtimeDataflow"
,
"isBooking"
));
super
.
init
(
model
,
context
);
}
@Override
protected
void
doListBefore
(
RealtimeDataflowEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
query
.
setOrderField
(
"createTime"
);
query
.
setOrderKind
(
OrderCol
.
DESCENDING
);
query
.
setOrderColList
(
Arrays
.
asList
(
new
OrderCol
(
"createTime"
,
OrderCol
.
DESCENDING
)));
super
.
doListBefore
(
query
,
model
,
context
);
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
refined-manager/src/main/resources/bootstrap.yml
View file @
b663562e
...
...
@@ -56,7 +56,6 @@ hystrix:
isolation
:
thread
:
timeoutInMilliseconds
:
60000
sms
:
smsSendUrl
:
@
profiles.sms.smsSendUrl@
apiId
:
@
profiles.sms.apiId@
...
...
This diff is collapsed.
Click to expand it.
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