Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
device-back
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
device-back
Commits
abc11411
提交
abc11411
authored
9月 15, 2020
作者:
Matrix
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改了一些编译错误以及循环查询的问题
上级
488c3b26
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
156 行增加
和
31 行删除
+156
-31
DeviceCheckController.java
...device/confirmcheck/controller/DeviceCheckController.java
+6
-0
DeviceDestroyController.java
...ev/device/destroy/controller/DeviceDestroyController.java
+3
-0
DeviceRetiredController.java
...ev/device/retired/controller/DeviceRetiredController.java
+3
-0
AuthenticationUtils.java
...va/com/tykj/dev/device/user/util/AuthenticationUtils.java
+29
-10
UserUtils.java
...rc/main/java/com/tykj/dev/device/user/util/UserUtils.java
+6
-3
GlobalExceptionHandler.java
...a/com/tykj/dev/misc/exception/GlobalExceptionHandler.java
+14
-8
RfidController.java
...ain/java/com/tykj/dev/rfid/controller/RfidController.java
+4
-0
DeviceCheckControllerTest.java
.../com/tykj/dev/confirmcheck/DeviceCheckControllerTest.java
+91
-10
没有找到文件。
dev-device/device-confirmcheck/src/main/java/com/tykj/dev/device/confirmcheck/controller/DeviceCheckController.java
浏览文件 @
abc11411
...
...
@@ -27,6 +27,7 @@ import com.tykj.dev.device.user.util.AuthenticationUtils;
import
com.tykj.dev.misc.base.ResultObj
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -55,6 +56,7 @@ import static java.util.stream.Collectors.toList;
@AutoDocument
@Api
(
tags
=
"核查模块"
)
@Transactional
@Slf4j
public
class
DeviceCheckController
{
@Autowired
...
...
@@ -77,6 +79,8 @@ public class DeviceCheckController {
private
TaskService
taskService
;
@Autowired
private
TaskLogService
logService
;
@Autowired
private
AuthenticationUtils
AuthenticationUtils
;
@GetMapping
(
"/area/{fatherId}"
)
@ApiOperation
(
value
=
"查询指定区域下的所有区域信息"
)
...
...
@@ -124,6 +128,7 @@ public class DeviceCheckController {
List
<
Units
>
checkedUnits
=
unitsRepo
.
findByAreaIdIn
(
billVo
.
getAreaRange
());
List
<
String
>
checkedUnitNames
=
checkedUnits
.
stream
().
map
(
Units:
:
getName
).
collect
(
toList
());
log
.
info
(
"发起手动核查,发起单位为{},被查单位为{}"
,
startUnit
.
getName
(),
checkedUnitNames
);
// 2-1 构建发起单位的 统计账单
DeviceCheckStat
provinceCheckStat
=
initStatData
(
startUnit
.
getName
(),
checkedUnits
);
Integer
billId
=
statRepo
.
save
(
provinceCheckStat
).
getId
();
...
...
@@ -156,6 +161,7 @@ public class DeviceCheckController {
taskService
.
start
(
checkedTask
);
}
log
.
info
(
"{}单位成功发起对 {} 单位的核查任务分发"
,
startUnit
.
getName
(),
checkedUnitNames
);
return
ResponseEntity
.
ok
(
new
ResultObj
(
String
.
format
(
"[%s]单位成功发起对 %s 单位的核查任务分发"
,
startUnit
.
getName
(),
checkedUnitNames
)));
}
...
...
dev-device/device-destroy/src/main/java/com/tykj/dev/device/destroy/controller/DeviceDestroyController.java
浏览文件 @
abc11411
...
...
@@ -60,6 +60,9 @@ public class DeviceDestroyController {
private
final
TaskLogService
taskLogService
;
@Autowired
private
AuthenticationUtils
AuthenticationUtils
;
/**
* 装备销毁对应的生命周期编号
*/
...
...
dev-device/device-retired/src/main/java/com/tykj/dev/device/retired/controller/DeviceRetiredController.java
浏览文件 @
abc11411
...
...
@@ -62,6 +62,9 @@ public class DeviceRetiredController {
private
final
TaskLogService
taskLogService
;
@Autowired
private
AuthenticationUtils
AuthenticationUtils
;
public
DeviceRetiredController
(
DeviceRetiredBillService
deviceRetiredBillService
,
TaskService
taskService
,
PackingLibraryService
packingLibraryService
,
DeviceLibraryService
deviceLibraryService
,
DeviceLogService
deviceLogService
,
TaskLogService
taskLogService
)
{
this
.
deviceRetiredBillService
=
deviceRetiredBillService
;
this
.
taskService
=
taskService
;
...
...
dev-device/device-user/src/main/java/com/tykj/dev/device/user/util/AuthenticationUtils.java
浏览文件 @
abc11411
...
...
@@ -10,9 +10,12 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.security.core.Authentication
;
import
org.springframework.security.core.context.SecurityContextHolder
;
import
org.springframework.security.core.userdetails.UsernameNotFoundException
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 用户实体相关工具类
...
...
@@ -24,7 +27,13 @@ import java.util.List;
* @data 2020/5/14
**/
@Slf4j
@Component
public
class
AuthenticationUtils
{
public
static
String
ANONYMOUS_USER_STRING
=
"anonymousUser"
;
@Autowired
PermissionsService
permissionsService
;
@Autowired
UnitsService
unitsService
;
@Autowired
private
UserService
userService
;
@Autowired
...
...
@@ -33,36 +42,44 @@ public class AuthenticationUtils {
private
RoleService
roleService
;
@Autowired
private
RolePermissionsService
rolePermissionsService
;
@Autowired
PermissionsService
permissionsService
;
@Autowired
UnitsService
unitsService
;
public
static
String
ANONYMOUS_USER_STRING
=
"anonymousUser"
;
/***
* 获取当前登录用户
*
* @Return : com.example.personnelmanager.entity.UserDetail
*/
public
static
SecurityUser
getAuthentication
()
{
public
SecurityUser
getAuthentication
()
{
Authentication
authentication
=
SecurityContextHolder
.
getContext
().
getAuthentication
();
if
(
authentication
!=
null
){
if
(
ANONYMOUS_USER_STRING
.
equals
(
authentication
.
getPrincipal
())){
if
(
authentication
!=
null
)
{
Object
userObject
=
authentication
.
getPrincipal
();
if
(
ANONYMOUS_USER_STRING
.
equals
(
userObject
))
{
log
.
info
(
"当前无登录用户"
);
}
return
(
SecurityUser
)
authentication
.
getPrincipal
();
}
else
{
if
(
userObject
instanceof
SecurityUser
)
{
return
(
SecurityUser
)
userObject
;
}
else
{
return
findUserNameToSecurity
(((
org
.
springframework
.
security
.
core
.
userdetails
.
User
)
userObject
).
getUsername
());
}
}
else
{
log
.
info
(
"当前无登录用户"
);
return
null
;
}
}
Map
<
String
,
SecurityUser
>
userMap
=
new
HashMap
<>();
/**
* 根据用户名称查询登入对象
*
* @param userName 用户名称
*/
private
SecurityUser
findUserNameToSecurity
(
String
userName
)
{
if
(
userMap
.
get
(
userName
)
!=
null
)
{
return
userMap
.
get
(
userName
);
}
SecurityUser
securityUser
=
new
SecurityUser
();
User
user
=
userService
.
findByUserName
(
userName
);
if
(
user
==
null
)
{
...
...
@@ -80,8 +97,10 @@ public class AuthenticationUtils {
securityUser
.
setCurrentUserInfo
(
user
);
securityUser
.
setRoleList
(
roles
);
securityUser
.
setUsername
(
userName
);
userMap
.
put
(
userName
,
securityUser
);
return
securityUser
;
}
}
}
dev-device/device-user/src/main/java/com/tykj/dev/device/user/util/UserUtils.java
浏览文件 @
abc11411
...
...
@@ -13,13 +13,16 @@ import org.springframework.stereotype.Component;
@Component
public
class
UserUtils
{
@Autowired
private
AuthenticationUtils
AuthenticationUtils
;
private
UnitsService
unitsService
=
SpringUtils
.
getBean
(
"unitsServiceImpl"
);
public
Integer
getCurrentUserId
(){
public
Integer
getCurrentUserId
()
{
SecurityUser
authentication
=
AuthenticationUtils
.
getAuthentication
();
if
(
authentication
!=
null
)
{
if
(
authentication
!=
null
)
{
return
authentication
.
getCurrentUserInfo
().
getUserId
();
}
else
{
}
else
{
return
null
;
}
}
...
...
dev-misc/src/main/java/com/tykj/dev/misc/exception/GlobalExceptionHandler.java
浏览文件 @
abc11411
package
com
.
tykj
.
dev
.
misc
.
exception
;
import
com.tykj.dev.misc.base.ResultObj
;
import
com.tykj.dev.misc.utils.ResultUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.http.ResponseEntity
;
...
...
@@ -26,24 +27,26 @@ public class GlobalExceptionHandler {
/**
* 报错信息都会通过这个方法处理并通过统一的返回方式进行返回
*
* @param e 报错信息
*/
@ResponseBody
@ExceptionHandler
(
Exception
.
class
)
public
ResponseEntity
errorMessage
(
Exception
e
){
public
ResponseEntity
errorMessage
(
Exception
e
)
{
e
.
printStackTrace
();
return
ResultUtil
.
failed
();
}
/**
* 业务错误
*
* @param e 报错信息
*/
@ResponseBody
@ExceptionHandler
(
ApiException
.
class
)
public
ResponseEntity
errorMessage
(
ApiException
e
){
public
ResponseEntity
errorMessage
(
ApiException
e
)
{
e
.
printStackTrace
();
if
(
e
.
getResponseEntity
()
!=
null
)
{
if
(
e
.
getResponseEntity
()
!=
null
)
{
return
e
.
getResponseEntity
();
}
return
ResultUtil
.
failed
();
...
...
@@ -51,18 +54,19 @@ public class GlobalExceptionHandler {
/**
* 数据合法性验证报错会通过这个方法处理并通过统一的返回方式进行返回
*
* @param e 报错信息
*/
@ResponseBody
@ExceptionHandler
(
BindException
.
class
)
public
ResponseEntity
errorMessage
(
BindException
e
){
public
ResponseEntity
errorMessage
(
BindException
e
)
{
e
.
printStackTrace
();
BindingResult
bindingResult
=
e
.
getBindingResult
();
String
message
=
null
;
if
(
bindingResult
.
hasErrors
())
{
FieldError
fieldError
=
bindingResult
.
getFieldError
();
if
(
fieldError
!=
null
)
{
message
=
fieldError
.
getField
()
+
fieldError
.
getDefaultMessage
();
message
=
fieldError
.
getField
()
+
fieldError
.
getDefaultMessage
();
}
}
return
ResultUtil
.
failed
(
message
);
...
...
@@ -70,24 +74,26 @@ public class GlobalExceptionHandler {
/**
* 用户未登录时会通过这里处理
*
* @param e 报错信息
*/
@ResponseBody
@ExceptionHandler
(
AuthenticationException
.
class
)
public
ResponseEntity
errorMessage
(
AuthenticationException
e
){
public
ResponseEntity
errorMessage
(
AuthenticationException
e
)
{
e
.
printStackTrace
();
return
ResultUtil
.
unauthorized
();
}
/**
* 用户权限不足
*
* @param e 报错信息
*/
@ResponseBody
@ExceptionHandler
(
AccessDeniedException
.
class
)
public
ResponseEntity
errorMessage
(
AccessDeniedException
e
){
public
ResponseEntity
errorMessage
(
AccessDeniedException
e
)
{
e
.
printStackTrace
();
return
Res
ultUtil
.
forbidden
(
);
return
Res
ponseEntity
.
status
(
403
).
body
(
new
ResultObj
(
e
.
getMessage
())
);
}
}
...
...
dev-rfid/src/main/java/com/tykj/dev/rfid/controller/RfidController.java
浏览文件 @
abc11411
...
...
@@ -34,6 +34,7 @@ import com.tykj.dev.socket.MyWebSocket;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.validation.annotation.Validated
;
...
...
@@ -80,6 +81,9 @@ public class RfidController {
@Resource
MyWebSocket
myWebSocket
;
@Autowired
private
AuthenticationUtils
AuthenticationUtils
;
final
RfidChangeLogService
rfidChangeLogService
;
final
RfidChangeBillService
rfidChangeBillService
;
...
...
dev-union/src/test/java/com/tykj/dev/confirmcheck/DeviceCheckControllerTest.java
浏览文件 @
abc11411
package
com
.
tykj
.
dev
.
confirmcheck
;
import
com.github.wenhao.jpa.Specifications
;
import
com.google.common.collect.Lists
;
import
com.tykj.dev.device.confirmcheck.controller.DeviceCheckController
;
import
com.tykj.dev.device.confirmcheck.entity.vo.CheckBillVo
;
import
com.tykj.dev.union.MockTest
;
import
com.tykj.dev.device.confirmcheck.entity.vo.CheckDetailVo
;
import
com.tykj.dev.device.confirmcheck.entity.vo.DevLibVo
;
import
com.tykj.dev.device.confirmcheck.repository.DeviceCheckDetailDao
;
import
com.tykj.dev.device.confirmcheck.utils.ObjTransUtil
;
import
com.tykj.dev.device.task.repository.TaskDao
;
import
com.tykj.dev.device.task.subject.common.StatusEnum
;
import
com.tykj.dev.device.task.subject.domin.Task
;
import
com.tykj.dev.union.BaseTest
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc
;
import
org.springframework.http.MediaType
;
import
org.springframework.security.test.context.support.WithMockUser
;
import
org.springframework.test.web.servlet.MockMvc
;
import
org.springframework.test.web.servlet.RequestBuilder
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.StringJoiner
;
import
static
com
.
tykj
.
dev
.
misc
.
utils
.
JacksonUtil
.
toJSon
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
request
.
MockMvcRequestBuilders
.
get
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
request
.
MockMvcRequestBuilders
.
post
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
request
.
MockMvcRequestBuilders
.
put
;
import
static
org
.
springframework
.
test
.
web
.
servlet
.
result
.
MockMvcResultMatchers
.
status
;
/**
...
...
@@ -22,15 +35,21 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
* @since 2020/9/15 at 11:17 上午
*/
@SuppressWarnings
(
"ALL"
)
@WithMockUser
(
username
=
"shena"
,
password
=
"qwer1234"
)
class
DeviceCheckControllerTest
extends
MockTest
{
@WithMockUser
(
username
=
"shena"
,
password
=
"qwer1234"
,
authorities
=
"省A专管员"
)
@AutoConfigureMockMvc
class
DeviceCheckControllerTest
extends
BaseTest
{
@Autowired
pr
ivate
DeviceCheckController
checkController
;
pr
otected
MockMvc
mockMvc
;
@Autowired
pr
otected
MockMvc
mockMvc
;
pr
ivate
DeviceCheckDetailDao
detailRepo
;
@Autowired
private
TaskDao
taskRepo
;
@Autowired
private
ObjTransUtil
transUtil
;
@Test
void
startManualCheck
()
throws
Exception
{
...
...
@@ -47,16 +66,78 @@ class DeviceCheckControllerTest extends MockTest {
// 测试
RequestBuilder
request
;
// 1、get查一下user列表,应该为空
request
=
get
(
"/check/confirm/check/bill
"
)
request
=
post
(
"/check/confirm/check/bill"
)
.
header
(
"Origin"
,
"*
"
)
.
contentType
(
MediaType
.
APPLICATION_JSON
)
.
content
(
toJSon
(
param
));
mockMvc
.
perform
(
request
)
.
andExpect
(
status
().
isOk
());
.
andExpect
(
status
().
isOk
())
.
andDo
(
mvcResult1
->
System
.
out
.
println
(
"[测试结果] 手动发起核查任务测试通过"
));
// checkUserA 接口
Task
initTask
=
taskRepo
.
findAll
(
Specifications
.<
Task
>
and
()
.
eq
(
"billStatus"
,
StatusEnum
.
CHECK_DETAIL_0
.
id
)
.
build
())
.
get
(
0
);
Integer
detailBillId
=
initTask
.
getBillId
();
CheckDetailVo
detailVoList
=
detailRepo
.
findById
(
detailBillId
)
.
map
(
transUtil:
:
CheckDetailDo2Vo
)
.
orElse
(
null
);
DevLibVo
devLibVo
=
new
DevLibVo
(
detailVoList
.
getDevInLibrary
(),
detailVoList
.
getDevNotInLibrary
());
Map
<
String
,
String
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"assignUserId"
,
"2"
);
paramMap
.
put
(
"checkResult"
,
"\"检查结果无误\""
);
String
baseUrl
=
"/check/confirm/detail/"
;
String
url_a
=
baseUrl
+
"A/"
+
detailBillId
;
StringJoiner
joiner
=
new
StringJoiner
(
"&"
,
"?"
,
""
);
for
(
Map
.
Entry
<
String
,
String
>
entry
:
paramMap
.
entrySet
())
{
String
k
=
entry
.
getKey
();
String
v
=
entry
.
getValue
();
joiner
.
add
(
k
+
"="
+
v
);
}
url_a
+=
joiner
.
toString
();
System
.
out
.
println
(
"url is "
+
url_a
);
request
=
put
(
url_a
)
.
header
(
"Origin"
,
"*"
)
.
contentType
(
MediaType
.
APPLICATION_JSON
)
.
content
(
toJSon
(
devLibVo
));
mockMvc
.
perform
(
request
)
.
andExpect
(
status
().
isOk
())
.
andDo
(
s
->
System
.
out
.
println
(
String
.
format
(
"[测试结果] 对任务id=%d的任务执行岗位A详情审核操作成功,审核的详情表id为%d"
,
initTask
.
getId
(),
initTask
.
getBillId
())));
// checkUserB 接口 测试审核通过
String
url_b
=
baseUrl
+
"B/"
+
detailBillId
+
"?"
+
"checkStatus=1"
;
request
=
put
(
url_b
)
.
header
(
"Origin"
,
"*"
);
mockMvc
.
perform
(
request
)
.
andExpect
(
status
().
isOk
())
.
andDo
(
s
->
System
.
out
.
println
(
String
.
format
(
"[测试结果] 对任务id=%d的任务执行岗位B详情审核操作成功,审核的详情表id为%d"
,
initTask
.
getId
(),
initTask
.
getBillId
())));
// checkUserC - C 接口 测试审核通过
String
url_c
=
baseUrl
+
"C/"
+
detailBillId
+
"?"
+
"pass=1"
;
}
@Test
void
checkUserA
()
{
//从
}
@Test
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论