添加了用户忘记密码的功能模块
This commit is contained in:
parent
0f18736aa1
commit
cc95d1016b
@ -45,6 +45,7 @@ class WebSecurityConfig extends WebSecurityConfigurerAdapter {
|
|||||||
.antMatchers(HttpMethod.POST,"/api/user/loginByPhone").permitAll()
|
.antMatchers(HttpMethod.POST,"/api/user/loginByPhone").permitAll()
|
||||||
.antMatchers(HttpMethod.POST,"/qiNiuUploadFile").permitAll()
|
.antMatchers(HttpMethod.POST,"/qiNiuUploadFile").permitAll()
|
||||||
.antMatchers(HttpMethod.POST,"/merchantSettlement").permitAll()
|
.antMatchers(HttpMethod.POST,"/merchantSettlement").permitAll()
|
||||||
|
.antMatchers(HttpMethod.POST,"/api/user/updateRememberPassword").permitAll()
|
||||||
// 所有其它请求需要身份认证
|
// 所有其它请求需要身份认证
|
||||||
.anyRequest().authenticated()
|
.anyRequest().authenticated()
|
||||||
.and()
|
.and()
|
||||||
|
@ -16,6 +16,7 @@ import com.xkrs.service.SysUserService;
|
|||||||
import com.xkrs.utils.RandomUtil;
|
import com.xkrs.utils.RandomUtil;
|
||||||
import org.springframework.context.i18n.LocaleContextHolder;
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.validation.BindingResult;
|
import org.springframework.validation.BindingResult;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@ -32,6 +33,7 @@ import java.util.concurrent.TimeUnit;
|
|||||||
import static com.xkrs.common.encapsulation.OutputEncapsulation.outputEncapsulationErrorList;
|
import static com.xkrs.common.encapsulation.OutputEncapsulation.outputEncapsulationErrorList;
|
||||||
import static com.xkrs.common.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
import static com.xkrs.common.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||||
import static com.xkrs.utils.AliYunSmsUtils.sendSms;
|
import static com.xkrs.utils.AliYunSmsUtils.sendSms;
|
||||||
|
import static com.xkrs.utils.EncryptDecryptUtil.encry256;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统用户Controller
|
* 系统用户Controller
|
||||||
@ -346,4 +348,39 @@ public class SysUserController {
|
|||||||
return sysUserService.updatePassword(oldPassword,newPassword,confirmPassword,userName,sysUserEntity);
|
return sysUserService.updatePassword(oldPassword,newPassword,confirmPassword,userName,sysUserEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户忘记密码
|
||||||
|
* @param map
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Transactional(rollbackFor=Exception.class)
|
||||||
|
@PostMapping("/updateRememberPassword")
|
||||||
|
public String updateRememberPassword(@RequestBody Map map){
|
||||||
|
// 获取区域信息
|
||||||
|
Locale locale = LocaleContextHolder.getLocale();
|
||||||
|
String phone = (String) map.get("phone");
|
||||||
|
String verificationCode = (String) map.get("verificationCode");
|
||||||
|
String newPassword = (String) map.get("newPassword");
|
||||||
|
String confirmPassword = (String) map.get("confirmPassword");
|
||||||
|
SysUserEntity byTelephone = sysUserDao.findByTelephone(phone);
|
||||||
|
if(byTelephone == null){
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE,"您未绑定该手机号!",locale);
|
||||||
|
}
|
||||||
|
if(!newPassword.equals(confirmPassword)){
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.PROCESS_FAIL,"两次密码输入不一致",locale);
|
||||||
|
}
|
||||||
|
String newAfterPassword = encry256(newPassword + byTelephone.getSalt());
|
||||||
|
|
||||||
|
String o = (String) redisUtil.get(phone);
|
||||||
|
if("".equals(o) || o == null){
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.DATA_WRONG,"请先发送验证码!",locale);
|
||||||
|
}
|
||||||
|
if(!redisUtil.get(phone).equals(verificationCode)){
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.DATA_WRONG,"验证码错误,请重新输入!",locale);
|
||||||
|
}
|
||||||
|
sysUserDao.updateRememberPassword(phone,newAfterPassword);
|
||||||
|
return outputEncapsulationObject(PromptMessageEnum.SUCCESS,"密码修改成功",locale);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -163,4 +163,13 @@ public interface SysUserDao extends JpaRepository<SysUserEntity,Integer> {
|
|||||||
@Modifying(clearAutomatically=true)
|
@Modifying(clearAutomatically=true)
|
||||||
void updatePassword(Integer userId,String newPassword,String userName);
|
void updatePassword(Integer userId,String newPassword,String userName);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户忘记密码
|
||||||
|
* @param phone
|
||||||
|
* @param password
|
||||||
|
*/
|
||||||
|
@Query(value = "update sys_user set password = ?2 where telephone = ?1",nativeQuery = true)
|
||||||
|
@Modifying(clearAutomatically=true)
|
||||||
|
void updateRememberPassword(String phone,String password);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user