Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
manager
Project
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
reyun
manager
Commits
6f6ba554
Commit
6f6ba554
authored
Sep 22, 2021
by
kangxiaoshan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
加 收款金额 开票金额
parent
b81fe475
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
135 additions
and
128 deletions
+135
-128
ContractServiceImpl.java
src/main/java/common/service/impl/ContractServiceImpl.java
+2
-1
AuthorizationInterceptor.java
...n/java/security/interceptor/AuthorizationInterceptor.java
+133
-127
No files found.
src/main/java/common/service/impl/ContractServiceImpl.java
View file @
6f6ba554
...
@@ -1634,7 +1634,8 @@ public class ContractServiceImpl implements ContractService {
...
@@ -1634,7 +1634,8 @@ public class ContractServiceImpl implements ContractService {
//收款开票金额
//收款开票金额
if
(
codeMoneyMap
.
containsKey
(
c
.
getContractCode
()))
{
if
(
codeMoneyMap
==
null
||
codeMoneyMap
.
isEmpty
()
||
!
codeMoneyMap
.
containsKey
(
c
.
getContractCode
()))
{
c
.
setAmountCollected
(
"0"
);
c
.
setAmountCollected
(
"0"
);
c
.
setInvoiceAmount
(
"0"
);
c
.
setInvoiceAmount
(
"0"
);
}
else
{
}
else
{
...
...
src/main/java/security/interceptor/AuthorizationInterceptor.java
View file @
6f6ba554
...
@@ -31,133 +31,138 @@ import java.util.Map;
...
@@ -31,133 +31,138 @@ import java.util.Map;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
public
class
AuthorizationInterceptor
extends
HandlerInterceptorAdapter
{
public
class
AuthorizationInterceptor
extends
HandlerInterceptorAdapter
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AuthorizationInterceptor
.
class
);
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AuthorizationInterceptor
.
class
);
//存放鉴权信息的Header名称,默认是Authorization
//存放鉴权信息的Header名称,默认是Authorization
public
static
String
httpHeaderName
=
"Authorization"
;
public
static
String
httpHeaderName
=
"Authorization"
;
@Autowired
@Autowired
private
UserRepository
userRepository
;
private
UserRepository
userRepository
;
@Autowired
@Autowired
private
AuthRepository
authRepository
;
private
AuthRepository
authRepository
;
@Autowired
@Autowired
private
TokenManager
manager
;
private
TokenManager
manager
;
@Autowired
@Autowired
private
RedisLoginStatusManager
redisLoginStatusManager
;
private
RedisLoginStatusManager
redisLoginStatusManager
;
//鉴权信息的无用前缀,默认为空
//鉴权信息的无用前缀,默认为空
private
String
httpHeaderPrefix
=
""
;
private
String
httpHeaderPrefix
=
""
;
public
void
setHttpHeaderName
(
String
httpHeaderName
)
{
public
void
setHttpHeaderName
(
String
httpHeaderName
)
{
this
.
httpHeaderName
=
httpHeaderName
;
this
.
httpHeaderName
=
httpHeaderName
;
}
}
public
void
setHttpHeaderPrefix
(
String
httpHeaderPrefix
)
{
public
void
setHttpHeaderPrefix
(
String
httpHeaderPrefix
)
{
this
.
httpHeaderPrefix
=
httpHeaderPrefix
;
this
.
httpHeaderPrefix
=
httpHeaderPrefix
;
}
}
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
{
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
{
//放开登录
//放开登录
String
requestURL
=
request
.
getRequestURL
().
toString
();
String
requestURL
=
request
.
getRequestURL
().
toString
();
if
(
requestURL
.
contains
(
"findSaleInfo"
))
{
if
(
requestURL
.
contains
(
"findSaleInfo"
))
{
System
.
out
.
println
(
"-----"
+
requestURL
.
contains
(
"findSaleInfo"
));
System
.
out
.
println
(
"-----"
+
requestURL
.
contains
(
"findSaleInfo"
));
return
true
;
return
true
;
}
}
// System.out.println("============="+requestURL);
// System.out.println("============="+requestURL);
// System.out.println(requestURL.indexOf("accountmng/findSaleInfo"));
// System.out.println(requestURL.indexOf("accountmng/findSaleInfo"));
if
(
requestURL
.
indexOf
(
"login/login"
)
!=
-
1
if
(
requestURL
.
indexOf
(
"login/login"
)
!=
-
1
||
requestURL
.
indexOf
(
"update/pwd"
)
!=
-
1
||
requestURL
.
indexOf
(
"update/pwd"
)
!=
-
1
||
requestURL
.
indexOf
(
"user/forget"
)
!=
-
1
||
requestURL
.
indexOf
(
"user/forget"
)
!=
-
1
||
requestURL
.
indexOf
(
"user/code"
)
!=
-
1
||
requestURL
.
indexOf
(
"user/code"
)
!=
-
1
||
requestURL
.
indexOf
(
"txt2db"
)
!=
-
1
||
requestURL
.
indexOf
(
"txt2db"
)
!=
-
1
||
requestURL
.
indexOf
(
"/open/account"
)
!=
-
1
||
requestURL
.
indexOf
(
"/open/account"
)
!=
-
1
||
requestURL
.
indexOf
(
"/test/contract/flow"
)
!=
-
1
||
requestURL
.
indexOf
(
"/test/contract/flow"
)
!=
-
1
||
requestURL
.
indexOf
(
"contract/build"
)
!=
-
1
||
requestURL
.
indexOf
(
"contract/build"
)
!=
-
1
||
requestURL
.
indexOf
(
"accountmng/findSaleInfo"
)
!=
-
1
)
{
||
requestURL
.
indexOf
(
"accountmng/findSaleInfo"
)
!=
-
1
)
{
return
true
;
return
true
;
}
}
//从header中得到token
//从header中得到token
String
token
=
request
.
getHeader
(
httpHeaderName
);
String
token
=
request
.
getHeader
(
httpHeaderName
);
//token = StringUtil.isEmpty(token) ? getCookieToken(request.getCookies(), "TOKEN") : token;
//token = StringUtil.isEmpty(token) ? getCookieToken(request.getCookies(), "TOKEN") : token;
if
(
null
!=
token
)
{
if
(
null
!=
token
)
{
token
=
token
.
substring
(
httpHeaderPrefix
.
length
());
token
=
token
.
substring
(
httpHeaderPrefix
.
length
());
//验证token
//验证token
String
key
=
manager
.
getKeyFromToken
(
token
);
String
key
=
manager
.
getKeyFromToken
(
token
);
//登陆状态
//登陆状态
boolean
loginStatus
=
redisLoginStatusManager
.
getLoginStatusByKey
(
token
);
boolean
loginStatus
=
redisLoginStatusManager
.
getLoginStatusByKey
(
token
);
if
(!
StringUtil
.
isEmpty
(
key
))
{
if
(!
StringUtil
.
isEmpty
(
key
))
{
User
sessionAct
=
(
User
)
request
.
getSession
().
getAttribute
(
Constant
.
CURRENT_ACCOUNT
);
User
sessionAct
=
(
User
)
request
.
getSession
().
getAttribute
(
Constant
.
CURRENT_ACCOUNT
);
// 可这里查出权限
// 可这里查出权限
if
(
sessionAct
==
null
)
{
if
(
sessionAct
==
null
)
{
User
one
=
userRepository
.
findOne
(
Long
.
parseLong
(
key
));
User
one
=
userRepository
.
findOne
(
Long
.
parseLong
(
key
));
if
(!
one
.
getRole
().
equals
(
RoleEnum
.
MANAGER
.
getKey
()))
{
if
(
one
==
null
)
{
Auth
auth
=
authRepository
.
findByUser
(
one
.
getId
());
printJsonResponse
(
response
,
"用户不存在"
);
Map
<
String
,
String
>
authdata
=
(
Map
<
String
,
String
>)
JSONArray
.
fromObject
(
auth
.
getAuth
())
return
false
;
.
stream
().
collect
(
Collectors
.
toMap
(
p
->
((
Map
)
p
).
get
(
"id"
).
toString
(),
p
->
"0"
));
}
one
.
setAuthdataDic
(
authdata
);
}
if
(!
one
.
getRole
().
equals
(
RoleEnum
.
MANAGER
.
getKey
()))
{
Auth
auth
=
authRepository
.
findByUser
(
one
.
getId
());
request
.
getSession
().
setAttribute
(
Constant
.
CURRENT_ACCOUNT
,
one
);
Map
<
String
,
String
>
authdata
=
(
Map
<
String
,
String
>)
JSONArray
.
fromObject
(
auth
.
getAuth
())
sessionAct
=
one
;
.
stream
().
collect
(
Collectors
.
toMap
(
p
->
((
Map
)
p
).
get
(
"id"
).
toString
(),
p
->
"0"
));
}
one
.
setAuthdataDic
(
authdata
);
}
if
(!
sessionAct
.
getRole
().
equals
(
RoleEnum
.
MANAGER
.
getKey
()))
{
//权限控制
request
.
getSession
().
setAttribute
(
Constant
.
CURRENT_ACCOUNT
,
one
);
AuthKey
authKey
=
handler
.
getClass
().
getAnnotation
(
AuthKey
.
class
);
sessionAct
=
one
;
if
(
authKey
!=
null
&&
sessionAct
.
getAuthdataDic
().
get
(
authKey
.
value
().
getIdKey
())
==
null
)
{
}
printJsonResponse
(
response
,
"权限不足!"
);
return
false
;
if
(!
sessionAct
.
getRole
().
equals
(
RoleEnum
.
MANAGER
.
getKey
()))
{
}
//权限控制
AuthKey
authKey
=
handler
.
getClass
().
getAnnotation
(
AuthKey
.
class
);
return
true
;
if
(
authKey
!=
null
&&
sessionAct
.
getAuthdataDic
().
get
(
authKey
.
value
().
getIdKey
())
==
null
)
{
}
printJsonResponse
(
response
,
"权限不足!"
);
return
false
;
return
true
;
}
}
return
true
;
}
}
printJsonResponse
(
response
,
null
);
return
true
;
}
return
false
;
}
}
private
void
printJsonResponse
(
HttpServletResponse
response
,
String
message
)
{
printJsonResponse
(
response
,
null
);
try
{
//如果验证token失败,并且方法注明了Authorization,返回401错误
return
false
;
response
.
setStatus
(
HttpStatus
.
UNAUTHORIZED
.
value
());
}
BufferedWriter
writer
=
new
BufferedWriter
(
new
OutputStreamWriter
(
response
.
getOutputStream
()));
response
.
setContentType
(
MediaType
.
APPLICATION_JSON_VALUE
);
private
void
printJsonResponse
(
HttpServletResponse
response
,
String
message
)
{
try
{
if
(
StringUtils
.
isEmpty
(
message
))
{
//如果验证token失败,并且方法注明了Authorization,返回401错误
message
=
new
ObjectMapper
().
writeValueAsString
(
ResultModel
.
ERROR
(
ResultStatus
.
USERNAME_LOGIN_EXPIRE
));
response
.
setStatus
(
HttpStatus
.
UNAUTHORIZED
.
value
());
}
BufferedWriter
writer
=
new
BufferedWriter
(
new
OutputStreamWriter
(
response
.
getOutputStream
()));
response
.
setContentType
(
MediaType
.
APPLICATION_JSON_VALUE
);
writer
.
write
(
message
);
writer
.
close
();
if
(
StringUtils
.
isEmpty
(
message
))
{
}
catch
(
Exception
e
)
{
message
=
new
ObjectMapper
().
writeValueAsString
(
ResultModel
.
ERROR
(
ResultStatus
.
USERNAME_LOGIN_EXPIRE
));
e
.
printStackTrace
();
}
}
}
writer
.
write
(
message
);
writer
.
close
();
}
catch
(
Exception
e
)
{
private
String
getCookieToken
(
Cookie
[]
cookies
,
String
name
)
{
e
.
printStackTrace
();
}
String
token
=
null
;
}
if
(
null
!=
cookies
)
{
for
(
Cookie
cookie
:
cookies
)
{
private
String
getCookieToken
(
Cookie
[]
cookies
,
String
name
)
{
if
(
cookie
.
getName
().
equals
(
name
))
{
token
=
cookie
.
getValue
();
String
token
=
null
;
}
}
if
(
null
!=
cookies
)
{
}
for
(
Cookie
cookie
:
cookies
)
{
if
(
cookie
.
getName
().
equals
(
name
))
{
return
token
;
token
=
cookie
.
getValue
();
}
}
}
}
return
token
;
}
}
}
\ 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