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
e9aa81d2
Commit
e9aa81d2
authored
Apr 16, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加同步预约和注册用户类
parent
04c193d0
Changes
34
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
5500 additions
and
1611 deletions
+5500
-1611
db/module.sql
db/module.sql
+29
-1
doc/精细化管理系统.docx
doc/精细化管理系统.docx
+0
-0
refined-manager/pom.xml
refined-manager/pom.xml
+2
-1
refined-manager/src/main/java/com/mortals/xhx/busiz/req/register/registerReq.java
.../java/com/mortals/xhx/busiz/req/register/registerReq.java
+13
-0
refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/register/AppointmentDataInfo.java
...m/mortals/xhx/busiz/rsp/register/AppointmentDataInfo.java
+26
-0
refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/register/AppointmentDataItem.java
...m/mortals/xhx/busiz/rsp/register/AppointmentDataItem.java
+52
-0
refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/register/DataItem.java
...ain/java/com/mortals/xhx/busiz/rsp/register/DataItem.java
+33
-0
refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/register/RegisterDataInfo.java
.../com/mortals/xhx/busiz/rsp/register/RegisterDataInfo.java
+26
-0
refined-manager/src/main/java/com/mortals/xhx/common/code/HikEventTypeEnum.java
...in/java/com/mortals/xhx/common/code/HikEventTypeEnum.java
+64
-0
refined-manager/src/main/java/com/mortals/xhx/common/key/ParamKey.java
...er/src/main/java/com/mortals/xhx/common/key/ParamKey.java
+3
-0
refined-manager/src/main/java/com/mortals/xhx/daemon/applicationservice/SubEventStartedService.java
...xhx/daemon/applicationservice/SubEventStartedService.java
+1
-2
refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncAppointmentPersonTaskImpl.java
...ortals/xhx/daemon/task/SyncAppointmentPersonTaskImpl.java
+211
-0
refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncRegisterUserPicTaskImpl.java
.../mortals/xhx/daemon/task/SyncRegisterUserPicTaskImpl.java
+150
-0
refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncRegisterUserTaskImpl.java
...com/mortals/xhx/daemon/task/SyncRegisterUserTaskImpl.java
+300
-0
refined-manager/src/main/java/com/mortals/xhx/module/appointment/dao/AppointmentPersonDao.java
...tals/xhx/module/appointment/dao/AppointmentPersonDao.java
+17
-0
refined-manager/src/main/java/com/mortals/xhx/module/appointment/dao/ibatis/AppointmentPersonDaoImpl.java
...dule/appointment/dao/ibatis/AppointmentPersonDaoImpl.java
+21
-0
refined-manager/src/main/java/com/mortals/xhx/module/appointment/model/AppointmentPersonEntity.java
...xhx/module/appointment/model/AppointmentPersonEntity.java
+290
-0
refined-manager/src/main/java/com/mortals/xhx/module/appointment/model/AppointmentPersonQuery.java
.../xhx/module/appointment/model/AppointmentPersonQuery.java
+1445
-0
refined-manager/src/main/java/com/mortals/xhx/module/appointment/model/vo/AppointmentPersonVo.java
.../xhx/module/appointment/model/vo/AppointmentPersonVo.java
+16
-0
refined-manager/src/main/java/com/mortals/xhx/module/appointment/service/AppointmentPersonService.java
.../module/appointment/service/AppointmentPersonService.java
+14
-0
refined-manager/src/main/java/com/mortals/xhx/module/appointment/service/impl/AppointmentPersonServiceImpl.java
...ppointment/service/impl/AppointmentPersonServiceImpl.java
+19
-0
refined-manager/src/main/java/com/mortals/xhx/module/appointment/web/AppointmentPersonController.java
...x/module/appointment/web/AppointmentPersonController.java
+49
-0
refined-manager/src/main/java/com/mortals/xhx/module/hik/event/model/req/callback/EventData.java
...ls/xhx/module/hik/event/model/req/callback/EventData.java
+14
-4
refined-manager/src/main/java/com/mortals/xhx/module/hik/event/model/req/callback/EventsItem.java
...s/xhx/module/hik/event/model/req/callback/EventsItem.java
+20
-2
refined-manager/src/main/java/com/mortals/xhx/module/hik/event/model/req/callback/FaceMatchItem.java
...hx/module/hik/event/model/req/callback/FaceMatchItem.java
+32
-5
refined-manager/src/main/java/com/mortals/xhx/module/hik/event/model/req/callback/FaceRecognitionResult.java
...e/hik/event/model/req/callback/FaceRecognitionResult.java
+7
-1
refined-manager/src/main/java/com/mortals/xhx/module/hik/event/model/req/callback/Snap.java
...mortals/xhx/module/hik/event/model/req/callback/Snap.java
+18
-0
refined-manager/src/main/java/com/mortals/xhx/module/hik/event/service/impl/HikEventServiceImpl.java
...hx/module/hik/event/service/impl/HikEventServiceImpl.java
+70
-2
refined-manager/src/main/java/com/mortals/xhx/module/person/model/PersonEntity.java
...ava/com/mortals/xhx/module/person/model/PersonEntity.java
+175
-133
refined-manager/src/main/java/com/mortals/xhx/module/person/model/PersonQuery.java
...java/com/mortals/xhx/module/person/model/PersonQuery.java
+906
-700
refined-manager/src/main/resources/bootstrap.yml
refined-manager/src/main/resources/bootstrap.yml
+2
-0
refined-manager/src/main/resources/sqlmap/module/appointment/AppointmentPersonMapper.xml
...ces/sqlmap/module/appointment/AppointmentPersonMapper.xml
+789
-0
refined-manager/src/main/resources/sqlmap/module/person/PersonMapper.xml
.../src/main/resources/sqlmap/module/person/PersonMapper.xml
+620
-760
refined-manager/src/test/java/com/mortals/httpclient/appointment/AppointmentPersonController.http
...s/httpclient/appointment/AppointmentPersonController.http
+66
-0
No files found.
db/module.sql
View file @
e9aa81d2
...
@@ -235,7 +235,9 @@ CREATE TABLE mortals_xhx_person(
...
@@ -235,7 +235,9 @@ CREATE TABLE mortals_xhx_person(
`phone`
varchar
(
20
)
COMMENT
'手机号码'
,
`phone`
varchar
(
20
)
COMMENT
'手机号码'
,
`birthday`
datetime
NOT
NULL
COMMENT
'出生日期'
,
`birthday`
datetime
NOT
NULL
COMMENT
'出生日期'
,
`address`
varchar
(
256
)
NOT
NULL
COMMENT
'家庭住址'
,
`address`
varchar
(
256
)
NOT
NULL
COMMENT
'家庭住址'
,
`photo`
varchar
(
256
)
NOT
NULL
COMMENT
'照片路径'
,
`photo`
varchar
(
128
)
NOT
NULL
COMMENT
'本地照片路径'
,
`sourcePhotoUri`
varchar
(
128
)
COMMENT
'原始照片路径'
,
`sourceId`
bigint
(
20
)
COMMENT
'Php原始注册用户id'
,
`remark`
varchar
(
256
)
COMMENT
'备注'
,
`remark`
varchar
(
256
)
COMMENT
'备注'
,
`source`
tinyint
(
2
)
COMMENT
'注册人员来源(0.预约系统,1.排队叫号系统,2.自助服务系统,99.其它)'
,
`source`
tinyint
(
2
)
COMMENT
'注册人员来源(0.预约系统,1.排队叫号系统,2.自助服务系统,99.其它)'
,
`inFaceHk`
tinyint
(
2
)
NOT
NULL
DEFAULT
'0'
COMMENT
'是否添加到海康人脸库(0.否,1.是)'
,
`inFaceHk`
tinyint
(
2
)
NOT
NULL
DEFAULT
'0'
COMMENT
'是否添加到海康人脸库(0.否,1.是)'
,
...
@@ -247,6 +249,7 @@ CREATE TABLE mortals_xhx_person(
...
@@ -247,6 +249,7 @@ CREATE TABLE mortals_xhx_person(
`updateTime`
datetime
COMMENT
'更新时间'
,
`updateTime`
datetime
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`id`
)
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'注册人员'
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'注册人员'
;
-- ----------------------------
-- ----------------------------
-- 设备业务表
-- 设备业务表
-- ----------------------------
-- ----------------------------
...
@@ -405,3 +408,28 @@ CREATE TABLE mortals_xhx_face_plan(
...
@@ -405,3 +408,28 @@ CREATE TABLE mortals_xhx_face_plan(
`updateUserId`
bigint
(
20
)
COMMENT
'更新人ID'
,
`updateUserId`
bigint
(
20
)
COMMENT
'更新人ID'
,
PRIMARY
KEY
(
`id`
)
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'人员识别计划信息'
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'人员识别计划信息'
;
-- ----------------------------
-- 预约人员表
-- ----------------------------
DROP
TABLE
IF
EXISTS
`mortals_xhx_appointment_person`
;
CREATE
TABLE
mortals_xhx_appointment_person
(
`id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
COMMENT
'主键ID,主键,自增长'
,
`siteId`
bigint
(
20
)
COMMENT
'站点Id'
,
`siteName`
varchar
(
256
)
COMMENT
'站点名称'
,
`personId`
bigint
(
20
)
NOT
NULL
COMMENT
'人员id'
,
`name`
varchar
(
50
)
COMMENT
'姓名'
,
`contactInfo`
varchar
(
50
)
COMMENT
'联系方式'
,
`idCard`
varchar
(
50
)
COMMENT
'身份证号码'
,
`bussinessId`
bigint
(
20
)
COMMENT
'业务Id'
,
`bussinessName`
varchar
(
255
)
COMMENT
'预约业务'
,
`appontmentNumber`
varchar
(
50
)
COMMENT
'预约编号'
,
`appointmentStartTime`
datetime
COMMENT
'预约开始时间'
,
`appointmentEndTime`
datetime
COMMENT
'预约结束时间'
,
`createUserId`
bigint
(
20
)
COMMENT
'创建人id'
,
`createTime`
datetime
COMMENT
'创建时间'
,
`updateUserId`
bigint
(
20
)
COMMENT
'更新人id'
,
`updateTime`
datetime
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'预约人员'
;
doc/精细化管理系统.docx
View file @
e9aa81d2
No preview for this file type
refined-manager/pom.xml
View file @
e9aa81d2
...
@@ -31,6 +31,7 @@
...
@@ -31,6 +31,7 @@
<profiles.log.path>
/mortals/app/logs
</profiles.log.path>
<profiles.log.path>
/mortals/app/logs
</profiles.log.path>
<profiles.log.level>
info
</profiles.log.level>
<profiles.log.level>
info
</profiles.log.level>
<profiles.publish.path>
/home/publish
</profiles.publish.path>
<profiles.publish.path>
/home/publish
</profiles.publish.path>
<profiles.php.host>
http://192.168.0.98:8090
</profiles.php.host>
<profiles.sms.smsSendUrl>
http://127.0.0.1:8089/api/index/index
</profiles.sms.smsSendUrl>
<profiles.sms.smsSendUrl>
http://127.0.0.1:8089/api/index/index
</profiles.sms.smsSendUrl>
<profiles.sms.apiId>
k6BVS1PEbyzcJAE4
</profiles.sms.apiId>
<profiles.sms.apiId>
k6BVS1PEbyzcJAE4
</profiles.sms.apiId>
<profiles.sms.type>
3
</profiles.sms.type>
<profiles.sms.type>
3
</profiles.sms.type>
...
@@ -55,10 +56,10 @@
...
@@ -55,10 +56,10 @@
<profiles.nacos.namespace>
smart-gov
</profiles.nacos.namespace>
<profiles.nacos.namespace>
smart-gov
</profiles.nacos.namespace>
<profiles.log.path>
/home/mortals/app/logs
</profiles.log.path>
<profiles.log.path>
/home/mortals/app/logs
</profiles.log.path>
<profiles.log.level>
INFO
</profiles.log.level>
<profiles.log.level>
INFO
</profiles.log.level>
<profiles.php.host>
http://192.168.0.98:8090
</profiles.php.host>
<profiles.sms.smsSendUrl>
http://127.0.0.1:8089/api/index/index
</profiles.sms.smsSendUrl>
<profiles.sms.smsSendUrl>
http://127.0.0.1:8089/api/index/index
</profiles.sms.smsSendUrl>
<profiles.sms.apiId>
k6BVS1PEbyzcJAE4
</profiles.sms.apiId>
<profiles.sms.apiId>
k6BVS1PEbyzcJAE4
</profiles.sms.apiId>
<profiles.sms.type>
3
</profiles.sms.type>
<profiles.sms.type>
3
</profiles.sms.type>
<profiles.hik.host>
8.136.255.30:8001
</profiles.hik.host>
<profiles.hik.host>
8.136.255.30:8001
</profiles.hik.host>
<profiles.hik.appKey>
25128371
</profiles.hik.appKey>
<profiles.hik.appKey>
25128371
</profiles.hik.appKey>
<profiles.hik.appSecret>
2m9RcPJOKq5j2QPQM4v5
</profiles.hik.appSecret>
<profiles.hik.appSecret>
2m9RcPJOKq5j2QPQM4v5
</profiles.hik.appSecret>
...
...
refined-manager/src/main/java/com/mortals/xhx/busiz/req/register/registerReq.java
0 → 100644
View file @
e9aa81d2
package
com.mortals.xhx.busiz.req.register
;
import
lombok.Data
;
@Data
public
class
registerReq
{
private
Integer
page
;
private
Integer
size
;
}
refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/register/AppointmentDataInfo.java
0 → 100644
View file @
e9aa81d2
package
com.mortals.xhx.busiz.rsp.register
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
AppointmentDataInfo
{
@JSONField
(
name
=
"per_page"
)
Integer
perPage
;
@JSONField
(
name
=
"total"
)
Integer
total
;
@JSONField
(
name
=
"data"
)
List
<
AppointmentDataItem
>
data
;
@JSONField
(
name
=
"last_page"
)
Integer
lastPage
;
@JSONField
(
name
=
"current_page"
)
Integer
currentPage
;
}
\ No newline at end of file
refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/register/AppointmentDataItem.java
0 → 100644
View file @
e9aa81d2
package
com.mortals.xhx.busiz.rsp.register
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
AppointmentDataItem
{
@JSONField
(
name
=
"birthday"
)
private
String
birthday
;
@JSONField
(
name
=
"business_name"
)
private
String
businessName
;
@JSONField
(
name
=
"idcard_IDCardNo"
)
private
String
idcardIDCardNo
;
@JSONField
(
name
=
"businessid"
)
private
Long
businessId
;
@JSONField
(
name
=
"endtime"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
endTime
;
@JSONField
(
name
=
"starttime"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
startTime
;
@JSONField
(
name
=
"idcard_Name"
)
private
String
idcardName
;
@JSONField
(
name
=
"number"
)
private
String
number
;
@JSONField
(
name
=
"idcard_Sex"
)
private
String
idcardSex
;
@JSONField
(
name
=
"idcard_Address"
)
private
String
idcardAddress
;
@JSONField
(
name
=
"peopleid"
)
private
Long
peopleId
;
@JSONField
(
name
=
"phone"
)
private
String
phone
;
@JSONField
(
name
=
"siteid"
)
private
Long
siteId
;
@JSONField
(
name
=
"idcardData_PhotoFileName"
)
private
String
idcardDataPhotoFileName
;
}
\ No newline at end of file
refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/register/DataItem.java
0 → 100644
View file @
e9aa81d2
package
com.mortals.xhx.busiz.rsp.register
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.Data
;
@Data
public
class
DataItem
{
@JSONField
(
name
=
"birthday"
)
String
birthday
;
@JSONField
(
name
=
"idcard_Address"
)
String
idcardAddress
;
@JSONField
(
name
=
"idcard_Sex"
)
String
idcardSex
;
@JSONField
(
name
=
"phone"
)
String
phone
;
@JSONField
(
name
=
"idcard_IDCardNo"
)
String
idcardIDCardNo
;
@JSONField
(
name
=
"id"
)
Long
id
;
@JSONField
(
name
=
"idcard_Name"
)
String
idcardName
;
@JSONField
(
name
=
"idcardData_PhotoFileName"
)
String
idcardDataPhotoFileName
;
}
\ No newline at end of file
refined-manager/src/main/java/com/mortals/xhx/busiz/rsp/register/RegisterDataInfo.java
0 → 100644
View file @
e9aa81d2
package
com.mortals.xhx.busiz.rsp.register
;
import
java.util.List
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.Data
;
@Data
public
class
RegisterDataInfo
{
@JSONField
(
name
=
"per_page"
)
Integer
perPage
;
@JSONField
(
name
=
"total"
)
Integer
total
;
@JSONField
(
name
=
"data"
)
List
<
DataItem
>
data
;
@JSONField
(
name
=
"last_page"
)
Integer
lastPage
;
@JSONField
(
name
=
"current_page"
)
Integer
currentPage
;
}
\ No newline at end of file
refined-manager/src/main/java/com/mortals/xhx/common/code/HikEventTypeEnum.java
0 → 100644
View file @
e9aa81d2
package
com.mortals.xhx.common.code
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
/**
* 海康事件类型
*
* @author zxfei
*/
public
enum
HikEventTypeEnum
{
重点人员识别事件
(
"event_face_recognition"
,
"重点人员识别事件"
);
private
String
value
;
private
String
desc
;
HikEventTypeEnum
(
String
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
public
String
getValue
()
{
return
this
.
value
;
}
public
String
getDesc
()
{
return
this
.
desc
;
}
public
static
HikEventTypeEnum
getByValue
(
String
value
)
{
for
(
HikEventTypeEnum
recognitionPlanTypeEnum
:
HikEventTypeEnum
.
values
())
{
if
(
recognitionPlanTypeEnum
.
getValue
()
==
value
)
{
return
recognitionPlanTypeEnum
;
}
}
return
null
;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public
static
Map
<
String
,
String
>
getEnumMap
(
String
...
eItem
)
{
Map
<
String
,
String
>
resultMap
=
new
LinkedHashMap
<>();
for
(
HikEventTypeEnum
item
:
HikEventTypeEnum
.
values
())
{
try
{
boolean
hasE
=
false
;
for
(
String
e
:
eItem
)
{
if
(
item
.
getValue
()
==
e
)
{
hasE
=
true
;
break
;
}
}
if
(!
hasE
)
{
resultMap
.
put
(
item
.
getValue
()
+
""
,
item
.
getDesc
());
}
}
catch
(
Exception
ex
)
{
}
}
return
resultMap
;
}
}
\ No newline at end of file
refined-manager/src/main/java/com/mortals/xhx/common/key/ParamKey.java
View file @
e9aa81d2
...
@@ -15,6 +15,9 @@ public class ParamKey {
...
@@ -15,6 +15,9 @@ public class ParamKey {
/** 人脸识别阈值 */
/** 人脸识别阈值 */
public
static
final
String
PARAM_FACE_THRESHOLD
=
"face_threshold"
;
public
static
final
String
PARAM_FACE_THRESHOLD
=
"face_threshold"
;
/** 人脸相似度 */
public
static
final
String
PARAM_FACE_SIMILARITY
=
"face_similarity"
;
/**
/**
* 系统参数:设备心跳间隔时间(单位:秒,默认值:60秒)
* 系统参数:设备心跳间隔时间(单位:秒,默认值:60秒)
*/
*/
...
...
refined-manager/src/main/java/com/mortals/xhx/daemon/applicationservice/SubEventStartedService.java
View file @
e9aa81d2
...
@@ -30,7 +30,6 @@ import com.mortals.xhx.module.hik.face.service.IHikPlanService;
...
@@ -30,7 +30,6 @@ import com.mortals.xhx.module.hik.face.service.IHikPlanService;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -39,7 +38,7 @@ import java.util.List;
...
@@ -39,7 +38,7 @@ import java.util.List;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Component
//
@Component
@Slf4j
@Slf4j
public
class
SubEventStartedService
implements
IApplicationStartedService
{
public
class
SubEventStartedService
implements
IApplicationStartedService
{
...
...
refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncAppointmentPersonTaskImpl.java
0 → 100644
View file @
e9aa81d2
package
com.mortals.xhx.daemon.task
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.IdcardUtil
;
import
cn.hutool.http.HttpUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.service.ITask
;
import
com.mortals.framework.service.ITaskExcuteService
;
import
com.mortals.xhx.busiz.rsp.register.AppointmentDataInfo
;
import
com.mortals.xhx.busiz.rsp.register.AppointmentDataItem
;
import
com.mortals.xhx.busiz.rsp.register.DataItem
;
import
com.mortals.xhx.busiz.rsp.register.RegisterDataInfo
;
import
com.mortals.xhx.common.code.SourceEnum
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
com.mortals.xhx.module.appointment.model.AppointmentPersonEntity
;
import
com.mortals.xhx.module.appointment.model.AppointmentPersonQuery
;
import
com.mortals.xhx.module.appointment.service.AppointmentPersonService
;
import
com.mortals.xhx.module.person.model.PersonEntity
;
import
com.mortals.xhx.module.person.model.PersonQuery
;
import
com.mortals.xhx.module.person.service.PersonService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.fileupload.FileItem
;
import
org.apache.commons.fileupload.FileItemFactory
;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.http.MediaType
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.commons.CommonsMultipartFile
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.OutputStream
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* 同步预约人数。
*/
@Slf4j
@Service
(
"SyncRegisterUserPicTask"
)
public
class
SyncAppointmentPersonTaskImpl
implements
ITaskExcuteService
{
@Autowired
private
PersonService
personService
;
@Autowired
private
AppointmentPersonService
appointmentPersonService
;
@Value
(
"${php.host:''}"
)
private
String
host
;
@Override
public
void
excuteTask
(
ITask
task
)
throws
AppException
{
log
.
info
(
"同步今天预约用户任务"
);
syncAppointmentPerson
();
log
.
info
(
"同步今天预约用户任务完成"
);
}
private
void
syncAppointmentPerson
()
{
//根据数量查询
String
registerPath
=
"/inter/Actuary/orderPeople"
;
String
url
=
host
+
registerPath
;
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"page"
,
1
);
params
.
put
(
"size"
,
1
);
String
respJson
=
HttpUtil
.
get
(
url
,
params
);
Rest
<
AppointmentDataInfo
>
rest
=
JSON
.
parseObject
(
respJson
,
new
TypeReference
<
Rest
<
AppointmentDataInfo
>>()
{
});
if
(
rest
.
getCode
()
==
YesNoEnum
.
YES
.
getValue
())
{
Integer
total
=
rest
.
getData
().
getTotal
();
if
(
total
>
1
)
{
params
=
new
HashMap
<>();
params
.
put
(
"page"
,
1
);
params
.
put
(
"size"
,
total
);
respJson
=
HttpUtil
.
get
(
url
,
params
);
Rest
<
AppointmentDataInfo
>
restTotal
=
JSON
.
parseObject
(
respJson
,
new
TypeReference
<
Rest
<
AppointmentDataInfo
>>()
{
});
if
(
restTotal
.
getCode
()
==
YesNoEnum
.
YES
.
getValue
())
{
//同步今天预约用户
List
<
AppointmentDataItem
>
appointUserList
=
restTotal
.
getData
().
getData
();
log
.
info
(
"预约用户总数量:{}"
,
appointUserList
.
size
());
if
(!
ObjectUtils
.
isEmpty
(
appointUserList
))
{
//查询今天添加的预约 并删除
AppointmentPersonQuery
appointmentPersonQuery
=
new
AppointmentPersonQuery
();
appointmentPersonQuery
.
setCreateTimeStart
(
DateUtil
.
format
(
new
Date
(),
"yyyy-MM-dd"
));
appointmentPersonQuery
.
setCreateTimeEnd
(
DateUtil
.
format
(
new
Date
(),
"yyyy-MM-dd"
));
Long
[]
ids
=
appointmentPersonService
.
find
(
appointmentPersonQuery
).
stream
().
map
(
i
->
i
.
getId
()).
toArray
(
Long
[]::
new
);
if
(!
ObjectUtils
.
isEmpty
(
ids
)){
appointmentPersonService
.
remove
(
ids
,
null
);
}
List
<
AppointmentPersonEntity
>
newUserList
=
appointUserList
.
stream
().
map
(
user
->
{
AppointmentPersonEntity
appointmentPersonEntity
=
new
AppointmentPersonEntity
();
appointmentPersonEntity
.
initAttrValue
();
PersonEntity
personCache
=
personService
.
getExtCache
(
user
.
getIdcardIDCardNo
());
appointmentPersonEntity
.
setPersonId
(
personCache
==
null
?
-
1
:
personCache
.
getId
());
appointmentPersonEntity
.
setName
(
personCache
==
null
?
""
:
personCache
.
getName
());
appointmentPersonEntity
.
setSiteId
(
user
.
getSiteId
());
appointmentPersonEntity
.
setIdCard
(
user
.
getIdcardIDCardNo
());
appointmentPersonEntity
.
setAppointmentStartTime
(
user
.
getStartTime
());
appointmentPersonEntity
.
setAppointmentEndTime
(
user
.
getEndTime
());
appointmentPersonEntity
.
setBussinessId
(
user
.
getBusinessId
());
appointmentPersonEntity
.
setBussinessName
(
user
.
getBusinessName
());
appointmentPersonEntity
.
setContactInfo
(
user
.
getPhone
());
appointmentPersonEntity
.
setAppontmentNumber
(
user
.
getNumber
());
appointmentPersonEntity
.
setCreateUserId
(
1L
);
appointmentPersonEntity
.
setCreateUserName
(
"系统管理员"
);
appointmentPersonEntity
.
setCreateTime
(
new
Date
());
return
appointmentPersonEntity
;
}).
collect
(
Collectors
.
toList
());
if
(!
ObjectUtils
.
isEmpty
(
newUserList
))
{
log
.
info
(
"注册用户新增,size:{}"
,
newUserList
.
size
());
appointmentPersonService
.
save
(
newUserList
);
}
}
}
}
}
}
@Override
public
void
stopTask
(
ITask
task
)
throws
AppException
{
}
/**
* 获取封装得MultipartFile
*
* @param inputStream inputStream
* @param fileName fileName
* @return MultipartFile
*/
public
MultipartFile
getMultipartFile
(
InputStream
inputStream
,
String
fileName
)
{
FileItem
fileItem
=
createFileItem
(
inputStream
,
fileName
);
//CommonsMultipartFile是feign对multipartFile的封装,但是要FileItem类对象
return
new
CommonsMultipartFile
(
fileItem
);
}
/**
* FileItem类对象创建
*
* @param inputStream inputStream
* @param fileName fileName
* @return FileItem
*/
public
FileItem
createFileItem
(
InputStream
inputStream
,
String
fileName
)
{
FileItemFactory
factory
=
new
DiskFileItemFactory
(
16
,
null
);
String
textFieldName
=
"file"
;
FileItem
item
=
factory
.
createItem
(
textFieldName
,
MediaType
.
MULTIPART_FORM_DATA_VALUE
,
true
,
fileName
);
int
bytesRead
=
0
;
byte
[]
buffer
=
new
byte
[
10
*
1024
*
1024
];
OutputStream
os
=
null
;
//使用输出流输出输入流的字节
try
{
os
=
item
.
getOutputStream
();
while
((
bytesRead
=
inputStream
.
read
(
buffer
,
0
,
8192
))
!=
-
1
)
{
os
.
write
(
buffer
,
0
,
bytesRead
);
}
inputStream
.
close
();
}
catch
(
IOException
e
)
{
log
.
error
(
"Stream copy exception"
,
e
);
throw
new
IllegalArgumentException
(
"文件上传失败"
);
}
finally
{
if
(
os
!=
null
)
{
try
{
os
.
close
();
}
catch
(
IOException
e
)
{
log
.
error
(
"Stream close exception"
,
e
);
}
}
if
(
inputStream
!=
null
)
{
try
{
inputStream
.
close
();
}
catch
(
IOException
e
)
{
log
.
error
(
"Stream close exception"
,
e
);
}
}
}
return
item
;
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
DateUtil
.
parse
(
"19951071"
,
"yyyyMMdd"
));
}
}
refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncRegisterUserPicTaskImpl.java
0 → 100644
View file @
e9aa81d2
package
com.mortals.xhx.daemon.task
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.http.HttpUtil
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.service.ITask
;
import
com.mortals.framework.service.ITaskExcuteService
;
import
com.mortals.xhx.base.system.upload.service.UploadService
;
import
com.mortals.xhx.module.person.model.PersonEntity
;
import
com.mortals.xhx.module.person.model.PersonQuery
;
import
com.mortals.xhx.module.person.service.PersonService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.fileupload.FileItem
;
import
org.apache.commons.fileupload.FileItemFactory
;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.http.MediaType
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.commons.CommonsMultipartFile
;
import
java.io.ByteArrayInputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.OutputStream
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 同步注册用户与预约人数。
*/
@Slf4j
@Service
(
"SyncRegisterUserPicTask"
)
public
class
SyncRegisterUserPicTaskImpl
implements
ITaskExcuteService
{
@Autowired
private
PersonService
personService
;
@Autowired
private
UploadService
uploadService
;
@Value
(
"${php.host:''}"
)
private
String
host
;
@Override
public
void
excuteTask
(
ITask
task
)
throws
AppException
{
log
.
info
(
"同步注册用户照片任务"
);
syncRegisterUsersPhotos
();
log
.
info
(
"同步注册用户任务照片完成"
);
}
private
void
syncRegisterUsersPhotos
()
{
String
url
=
host
.
endsWith
(
"/"
)
?
host
:
host
+
"/"
;
List
<
PersonEntity
>
collect
=
personService
.
find
(
new
PersonQuery
()).
stream
()
.
filter
(
item
->
ObjectUtils
.
isEmpty
(
item
.
getPhoto
()))
.
filter
(
item
->
!
ObjectUtils
.
isEmpty
(
item
.
getSourcePhotoUri
())).
collect
(
Collectors
.
toList
());
for
(
PersonEntity
personEntity
:
collect
)
{
//下载图片到本地保存并更新
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"
,
null
);
personEntity
.
setPhoto
(
filePath
);
personService
.
update
(
personEntity
);
}
}
}
@Override
public
void
stopTask
(
ITask
task
)
throws
AppException
{
}
/**
* 获取封装得MultipartFile
*
* @param inputStream inputStream
* @param fileName fileName
* @return MultipartFile
*/
public
MultipartFile
getMultipartFile
(
InputStream
inputStream
,
String
fileName
)
{
FileItem
fileItem
=
createFileItem
(
inputStream
,
fileName
);
//CommonsMultipartFile是feign对multipartFile的封装,但是要FileItem类对象
return
new
CommonsMultipartFile
(
fileItem
);
}
/**
* FileItem类对象创建
*
* @param inputStream inputStream
* @param fileName fileName
* @return FileItem
*/
public
FileItem
createFileItem
(
InputStream
inputStream
,
String
fileName
)
{
FileItemFactory
factory
=
new
DiskFileItemFactory
(
16
,
null
);
String
textFieldName
=
"file"
;
FileItem
item
=
factory
.
createItem
(
textFieldName
,
MediaType
.
MULTIPART_FORM_DATA_VALUE
,
true
,
fileName
);
int
bytesRead
=
0
;
byte
[]
buffer
=
new
byte
[
10
*
1024
*
1024
];
OutputStream
os
=
null
;
//使用输出流输出输入流的字节
try
{
os
=
item
.
getOutputStream
();
while
((
bytesRead
=
inputStream
.
read
(
buffer
,
0
,
8192
))
!=
-
1
)
{
os
.
write
(
buffer
,
0
,
bytesRead
);
}
inputStream
.
close
();
}
catch
(
IOException
e
)
{
log
.
error
(
"Stream copy exception"
,
e
);
throw
new
IllegalArgumentException
(
"文件上传失败"
);
}
finally
{
if
(
os
!=
null
)
{
try
{
os
.
close
();
}
catch
(
IOException
e
)
{
log
.
error
(
"Stream close exception"
,
e
);
}
}
if
(
inputStream
!=
null
)
{
try
{
inputStream
.
close
();
}
catch
(
IOException
e
)
{
log
.
error
(
"Stream close exception"
,
e
);
}
}
}
return
item
;
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
DateUtil
.
parse
(
"19951071"
,
"yyyyMMdd"
));
}
}
refined-manager/src/main/java/com/mortals/xhx/daemon/task/SyncRegisterUserTaskImpl.java
0 → 100644
View file @
e9aa81d2
This diff is collapsed.
Click to expand it.
refined-manager/src/main/java/com/mortals/xhx/module/appointment/dao/AppointmentPersonDao.java
0 → 100644
View file @
e9aa81d2
package
com.mortals.xhx.module.appointment.dao
;
import
com.mortals.framework.dao.ICRUDDao
;
import
com.mortals.xhx.module.appointment.model.AppointmentPersonEntity
;
import
java.util.List
;
/**
* 预约人员记录Dao
* 预约人员记录 DAO接口
*
* @author zxfei
* @date 2023-04-16
*/
public
interface
AppointmentPersonDao
extends
ICRUDDao
<
AppointmentPersonEntity
,
Long
>{
}
refined-manager/src/main/java/com/mortals/xhx/module/appointment/dao/ibatis/AppointmentPersonDaoImpl.java
0 → 100644
View file @
e9aa81d2
package
com.mortals.xhx.module.appointment.dao.ibatis
;
import
org.springframework.stereotype.Repository
;
import
com.mortals.xhx.module.appointment.dao.AppointmentPersonDao
;
import
com.mortals.xhx.module.appointment.model.AppointmentPersonEntity
;
import
java.util.Date
;
import
com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis
;
import
java.util.List
;
/**
* 预约人员记录DaoImpl DAO接口
*
* @author zxfei
* @date 2023-04-16
*/
@Repository
(
"appointmentPersonDao"
)
public
class
AppointmentPersonDaoImpl
extends
BaseCRUDDaoMybatis
<
AppointmentPersonEntity
,
Long
>
implements
AppointmentPersonDao
{
}
refined-manager/src/main/java/com/mortals/xhx/module/appointment/model/AppointmentPersonEntity.java
0 → 100644
View file @
e9aa81d2
package
com.mortals.xhx.module.appointment.model
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.ArrayList
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.appointment.model.vo.AppointmentPersonVo
;
/**
* 预约人员记录实体对象
*
* @author zxfei
* @date 2023-04-16
*/
public
class
AppointmentPersonEntity
extends
AppointmentPersonVo
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 站点Id
*/
private
Long
siteId
;
/**
* 站点名称
*/
private
String
siteName
;
/**
* 人员id
*/
@Excel
(
name
=
"人员id"
)
private
Long
personId
;
/**
* 姓名
*/
@Excel
(
name
=
"姓名"
)
private
String
name
;
/**
* 联系方式
*/
@Excel
(
name
=
"联系方式"
)
private
String
contactInfo
;
/**
* 身份证号码
*/
@Excel
(
name
=
"身份证号码"
)
private
String
idCard
;
/**
* 业务Id
*/
private
Long
bussinessId
;
/**
* 预约业务
*/
@Excel
(
name
=
"预约业务"
)
private
String
bussinessName
;
/**
* 预约编号
*/
@Excel
(
name
=
"预约编号"
)
private
String
appontmentNumber
;
/**
* 预约开始时间
*/
@Excel
(
name
=
"预约开始时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
private
Date
appointmentStartTime
;
/**
* 预约结束时间
*/
@Excel
(
name
=
"预约结束时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
private
Date
appointmentEndTime
;
public
AppointmentPersonEntity
(){}
/**
* 获取 站点Id
* @return Long
*/
public
Long
getSiteId
(){
return
siteId
;
}
/**
* 设置 站点Id
* @param siteId
*/
public
void
setSiteId
(
Long
siteId
){
this
.
siteId
=
siteId
;
}
/**
* 获取 站点名称
* @return String
*/
public
String
getSiteName
(){
return
siteName
;
}
/**
* 设置 站点名称
* @param siteName
*/
public
void
setSiteName
(
String
siteName
){
this
.
siteName
=
siteName
;
}
/**
* 获取 人员id
* @return Long
*/
public
Long
getPersonId
(){
return
personId
;
}
/**
* 设置 人员id
* @param personId
*/
public
void
setPersonId
(
Long
personId
){
this
.
personId
=
personId
;
}
/**
* 获取 姓名
* @return String
*/
public
String
getName
(){
return
name
;
}
/**
* 设置 姓名
* @param name
*/
public
void
setName
(
String
name
){
this
.
name
=
name
;
}
/**
* 获取 联系方式
* @return String
*/
public
String
getContactInfo
(){
return
contactInfo
;
}
/**
* 设置 联系方式
* @param contactInfo
*/
public
void
setContactInfo
(
String
contactInfo
){
this
.
contactInfo
=
contactInfo
;
}
/**
* 获取 身份证号码
* @return String
*/
public
String
getIdCard
(){
return
idCard
;
}
/**
* 设置 身份证号码
* @param idCard
*/
public
void
setIdCard
(
String
idCard
){
this
.
idCard
=
idCard
;
}
/**
* 获取 业务Id
* @return Long
*/
public
Long
getBussinessId
(){
return
bussinessId
;
}
/**
* 设置 业务Id
* @param bussinessId
*/
public
void
setBussinessId
(
Long
bussinessId
){
this
.
bussinessId
=
bussinessId
;
}
/**
* 获取 预约业务
* @return String
*/
public
String
getBussinessName
(){
return
bussinessName
;
}
/**
* 设置 预约业务
* @param bussinessName
*/
public
void
setBussinessName
(
String
bussinessName
){
this
.
bussinessName
=
bussinessName
;
}
/**
* 获取 预约编号
* @return String
*/
public
String
getAppontmentNumber
(){
return
appontmentNumber
;
}
/**
* 设置 预约编号
* @param appontmentNumber
*/
public
void
setAppontmentNumber
(
String
appontmentNumber
){
this
.
appontmentNumber
=
appontmentNumber
;
}
/**
* 获取 预约开始时间
* @return Date
*/
public
Date
getAppointmentStartTime
(){
return
appointmentStartTime
;
}
/**
* 设置 预约开始时间
* @param appointmentStartTime
*/
public
void
setAppointmentStartTime
(
Date
appointmentStartTime
){
this
.
appointmentStartTime
=
appointmentStartTime
;
}
/**
* 获取 预约结束时间
* @return Date
*/
public
Date
getAppointmentEndTime
(){
return
appointmentEndTime
;
}
/**
* 设置 预约结束时间
* @param appointmentEndTime
*/
public
void
setAppointmentEndTime
(
Date
appointmentEndTime
){
this
.
appointmentEndTime
=
appointmentEndTime
;
}
@Override
public
int
hashCode
()
{
return
this
.
getId
().
hashCode
();
}
@Override
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
null
)
return
false
;
if
(
obj
instanceof
AppointmentPersonEntity
)
{
AppointmentPersonEntity
tmp
=
(
AppointmentPersonEntity
)
obj
;
if
(
this
.
getId
()
==
tmp
.
getId
())
{
return
true
;
}
}
return
false
;
}
public
String
toString
(){
StringBuilder
sb
=
new
StringBuilder
(
""
);
sb
.
append
(
",siteId:"
).
append
(
getSiteId
());
sb
.
append
(
",siteName:"
).
append
(
getSiteName
());
sb
.
append
(
",personId:"
).
append
(
getPersonId
());
sb
.
append
(
",name:"
).
append
(
getName
());
sb
.
append
(
",contactInfo:"
).
append
(
getContactInfo
());
sb
.
append
(
",idCard:"
).
append
(
getIdCard
());
sb
.
append
(
",bussinessId:"
).
append
(
getBussinessId
());
sb
.
append
(
",bussinessName:"
).
append
(
getBussinessName
());
sb
.
append
(
",appontmentNumber:"
).
append
(
getAppontmentNumber
());
sb
.
append
(
",appointmentStartTime:"
).
append
(
getAppointmentStartTime
());
sb
.
append
(
",appointmentEndTime:"
).
append
(
getAppointmentEndTime
());
return
sb
.
toString
();
}
public
void
initAttrValue
(){
this
.
siteId
=
null
;
this
.
siteName
=
""
;
this
.
personId
=
null
;
this
.
name
=
""
;
this
.
contactInfo
=
""
;
this
.
idCard
=
""
;
this
.
bussinessId
=
null
;
this
.
bussinessName
=
""
;
this
.
appontmentNumber
=
""
;
this
.
appointmentStartTime
=
null
;
this
.
appointmentEndTime
=
null
;
}
}
\ No newline at end of file
refined-manager/src/main/java/com/mortals/xhx/module/appointment/model/AppointmentPersonQuery.java
0 → 100644
View file @
e9aa81d2
This diff is collapsed.
Click to expand it.
refined-manager/src/main/java/com/mortals/xhx/module/appointment/model/vo/AppointmentPersonVo.java
0 → 100644
View file @
e9aa81d2
package
com.mortals.xhx.module.appointment.model.vo
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.appointment.model.AppointmentPersonEntity
;
import
java.util.ArrayList
;
import
java.util.List
;
import
lombok.Data
;
/**
* 预约人员记录视图对象
*
* @author zxfei
* @date 2023-04-16
*/
@Data
public
class
AppointmentPersonVo
extends
BaseEntityLong
{
}
\ No newline at end of file
refined-manager/src/main/java/com/mortals/xhx/module/appointment/service/AppointmentPersonService.java
0 → 100644
View file @
e9aa81d2
package
com.mortals.xhx.module.appointment.service
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.appointment.model.AppointmentPersonEntity
;
/**
* AppointmentPersonService
*
* 预约人员记录 service接口
*
* @author zxfei
* @date 2023-04-16
*/
public
interface
AppointmentPersonService
extends
ICRUDService
<
AppointmentPersonEntity
,
Long
>{
}
\ No newline at end of file
refined-manager/src/main/java/com/mortals/xhx/module/appointment/service/impl/AppointmentPersonServiceImpl.java
0 → 100644
View file @
e9aa81d2
package
com.mortals.xhx.module.appointment.service.impl
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.xhx.module.appointment.dao.AppointmentPersonDao
;
import
com.mortals.xhx.module.appointment.model.AppointmentPersonEntity
;
import
com.mortals.xhx.module.appointment.service.AppointmentPersonService
;
/**
* AppointmentPersonService
* 预约人员记录 service实现
*
* @author zxfei
* @date 2023-04-16
*/
@Service
(
"appointmentPersonService"
)
public
class
AppointmentPersonServiceImpl
extends
AbstractCRUDServiceImpl
<
AppointmentPersonDao
,
AppointmentPersonEntity
,
Long
>
implements
AppointmentPersonService
{
}
\ No newline at end of file
refined-manager/src/main/java/com/mortals/xhx/module/appointment/web/AppointmentPersonController.java
0 → 100644
View file @
e9aa81d2
package
com.mortals.xhx.module.appointment.web
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
org.springframework.beans.factory.annotation.Autowired
;
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.appointment.model.AppointmentPersonEntity
;
import
com.mortals.xhx.module.appointment.service.AppointmentPersonService
;
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-16
*/
@RestController
@RequestMapping
(
"appointment/person"
)
public
class
AppointmentPersonController
extends
BaseCRUDJsonBodyMappingController
<
AppointmentPersonService
,
AppointmentPersonEntity
,
Long
>
{
@Autowired
private
ParamService
paramService
;
public
AppointmentPersonController
(){
super
.
setModuleDesc
(
"预约人员记录"
);
}
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
super
.
init
(
model
,
context
);
}
}
\ No newline at end of file
refined-manager/src/main/java/com/mortals/xhx/module/hik/event/model/req/callback/EventData.java
View file @
e9aa81d2
package
com.mortals.xhx.module.hik.event.model.req.callback
;
package
com.mortals.xhx.module.hik.event.model.req.callback
;
import
java.util.List
;
import
java.util.List
;
import
lombok.Data
;
import
lombok.Data
;
@Data
@Data
public
class
EventData
{
public
class
EventData
{
/**
* 识别结果
*/
private
FaceRecognitionResult
faceRecognitionResult
;
private
FaceRecognitionResult
faceRecognitionResult
;
/**
* 源事件的唯一标识,即转自的人脸比对事件的唯一标识
*/
private
String
srcEventId
;
private
String
srcEventId
;
/**
* 触发重点人员识别事件的报警的抓拍点的信息
*/
private
List
<
ResInfoItem
>
resInfo
;
private
List
<
ResInfoItem
>
resInfo
;
}
}
\ No newline at end of file
refined-manager/src/main/java/com/mortals/xhx/module/hik/event/model/req/callback/EventsItem.java
View file @
e9aa81d2
...
@@ -8,15 +8,33 @@ import java.util.Date;
...
@@ -8,15 +8,33 @@ import java.util.Date;
@Data
@Data
public
class
EventsItem
{
public
class
EventsItem
{
//事件唯一标识
private
String
eventId
;
private
String
eventId
;
//
private
EventData
data
;
private
EventData
data
;
private
int
eventType
;
//事件类型
private
Integer
eventType
;
//事件源编号,物理设备是资源编号
private
String
srcIndex
;
private
String
srcIndex
;
//事件类别
private
String
ability
;
private
String
ability
;
//事件源类型
private
String
srcType
;
private
String
srcType
;
private
int
timeout
;
//脉冲超时时间
private
Integer
timeout
;
@JSONField
(
format
=
"yyyy-MM-dd'T'HH:mm:ssXXX"
)
@JSONField
(
format
=
"yyyy-MM-dd'T'HH:mm:ssXXX"
)
/**
* 事件发生时间(设备时间)
*/
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
)
private
Date
happenTime
;
private
Date
happenTime
;
/**
* 事件状态
* 0-瞬时
* 1-开始
* 2-停止
* 3-事件脉冲
* 4-事件联动结果更新
*/
private
int
status
;
private
int
status
;
}
}
\ No newline at end of file
refined-manager/src/main/java/com/mortals/xhx/module/hik/event/model/req/callback/FaceMatchItem.java
View file @
e9aa81d2
...
@@ -4,13 +4,40 @@ import lombok.Data;
...
@@ -4,13 +4,40 @@ import lombok.Data;
@Data
@Data
public
class
FaceMatchItem
{
public
class
FaceMatchItem
{
private
String
faceGroupName
;
/**
private
String
faceInfoSex
;
* 目标所属的人脸分组的唯一标识
private
Double
similarity
;
*/
private
String
facePicUrl
;
private
String
certificate
;
private
String
faceGroupCode
;
private
String
faceGroupCode
;
/**
* 目标所属的人脸分组的名称
*/
private
String
faceGroupName
;
/**
* 目标对应的人脸的唯一标识
*/
private
String
faceInfoCode
;
private
String
faceInfoCode
;
/**
* 目标对应的人脸的名称
*/
private
String
faceInfoName
;
private
String
faceInfoName
;
/**
* 目标对应的人脸的性别
*/
private
String
faceInfoSex
;
/**
* 目标对应的人脸的证件类型
*/
private
String
certificateType
;
private
String
certificateType
;
/**
* 目标对应的人脸的证件号码
*/
private
String
certificate
;
/**
* 目标人脸和抓拍人脸的相似度
*/
private
Double
similarity
;
/**
* 目标人脸的图片
*/
private
String
facePicUrl
;
}
}
\ No newline at end of file
refined-manager/src/main/java/com/mortals/xhx/module/hik/event/model/req/callback/FaceRecognitionResult.java
View file @
e9aa81d2
...
@@ -5,6 +5,12 @@ import lombok.Data;
...
@@ -5,6 +5,12 @@ import lombok.Data;
@Data
@Data
public
class
FaceRecognitionResult
{
public
class
FaceRecognitionResult
{
private
List
<
FaceMatchItem
>
faceMatch
;
/**
* 抓拍信息
*/
private
Snap
snap
;
private
Snap
snap
;
/**
* 识别到的目标信息 可能有1-5个目标
*/
private
List
<
FaceMatchItem
>
faceMatch
;
}
}
\ No newline at end of file
refined-manager/src/main/java/com/mortals/xhx/module/hik/event/model/req/callback/Snap.java
View file @
e9aa81d2
...
@@ -6,10 +6,28 @@ import java.util.Date;
...
@@ -6,10 +6,28 @@ import java.util.Date;
@Data
@Data
public
class
Snap
{
public
class
Snap
{
/**
* 人脸图片URI
*/
private
String
faceUrl
;
private
String
faceUrl
;
/**
* 抓拍图片的时间
*/
private
Date
faceTime
;
private
Date
faceTime
;
/**
* 是否戴眼镜
*/
private
String
glass
;
private
String
glass
;
/**
* 性别
*/
private
String
gender
;
private
String
gender
;
/**
* 年龄段
*/
private
String
ageGroup
;
private
String
ageGroup
;
/**
* 背景图片URL
*/
private
String
bkgUrl
;
private
String
bkgUrl
;
}
}
\ No newline at end of file
refined-manager/src/main/java/com/mortals/xhx/module/hik/event/service/impl/HikEventServiceImpl.java
View file @
e9aa81d2
...
@@ -4,16 +4,25 @@ import com.alibaba.fastjson.JSON;
...
@@ -4,16 +4,25 @@ import com.alibaba.fastjson.JSON;
import
com.alibaba.fastjson.TypeReference
;
import
com.alibaba.fastjson.TypeReference
;
import
com.hikvision.artemis.sdk.ArtemisHttpUtil
;
import
com.hikvision.artemis.sdk.ArtemisHttpUtil
;
import
com.hikvision.artemis.sdk.config.ArtemisConfig
;
import
com.hikvision.artemis.sdk.config.ArtemisConfig
;
import
com.mortals.framework.ap.GlobalSysInfo
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.util.DataUtil
;
import
com.mortals.xhx.common.code.HikEventTypeEnum
;
import
com.mortals.xhx.common.key.ParamKey
;
import
com.mortals.xhx.module.hik.AbstractHikService
;
import
com.mortals.xhx.module.hik.AbstractHikService
;
import
com.mortals.xhx.module.hik.HikApiRest
;
import
com.mortals.xhx.module.hik.HikApiRest
;
import
com.mortals.xhx.module.hik.event.model.req.callback.
EventRecognBlackReq
;
import
com.mortals.xhx.module.hik.event.model.req.callback.
*
;
import
com.mortals.xhx.module.hik.event.model.req.sub.EventSubReq
;
import
com.mortals.xhx.module.hik.event.model.req.sub.EventSubReq
;
import
com.mortals.xhx.module.hik.event.model.rsp.EventInfo
;
import
com.mortals.xhx.module.hik.event.model.rsp.EventInfo
;
import
com.mortals.xhx.module.hik.event.service.IHikEventService
;
import
com.mortals.xhx.module.hik.event.service.IHikEventService
;
import
com.mortals.xhx.module.person.service.PersonService
;
import
com.mortals.xhx.module.realtime.model.RealtimeDataflowEntity
;
import
com.mortals.xhx.module.realtime.service.RealtimeDataflowService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -26,6 +35,10 @@ import java.util.List;
...
@@ -26,6 +35,10 @@ import java.util.List;
@Slf4j
@Slf4j
public
class
HikEventServiceImpl
extends
AbstractHikService
implements
IHikEventService
{
public
class
HikEventServiceImpl
extends
AbstractHikService
implements
IHikEventService
{
@Autowired
private
RealtimeDataflowService
dataflowService
;
@Autowired
private
PersonService
personService
;
@Override
@Override
public
Rest
<
String
>
subEvent
(
EventSubReq
eventSubReq
)
{
public
Rest
<
String
>
subEvent
(
EventSubReq
eventSubReq
)
{
...
@@ -92,8 +105,63 @@ public class HikEventServiceImpl extends AbstractHikService implements IHikEvent
...
@@ -92,8 +105,63 @@ public class HikEventServiceImpl extends AbstractHikService implements IHikEvent
}
}
@Override
@Override
public
Rest
<
String
>
handleEvent
(
EventRecognBlackReq
eventRecognBlackR
eq
)
{
public
Rest
<
String
>
handleEvent
(
EventRecognBlackReq
r
eq
)
{
//处理识别业务 todo
//处理识别业务 todo
Double
similarity
=
DataUtil
.
converStr2Double
(
GlobalSysInfo
.
getParamValue
(
ParamKey
.
PARAM_FACE_SIMILARITY
,
"0.8"
),
0
);
//String similarity = GlobalSysInfo.getParamValue(ParamKey.PARAM_FACE_SIMILARITY, "0.8");
Params
params
=
req
.
getParams
();
if
(
HikEventTypeEnum
.
重点人员识别事件
.
getValue
().
equals
(
params
.
getAbility
()))
{
params
.
getEvents
();
for
(
EventsItem
event
:
params
.
getEvents
())
{
//事件详细
String
eventId
=
event
.
getEventId
();
int
eventType
=
event
.
getEventType
();
EventData
eventData
=
event
.
getData
();
//识别结果
FaceRecognitionResult
faceRecognitionResult
=
eventData
.
getFaceRecognitionResult
();
//抓拍信息
Snap
snap
=
faceRecognitionResult
.
getSnap
();
//匹配的结果
List
<
FaceMatchItem
>
faceMatchs
=
faceRecognitionResult
.
getFaceMatch
();
for
(
FaceMatchItem
faceMatch
:
faceMatchs
)
{
//不论识别结果 保存流量数据
RealtimeDataflowEntity
realtimeDataflowEntity
=
new
RealtimeDataflowEntity
();
// realtimeDataflowEntity.setPersonId();
// realtimeDataflowEntity.setName();
// realtimeDataflowEntity.setDevice();
// realtimeDataflowEntity.setDetectTime();
// realtimeDataflowEntity.setContact();
// realtimeDataflowEntity.setIdNumber();
// realtimeDataflowEntity.setIsBooking();
// realtimeDataflowEntity.setQueueNum();
// realtimeDataflowEntity.setLocation();
// realtimeDataflowEntity.setPicture();
// realtimeDataflowEntity.setOrderCols();
// realtimeDataflowEntity.setOrderColList();
realtimeDataflowEntity
.
setCreateUserId
(
1L
);
realtimeDataflowEntity
.
setCreateTime
(
new
Date
());
realtimeDataflowEntity
.
setCreateUserName
(
"system"
);
realtimeDataflowEntity
.
initAttrValue
();
//dataflowService.save()
//根据匹配结果 保存业务数据 todo
if
(
faceMatch
.
getSimilarity
()>
similarity
){
//保存当前识别结果到记录表中
}
else
{
//识别为陌生人 保存
}
}
}
}
return
Rest
.
ok
(
"处理成功!"
);
return
Rest
.
ok
(
"处理成功!"
);
}
}
...
...
refined-manager/src/main/java/com/mortals/xhx/module/person/model/PersonEntity.java
View file @
e9aa81d2
...
@@ -8,11 +8,11 @@ import com.mortals.framework.annotation.Excel;
...
@@ -8,11 +8,11 @@ import com.mortals.framework.annotation.Excel;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.person.model.vo.PersonVo
;
import
com.mortals.xhx.module.person.model.vo.PersonVo
;
/**
/**
* 注册人员实体对象
* 注册人员实体对象
*
*
* @author zxfei
* @author zxfei
* @date 2023-04-09
* @date 2023-04-16
*/
*/
public
class
PersonEntity
extends
PersonVo
{
public
class
PersonEntity
extends
PersonVo
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
...
@@ -53,9 +53,17 @@ public class PersonEntity extends PersonVo {
...
@@ -53,9 +53,17 @@ public class PersonEntity extends PersonVo {
@Excel
(
name
=
"家庭住址"
)
@Excel
(
name
=
"家庭住址"
)
private
String
address
;
private
String
address
;
/**
/**
*
照片路径
* 本地
照片路径
*/
*/
private
String
photo
;
private
String
photo
;
/**
* 原始照片路径
*/
private
String
sourcePhotoUri
;
/**
* Php原始注册用户id
*/
private
Long
sourceId
;
/**
/**
* 备注
* 备注
*/
*/
...
@@ -193,19 +201,47 @@ public class PersonEntity extends PersonVo {
...
@@ -193,19 +201,47 @@ public class PersonEntity extends PersonVo {
this
.
address
=
address
;
this
.
address
=
address
;
}
}
/**
/**
* 获取
照片路径
* 获取 本地
照片路径
* @return String
* @return String
*/
*/
public
String
getPhoto
(){
public
String
getPhoto
(){
return
photo
;
return
photo
;
}
}
/**
/**
* 设置
照片路径
* 设置 本地
照片路径
* @param photo
* @param photo
*/
*/
public
void
setPhoto
(
String
photo
){
public
void
setPhoto
(
String
photo
){
this
.
photo
=
photo
;
this
.
photo
=
photo
;
}
}
/**
* 获取 原始照片路径
* @return String
*/
public
String
getSourcePhotoUri
(){
return
sourcePhotoUri
;
}
/**
* 设置 原始照片路径
* @param sourcePhotoUri
*/
public
void
setSourcePhotoUri
(
String
sourcePhotoUri
){
this
.
sourcePhotoUri
=
sourcePhotoUri
;
}
/**
* 获取 Php原始注册用户id
* @return Long
*/
public
Long
getSourceId
(){
return
sourceId
;
}
/**
* 设置 Php原始注册用户id
* @param sourceId
*/
public
void
setSourceId
(
Long
sourceId
){
this
.
sourceId
=
sourceId
;
}
/**
/**
* 获取 备注
* 获取 备注
* @return String
* @return String
...
@@ -307,6 +343,8 @@ public class PersonEntity extends PersonVo {
...
@@ -307,6 +343,8 @@ public class PersonEntity extends PersonVo {
sb
.
append
(
",birthday:"
).
append
(
getBirthday
());
sb
.
append
(
",birthday:"
).
append
(
getBirthday
());
sb
.
append
(
",address:"
).
append
(
getAddress
());
sb
.
append
(
",address:"
).
append
(
getAddress
());
sb
.
append
(
",photo:"
).
append
(
getPhoto
());
sb
.
append
(
",photo:"
).
append
(
getPhoto
());
sb
.
append
(
",sourcePhotoUri:"
).
append
(
getSourcePhotoUri
());
sb
.
append
(
",sourceId:"
).
append
(
getSourceId
());
sb
.
append
(
",remark:"
).
append
(
getRemark
());
sb
.
append
(
",remark:"
).
append
(
getRemark
());
sb
.
append
(
",source:"
).
append
(
getSource
());
sb
.
append
(
",source:"
).
append
(
getSource
());
sb
.
append
(
",inFaceHk:"
).
append
(
getInFaceHk
());
sb
.
append
(
",inFaceHk:"
).
append
(
getInFaceHk
());
...
@@ -335,9 +373,13 @@ public class PersonEntity extends PersonVo {
...
@@ -335,9 +373,13 @@ public class PersonEntity extends PersonVo {
this
.
photo
=
""
;
this
.
photo
=
""
;
this
.
sourcePhotoUri
=
""
;
this
.
sourceId
=
null
;
this
.
remark
=
""
;
this
.
remark
=
""
;
this
.
source
=
null
;
this
.
source
=
0
;
this
.
inFaceHk
=
0
;
this
.
inFaceHk
=
0
;
...
...
refined-manager/src/main/java/com/mortals/xhx/module/person/model/PersonQuery.java
View file @
e9aa81d2
...
@@ -4,11 +4,11 @@ import java.util.Date;
...
@@ -4,11 +4,11 @@ import java.util.Date;
import
java.util.List
;
import
java.util.List
;
import
com.mortals.xhx.module.person.model.PersonEntity
;
import
com.mortals.xhx.module.person.model.PersonEntity
;
/**
/**
* 注册人员查询对象
* 注册人员查询对象
*
*
* @author zxfei
* @author zxfei
* @date 2023-04-09
* @date 2023-04-16
*/
*/
public
class
PersonQuery
extends
PersonEntity
{
public
class
PersonQuery
extends
PersonEntity
{
/** 开始 主键ID,主键,自增长 */
/** 开始 主键ID,主键,自增长 */
private
Long
idStart
;
private
Long
idStart
;
...
@@ -86,11 +86,31 @@ public class PersonQuery extends PersonEntity {
...
@@ -86,11 +86,31 @@ public class PersonQuery extends PersonEntity {
/** 家庭住址排除列表 */
/** 家庭住址排除列表 */
private
List
<
String
>
addressNotList
;
private
List
<
String
>
addressNotList
;
/** 照片路径 */
/**
本地
照片路径 */
private
List
<
String
>
photoList
;
private
List
<
String
>
photoList
;
/** 照片路径排除列表 */
/**
本地
照片路径排除列表 */
private
List
<
String
>
photoNotList
;
private
List
<
String
>
photoNotList
;
/** 原始照片路径 */
private
List
<
String
>
sourcePhotoUriList
;
/** 原始照片路径排除列表 */
private
List
<
String
>
sourcePhotoUriNotList
;
/** 开始 Php原始注册用户id */
private
Long
sourceIdStart
;
/** 结束 Php原始注册用户id */
private
Long
sourceIdEnd
;
/** 增加 Php原始注册用户id */
private
Long
sourceIdIncrement
;
/** Php原始注册用户id列表 */
private
List
<
Long
>
sourceIdList
;
/** Php原始注册用户id排除列表 */
private
List
<
Long
>
sourceIdNotList
;
/** 备注 */
/** 备注 */
private
List
<
String
>
remarkList
;
private
List
<
String
>
remarkList
;
...
@@ -622,7 +642,7 @@ public class PersonQuery extends PersonEntity {
...
@@ -622,7 +642,7 @@ public class PersonQuery extends PersonEntity {
}
}
/**
/**
* 获取
照片路径
* 获取 本地
照片路径
* @return photoList
* @return photoList
*/
*/
public
List
<
String
>
getPhotoList
(){
public
List
<
String
>
getPhotoList
(){
...
@@ -630,7 +650,7 @@ public class PersonQuery extends PersonEntity {
...
@@ -630,7 +650,7 @@ public class PersonQuery extends PersonEntity {
}
}
/**
/**
* 设置
照片路径
* 设置 本地
照片路径
* @param photoList
* @param photoList
*/
*/
public
void
setPhotoList
(
List
<
String
>
photoList
){
public
void
setPhotoList
(
List
<
String
>
photoList
){
...
@@ -638,7 +658,7 @@ public class PersonQuery extends PersonEntity {
...
@@ -638,7 +658,7 @@ public class PersonQuery extends PersonEntity {
}
}
/**
/**
* 获取
照片路径
* 获取 本地
照片路径
* @return photoNotList
* @return photoNotList
*/
*/
public
List
<
String
>
getPhotoNotList
(){
public
List
<
String
>
getPhotoNotList
(){
...
@@ -646,13 +666,126 @@ public class PersonQuery extends PersonEntity {
...
@@ -646,13 +666,126 @@ public class PersonQuery extends PersonEntity {
}
}
/**
/**
* 设置
照片路径
* 设置 本地
照片路径
* @param photoNotList
* @param photoNotList
*/
*/
public
void
setPhotoNotList
(
List
<
String
>
photoNotList
){
public
void
setPhotoNotList
(
List
<
String
>
photoNotList
){
this
.
photoNotList
=
photoNotList
;
this
.
photoNotList
=
photoNotList
;
}
}
/**
* 获取 原始照片路径
* @return sourcePhotoUriList
*/
public
List
<
String
>
getSourcePhotoUriList
(){
return
this
.
sourcePhotoUriList
;
}
/**
* 设置 原始照片路径
* @param sourcePhotoUriList
*/
public
void
setSourcePhotoUriList
(
List
<
String
>
sourcePhotoUriList
){
this
.
sourcePhotoUriList
=
sourcePhotoUriList
;
}
/**
* 获取 原始照片路径
* @return sourcePhotoUriNotList
*/
public
List
<
String
>
getSourcePhotoUriNotList
(){
return
this
.
sourcePhotoUriNotList
;
}
/**
* 设置 原始照片路径
* @param sourcePhotoUriNotList
*/
public
void
setSourcePhotoUriNotList
(
List
<
String
>
sourcePhotoUriNotList
){
this
.
sourcePhotoUriNotList
=
sourcePhotoUriNotList
;
}
/**
* 获取 开始 Php原始注册用户id
* @return sourceIdStart
*/
public
Long
getSourceIdStart
(){
return
this
.
sourceIdStart
;
}
/**
* 设置 开始 Php原始注册用户id
* @param sourceIdStart
*/
public
void
setSourceIdStart
(
Long
sourceIdStart
){
this
.
sourceIdStart
=
sourceIdStart
;
}
/**
* 获取 结束 Php原始注册用户id
* @return $sourceIdEnd
*/
public
Long
getSourceIdEnd
(){
return
this
.
sourceIdEnd
;
}
/**
* 设置 结束 Php原始注册用户id
* @param sourceIdEnd
*/
public
void
setSourceIdEnd
(
Long
sourceIdEnd
){
this
.
sourceIdEnd
=
sourceIdEnd
;
}
/**
* 获取 增加 Php原始注册用户id
* @return sourceIdIncrement
*/
public
Long
getSourceIdIncrement
(){
return
this
.
sourceIdIncrement
;
}
/**
* 设置 增加 Php原始注册用户id
* @param sourceIdIncrement
*/
public
void
setSourceIdIncrement
(
Long
sourceIdIncrement
){
this
.
sourceIdIncrement
=
sourceIdIncrement
;
}
/**
* 获取 Php原始注册用户id
* @return sourceIdList
*/
public
List
<
Long
>
getSourceIdList
(){
return
this
.
sourceIdList
;
}
/**
* 设置 Php原始注册用户id
* @param sourceIdList
*/
public
void
setSourceIdList
(
List
<
Long
>
sourceIdList
){
this
.
sourceIdList
=
sourceIdList
;
}
/**
* 获取 Php原始注册用户id
* @return sourceIdNotList
*/
public
List
<
Long
>
getSourceIdNotList
(){
return
this
.
sourceIdNotList
;
}
/**
* 设置 Php原始注册用户id
* @param sourceIdNotList
*/
public
void
setSourceIdNotList
(
List
<
Long
>
sourceIdNotList
){
this
.
sourceIdNotList
=
sourceIdNotList
;
}
/**
/**
* 获取 备注
* 获取 备注
* @return remarkList
* @return remarkList
...
@@ -1397,7 +1530,7 @@ public class PersonQuery extends PersonEntity {
...
@@ -1397,7 +1530,7 @@ public class PersonQuery extends PersonEntity {
/**
/**
* 设置
照片路径
* 设置 本地
照片路径
* @param photo
* @param photo
*/
*/
public
PersonQuery
photo
(
String
photo
){
public
PersonQuery
photo
(
String
photo
){
...
@@ -1406,7 +1539,7 @@ public class PersonQuery extends PersonEntity {
...
@@ -1406,7 +1539,7 @@ public class PersonQuery extends PersonEntity {
}
}
/**
/**
* 设置
照片路径
* 设置 本地
照片路径
* @param photoList
* @param photoList
*/
*/
public
PersonQuery
photoList
(
List
<
String
>
photoList
){
public
PersonQuery
photoList
(
List
<
String
>
photoList
){
...
@@ -1415,6 +1548,79 @@ public class PersonQuery extends PersonEntity {
...
@@ -1415,6 +1548,79 @@ public class PersonQuery extends PersonEntity {
}
}
/**
* 设置 原始照片路径
* @param sourcePhotoUri
*/
public
PersonQuery
sourcePhotoUri
(
String
sourcePhotoUri
){
setSourcePhotoUri
(
sourcePhotoUri
);
return
this
;
}
/**
* 设置 原始照片路径
* @param sourcePhotoUriList
*/
public
PersonQuery
sourcePhotoUriList
(
List
<
String
>
sourcePhotoUriList
){
this
.
sourcePhotoUriList
=
sourcePhotoUriList
;
return
this
;
}
/**
* 设置 Php原始注册用户id
* @param sourceId
*/
public
PersonQuery
sourceId
(
Long
sourceId
){
setSourceId
(
sourceId
);
return
this
;
}
/**
* 设置 开始 Php原始注册用户id
* @param sourceIdStart
*/
public
PersonQuery
sourceIdStart
(
Long
sourceIdStart
){
this
.
sourceIdStart
=
sourceIdStart
;
return
this
;
}
/**
* 设置 结束 Php原始注册用户id
* @param sourceIdEnd
*/
public
PersonQuery
sourceIdEnd
(
Long
sourceIdEnd
){
this
.
sourceIdEnd
=
sourceIdEnd
;
return
this
;
}
/**
* 设置 增加 Php原始注册用户id
* @param sourceIdIncrement
*/
public
PersonQuery
sourceIdIncrement
(
Long
sourceIdIncrement
){
this
.
sourceIdIncrement
=
sourceIdIncrement
;
return
this
;
}
/**
* 设置 Php原始注册用户id
* @param sourceIdList
*/
public
PersonQuery
sourceIdList
(
List
<
Long
>
sourceIdList
){
this
.
sourceIdList
=
sourceIdList
;
return
this
;
}
/**
* 设置 Php原始注册用户id
* @param sourceIdNotList
*/
public
PersonQuery
sourceIdNotList
(
List
<
Long
>
sourceIdNotList
){
this
.
sourceIdNotList
=
sourceIdNotList
;
return
this
;
}
/**
/**
* 设置 备注
* 设置 备注
* @param remark
* @param remark
...
...
refined-manager/src/main/resources/bootstrap.yml
View file @
e9aa81d2
...
@@ -61,6 +61,8 @@ sms:
...
@@ -61,6 +61,8 @@ sms:
smsSendUrl
:
@
profiles.sms.smsSendUrl@
smsSendUrl
:
@
profiles.sms.smsSendUrl@
apiId
:
@
profiles.sms.apiId@
apiId
:
@
profiles.sms.apiId@
type
:
@
profiles.sms.type@
type
:
@
profiles.sms.type@
php
:
host
:
@
profiles.php.host@
hik
:
hik
:
host
:
@
profiles.hik.host@
host
:
@
profiles.hik.host@
appKey
:
@
profiles.hik.appKey@
appKey
:
@
profiles.hik.appKey@
...
...
refined-manager/src/main/resources/sqlmap/module/appointment/AppointmentPersonMapper.xml
0 → 100644
View file @
e9aa81d2
This diff is collapsed.
Click to expand it.
refined-manager/src/main/resources/sqlmap/module/person/PersonMapper.xml
View file @
e9aa81d2
This diff is collapsed.
Click to expand it.
refined-manager/src/test/java/com/mortals/httpclient/appointment/AppointmentPersonController.http
0 → 100644
View file @
e9aa81d2
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###预约人员记录列表
POST {{baseUrl}}/appointment/person/list
Authorization: {{authToken}}
Content-Type: application/json
{
"page":1,
"size":10
}
###预约人员记录更新与保存
POST {{baseUrl}}/appointment/person/save
Authorization: {{authToken}}
Content-Type: application/json
{
"siteId":841,
"siteName":"exbn83",
"personId":452,
"name":"rgqtai",
"contactInfo":"rx8lt9",
"idNumber":"z8djwa",
"reservationService":"x1vgyl",
"reservationNumber":"7im1er",
"appointmentTime":"1681574400000",
}
> {%
client.global.set("AppointmentPerson_id", JSON.parse(response.body).data.id);
%}
###预约人员记录查看
GET {{baseUrl}}/appointment/person/info?id={{AppointmentPerson_id}}
Authorization: {{authToken}}
Accept: application/json
###预约人员记录编辑
GET {{baseUrl}}/appointment/person/edit?id={{AppointmentPerson_id}}
Authorization: {{authToken}}
Accept: application/json
###预约人员记录删除
GET {{baseUrl}}/appointment/person/delete?id={{AppointmentPerson_id}}
Authorization: {{authToken}}
Accept: application/json
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