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
4c214a77
Commit
4c214a77
authored
Mar 22, 2021
by
YANGYANG
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
云天动态检索接口对接
parent
2ffb855c
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
964 additions
and
4 deletions
+964
-4
common/common_utils/src/main/java/com/founder/commonutils/peopleEntity/Camera.java
+113
-0
common/common_utils/src/main/java/com/founder/commonutils/peopleEntity/FaceSearchParam.java
+313
-0
common/common_utils/src/main/java/com/founder/commonutils/peopleEntity/FaceSearchResult.java
+229
-0
common/common_utils/src/main/java/com/founder/commonutils/util/DataUtil.java
+0
-0
pom.xml
+2
-2
serviceapi/imageapi/src/main/java/com/founder/ytlf/ImageApiApplication.java
+10
-0
serviceapi/imageapi/src/main/java/com/founder/ytlf/controller/YtlfController.java
+21
-0
serviceapi/imageapi/src/main/java/com/founder/ytlf/mapper/CameraInfoDao.java
+15
-0
serviceapi/imageapi/src/main/java/com/founder/ytlf/mapper/xml/CameraInfoMapper.xml
+22
-0
serviceapi/imageapi/src/main/java/com/founder/ytlf/service/YtlfService.java
+18
-0
serviceapi/imageapi/src/main/java/com/founder/ytlf/service/impl/CommonService.java
+202
-0
serviceapi/imageapi/src/main/java/com/founder/ytlf/service/impl/YtlfServiceImpl.java
+0
-0
serviceapi/imageapi/src/main/resources/bootstrap.properties
+13
-2
serviceapi/pom.xml
+6
-0
No files found.
common/common_utils/src/main/java/com/founder/commonutils/peopleEntity/Camera.java
0 → 100644
View file @
4c214a77
package
com
.
founder
.
commonutils
.
peopleEntity
;
/**
* 翻译结果
* @Author yangyang
* @Date 2021/3/21
*/
public
class
Camera
{
private
String
cameraId
;
private
String
districtName
;
private
String
areaName
;
private
String
cameraName
;
private
String
x
;
private
String
y
;
private
String
cameraType
;
private
String
districtCode
;
//刑专标准的行政区划code
private
String
districtCodeName
;
//
private
String
areaCode
;
private
String
areaCodeName
;
public
String
getCameraId
()
{
return
cameraId
;
}
public
void
setCameraId
(
String
cameraId
)
{
this
.
cameraId
=
cameraId
;
}
public
String
getDistrictName
()
{
return
districtName
;
}
public
void
setDistrictName
(
String
districtName
)
{
this
.
districtName
=
districtName
;
}
public
String
getAreaName
()
{
return
areaName
;
}
public
void
setAreaName
(
String
areaName
)
{
this
.
areaName
=
areaName
;
}
public
String
getCameraName
()
{
return
cameraName
;
}
public
void
setCameraName
(
String
cameraName
)
{
this
.
cameraName
=
cameraName
;
}
public
String
getX
()
{
return
x
;
}
public
void
setX
(
String
x
)
{
this
.
x
=
x
;
}
public
String
getY
()
{
return
y
;
}
public
void
setY
(
String
y
)
{
this
.
y
=
y
;
}
public
String
getCameraType
()
{
return
cameraType
;
}
public
void
setCameraType
(
String
cameraType
)
{
this
.
cameraType
=
cameraType
;
}
public
String
getDistrictCode
()
{
return
districtCode
;
}
public
void
setDistrictCode
(
String
districtCode
)
{
this
.
districtCode
=
districtCode
;
}
public
String
getDistrictCodeName
()
{
return
districtCodeName
;
}
public
void
setDistrictCodeName
(
String
districtCodeName
)
{
this
.
districtCodeName
=
districtCodeName
;
}
public
String
getAreaCode
()
{
return
areaCode
;
}
public
void
setAreaCode
(
String
areaCode
)
{
this
.
areaCode
=
areaCode
;
}
public
String
getAreaCodeName
()
{
return
areaCodeName
;
}
public
void
setAreaCodeName
(
String
areaCodeName
)
{
this
.
areaCodeName
=
areaCodeName
;
}
}
common/common_utils/src/main/java/com/founder/commonutils/peopleEntity/FaceSearchParam.java
0 → 100644
View file @
4c214a77
package
com
.
founder
.
commonutils
.
peopleEntity
;
import
java.util.List
;
/**
* 人脸检索参数
* @Author yangyang
* @Date 2021/03/19
*/
public
class
FaceSearchParam
{
private
String
faceSize
=
"20"
;
//节点类型 district(分局), area(派出所)
private
String
nodeType
=
"district"
;
//分局或派出所的id
private
String
nodeId
=
"3"
;
private
List
<
String
>
cameraIds
;
//排序方式 score 相似度,time 时间,camera 摄像机,calendar 日历
private
String
displayType
;
private
Integer
placeTypeId
=
0
;
private
Integer
deviceTypeId
=
0
;
//0:重点人员库;
//1:布控抓拍人脸库;
//2:警局内非布控抓拍
//3:户籍库人员搜索;
//4:居住库人员搜索;
// 人脸库默认值 1
private
Integer
type
=
1
;
//图片来源类型 100表示图片上传 当上传多个图片时,多个100用逗号拼接
private
String
dataType
=
"100"
;
//人脸id
private
String
faceId
=
""
;
//人脸id多个时,用英文逗号拼接
private
String
ids
=
""
;
private
Integer
mergeType
=
1
;
//相似度 默认0.92
private
String
scoreThreshold
=
"0.92"
;
//开始时间 格式 2019-12-07 00:00:00
private
String
starttime
=
""
;
//结束时间 格式 2020-03-06 23:59:59
private
String
endtime
=
""
;
private
String
dayStartTime
=
"00:00:00"
;
private
String
dayEndTime
=
"23:59:59"
;
private
String
weekDay
=
"0"
;
private
String
quality
=
"0"
;
//性别 性别不限 男 女
private
String
gender
=
""
;
private
Integer
genderConfidence
=
1
;
//种族
private
String
race
=
""
;
private
Integer
raceConfidence
=
1
;
//年龄
private
String
age
=
""
;
//帽子 戴帽子 不戴帽子
private
String
hat
=
""
;
// 1-低,3-中,5-高
private
Integer
hatConfidence
=
1
;
//眼镜 眼镜不限 不戴眼镜 戴普通眼镜
private
String
glasses
=
""
;
private
Integer
glassesConfidence
=
1
;
//口罩
private
String
mask
=
""
;
private
Integer
maskConfidence
=
1
;
private
List
<
String
>
tagIds
;
public
String
getFaceSize
()
{
return
faceSize
;
}
public
void
setFaceSize
(
String
faceSize
)
{
this
.
faceSize
=
faceSize
;
}
public
String
getNodeType
()
{
return
nodeType
;
}
public
void
setNodeType
(
String
nodeType
)
{
this
.
nodeType
=
nodeType
;
}
public
String
getNodeId
()
{
return
nodeId
;
}
public
void
setNodeId
(
String
nodeId
)
{
this
.
nodeId
=
nodeId
;
}
public
List
<
String
>
getCameraIds
()
{
return
cameraIds
;
}
public
void
setCameraIds
(
List
<
String
>
cameraIds
)
{
this
.
cameraIds
=
cameraIds
;
}
public
String
getDisplayType
()
{
return
displayType
;
}
public
void
setDisplayType
(
String
displayType
)
{
this
.
displayType
=
displayType
;
}
public
Integer
getPlaceTypeId
()
{
return
placeTypeId
;
}
public
void
setPlaceTypeId
(
Integer
placeTypeId
)
{
this
.
placeTypeId
=
placeTypeId
;
}
public
Integer
getDeviceTypeId
()
{
return
deviceTypeId
;
}
public
void
setDeviceTypeId
(
Integer
deviceTypeId
)
{
this
.
deviceTypeId
=
deviceTypeId
;
}
public
Integer
getType
()
{
return
type
;
}
public
void
setType
(
Integer
type
)
{
this
.
type
=
type
;
}
public
String
getDataType
()
{
return
dataType
;
}
public
void
setDataType
(
String
dataType
)
{
this
.
dataType
=
dataType
;
}
public
String
getFaceId
()
{
return
faceId
;
}
public
void
setFaceId
(
String
faceId
)
{
this
.
faceId
=
faceId
;
}
public
String
getIds
()
{
return
ids
;
}
public
void
setIds
(
String
ids
)
{
this
.
ids
=
ids
;
}
public
Integer
getMergeType
()
{
return
mergeType
;
}
public
void
setMergeType
(
Integer
mergeType
)
{
this
.
mergeType
=
mergeType
;
}
public
String
getScoreThreshold
()
{
return
scoreThreshold
;
}
public
void
setScoreThreshold
(
String
scoreThreshold
)
{
this
.
scoreThreshold
=
scoreThreshold
;
}
public
String
getStarttime
()
{
return
starttime
;
}
public
void
setStarttime
(
String
starttime
)
{
this
.
starttime
=
starttime
;
}
public
String
getEndtime
()
{
return
endtime
;
}
public
void
setEndtime
(
String
endtime
)
{
this
.
endtime
=
endtime
;
}
public
String
getDayStartTime
()
{
return
dayStartTime
;
}
public
void
setDayStartTime
(
String
dayStartTime
)
{
this
.
dayStartTime
=
dayStartTime
;
}
public
String
getDayEndTime
()
{
return
dayEndTime
;
}
public
void
setDayEndTime
(
String
dayEndTime
)
{
this
.
dayEndTime
=
dayEndTime
;
}
public
String
getWeekDay
()
{
return
weekDay
;
}
public
void
setWeekDay
(
String
weekDay
)
{
this
.
weekDay
=
weekDay
;
}
public
String
getQuality
()
{
return
quality
;
}
public
void
setQuality
(
String
quality
)
{
this
.
quality
=
quality
;
}
public
String
getGender
()
{
return
gender
;
}
public
void
setGender
(
String
gender
)
{
this
.
gender
=
gender
;
}
public
Integer
getGenderConfidence
()
{
return
genderConfidence
;
}
public
void
setGenderConfidence
(
Integer
genderConfidence
)
{
this
.
genderConfidence
=
genderConfidence
;
}
public
String
getRace
()
{
return
race
;
}
public
void
setRace
(
String
race
)
{
this
.
race
=
race
;
}
public
Integer
getRaceConfidence
()
{
return
raceConfidence
;
}
public
void
setRaceConfidence
(
Integer
raceConfidence
)
{
this
.
raceConfidence
=
raceConfidence
;
}
public
String
getAge
()
{
return
age
;
}
public
void
setAge
(
String
age
)
{
this
.
age
=
age
;
}
public
String
getHat
()
{
return
hat
;
}
public
void
setHat
(
String
hat
)
{
this
.
hat
=
hat
;
}
public
Integer
getHatConfidence
()
{
return
hatConfidence
;
}
public
void
setHatConfidence
(
Integer
hatConfidence
)
{
this
.
hatConfidence
=
hatConfidence
;
}
public
String
getGlasses
()
{
return
glasses
;
}
public
void
setGlasses
(
String
glasses
)
{
this
.
glasses
=
glasses
;
}
public
Integer
getGlassesConfidence
()
{
return
glassesConfidence
;
}
public
void
setGlassesConfidence
(
Integer
glassesConfidence
)
{
this
.
glassesConfidence
=
glassesConfidence
;
}
public
String
getMask
()
{
return
mask
;
}
public
void
setMask
(
String
mask
)
{
this
.
mask
=
mask
;
}
public
Integer
getMaskConfidence
()
{
return
maskConfidence
;
}
public
void
setMaskConfidence
(
Integer
maskConfidence
)
{
this
.
maskConfidence
=
maskConfidence
;
}
public
List
<
String
>
getTagIds
()
{
return
tagIds
;
}
public
void
setTagIds
(
List
<
String
>
tagIds
)
{
this
.
tagIds
=
tagIds
;
}
}
common/common_utils/src/main/java/com/founder/commonutils/peopleEntity/FaceSearchResult.java
0 → 100644
View file @
4c214a77
package
com
.
founder
.
commonutils
.
peopleEntity
;
/**
* 人脸检索结果
* @Author yanru
* @Date 2020/4/2119:29
*/
public
class
FaceSearchResult
{
private
String
id
;
//人脸id (faceId)
private
String
cameraId
;
//摄像头id
private
String
cameraName
;
//摄像头名称
private
String
file
;
//图片路径
private
String
imageUrl
;
//大图路径
private
String
time
;
//拍摄时间
private
String
score
;
//相似度
private
String
gender
;
//性别
private
String
race
;
//种族
private
String
age
;
//年龄段
private
String
hat
;
//帽子
private
String
glass
;
//眼镜
private
String
mask
;
//口罩
private
String
hair
;
//发型
private
String
address
;
//摄像头地址
private
String
x
;
//摄像头经度
private
String
y
;
//摄像头纬度
private
String
cameraType
;
//摄像头类型
private
String
districtCode
;
//刑专标准的行政区划code
private
String
districtCodeName
;
//
private
String
areaCode
;
private
String
areaCodeName
;
private
String
scoreThreshold
;
private
Integer
type
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getCameraId
()
{
return
cameraId
;
}
public
void
setCameraId
(
String
cameraId
)
{
this
.
cameraId
=
cameraId
;
}
public
String
getCameraName
()
{
return
cameraName
;
}
public
void
setCameraName
(
String
cameraName
)
{
this
.
cameraName
=
cameraName
;
}
public
String
getFile
()
{
return
file
;
}
public
void
setFile
(
String
file
)
{
this
.
file
=
file
;
}
public
String
getImageUrl
()
{
return
imageUrl
;
}
public
void
setImageUrl
(
String
imageUrl
)
{
this
.
imageUrl
=
imageUrl
;
}
public
String
getTime
()
{
return
time
;
}
public
void
setTime
(
String
time
)
{
this
.
time
=
time
;
}
public
String
getScore
()
{
return
score
;
}
public
void
setScore
(
String
score
)
{
this
.
score
=
score
;
}
public
String
getGender
()
{
return
gender
;
}
public
void
setGender
(
String
gender
)
{
this
.
gender
=
gender
;
}
public
String
getRace
()
{
return
race
;
}
public
void
setRace
(
String
race
)
{
this
.
race
=
race
;
}
public
String
getAge
()
{
return
age
;
}
public
void
setAge
(
String
age
)
{
this
.
age
=
age
;
}
public
String
getHat
()
{
return
hat
;
}
public
void
setHat
(
String
hat
)
{
this
.
hat
=
hat
;
}
public
String
getGlass
()
{
return
glass
;
}
public
void
setGlass
(
String
glass
)
{
this
.
glass
=
glass
;
}
public
String
getMask
()
{
return
mask
;
}
public
void
setMask
(
String
mask
)
{
this
.
mask
=
mask
;
}
public
String
getHair
()
{
return
hair
;
}
public
void
setHair
(
String
hair
)
{
this
.
hair
=
hair
;
}
public
String
getAddress
()
{
return
address
;
}
public
void
setAddress
(
String
address
)
{
this
.
address
=
address
;
}
public
String
getX
()
{
return
x
;
}
public
void
setX
(
String
x
)
{
this
.
x
=
x
;
}
public
String
getY
()
{
return
y
;
}
public
void
setY
(
String
y
)
{
this
.
y
=
y
;
}
public
String
getCameraType
()
{
return
cameraType
;
}
public
void
setCameraType
(
String
cameraType
)
{
this
.
cameraType
=
cameraType
;
}
public
String
getDistrictCode
()
{
return
districtCode
;
}
public
void
setDistrictCode
(
String
districtCode
)
{
this
.
districtCode
=
districtCode
;
}
public
String
getDistrictCodeName
()
{
return
districtCodeName
;
}
public
void
setDistrictCodeName
(
String
districtCodeName
)
{
this
.
districtCodeName
=
districtCodeName
;
}
public
String
getAreaCode
()
{
return
areaCode
;
}
public
void
setAreaCode
(
String
areaCode
)
{
this
.
areaCode
=
areaCode
;
}
public
String
getAreaCodeName
()
{
return
areaCodeName
;
}
public
void
setAreaCodeName
(
String
areaCodeName
)
{
this
.
areaCodeName
=
areaCodeName
;
}
public
String
getScoreThreshold
()
{
return
scoreThreshold
;
}
public
void
setScoreThreshold
(
String
scoreThreshold
)
{
this
.
scoreThreshold
=
scoreThreshold
;
}
public
Integer
getType
()
{
return
type
;
}
public
void
setType
(
Integer
type
)
{
this
.
type
=
type
;
}
}
common/common_utils/src/main/java/com/founder/commonutils/util/DataUtil.java
0 → 100644
View file @
4c214a77
This diff is collapsed.
Click to expand it.
pom.xml
View file @
4c214a77
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
<parent>
<parent>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-parent
</artifactId>
<artifactId>
spring-boot-starter-parent
</artifactId>
<version>
2.
0.6
.RELEASE
</version>
<version>
2.
1.3
.RELEASE
</version>
<relativePath/>
<!-- lookup parent from repository -->
<relativePath/>
<!-- lookup parent from repository -->
</parent>
</parent>
<groupId>
com.founder
</groupId>
<groupId>
com.founder
</groupId>
...
@@ -52,7 +52,7 @@
...
@@ -52,7 +52,7 @@
<dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-dependencies
</artifactId>
<artifactId>
spring-cloud-dependencies
</artifactId>
<version>
Finchley.RELEASE
</version>
<version>
Greenwich.SR1
</version>
<type>
pom
</type>
<type>
pom
</type>
<scope>
import
</scope>
<scope>
import
</scope>
</dependency>
</dependency>
...
...
serviceapi/imageapi/src/main/java/com/founder/ytlf/ImageApiApplication.java
View file @
4c214a77
package
com
.
founder
.
ytlf
;
package
com
.
founder
.
ytlf
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.web.client.RestTemplateBuilder
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.web.client.RestTemplate
;
@SpringBootApplication
@SpringBootApplication
@ComponentScan
(
basePackages
=
{
"com.founder"
})
@ComponentScan
(
basePackages
=
{
"com.founder"
})
@EnableDiscoveryClient
@EnableDiscoveryClient
public
class
ImageApiApplication
{
public
class
ImageApiApplication
{
@Autowired
private
RestTemplateBuilder
restTemplateBuilder
;
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
ImageApiApplication
.
class
,
args
);
SpringApplication
.
run
(
ImageApiApplication
.
class
,
args
);
}
}
@Bean
public
RestTemplate
restTemplate
(){
return
restTemplateBuilder
.
build
();}
}
}
serviceapi/imageapi/src/main/java/com/founder/ytlf/controller/YtlfController.java
View file @
4c214a77
...
@@ -2,17 +2,22 @@ package com.founder.ytlf.controller;
...
@@ -2,17 +2,22 @@ package com.founder.ytlf.controller;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.founder.commonutils.peopleEntity.FaceSearchParam
;
import
com.founder.commonutils.publicEntity.MapRestResult
;
import
com.founder.commonutils.publicEntity.MapRestResult
;
import
com.founder.commonutils.util.HttpClient
;
import
com.founder.commonutils.util.HttpClient
;
import
com.founder.commonutils.util.TokenUtils
;
import
com.founder.commonutils.util.TokenUtils
;
import
com.founder.servicebase.logs.OperLog
;
import
com.founder.servicebase.logs.OperLog
;
import
com.founder.servicebase.logs.OperationType
;
import
com.founder.servicebase.logs.OperationType
;
import
com.founder.ytlf.service.YtlfService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.impl.client.HttpClients
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -29,6 +34,9 @@ import java.util.Map;
...
@@ -29,6 +34,9 @@ import java.util.Map;
@RequestMapping
(
"/ytlf"
)
@RequestMapping
(
"/ytlf"
)
public
class
YtlfController
{
public
class
YtlfController
{
@Autowired
private
YtlfService
ytlfService
;
//案件查询(存储reids)
//案件查询(存储reids)
@OperLog
(
message
=
"token获取"
,
operation
=
OperationType
.
QUERY
)
@OperLog
(
message
=
"token获取"
,
operation
=
OperationType
.
QUERY
)
@ApiOperation
(
value
=
"token获取"
)
@ApiOperation
(
value
=
"token获取"
)
...
@@ -160,5 +168,18 @@ public class YtlfController {
...
@@ -160,5 +168,18 @@ public class YtlfController {
}
}
return
MapRestResult
.
build
(
500
,
"请求失败"
,
null
);
return
MapRestResult
.
build
(
500
,
"请求失败"
,
null
);
}
}
// 人脸动态检索接口接口
@OperLog
(
message
=
"人脸动态检索接口"
,
operation
=
OperationType
.
QUERY
)
@ApiOperation
(
value
=
"人脸动态检索接口"
)
@PostMapping
(
value
=
"/getFaceImageByUploadImage"
,
consumes
=
"multipart/*"
,
headers
=
"content-type=multipart/form-data"
)
public
MapRestResult
getFaceIdsByUploadImage
(
@RequestParam
(
value
=
"files"
,
required
=
true
)
MultipartFile
[]
files
,
FaceSearchParam
faceSearchParam
)
{
long
startTime
=
new
Date
().
getTime
();
MapRestResult
result
=
ytlfService
.
getFaceImageByUploadImage
(
files
,
faceSearchParam
);
long
endTime
=
new
Date
().
getTime
();
long
timeDiffer
=
endTime
-
startTime
;
System
.
out
.
println
(
"人脸检索**请求时长**********"
+
timeDiffer
+
"毫秒"
);
return
result
;
}
}
}
serviceapi/imageapi/src/main/java/com/founder/ytlf/mapper/CameraInfoDao.java
0 → 100644
View file @
4c214a77
package
com
.
founder
.
ytlf
.
mapper
;
import
com.founder.commonutils.peopleEntity.Camera
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
@Component
@Mapper
public
interface
CameraInfoDao
{
List
<
Camera
>
getCameraInfoByIds
(
@Param
(
value
=
"cameraIds"
)
String
cameraIds
);
}
serviceapi/imageapi/src/main/java/com/founder/ytlf/mapper/xml/CameraInfoMapper.xml
0 → 100644
View file @
4c214a77
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.founder.ytlf.mapper.CameraInfoDao"
>
<select
id=
"getCameraInfoByIds"
parameterType=
"java.lang.String"
resultType=
"com.founder.commonutils.peopleEntity.Camera"
>
select
id as cameraId,
NAME as cameraName,
CITY as areaName,
STATION_ID as areaCode,
STATION_ID AS areaCodeName,
NAME as districtId,
NAME as areaId,
x as x,
y as y,
area_name as cameraType
from t_camera_info camera where 1=1
<if
test=
"cameraIds!=null and cameraIds!=''"
>
and CAMERA_CODE in ${cameraIds}
</if>
</select>
</mapper>
serviceapi/imageapi/src/main/java/com/founder/ytlf/service/YtlfService.java
0 → 100644
View file @
4c214a77
package
com
.
founder
.
ytlf
.
service
;
import
com.founder.commonutils.peopleEntity.FaceSearchParam
;
import
com.founder.commonutils.publicEntity.MapRestResult
;
import
org.springframework.web.multipart.MultipartFile
;
/**
* <p>
* 云天接口 服务类
* </p>
*
* @author yangyang
* @since 2021-03-19
*/
public
interface
YtlfService
{
MapRestResult
getFaceImageByUploadImage
(
MultipartFile
[]
files
,
FaceSearchParam
faceSearchParam
);
}
serviceapi/imageapi/src/main/java/com/founder/ytlf/service/impl/CommonService.java
0 → 100644
View file @
4c214a77
package
com
.
founder
.
ytlf
.
service
.
impl
;
import
com.founder.commonutils.peopleEntity.Camera
;
import
com.founder.commonutils.util.DataUtil
;
import
com.founder.ytlf.mapper.CameraInfoDao
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.*
;
/**
* @Author yy
* @Date 2021/03/21
*/
@Component
public
class
CommonService
{
@Autowired
private
CameraInfoDao
cameraInfoDao
;
public
Map
<
String
,
Object
>
getCameraInfoByIds
(
String
cameraId
)
{
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<>();
List
<
Camera
>
cameras
=
cameraInfoDao
.
getCameraInfoByIds
(
cameraId
);
if
(
cameras
!=
null
&&
cameras
.
size
()>
0
)
{
for
(
Camera
camera:
cameras
){
Map
<
String
,
String
>
map
=
new
HashMap
<>();
String
address
=
camera
.
getAreaName
()
+
" "
+
camera
.
getAreaCodeName
()+
""
+
camera
.
getCameraName
();
String
areaName
=
camera
.
getAreaName
();
String
x
=
camera
.
getX
(),
y
=
camera
.
getY
();
String
cameraType
=
camera
.
getCameraType
();
String
areaCode
=
camera
.
getAreaCode
();
String
areaCodeName
=
camera
.
getAreaCodeName
();
map
.
put
(
"address"
,
address
);
//某地区 某派出所 某摄像头
map
.
put
(
"x"
,
x
);
map
.
put
(
"y"
,
y
);
map
.
put
(
"cameraName"
,
camera
.
getCameraName
());
// 摄像头名称
map
.
put
(
"cameraType"
,
cameraType
);
map
.
put
(
"districtCodeName"
,
areaName
);
// 地区名称
map
.
put
(
"areaCode"
,
areaCode
);
// 派出所代码
map
.
put
(
"areaCodeName"
,
areaCodeName
);
// 派出所名称
returnMap
.
put
(
camera
.
getCameraId
(),
map
);
}
}
return
returnMap
;
}
/**
* 配饰代码转汉字
*
* @return
*/
public
Map
<
String
,
Object
>
accessoriesToValue
(
String
genderStr
,
String
raceStr
,
String
accessoriesStr
,
String
ageStr
)
{
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
Object
genderValue
=
null
;
/*gender
性别(byte0: bit0~bit3)
0表示不确定
1表示男性
2表示女性*/
if
(
StringUtils
.
isNotEmpty
(
genderStr
))
{
int
gender
=
Integer
.
parseInt
(
genderStr
);
String
genderBinary
=
DataUtil
.
decimalToBinary
(
gender
);
Map
<
Integer
,
Object
>
list
=
DataUtil
.
binaryToValue
(
genderBinary
,
4
);
if
(
null
!=
list
&&
list
.
size
()
>
0
)
{
genderValue
=
list
.
get
(
0
);
if
(
null
!=
genderValue
)
{
if
(
"0"
.
equals
(
genderValue
.
toString
()))
{
genderValue
=
"不确定"
;
}
else
if
(
"1"
.
equals
(
genderValue
.
toString
()))
{
genderValue
=
"男性"
;
}
else
if
(
"2"
.
equals
(
genderValue
.
toString
()))
{
genderValue
=
"女性"
;
}
}
}
}
resultMap
.
put
(
"gender"
,
genderValue
);
/*Race
•民族(byte0: bit0~bit3)
0表示汉族
1表示外籍
•口罩(byte1: bit0~bit3)
0表示不确定是否戴口罩
1表示不戴口罩
2表示戴口罩*/
Object
raceBinaryValue
=
null
;
Object
maskBinaryValue
=
null
;
if
(
StringUtils
.
isNotEmpty
(
raceStr
))
{
int
race
=
Integer
.
parseInt
(
raceStr
);
String
raceBinary
=
DataUtil
.
decimalToBinary
(
race
);
Map
<
Integer
,
Object
>
list
=
DataUtil
.
binaryToValue
(
raceBinary
,
4
);
if
(
null
!=
list
&&
list
.
size
()
>
0
)
{
raceBinaryValue
=
list
.
get
(
0
);
if
(
null
!=
raceBinaryValue
)
{
if
(
"0"
.
equals
(
raceBinaryValue
.
toString
()))
{
raceBinaryValue
=
"汉族"
;
}
else
if
(
"1"
.
equals
(
raceBinaryValue
.
toString
()))
{
raceBinaryValue
=
"外籍"
;
}
}
maskBinaryValue
=
list
.
get
(
1
);
if
(
null
!=
maskBinaryValue
)
{
if
(
"0"
.
equals
(
maskBinaryValue
.
toString
()))
{
maskBinaryValue
=
"不确定"
;
}
else
if
(
"1"
.
equals
(
maskBinaryValue
.
toString
()))
{
maskBinaryValue
=
"不戴口罩"
;
}
else
if
(
"2"
.
equals
(
maskBinaryValue
.
toString
()))
{
maskBinaryValue
=
"戴口罩"
;
}
}
}
}
resultMap
.
put
(
"race"
,
raceBinaryValue
);
resultMap
.
put
(
"mask"
,
maskBinaryValue
);
/*Accessories
•眼镜(byte0: bit0~bit:3)
0表示不确定是否戴眼镜
1表示不戴眼镜
2表示戴(普通)眼镜
3表示戴太阳镜
•帽子(byte1: bit0~bit3)
0表示不确定是否戴帽子
1表示不戴帽子
2表示戴帽子
•发型(byte2: bit0~bit3)
0表示不确定头发长短
1表示短发
2表示长发*/
Object
glassBinaryValue
=
null
;
Object
hatBinaryValue
=
null
;
Object
hairBinaryValue
=
null
;
if
(
StringUtils
.
isNotEmpty
(
accessoriesStr
))
{
int
accessories
=
Integer
.
parseInt
(
accessoriesStr
);
String
accessoriesBinary
=
DataUtil
.
decimalToBinary
(
accessories
);
Map
<
Integer
,
Object
>
list
=
DataUtil
.
binaryToValue
(
accessoriesBinary
,
4
);
if
(
null
!=
list
&&
list
.
size
()
>
0
)
{
glassBinaryValue
=
list
.
get
(
0
);
hatBinaryValue
=
list
.
get
(
1
);
hairBinaryValue
=
list
.
get
(
2
);
if
(
null
!=
glassBinaryValue
)
{
if
(
"0"
.
equals
(
glassBinaryValue
.
toString
()))
{
glassBinaryValue
=
"不确定"
;
}
else
if
(
"1"
.
equals
(
glassBinaryValue
.
toString
()))
{
glassBinaryValue
=
"不戴眼镜"
;
}
else
if
(
"2"
.
equals
(
glassBinaryValue
.
toString
()))
{
glassBinaryValue
=
"戴(普通)眼镜"
;
}
else
if
(
"3"
.
equals
(
glassBinaryValue
.
toString
()))
{
glassBinaryValue
=
"戴太阳镜"
;
}
}
if
(
null
!=
hatBinaryValue
)
{
if
(
"0"
.
equals
(
hatBinaryValue
.
toString
()))
{
hatBinaryValue
=
"不确定"
;
}
else
if
(
"1"
.
equals
(
hatBinaryValue
.
toString
()))
{
hatBinaryValue
=
"不戴帽子"
;
}
else
if
(
"2"
.
equals
(
hatBinaryValue
.
toString
()))
{
hatBinaryValue
=
"戴帽子"
;
}
}
if
(
null
!=
hairBinaryValue
)
{
if
(
"0"
.
equals
(
hairBinaryValue
.
toString
()))
{
hairBinaryValue
=
"不确定"
;
}
else
if
(
"1"
.
equals
(
hairBinaryValue
.
toString
()))
{
hairBinaryValue
=
"短发"
;
}
else
if
(
"2"
.
equals
(
hairBinaryValue
.
toString
()))
{
hairBinaryValue
=
"长发"
;
}
}
}
}
resultMap
.
put
(
"glass"
,
glassBinaryValue
);
resultMap
.
put
(
"hat"
,
hatBinaryValue
);
resultMap
.
put
(
"hair"
,
hairBinaryValue
);
/*Age
年龄段(byte0: bit0~bit7),按照年龄段划分
实际年龄(byte1: bit0~bit7)表示实际年龄数,实际年龄并没有置信度,也没有新旧版本标志*/
Object
ageBinaryValue
=
null
;
if
(
StringUtils
.
isNotEmpty
(
ageStr
))
{
int
age
=
Integer
.
parseInt
(
ageStr
);
String
ageBinary
=
DataUtil
.
decimalToBinary
(
age
);
Map
<
Integer
,
Object
>
list
=
DataUtil
.
binaryToValue
(
ageBinary
,
7
);
if
(
null
!=
list
&&
list
.
size
()
>
0
)
{
// Object ageGroupBinaryValue = list.get(0);//年龄段
ageBinaryValue
=
list
.
get
(
1
);
//年龄
// resultMap.put("ageGroup", ageGroupBinaryValue);
}
}
resultMap
.
put
(
"age"
,
ageBinaryValue
);
return
resultMap
;
}
}
serviceapi/imageapi/src/main/java/com/founder/ytlf/service/impl/YtlfServiceImpl.java
0 → 100644
View file @
4c214a77
This diff is collapsed.
Click to expand it.
serviceapi/imageapi/src/main/resources/bootstrap.properties
View file @
4c214a77
...
@@ -12,4 +12,15 @@ spring.cloud.nacos.config.namespace=052aa986-5c18-4013-a91a-583dc01aaf8b
...
@@ -12,4 +12,15 @@ spring.cloud.nacos.config.namespace=052aa986-5c18-4013-a91a-583dc01aaf8b
#spring.cloud.nacos.config.ext-config[0].data-id=eduport.properties
#spring.cloud.nacos.config.ext-config[0].data-id=eduport.properties
# 开启动态刷新配置,否则配置文件修改,工程无法感知
# 开启动态刷新配置,否则配置文件修改,工程无法感知
#spring.cloud.nacos.config.ext-config[0]
.refresh
=
true
#spring.cloud.nacos.config.ext-config[0].refresh=true
\ No newline at end of file
#############################云天接口访问地址开始#############################################
#4.4.1 图片文件传输方式地址 true-进行人脸检测 false-不进行人脸检测 0-检索上传 1-布控上传 2-红名单上传
ImageIdsByUploadImageUrl
=
http://26.3.12.56:8083/api/intellif/image/upload/true?type=0
#根据大图 id 获取所有小图信息,这里的 id 来自上传图片接口返回的 id
FaceIdByIdUrl
=
http://26.3.12.56:8083/api/intellif/face/image/
#4.2.4 根据小图获取大图,返回人脸小图在大图中的位置
FaceBigByIdUrl
=
http://26.3.12.56:8083/api/intellif/image/face/json/
#############################云天接口访问地址结束##############################################
\ No newline at end of file
serviceapi/pom.xml
View file @
4c214a77
...
@@ -77,6 +77,7 @@
...
@@ -77,6 +77,7 @@
<dependency>
<dependency>
<groupId>
org.oracle
</groupId>
<groupId>
org.oracle
</groupId>
<artifactId>
ojdbc6
</artifactId>
<artifactId>
ojdbc6
</artifactId>
<version>
10
</version>
</dependency>
</dependency>
<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
<dependency>
<dependency>
...
@@ -150,5 +151,9 @@
...
@@ -150,5 +151,9 @@
<artifactId>
junit
</artifactId>
<artifactId>
junit
</artifactId>
<version>
4.12
</version>
<version>
4.12
</version>
</dependency>
</dependency>
<dependency>
<groupId>
com.fasterxml.jackson.core
</groupId>
<artifactId>
jackson-databind
</artifactId>
</dependency>
</dependencies>
</dependencies>
</project>
</project>
\ No newline at end of file
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