Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
property-management
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenjunxiong
property-management
Commits
79421e3e
Commit
79421e3e
authored
Mar 23, 2022
by
chenjunxiong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
build(hikvision-sdk):
海康威视SDK开发 海康威视SDK获取默认用户UUID接口开发
parent
b1221191
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
553 additions
and
195 deletions
+553
-195
jeecg-boot-parent/jeecg-boot-module-hikvision/pom.xml
+4
-0
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/client/HikvisionBaseClient.java
+147
-0
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/client/HikvisionClient.java
+4
-7
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/client/HikvisionVideoClient.java
+0
-55
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/entity/body/HikvisionBodyModel.java
+37
-0
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/entity/body/HikvisionGetDefaultUserUuidQuery.java
+2
-4
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/entity/query/HikvisionQueryModel.java
+20
-4
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/parser/HikvisionJsonParser.java
+58
-0
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/parser/HikvisionParser.java
+40
-0
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/request/HikvisionAbstractRequest.java
+15
-7
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/request/HikvisionGetDefaultUserUuidRequest.java
+19
-20
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/request/HikvisionRequest.java
+46
-15
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/response/HikvisionAbstractResponse.java
+119
-0
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/response/HikvisionGetDefaultUserUuidResponse.java
+6
-2
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/response/HikvisionResponse.java
+10
-6
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/response/HikvisionVideoResponse.java
+0
-66
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/result/HikvisionBaseResult.java
+5
-7
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/result/HikvisionGetDefaultUserUuidBaseResult.java
+3
-2
jeecg-boot-parent/jeecg-boot-module-hikvision/src/test/java/HikvisionSdkTest.java
+18
-0
No files found.
jeecg-boot-parent/jeecg-boot-module-hikvision/pom.xml
View file @
79421e3e
...
...
@@ -17,6 +17,10 @@
<groupId>
org.jeecgframework.boot
</groupId>
<artifactId>
jeecg-boot-base-core
</artifactId>
</dependency>
<dependency>
<groupId>
com.chanjx
</groupId>
<artifactId>
chanjx-utils
</artifactId>
</dependency>
</dependencies>
</project>
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/client/HikvisionBaseClient.java
0 → 100644
View file @
79421e3e
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
client
;
import
com.chanjx.utils.HttpClientUtils
;
import
com.chanjx.utils.JsonUtils
;
import
com.chanjx.utils.entity.http.HttpResponse
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.http.client.methods.HttpEntityEnclosingRequestBase
;
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.client.methods.HttpRequestBase
;
import
org.apache.http.client.utils.URIBuilder
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.jeecg.common.exception.JeecgBootException
;
import
org.jeecg.pm.hikvision.sdk.parser.HikvisionJsonParser
;
import
org.jeecg.pm.hikvision.sdk.parser.HikvisionParser
;
import
org.jeecg.pm.hikvision.sdk.request.HikvisionAbstractRequest
;
import
org.jeecg.pm.hikvision.sdk.request.HikvisionGetDefaultUserUuidRequest
;
import
org.jeecg.pm.hikvision.sdk.response.HikvisionAbstractResponse
;
import
org.jeecg.pm.hikvision.sdk.response.HikvisionGetDefaultUserUuidResponse
;
import
org.jeecg.pm.hikvision.sdk.result.HikvisionBaseResult
;
import
java.net.URI
;
import
java.net.URISyntaxException
;
import
java.nio.charset.StandardCharsets
;
import
java.time.Instant
;
import
java.util.Map
;
/**
* @author: JJww
* @Date:2022/3/21
*/
@Slf4j
public
class
HikvisionBaseClient
extends
HikvisionAbstractClient
{
/**
* 请求的Host头,该字段值必须是:openapi/service
*/
private
final
static
String
host
=
"172.16.16.2"
;
private
final
static
String
protocol
=
"http"
;
private
final
static
String
joiner
=
"://"
;
private
final
String
appKey
;
private
final
String
secret
;
private
final
String
opUserUuid
;
public
HikvisionBaseClient
(
String
appKey
,
String
secret
)
{
this
.
appKey
=
appKey
;
this
.
secret
=
secret
;
final
HikvisionGetDefaultUserUuidResponse
response
=
this
.
execute
(
new
HikvisionGetDefaultUserUuidRequest
());
if
(
response
.
isSuccess
)
{
opUserUuid
=
response
.
getResult
().
getData
();
}
else
{
throw
new
JeecgBootException
(
"初始化海康威视SDK异常:无法获取opUserUuid"
);
}
}
@Override
public
<
T
extends
HikvisionAbstractResponse
<
R
>,
R
extends
HikvisionBaseResult
>
T
execute
(
HikvisionAbstractRequest
<
T
,
R
>
request
)
{
try
{
final
HttpResponse
resp
=
doHttpClient
(
request
);
final
T
response
=
request
.
getResponseClazz
().
newInstance
();
if
(
resp
.
getContentType
()
==
null
)
{
return
autoParser
(
resp
,
response
);
}
final
HikvisionParser
<
R
>
parser
=
new
HikvisionJsonParser
<>(
request
.
getResultClazz
());
setResult
(
resp
,
response
,
parser
);
return
response
;
}
catch
(
JsonProcessingException
e
)
{
throw
new
JeecgBootException
(
"Json转换异常!"
,
e
);
}
catch
(
URISyntaxException
e
)
{
throw
new
JeecgBootException
(
"URI语法异常!"
,
e
);
}
catch
(
InstantiationException
|
IllegalAccessException
e
)
{
throw
new
JeecgBootException
(
"创建Response异常!"
,
e
);
}
}
public
<
T
extends
HikvisionAbstractResponse
<
R
>,
R
extends
HikvisionBaseResult
>
HttpResponse
doHttpClient
(
HikvisionAbstractRequest
<
T
,
R
>
request
)
throws
URISyntaxException
,
JsonProcessingException
{
request
.
getModel
()
.
setAppKey
(
appKey
)
.
setTime
(
Instant
.
now
().
toEpochMilli
());
if
(!(
request
instanceof
HikvisionGetDefaultUserUuidRequest
))
{
request
.
getModel
().
setOpUserUuid
(
opUserUuid
);
}
final
URIBuilder
uriBuilder
=
new
URIBuilder
(
new
URI
((
protocol
+
joiner
+
host
+
request
.
getReqPath
())));
uriBuilder
.
setCharset
(
StandardCharsets
.
UTF_8
);
uriBuilder
.
addParameter
(
"token"
,
createToken
(
request
));
if
(
request
.
getQuery
()
!=
null
)
{
final
Map
<
String
,
String
>
queryMap
=
JsonUtils
.
obj2MapSS
(
request
.
getQuery
());
if
(
MapUtils
.
isNotEmpty
(
queryMap
))
{
queryMap
.
forEach
(
uriBuilder:
:
addParameter
);
}
}
final
HttpRequestBase
req
;
switch
(
request
.
getHttpMethod
())
{
case
GET:
req
=
new
HttpGet
(
uriBuilder
.
build
());
break
;
case
POST:
req
=
new
HttpPost
(
uriBuilder
.
build
());
HttpClientUtils
.
setRowBody
(
JsonUtils
.
obj2JsonNonNull
(
request
.
getModel
()),
(
HttpEntityEnclosingRequestBase
)
req
,
request
.
getContentType
());
break
;
default
:
throw
new
JeecgBootException
(
"不支持的请求类型!"
);
}
final
CloseableHttpClient
httpClient
=
HttpClientUtils
.
getHttpClient
();
return
HttpClientUtils
.
send
(
httpClient
,
req
,
request
.
getHeaders
());
}
private
<
T
extends
HikvisionAbstractResponse
<
R
>,
R
extends
HikvisionBaseResult
>
String
createToken
(
HikvisionAbstractRequest
<
T
,
R
>
request
)
throws
JsonProcessingException
{
final
String
tokenSource
=
request
.
getReqPath
()
+
JsonUtils
.
obj2JsonNonNull
(
request
.
getModel
())
+
this
.
secret
;
return
DigestUtils
.
md5Hex
(
tokenSource
).
toUpperCase
();
}
public
<
T
extends
HikvisionAbstractResponse
<
R
>,
R
extends
HikvisionBaseResult
>
T
autoParser
(
HttpResponse
resp
,
T
response
)
{
try
{
log
.
warn
(
"返回头无 ContentType 值,执行自动解析,进行 Json 解析!"
);
final
HikvisionJsonParser
<
R
>
jsonParser
=
new
HikvisionJsonParser
<>(
response
.
getResultClazz
());
setResult
(
resp
,
response
,
jsonParser
);
log
.
info
(
"返回头无 ContentType 值,执行自动解析,Json 解析成功!"
);
return
response
;
}
catch
(
JeecgBootException
e
)
{
log
.
error
(
"返回头无 ContentType 值,自动进行 Json 解析,解析失败:{}"
,
e
.
getMessage
());
}
throw
new
JeecgBootException
(
"返回头无 ContentType 值,自动解析全部失败!"
);
}
public
<
T
extends
HikvisionAbstractResponse
<
R
>,
R
extends
HikvisionBaseResult
>
void
setResult
(
HttpResponse
resp
,
T
response
,
HikvisionParser
<
R
>
parser
)
{
final
R
result
=
parser
.
parse
(
new
String
(
resp
.
getByteBody
()));
response
.
setSuccess
(
result
.
isSuccess
());
response
.
setResult
(
result
);
}
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/client/HikvisionClient.java
View file @
79421e3e
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
client
;
import
org.jeecg.pm.hikvision.sdk.request.HikvisionRequest
;
import
org.jeecg.pm.hikvision.sdk.request.HikvisionVideoRequest
;
import
org.jeecg.pm.hikvision.sdk.response.HikvisionResponse
;
import
org.jeecg.pm.hikvision.sdk.response.HikvisionVideoResponse
;
import
org.jeecg.pm.hikvision.sdk.request.HikvisionAbstractRequest
;
import
org.jeecg.pm.hikvision.sdk.response.HikvisionAbstractResponse
;
import
org.jeecg.pm.hikvision.sdk.result.HikvisionBaseResult
;
/**
* @author: JJww
...
...
@@ -11,8 +10,6 @@ import org.jeecg.pm.hikvision.sdk.response.HikvisionVideoResponse;
*/
public
interface
HikvisionClient
{
default
<
T
extends
HikvisionVideoResponse
<
R
>,
R
>
T
execute
(
HikvisionVideoRequest
<
T
,
R
>
request
)
{
return
null
;
}
<
T
extends
HikvisionAbstractResponse
<
R
>,
R
extends
HikvisionBaseResult
>
T
execute
(
HikvisionAbstractRequest
<
T
,
R
>
request
);
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/client/HikvisionVideoClient.java
deleted
100644 → 0
View file @
b1221191
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
client
;
import
com.chanjx.utils.HttpClientUtils
;
import
com.chanjx.utils.JsonUtils
;
import
com.chanjx.utils.entity.http.HttpResponse
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
lombok.SneakyThrows
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.http.client.methods.*
;
import
org.apache.http.client.utils.URIBuilder
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.jeecg.pm.hikvision.sdk.request.HikvisionVideoRequest
;
import
org.jeecg.pm.hikvision.sdk.response.HikvisionVideoResponse
;
import
java.net.URI
;
import
java.net.URISyntaxException
;
import
java.nio.charset.StandardCharsets
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author: JJww
* @Date:2022/3/21
*/
public
class
HikvisionVideoClient
extends
HikvisionAbstractClient
{
/**
* 请求的Host头,该字段值必须是:openapi/service
*/
private
static
final
String
HEADER_HOST
=
"openapi/service"
;
private
final
String
appkey
;
private
final
String
secret
;
public
HikvisionVideoClient
(
String
appkey
,
String
secret
)
{
this
.
appkey
=
appkey
;
this
.
secret
=
secret
;
}
@SneakyThrows
@Override
public
<
T
extends
HikvisionVideoResponse
<
R
>,
R
>
T
execute
(
HikvisionVideoRequest
<
T
,
R
>
request
)
{
final
HttpResponse
resp
=
doHttpClient
(
request
);
return
super
.
execute
(
request
);
}
public
<
T
extends
HikvisionVideoResponse
<
R
>,
R
>
HttpResponse
doHttpClient
(
HikvisionVideoRequest
<
T
,
R
>
request
)
throws
URISyntaxException
,
JsonProcessingException
{
final
CloseableHttpClient
httpClient
=
HttpClientUtils
.
getHttpClient
();
return
HttpClientUtils
.
send
(
httpClient
,
new
HttpPost
(),
request
.
getHeaders
());
}
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/entity/body/HikvisionBodyModel.java
0 → 100644
View file @
79421e3e
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
entity
.
body
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
java.time.ZoneOffset
;
/**
* @author: JJww
* @Date:2022/3/21
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
public
abstract
class
HikvisionBodyModel
implements
Serializable
{
/**
* appKey
*/
@JsonProperty
(
"appkey"
)
private
String
appKey
;
/**
* 毫秒时间戳
*/
private
Long
time
=
LocalDateTime
.
now
().
toEpochSecond
(
ZoneOffset
.
UTC
);
/**
* 操作用户 UUID 自动填充
*/
private
String
opUserUuid
;
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/entity/
Hikvision
DefaultUserUuidQuery.java
→
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/entity/
body/HikvisionGet
DefaultUserUuidQuery.java
View file @
79421e3e
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
entity
;
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
entity
.
body
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
...
...
@@ -11,8 +11,6 @@ import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
public
class
HikvisionDefaultUserUuidQuery
extends
HikvisionBaseModel
{
public
class
HikvisionGetDefaultUserUuidQuery
extends
HikvisionBodyModel
{
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/entity/
HikvisionBase
Model.java
→
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/entity/
query/HikvisionQuery
Model.java
View file @
79421e3e
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
entity
;
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
entity
.
query
;
import
com.fasterxml.jackson.annotation.JsonAlias
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
java.time.ZoneOffset
;
/**
* @author: JJww
...
...
@@ -13,9 +16,22 @@ import java.io.Serializable;
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
public
abstract
class
Hikvision
Base
Model
implements
Serializable
{
public
abstract
class
Hikvision
Query
Model
implements
Serializable
{
private
String
appkey
;
/**
* appKey
*/
@JsonAlias
(
"appkey"
)
private
String
appKey
;
/**
* 毫秒时间戳
*/
private
Long
time
=
LocalDateTime
.
now
().
toEpochSecond
(
ZoneOffset
.
UTC
);
/**
* 认证参数
*/
private
String
token
;
private
Long
time
;
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/parser/HikvisionJsonParser.java
0 → 100644
View file @
79421e3e
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
parser
;
import
com.chanjx.utils.JsonUtils
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
org.jeecg.common.exception.JeecgBootException
;
import
org.jeecg.pm.hikvision.sdk.result.HikvisionBaseResult
;
import
java.io.IOException
;
import
java.util.List
;
/**
* <p>
*
* </p>
*
* @author 陈俊雄
* @since 2022/3/22
*/
public
class
HikvisionJsonParser
<
R
extends
HikvisionBaseResult
>
implements
HikvisionParser
<
R
>{
private
final
Class
<
R
>
clazz
;
public
HikvisionJsonParser
(
Class
<
R
>
clazz
)
{
this
.
clazz
=
clazz
;
}
@Override
public
R
parse
(
String
resp
)
throws
JeecgBootException
{
try
{
return
JsonUtils
.
json2Obj
(
resp
,
clazz
);
}
catch
(
JsonProcessingException
e
)
{
throw
new
JeecgBootException
(
e
);
}
}
@Override
public
List
<
R
>
parseList
(
String
resp
)
throws
JeecgBootException
{
try
{
return
JsonUtils
.
json2List
(
resp
,
clazz
);
}
catch
(
IOException
e
)
{
throw
new
JeecgBootException
(
e
);
}
}
@Override
public
Class
<
R
>
getResultClazz
()
throws
JeecgBootException
{
return
clazz
;
}
@Override
public
R
parseErrorResult
(
String
resp
)
throws
JeecgBootException
{
try
{
return
JsonUtils
.
json2Obj
(
resp
,
clazz
);
}
catch
(
JsonProcessingException
e
)
{
throw
new
JeecgBootException
(
e
);
}
}
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/parser/HikvisionParser.java
0 → 100644
View file @
79421e3e
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
parser
;
import
org.jeecg.common.exception.JeecgBootException
;
import
org.jeecg.pm.hikvision.sdk.result.HikvisionBaseResult
;
import
java.util.List
;
/**
* <p>
*
* </p>
*
* @author 陈俊雄
* @since 2022/3/22
*/
public
interface
HikvisionParser
<
R
extends
HikvisionBaseResult
>
{
/**
* 把响应字符串解释成相应的领域对象。
*
* @param resp 响应字符串
* @return 领域对象
*/
R
parse
(
String
resp
)
throws
JeecgBootException
;
/**
*
* @param resp
* @return
* @throws JeecgBootException
*/
List
<
R
>
parseList
(
String
resp
)
throws
JeecgBootException
;
/**
* 获取响应类类型。
*/
Class
<
R
>
getResultClazz
()
throws
JeecgBootException
;
R
parseErrorResult
(
String
resp
)
throws
JeecgBootException
;
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/request/Hikvision
Video
Request.java
→
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/request/Hikvision
Abstract
Request.java
View file @
79421e3e
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
request
;
import
com.chanjx.utils.HttpMethod
;
import
org.jeecg.pm.hikvision.sdk.entity.
HikvisionBase
Model
;
import
org.jeecg.pm.hikvision.sdk.entity.body.HikvisionBodyModel
;
import
org.jeecg.pm.hikvision.sdk.entity.
query.HikvisionQuery
Model
;
import
org.jeecg.pm.hikvision.sdk.response.HikvisionResponse
;
import
org.jeecg.pm.hikvision.sdk.result.HikvisionBaseResult
;
import
java.util.Map
;
/**
* @author: JJww
* @Date:2022/3/21
*/
public
abstract
class
HikvisionVideoRequest
<
T
extends
HikvisionResponse
<
R
>,
R
>
implements
HikvisionRequest
<
T
,
R
>
{
public
abstract
class
HikvisionAbstractRequest
<
T
extends
HikvisionResponse
<
R
>,
R
extends
HikvisionBaseResult
>
implements
HikvisionRequest
<
T
,
R
>
{
@Override
public
Map
<
String
,
String
>
getHeaders
()
{
return
null
;
}
@Override
public
HikvisionB
ase
Model
getModel
()
{
public
HikvisionB
ody
Model
getModel
()
{
return
null
;
}
@Override
public
void
se
rModel
(
HikvisionBaseModel
hikvisionBaseM
odel
)
{
public
void
se
tModel
(
HikvisionBodyModel
m
odel
)
{
}
@Override
public
H
ttpMethod
getHttpMethod
()
{
public
H
ikvisionQueryModel
getQuery
()
{
return
null
;
}
@Override
public
void
set
Token
(
String
token
)
{
public
void
set
Query
(
HikvisionQueryModel
query
)
{
}
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/request/HikvisionDefaultUserUuidRequest.java
→
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/request/Hikvision
Get
DefaultUserUuidRequest.java
View file @
79421e3e
...
...
@@ -4,12 +4,11 @@ import com.chanjx.utils.HttpMethod;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
org.jeecg.pm.hikvision.sdk.Result.HikvisionDefaultUserUuidResult
;
import
org.jeecg.pm.hikvision.sdk.entity.HikvisionBaseModel
;
import
org.jeecg.pm.hikvision.sdk.entity.HikvisionDefaultUserUuidQuery
;
import
org.jeecg.pm.hikvision.sdk.response.HikvisionDefaultUserUuidResponse
;
import
java.util.Map
;
import
org.apache.http.entity.ContentType
;
import
org.jeecg.pm.hikvision.sdk.entity.body.HikvisionBodyModel
;
import
org.jeecg.pm.hikvision.sdk.entity.body.HikvisionGetDefaultUserUuidQuery
;
import
org.jeecg.pm.hikvision.sdk.response.HikvisionGetDefaultUserUuidResponse
;
import
org.jeecg.pm.hikvision.sdk.result.HikvisionGetDefaultUserUuidBaseResult
;
/**
* @author: JJww
...
...
@@ -18,37 +17,37 @@ import java.util.Map;
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
public
class
Hikvision
DefaultUserUuidRequest
extends
HikvisionVideoRequest
<
HikvisionDefaultUserUuidResponse
,
HikvisionDefaultUserUuid
Result
>
{
public
class
Hikvision
GetDefaultUserUuidRequest
extends
HikvisionAbstractRequest
<
HikvisionGetDefaultUserUuidResponse
,
HikvisionGetDefaultUserUuidBase
Result
>
{
private
HikvisionDefaultUserUuidQuery
hikvisionDefaultUserUuidQuery
;
private
final
HikvisionGetDefaultUserUuidQuery
hikvisionGetDefaultUserUuidQuery
=
new
HikvisionGetDefaultUserUuidQuery
()
;
@Override
public
HikvisionBaseModel
getModel
()
{
return
super
.
getModel
()
;
public
ContentType
getContentType
()
{
return
ContentType
.
APPLICATION_JSON
;
}
@Override
public
void
serModel
(
HikvisionBaseModel
hikvisionBaseModel
)
{
super
.
serModel
(
hikvisionBaseModel
)
;
public
Class
<
HikvisionGetDefaultUserUuidResponse
>
getResponseClazz
(
)
{
return
HikvisionGetDefaultUserUuidResponse
.
class
;
}
@Override
public
HttpMethod
getHttpMethod
()
{
return
H
ttpMethod
.
POST
;
public
Class
<
HikvisionGetDefaultUserUuidBaseResult
>
getResultClazz
()
{
return
H
ikvisionGetDefaultUserUuidBaseResult
.
class
;
}
@Override
public
void
setToken
(
String
token
)
{
super
.
setToken
(
token
)
;
public
HttpMethod
getHttpMethod
(
)
{
return
HttpMethod
.
POST
;
}
@Override
public
String
getReq
Uri
()
{
return
"
http://172.16.16.2/openapi/service/base/user/getDefaultUserUuid?token=720F760A88C19696935E200F9F2334DC
"
;
public
String
getReq
Path
()
{
return
"
/openapi/service/base/user/getDefaultUserUuid
"
;
}
@Override
public
Map
<
String
,
String
>
getHeaders
()
{
return
null
;
public
HikvisionBodyModel
getModel
()
{
return
hikvisionGetDefaultUserUuidQuery
;
}
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/request/HikvisionRequest.java
View file @
79421e3e
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
request
;
import
com.chanjx.utils.HttpMethod
;
import
org.jeecg.pm.hikvision.sdk.entity.HikvisionBaseModel
;
import
org.apache.http.entity.ContentType
;
import
org.jeecg.pm.hikvision.sdk.entity.body.HikvisionBodyModel
;
import
org.jeecg.pm.hikvision.sdk.entity.query.HikvisionQueryModel
;
import
org.jeecg.pm.hikvision.sdk.response.HikvisionResponse
;
import
org.jeecg.pm.hikvision.sdk.result.HikvisionBaseResult
;
import
java.util.Map
;
...
...
@@ -10,44 +13,72 @@ import java.util.Map;
* @author: JJww
* @Date:2022/3/21
*/
public
interface
HikvisionRequest
<
T
extends
HikvisionResponse
<
R
>,
R
>
{
public
interface
HikvisionRequest
<
T
extends
HikvisionResponse
<
R
>,
R
extends
HikvisionBaseResult
>
{
/**
* 获取
业务对象
* 获取
请求体类型请求头
*
* @return
model
* @return
请求头
*/
HikvisionBaseModel
getModel
();
ContentType
getContentType
();
/**
* 得到当前API的响应结果类型
*
* @return 响应类型
*/
Class
<
T
>
getResponseClazz
();
/**
*
设置业务实体
*
获取返回业务对象的响应结果类型
*
* @
param hikvisionBaseModel
* @
return 响应类型
*/
void
serModel
(
HikvisionBaseModel
hikvisionBaseModel
);
Class
<
R
>
getResultClazz
(
);
/**
* 获取业务对象
*
* @return model
*/
HikvisionBodyModel
getModel
();
/**
*
获取请求接口方法:GET POST ...
*
设置业务实体,如需使用此方法
*
* @
return method
* @
param model WangsuModel
*/
HttpMethod
getHttpMethod
();
void
setModel
(
HikvisionBodyModel
model
);
/**
* 获取 URI 查询参数
*
* @return URI 查询参数
*/
HikvisionQueryModel
getQuery
();
/**
* 设置 URI 查询参数
*
* @param query query
*/
void
setToken
(
String
token
);
void
setQuery
(
HikvisionQueryModel
query
);
/**
* 获取请求接口方法:GET POST ...
*
* @return method
*/
HttpMethod
getHttpMethod
();
/**
* 获取请求
uri,可能包含一个或多个 * 号占位符,需要使用 {@link #getUriReplaces()} 进行替换
* 获取请求
路径
*
* @return
uri
* @return
path
*/
String
getReq
Uri
();
String
getReq
Path
();
/**
* 获取设置的请求头参数(有的请求参数在请求头里)
...
...
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/response/HikvisionAbstractResponse.java
0 → 100644
View file @
79421e3e
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
response
;
import
org.jeecg.pm.hikvision.sdk.result.HikvisionBaseResult
;
import
java.util.List
;
/**
* @author: JJww
* @Date:2022/3/21
*/
public
abstract
class
HikvisionAbstractResponse
<
R
extends
HikvisionBaseResult
>
implements
HikvisionResponse
<
R
>
{
/**
* 返回的结果对象
*/
private
final
Class
<
R
>
resultClazz
;
public
Boolean
isSuccess
;
/**
* 返回结果是否为多个(数组)
* 默认false,通过构造参数修改
*/
private
boolean
multiple
=
false
;
/**
* 异常代码
* 目前仅请求失败有值
*/
private
String
code
;
/**
* 返回消息,成功为success
*/
private
String
msg
;
/**
* 获取返回对象
*/
private
R
result
;
/**
* 获取返回结果数组
*/
private
List
<
R
>
listResult
;
/**
* 获取网宿错误的返回信息
*/
private
HikvisionBaseResult
errorResult
;
public
HikvisionAbstractResponse
(
Class
<
R
>
resultClazz
)
{
this
.
resultClazz
=
resultClazz
;
}
public
HikvisionAbstractResponse
(
Class
<
R
>
resultClazz
,
boolean
multiple
)
{
this
.
resultClazz
=
resultClazz
;
this
.
multiple
=
multiple
;
}
@Override
public
Class
<
R
>
getResultClazz
()
{
return
resultClazz
;
}
@Override
public
String
getCode
()
{
return
code
;
}
@Override
public
void
setCode
(
String
code
)
{
this
.
code
=
code
;
}
@Override
public
String
getMsg
()
{
return
this
.
msg
;
}
@Override
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
@Override
public
R
getResult
()
{
return
result
;
}
@Override
public
void
setResult
(
R
result
)
{
this
.
result
=
result
;
}
@Override
public
List
<
R
>
getListResult
()
{
return
this
.
listResult
;
}
@Override
public
void
setListResult
(
List
<
R
>
listResult
)
{
this
.
listResult
=
listResult
;
}
@Override
public
boolean
isSuccess
()
{
return
false
;
}
@Override
public
void
setSuccess
(
boolean
success
)
{
this
.
isSuccess
=
success
;
}
@Override
public
boolean
isMultiple
()
{
return
multiple
;
}
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/response/HikvisionDefaultUserUuidResponse.java
→
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/response/Hikvision
Get
DefaultUserUuidResponse.java
View file @
79421e3e
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
response
;
import
org.jeecg.pm.hikvision.sdk.
Result.HikvisionDefaultUserUuid
Result
;
import
org.jeecg.pm.hikvision.sdk.
result.HikvisionGetDefaultUserUuidBase
Result
;
/**
* @author: JJww
* @Date:2022/3/22
*/
public
class
HikvisionDefaultUserUuidResponse
extends
HikvisionVideoResponse
<
HikvisionDefaultUserUuidResult
>
{
public
class
HikvisionGetDefaultUserUuidResponse
extends
HikvisionAbstractResponse
<
HikvisionGetDefaultUserUuidBaseResult
>
{
public
HikvisionGetDefaultUserUuidResponse
()
{
super
(
HikvisionGetDefaultUserUuidBaseResult
.
class
,
false
);
}
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/response/HikvisionResponse.java
View file @
79421e3e
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
response
;
import
org.jeecg.pm.hikvision.sdk.result.HikvisionBaseResult
;
import
java.io.Serializable
;
import
java.util.List
;
...
...
@@ -7,7 +9,7 @@ import java.util.List;
* @author: JJww
* @Date:2022/3/21
*/
public
interface
HikvisionResponse
<
R
>
extends
Serializable
{
public
interface
HikvisionResponse
<
R
extends
HikvisionBaseResult
>
extends
Serializable
{
Class
<
R
>
getResultClazz
();
...
...
@@ -19,15 +21,17 @@ public interface HikvisionResponse<R> extends Serializable {
void
setMsg
(
String
msg
);
R
get
Body
();
R
get
Result
();
void
set
Body
(
R
body
);
void
set
Result
(
R
result
);
List
<
R
>
getList
Body
();
List
<
R
>
getList
Result
();
void
setList
Body
(
List
<
R
>
listBody
);
void
setList
Result
(
List
<
R
>
listResult
);
void
setSuccess
(
B
oolean
success
);
void
setSuccess
(
b
oolean
success
);
boolean
isSuccess
();
boolean
isMultiple
();
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/response/HikvisionVideoResponse.java
deleted
100644 → 0
View file @
b1221191
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
response
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author: JJww
* @Date:2022/3/21
*/
public
abstract
class
HikvisionVideoResponse
<
R
>
implements
HikvisionResponse
<
R
>
{
@Override
public
Class
<
R
>
getResultClazz
()
{
return
null
;
}
@Override
public
String
getCode
()
{
return
null
;
}
@Override
public
void
setCode
(
String
code
)
{
}
@Override
public
String
getMsg
()
{
return
null
;
}
@Override
public
void
setMsg
(
String
msg
)
{
}
@Override
public
R
getBody
()
{
return
null
;
}
@Override
public
void
setBody
(
R
body
)
{
}
@Override
public
List
<
R
>
getListBody
()
{
return
null
;
}
@Override
public
void
setListBody
(
List
<
R
>
listBody
)
{
}
@Override
public
void
setSuccess
(
Boolean
success
)
{
}
@Override
public
boolean
isSuccess
()
{
return
false
;
}
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/
Result/HikvisionVideo
Result.java
→
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/
result/HikvisionBase
Result.java
View file @
79421e3e
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
R
esult
;
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
r
esult
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Map
;
/**
* @author: JJww
...
...
@@ -14,8 +13,7 @@ import java.util.Map;
@Data
@Accessors
(
chain
=
true
)
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
HikvisionVideoResult
implements
Serializable
{
public
class
HikvisionBaseResult
implements
Serializable
{
/**
* 0 表示成功
...
...
@@ -26,7 +24,7 @@ public class HikvisionVideoResult implements Serializable {
private
String
errorMessage
;
//当 data 有返回值时,各字段属性参
private
Map
data
;
public
boolean
isSuccess
()
{
return
SUCCESS
==
errorCode
;
}
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/
Result/HikvisionDefaultUserUuid
Result.java
→
jeecg-boot-parent/jeecg-boot-module-hikvision/src/main/java/org/jeecg/pm/hikvision/sdk/
result/HikvisionGetDefaultUserUuidBase
Result.java
View file @
79421e3e
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
R
esult
;
package
org
.
jeecg
.
pm
.
hikvision
.
sdk
.
r
esult
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
...
...
@@ -11,5 +11,6 @@ import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
public
class
HikvisionDefaultUserUuidResult
extends
HikvisionVideoResult
{
public
class
HikvisionGetDefaultUserUuidBaseResult
extends
HikvisionBaseResult
{
private
String
data
;
}
jeecg-boot-parent/jeecg-boot-module-hikvision/src/test/java/HikvisionSdkTest.java
0 → 100644
View file @
79421e3e
import
org.jeecg.pm.hikvision.sdk.client.HikvisionBaseClient
;
import
org.junit.jupiter.api.Test
;
/**
* <p>
*
* </p>
*
* @author 陈俊雄
* @since 2022/3/22
*/
public
class
HikvisionSdkTest
{
@Test
void
getDefaultUserUuidTest
()
{
final
HikvisionBaseClient
client
=
new
HikvisionBaseClient
(
null
,
null
);
}
}
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