Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 93112ff2
由
LN
编写于
2022-05-16 11:03:55 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
接口异常代码
1 个父辈
cffc76ca
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
207 行增加
和
1 行删除
src/main/java/com/neotel/smfcore/common/init/DataInitManager.java
src/main/java/com/neotel/smfcore/core/hik/rest/InterfaceExceptionController.java
src/main/java/com/neotel/smfcore/core/hik/rest/dto/InterfaceExDto.java
src/main/java/com/neotel/smfcore/core/hik/rest/query/InterfaceExCriteria.java
src/main/java/com/neotel/smfcore/common/init/DataInitManager.java
查看文件 @
93112ff
...
@@ -274,7 +274,7 @@ public class DataInitManager {
...
@@ -274,7 +274,7 @@ public class DataInitManager {
Menu
pMenuLog
=
Menu
.
CreatePMenu
(
"日志管理"
,
30
,
"log"
,
2
,
"log"
);
Menu
pMenuLog
=
Menu
.
CreatePMenu
(
"日志管理"
,
30
,
"log"
,
2
,
"log"
);
Menu
menuLog
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"taskLog"
,
"物料日志"
,
1
,
"taskLog"
,
"neolight/taskLog/index"
,
""
,
0
,
"education"
);
Menu
menuLog
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"taskLog"
,
"物料日志"
,
1
,
"taskLog"
,
"neolight/taskLog/index"
,
""
,
0
,
"education"
);
Menu
msgLog
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"message"
,
"消息查询"
,
1
,
"message"
,
"neolight/message/index"
,
""
,
0
,
"messagefind"
);
Menu
msgLog
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"message"
,
"消息查询"
,
1
,
"message"
,
"neolight/message/index"
,
""
,
0
,
"messagefind"
);
Menu
exceptionLog
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"interfaceException"
,
"接口异常"
,
1
,
"interfaceException"
,
"neolight/interfaceException/index"
,
""
,
0
,
"
messagefind
"
);
Menu
exceptionLog
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"interfaceException"
,
"接口异常"
,
1
,
"interfaceException"
,
"neolight/interfaceException/index"
,
""
,
0
,
"
interfaceException
"
);
exceptionLog
.
setHidden
(
true
);
exceptionLog
.
setHidden
(
true
);
menus
.
addAll
(
createMenus
(
pMenuLog
,
menuLog
,
msgLog
,
exceptionLog
));
menus
.
addAll
(
createMenus
(
pMenuLog
,
menuLog
,
msgLog
,
exceptionLog
));
...
...
src/main/java/com/neotel/smfcore/core/hik/rest/InterfaceExceptionController.java
0 → 100644
查看文件 @
93112ff
package
com
.
neotel
.
smfcore
.
core
.
hik
.
rest
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.core.hik.rest.dto.InterfaceExDto
;
import
com.neotel.smfcore.core.hik.rest.query.InterfaceExCriteria
;
import
com.neotel.smfcore.hikvision.HikApiCache
;
import
com.neotel.smfcore.hikvision.bean.api.HikApiRequest
;
import
com.neotel.smfcore.hikvision.bean.api.ResponseParam
;
import
com.neotel.smfcore.hikvision.util.JsonUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.*
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
@Slf4j
@RestController
@RequiredArgsConstructor
@Api
(
tags
=
"hik接口异常处理"
)
@RequestMapping
(
"api/interfaceException"
)
public
class
InterfaceExceptionController
{
@ApiOperation
(
"获取异常列表"
)
@GetMapping
(
"/list"
)
public
List
<
InterfaceExDto
>
list
(
InterfaceExCriteria
criteria
)
{
List
<
InterfaceExDto
>
results
=
new
ArrayList
<>();
List
<
HikApiRequest
>
requests
=
HikApiCache
.
getAllRequestList
();
for
(
HikApiRequest
request
:
requests
)
{
InterfaceExDto
dto
=
toDto
(
request
);
dto
.
setApiType
(
2
);
if
(
criteria
.
getCreateDate
()
!=
null
)
{
Date
from
=
criteria
.
getCreateDate
().
getFrom
();
Date
to
=
criteria
.
getCreateDate
().
getTo
();
if
(
ObjectUtil
.
isNotEmpty
(
from
))
{
if
(
request
.
getUpdatetime
().
before
(
from
))
{
break
;
}
}
if
(
ObjectUtil
.
isNotEmpty
(
to
))
{
if
(
request
.
getUpdatetime
().
after
(
to
))
{
break
;
}
}
}
boolean
blurryOk
=
false
;
if
(
ObjectUtil
.
isNotEmpty
(
criteria
.
getBlurry
()))
{
String
blurry
=
criteria
.
getBlurry
();
String
[]
blurrys
=
blurry
.
split
(
","
);
String
[]
valueArray
=
new
String
[]{
dto
.
getReqCode
(),
dto
.
getResponseMsg
(),
JsonUtil
.
toJsonStr
(
dto
.
getData
())
,
dto
.
getUserCode
()};
for
(
String
s
:
blurrys
)
{
if
(
ObjectUtil
.
isNotEmpty
(
s
))
{
for
(
String
v
:
valueArray
)
{
if
(
ObjectUtil
.
isEmpty
(
v
))
{
continue
;
}
try
{
Pattern
pattern
=
Pattern
.
compile
(
QueryHelp
.
escapeExprSpecialWord
(
s
),
Pattern
.
CASE_INSENSITIVE
);
Matcher
m
=
pattern
.
matcher
(
v
);
while
(
m
.
find
())
{
blurryOk
=
true
;
break
;
}
if
(
blurryOk
)
break
;
}
catch
(
Exception
ex
)
{
log
.
error
(
ex
.
toString
());
}
}
if
(
blurryOk
)
break
;
}
else
{
blurryOk
=
true
;
}
}
}
else
{
blurryOk
=
true
;
}
if
(
blurryOk
)
{
results
.
add
(
dto
);
}
}
return
results
;
}
private
InterfaceExDto
toDto
(
HikApiRequest
request
)
{
InterfaceExDto
dto
=
new
InterfaceExDto
();
dto
.
setApiType
(
request
.
getApiType
());
dto
.
setCreateTime
(
request
.
getCreateTime
());
dto
.
setReqCode
(
request
.
getParam
().
getReqCode
());
dto
.
setUpdatetime
(
request
.
getUpdatetime
());
dto
.
setUserCode
(
request
.
getParam
().
getUserCode
());
dto
.
setData
(
JsonUtil
.
toJsonStr
(
request
.
getParam
().
getData
())
);
dto
.
setResponseCode
(
request
.
getResponseParam
().
getCode
());
dto
.
setResponseMsg
(
request
.
getResponseParam
().
getMessage
());
return
dto
;
}
@ApiOperation
(
"接口重发"
)
@PostMapping
(
"/reSend"
)
public
ResultBean
reSend
(
@RequestBody
String
reqCode
)
{
// String reqCode = mapValues.get("reqCode");
if
(
ObjectUtil
.
isEmpty
(
reqCode
))
{
throw
new
ValidateException
(
"smfcore.error.interfaceEx.invalid"
,
"未找到异常接口{1}"
,
new
String
[]{
""
});
}
HikApiRequest
request
=
HikApiCache
.
getRequest
(
reqCode
);
if
(
request
==
null
)
{
throw
new
ValidateException
(
"smfcore.error.interfaceEx.invalid"
,
"未找到异常接口{0}"
,
new
String
[]{
reqCode
});
}
ResponseParam
responseParam
=
HikApiCache
.
reSendRequest
(
request
);
if
(
responseParam
.
getCode
().
equals
(
0
))
{
return
ResultBean
.
newOkResult
(
"smfcore.apiOk"
,
"发送成功"
,
""
);
}
else
{
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.apiError"
,
"错误码{0}:{1}"
,
new
String
[]{
responseParam
.
getCode
()
+
""
,
responseParam
.
getMessage
()});
}
}
@ApiOperation
(
"全部重发"
)
@PostMapping
(
"/reSendAll"
)
public
ResultBean
reSend
()
{
HikApiCache
.
sendFailedRequest
();
return
ResultBean
.
newOkResult
(
"smfcore.api.reSendAll"
,
"已全部重发"
,
""
);
}
}
src/main/java/com/neotel/smfcore/core/hik/rest/dto/InterfaceExDto.java
0 → 100644
查看文件 @
93112ff
package
com
.
neotel
.
smfcore
.
core
.
hik
.
rest
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
@AllArgsConstructor
@NoArgsConstructor
@Data
public
class
InterfaceExDto
implements
Serializable
{
/**
* 消息类型
* 2=7.2转储单入库过账接口
* 3=7.3排程发料过账接口
* 5=7.5 入库上架过账接口
* 6=7.6 出库下架过账接口
* 11=7.11订单发料完成通知接口
*/
/**
* 消息类型
* 2=转储单入库
* 3=排程发料
* 5=入库上架
* 6=出库下架
* 11=订单发料完成
*/
@ApiModelProperty
(
"消息类型"
)
private
int
apiType
=
0
;
@ApiModelProperty
(
"标志号"
)
private
String
reqCode
;
@ApiModelProperty
(
"操作人"
)
private
String
userCode
;
@ApiModelProperty
(
"参数内容"
)
private
String
data
;
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
"更新时间"
)
private
Date
updatetime
;
@ApiModelProperty
(
"接口返回结果:0-成功,1~N-失败"
)
private
Integer
responseCode
=-
1
;
@ApiModelProperty
(
"接口返回提示"
)
private
String
responseMsg
=
""
;
}
src/main/java/com/neotel/smfcore/core/hik/rest/query/InterfaceExCriteria.java
0 → 100644
查看文件 @
93112ff
package
com
.
neotel
.
smfcore
.
core
.
hik
.
rest
.
query
;
import
com.neotel.smfcore.common.annotation.QueryCondition
;
import
com.neotel.smfcore.common.bean.BetweenData
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.sql.Date
;
@Data
public
class
InterfaceExCriteria
{
@QueryCondition
(
blurry
=
"reqCode,userCode,date,responseMsg"
)
private
String
blurry
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
BETWEEN
,
propName
=
"updateDate"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
BetweenData
<
Date
>
createDate
;
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论