Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
O
on-site-service
Project
Project
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
external
on-site-service
Commits
fb849c76
Commit
fb849c76
authored
Jul 27, 2022
by
shangtx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 用户类型接口可无token访问
parent
f6e3fb00
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
33 additions
and
9 deletions
+33
-9
UserController.java
...onsiteservice/miniapp/controller/user/UserController.java
+4
-2
UserService.java
...a/com/onsiteservice/miniapp/service/user/UserService.java
+27
-6
application.yaml
mini-app/src/main/resources/application.yaml
+2
-1
No files found.
mini-app/src/main/java/com/onsiteservice/miniapp/controller/user/UserController.java
View file @
fb849c76
...
...
@@ -14,6 +14,8 @@ import org.springframework.validation.annotation.Validated;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
/**
* @author 李宁
...
...
@@ -49,8 +51,8 @@ public class UserController {
@ApiOperation
(
"用户身份 0 普通用户 1 客服 2 估价员 3 销售"
)
@GetMapping
(
"/role-type"
)
public
Result
<
Integer
>
getRoleType
(
@CurrentUserId
Long
userId
)
{
return
ResultGenerator
.
success
(
userService
.
getRoleType
(
userId
));
public
Result
<
Integer
>
getRoleType
(
HttpServletRequest
request
)
{
return
ResultGenerator
.
success
(
userService
.
getRoleType
(
request
));
}
...
...
mini-app/src/main/java/com/onsiteservice/miniapp/service/user/UserService.java
View file @
fb849c76
package
com
.
onsiteservice
.
miniapp
.
service
.
user
;
import
com.alibaba.fastjson.JSON
;
import
com.onsiteservice.common.runner.InitDataRunner
;
import
com.onsiteservice.constant.constant.Constants
;
import
com.onsiteservice.constant.constant.DictConstants
;
import
com.onsiteservice.constant.constant.RedisKeyConstants
;
import
com.onsiteservice.constant.enums.BizCodeEnum
;
...
...
@@ -9,7 +11,10 @@ import com.onsiteservice.constant.enums.ServiceOrderStatusEnum;
import
com.onsiteservice.constant.enums.ServiceUserTypeEnum
;
import
com.onsiteservice.core.exception.ServiceException
;
import
com.onsiteservice.core.result.Result
;
import
com.onsiteservice.core.result.ResultCodeEnum
;
import
com.onsiteservice.core.result.ResultGenerator
;
import
com.onsiteservice.core.security.jwt.JwtManager
;
import
com.onsiteservice.core.security.jwt.JwtPathProperties
;
import
com.onsiteservice.dao.common.AbstractMapper
;
import
com.onsiteservice.dao.mapper.service.ServiceOrderMapper
;
import
com.onsiteservice.dao.mapper.service.ServiceValuatorAssignMapper
;
...
...
@@ -25,6 +30,7 @@ import com.onsiteservice.miniapp.controller.user.vo.UserInfoVO;
import
com.onsiteservice.miniapp.controller.user.vo.UserOrderInfoVO
;
import
com.onsiteservice.miniapp.mapper.order.ServiceOrderBizMapper
;
import
com.onsiteservice.util.RandomUtils
;
import
io.jsonwebtoken.Claims
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -35,6 +41,7 @@ import org.springframework.transaction.annotation.Transactional;
import
tk.mybatis.mapper.entity.Condition
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Objects
;
...
...
@@ -89,7 +96,7 @@ public class UserService extends AbstractMapper<User> {
}
User
user
=
User
.
builder
().
id
(
userId
).
phone
(
dto
.
getPhone
()).
build
();
return
userMapper
.
updateByPrimaryKeySelective
(
user
)
==
1
?
ResultGenerator
.
success
()
:
ResultGenerator
.
fail
(
"换绑失败"
);
return
userMapper
.
updateByPrimaryKeySelective
(
user
)
==
1
?
ResultGenerator
.
success
()
:
ResultGenerator
.
fail
(
"换绑失败"
);
}
...
...
@@ -126,7 +133,7 @@ public class UserService extends AbstractMapper<User> {
int
num
=
serviceOrderMapper
.
selectCountByCondition
(
condition
);
vo
.
setTodo
(
num
);
}
if
(
Objects
.
equals
(
user
.
getRoleType
(),
ServiceUserTypeEnum
.
VALUATOR
.
getId
()))
{
if
(
Objects
.
equals
(
user
.
getRoleType
(),
ServiceUserTypeEnum
.
VALUATOR
.
getId
()))
{
Condition
condition
=
new
Condition
(
ServiceValuatorAssign
.
class
);
condition
.
createCriteria
().
andEqualTo
(
"valuatorId"
,
userId
)
.
andGreaterThan
(
"assignTime"
,
new
Date
());
...
...
@@ -144,11 +151,25 @@ public class UserService extends AbstractMapper<User> {
return
vo
;
}
public
Integer
getRoleType
(
Long
userId
)
{
if
(
userId
==
null
)
{
public
Integer
getRoleType
(
HttpServletRequest
request
)
{
// 获取token
String
token
=
request
.
getHeader
(
JwtManager
.
AUTHORIZATION_HEADER
);
if
(
StringUtils
.
isEmpty
(
token
))
{
return
ServiceUserTypeEnum
.
USER
.
getId
();
}
var
user
=
userMapper
.
selectByPrimaryKey
(
userId
);
return
user
.
getRoleType
();
//
Claims
claims
=
JwtManager
.
parseToken
(
token
.
replaceAll
(
JwtManager
.
BEARER
,
""
));
if
(
claims
!=
null
)
{
// 如果token验证成功,将token对应的用户id
Object
userId
=
JSON
.
parseObject
(
claims
.
getSubject
()).
get
(
JwtManager
.
USER_ID
);
if
(
userId
!=
null
)
{
var
user
=
userMapper
.
selectByPrimaryKey
(
userId
);
if
(
user
!=
null
)
{
return
user
.
getRoleType
();
}
}
}
return
ServiceUserTypeEnum
.
USER
.
getId
();
}
}
mini-app/src/main/resources/application.yaml
View file @
fb849c76
...
...
@@ -17,7 +17,8 @@ project:
# 安全路径白名单 无需token
ant-paths
:
"
/error,**.html**,**.js,**.css,/favicon.ico,/webjars/**,/swagger**,
/swagger-resources/configuration/ui,/**/v2/api-docs,/doc.html,/v2/api-docs-ext,/druid/**
\
/,/websocket/**,/category/page,/subclass/**,/token/base,/dict,/common/*,/wechat/pay-notify,/order/agreement"
/,/websocket/**,/category/page,/subclass/**,/token/base,/dict,/common/*,/wechat/pay-notify,/order/agreement,
\
/user/role-type"
# 基础token可以访问的路径白名单
base-token-ant-paths
:
"
/login"
schedule
:
...
...
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