Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
SiEn
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
hewei
SiEn
Commits
180c4693
Commit
180c4693
authored
Oct 23, 2020
by
giaogiao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
商家用户修改密码功能
parent
1d011660
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
137 additions
and
3 deletions
+137
-3
api-app/src/main/java/com/jumeirah/api/app/controller/AppUserController.java
+3
-3
api-merchant/src/main/java/com/jumeirah/api/merchant/controller/MerchantUserController.java
+9
-0
common/src/main/java/com/jumeirah/common/param/MerchantUpdatePwdParam.java
+46
-0
common/src/main/java/com/jumeirah/common/param/app/AppUserPhoneUpdateParam.java
+23
-0
common/src/main/java/com/jumeirah/common/service/MerchantUserService.java
+3
-0
common/src/main/java/com/jumeirah/common/service/impl/MerchantUserServiceImpl.java
+53
-0
No files found.
api-app/src/main/java/com/jumeirah/api/app/controller/AppUserController.java
View file @
180c4693
...
...
@@ -3,6 +3,7 @@ package com.jumeirah.api.app.controller;
import
com.jumeirah.api.app.service.AppUserApiService
;
import
com.jumeirah.common.param.app.AppSmsRegisterParam
;
import
com.jumeirah.common.param.app.AppUserInfoParam
;
import
com.jumeirah.common.param.app.AppUserPhoneUpdateParam
;
import
com.jumeirah.common.service.AppUserService
;
import
com.jumeirah.common.vo.app.LoginAppUserTokenVo
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
...
...
@@ -19,7 +20,6 @@ import org.springframework.web.bind.annotation.PostMapping;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestHeader
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
/**
...
...
@@ -58,9 +58,9 @@ public class AppUserController extends BaseController {
@PostMapping
(
"/updatePhone"
)
@OperationLog
(
name
=
"修改手机号"
,
type
=
OperationLogType
.
ADD
)
@ApiOperation
(
value
=
"修改手机号"
,
response
=
ApiResult
.
class
)
public
ApiResult
<
Boolean
>
updatePhone
(
@Request
Param
String
phoneArea
,
@RequestParam
String
phone
,
@RequestParam
String
code
)
throws
Exception
{
public
ApiResult
<
Boolean
>
updatePhone
(
@Request
Body
AppUserPhoneUpdateParam
userPhoneUpdateParam
)
throws
Exception
{
return
appUserApiService
.
updatePhone
(
phoneArea
,
phone
,
code
);
return
appUserApiService
.
updatePhone
(
userPhoneUpdateParam
.
getPhoneArea
(),
userPhoneUpdateParam
.
getPhone
(),
userPhoneUpdateParam
.
getCode
()
);
}
/* *//**
...
...
api-merchant/src/main/java/com/jumeirah/api/merchant/controller/MerchantUserController.java
View file @
180c4693
package
com
.
jumeirah
.
api
.
merchant
.
controller
;
import
com.jumeirah.common.param.MerchantLoginParam
;
import
com.jumeirah.common.param.MerchantUpdatePwdParam
;
import
com.jumeirah.common.service.MerchantService
;
import
com.jumeirah.common.service.MerchantUserService
;
import
com.jumeirah.common.vo.LoginMerUserTokenVo
;
...
...
@@ -100,6 +101,14 @@ public class MerchantUserController extends BaseController {
return
merchantUserService
.
login
(
merchantLoginParam
);
}
@PostMapping
(
"/updatePwd"
)
@OperationLogIgnore
@ApiOperation
(
value
=
"商家用户修改密码"
,
notes
=
"商家用户修改密码, 修改完后需要跳到登陆界面,并重新登陆"
)
public
ApiResult
<
Boolean
>
updatePwd
(
@Validated
@RequestBody
MerchantUpdatePwdParam
merchantUpdatePwdParam
)
throws
Exception
{
return
merchantUserService
.
updatePwd
(
merchantUpdatePwdParam
);
}
// @PostMapping("/register")
// @OperationLogIgnore
// @ApiOperation(value = "注册", notes = "商家注册")
...
...
common/src/main/java/com/jumeirah/common/param/MerchantUpdatePwdParam.java
0 → 100755
View file @
180c4693
/*
* Copyright 2019-2029 geekidea(https://github.com/geekidea)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com
.
jumeirah
.
common
.
param
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
/**
* 登录参数
*
* @author geekidea
* @date 2019-05-15
**/
@Data
@ApiModel
(
"商家用户修改密码参数"
)
public
class
MerchantUpdatePwdParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
2854217576695117356L
;
@NotBlank
(
message
=
"请输入密码"
)
@ApiModelProperty
(
value
=
"密码"
,
example
=
"123456"
)
private
String
oldPassword
;
@NotBlank
(
message
=
"请输入密码"
)
@ApiModelProperty
(
value
=
"密码"
,
example
=
"123456"
)
private
String
newPassword
;
}
common/src/main/java/com/jumeirah/common/param/app/AppUserPhoneUpdateParam.java
0 → 100644
View file @
180c4693
package
com
.
jumeirah
.
common
.
param
.
app
;
import
io.geekidea.springbootplus.framework.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* APP用户
*
* @author wei
* @since 2020-09-23
*/
@Data
@Accessors
(
chain
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"AppUserPhoneUpdateParam"
)
public
class
AppUserPhoneUpdateParam
extends
BaseEntity
{
private
String
phoneArea
;
private
String
phone
;
private
String
code
;
}
common/src/main/java/com/jumeirah/common/service/MerchantUserService.java
View file @
180c4693
...
...
@@ -2,6 +2,7 @@ package com.jumeirah.common.service;
import
com.jumeirah.common.entity.MerchantUser
;
import
com.jumeirah.common.param.MerchantLoginParam
;
import
com.jumeirah.common.param.MerchantUpdatePwdParam
;
import
com.jumeirah.common.param.MerchantUserPageParam
;
import
com.jumeirah.common.vo.LoginMerUserTokenVo
;
import
com.jumeirah.common.vo.MerchantUserQueryVo
;
...
...
@@ -37,6 +38,8 @@ public interface MerchantUserService extends BaseService<MerchantUser> {
*/
ApiResult
<
LoginMerUserTokenVo
>
login
(
MerchantLoginParam
merchantLoginParam
)
throws
Exception
;
ApiResult
<
Boolean
>
updatePwd
(
MerchantUpdatePwdParam
merchantUpdatePwdParam
)
throws
Exception
;
// ApiResult<Boolean> register(MerchantRegisterParam merchantRegisterParam) throws Exception;
...
...
common/src/main/java/com/jumeirah/common/service/impl/MerchantUserServiceImpl.java
View file @
180c4693
package
com
.
jumeirah
.
common
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.OrderItem
;
...
...
@@ -10,6 +11,7 @@ import com.jumeirah.common.entity.MerchantUserPermission;
import
com.jumeirah.common.enums.StateEnum
;
import
com.jumeirah.common.mapper.MerchantUserMapper
;
import
com.jumeirah.common.param.MerchantLoginParam
;
import
com.jumeirah.common.param.MerchantUpdatePwdParam
;
import
com.jumeirah.common.param.MerchantUserPageParam
;
import
com.jumeirah.common.service.MerchantPermissionService
;
import
com.jumeirah.common.service.MerchantUserPermissionService
;
...
...
@@ -31,6 +33,7 @@ import io.geekidea.springbootplus.framework.shiro.util.SaltUtil;
import
io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo
;
import
io.geekidea.springbootplus.framework.util.PasswordUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.shiro.SecurityUtils
;
import
org.apache.shiro.subject.Subject
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -208,6 +211,56 @@ public class MerchantUserServiceImpl extends BaseServiceImpl<MerchantUserMapper,
return
ApiResult
.
ok
(
loginSysUserTokenVo
);
}
@Override
public
ApiResult
<
Boolean
>
updatePwd
(
MerchantUpdatePwdParam
merchantUpdatePwdParam
)
throws
Exception
{
// 判断旧密码是否正确
JwtToken
jwtToken
=
(
JwtToken
)
SecurityUtils
.
getSubject
().
getPrincipal
();
MerchantUser
merchantUser
=
this
.
getById
(
jwtToken
.
getUserId
());
if
(
merchantUser
==
null
)
{
log
.
error
(
"登录失败,用户名或密码错误merchantLoginParam:{}"
,
merchantUpdatePwdParam
);
return
ApiResult
.
result
(
ApiCode
.
PWD_OR_USERNAME_ERROR
,
null
);
}
if
(
StateEnum
.
DISABLE
.
getCode
().
equals
(
merchantUser
.
getState
()))
{
log
.
error
(
"登录失败,禁用:{}"
,
merchantUpdatePwdParam
);
return
ApiResult
.
result
(
ApiCode
.
LOGIN_EXCEPTION
,
null
);
}
// 后台加密规则:sha256(sha256(123456) + salt)
String
encryptPassword
=
PasswordUtil
.
encrypt
(
merchantUpdatePwdParam
.
getOldPassword
(),
merchantUser
.
getSalt
());
if
(!
encryptPassword
.
equals
(
merchantUser
.
getPassword
()))
{
return
ApiResult
.
result
(
ApiCode
.
PWD_OR_USERNAME_ERROR
,
null
);
}
// 生成盐值
String
salt
=
null
;
String
password
=
merchantUpdatePwdParam
.
getNewPassword
();
// 如果密码为空,则设置默认密码
if
(
StringUtils
.
isBlank
(
password
))
{
salt
=
springBootPlusProperties
.
getLoginInitSalt
();
password
=
springBootPlusProperties
.
getLoginInitPassword
();
}
else
{
salt
=
SaltUtil
.
generateSalt
();
}
MerchantUser
newMerchantUser
=
new
MerchantUser
();
// 密码加密
newMerchantUser
.
setSalt
(
salt
);
newMerchantUser
.
setPassword
(
PasswordUtil
.
encrypt
(
password
,
salt
));
newMerchantUser
.
setId
(
jwtToken
.
getUserId
());
// 修改新密码
boolean
updateById
=
this
.
updateById
(
newMerchantUser
);
if
(
updateById
)
{
// 删除redis中的token,需要用户重新登陆
merchantLoginRedisService
.
deleteUserAllCache
(
jwtToken
.
getUsername
());
return
ApiResult
.
ok
();
}
else
{
return
ApiResult
.
fail
();
}
}
// @Override
// public ApiResult<Boolean> register(MerchantRegisterParam merchantRegisterPram) throws Exception {
//
...
...
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