Commit a4dfaf57 authored by hezhen's avatar hezhen

Merge branch 'hz_master'

parents 9229b4c6 d398dc6d
...@@ -247,4 +247,15 @@ public class AuthController { ...@@ -247,4 +247,15 @@ public class AuthController {
return authService.checkToken(token); return authService.checkToken(token);
} }
@RequestMapping(value = "/updUsername", method = RequestMethod.POST)
public ObjectRestResponse updUsername(@RequestParam(value="username",defaultValue="")String username,
@RequestParam(value="mobilecode",defaultValue="")String mobilecode,
HttpServletRequest request)throws Exception {
log.info(username + "----require updUsername...");
String token = request.getHeader(tokenHeader);
return appAuthService.updUsername(username, mobilecode, token);
}
} }
...@@ -5,6 +5,8 @@ import com.github.wxiaoqi.security.api.vo.user.AppUserInfo; ...@@ -5,6 +5,8 @@ import com.github.wxiaoqi.security.api.vo.user.AppUserInfo;
import com.github.wxiaoqi.security.api.vo.user.UserInfo; import com.github.wxiaoqi.security.api.vo.user.UserInfo;
import com.github.wxiaoqi.security.auth.configuration.FeignConfiguration; import com.github.wxiaoqi.security.auth.configuration.FeignConfiguration;
import com.github.wxiaoqi.security.auth.util.user.JwtAuthenticationRequest; import com.github.wxiaoqi.security.auth.util.user.JwtAuthenticationRequest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -78,4 +80,8 @@ public interface IUserService { ...@@ -78,4 +80,8 @@ public interface IUserService {
@PostMapping("/api/app/imi/login") @PostMapping("/api/app/imi/login")
String loginImiWithToken(); String loginImiWithToken();
@ApiModelProperty("修改手机号码")
@GetMapping("/api/app/updUsername")
public ObjectRestResponse updUsername(@RequestParam(value = "username") String username, @RequestParam(value = "mobilecode") String mobilecode, @RequestParam(value = "userId",defaultValue = "0") Integer userId);
} }
...@@ -6,6 +6,8 @@ import com.github.wxiaoqi.security.auth.util.user.JwtAuthenticationRequest; ...@@ -6,6 +6,8 @@ import com.github.wxiaoqi.security.auth.util.user.JwtAuthenticationRequest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
public interface AuthService { public interface AuthService {
String login(JwtAuthenticationRequest authenticationRequest) throws Exception; String login(JwtAuthenticationRequest authenticationRequest) throws Exception;
ObjectRestResponse loginSmall(JwtAuthenticationRequest authenticationRequest) throws Exception; ObjectRestResponse loginSmall(JwtAuthenticationRequest authenticationRequest) throws Exception;
...@@ -39,4 +41,6 @@ public interface AuthService { ...@@ -39,4 +41,6 @@ public interface AuthService {
String loginImiWithToken(); String loginImiWithToken();
ObjectRestResponse checkToken(String token); ObjectRestResponse checkToken(String token);
ObjectRestResponse updUsername(String username, String mobilecode, String token);
} }
...@@ -13,10 +13,13 @@ import com.github.wxiaoqi.security.common.constant.RequestTypeConstants; ...@@ -13,10 +13,13 @@ import com.github.wxiaoqi.security.common.constant.RequestTypeConstants;
import com.github.wxiaoqi.security.common.exception.auth.UserInvalidException; import com.github.wxiaoqi.security.common.exception.auth.UserInvalidException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import javax.servlet.http.HttpServletRequest;
/** /**
* @author keliii * @author keliii
*/ */
...@@ -138,4 +141,27 @@ public class AppAuthServiceImpl implements AuthService { ...@@ -138,4 +141,27 @@ public class AppAuthServiceImpl implements AuthService {
} }
@Override
public ObjectRestResponse updUsername(String username, String mobilecode, String token) {
if (StringUtils.isEmpty(token)){
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE,"token不能为空");
}
try {
IJWTInfo ijwtInfo=jwtTokenUtil.getInfoFromToken(token);
if (ijwtInfo==null){
return ObjectRestResponse.createFailedResult(10009,"token失效");
}
Integer userId= Integer.parseInt(ijwtInfo.getId());
ObjectRestResponse objectRestResponse=userService.updUsername(username,mobilecode,userId);
if (objectRestResponse.getStatus()==ResultCode.SUCCESS_CODE){
token=getToken(username,userId);
objectRestResponse.setData(token);
}
return objectRestResponse;
}catch (Exception e){
e.printStackTrace();
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"操作失败");
}
}
} }
...@@ -134,4 +134,27 @@ public class AuthServiceImpl implements AuthService { ...@@ -134,4 +134,27 @@ public class AuthServiceImpl implements AuthService {
} }
} }
@Override
public ObjectRestResponse updUsername(String username, String mobilecode, String token) {
if (StringUtils.isEmpty(token)){
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE,"token不能为空");
}
try {
IJWTInfo ijwtInfo=jwtTokenUtil.getInfoFromToken(token);
if (ijwtInfo==null){
return ObjectRestResponse.createFailedResult(10009,"token失效");
}
Integer userId= Integer.parseInt(ijwtInfo.getId());
ObjectRestResponse objectRestResponse=userService.updUsername(username,mobilecode,userId);
if (objectRestResponse.getStatus()==ResultCode.SUCCESS_CODE){
token=getToken(username,userId);
objectRestResponse.setData(token);
}
return objectRestResponse;
}catch (Exception e){
e.printStackTrace();
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"操作失败");
}
}
} }
package com.github.wxiaoqi.security.admin.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* 手机号码记录表
*/
@Table(name = "app_user_phone_notes")
@Data
public class AppUserPhoneNotes {
@Id
@GeneratedValue(generator = "JDBC")
private Integer id;
@ApiModelProperty("用户id")
@Column(name = "user_id")
private Integer userId;
@ApiModelProperty("旧手机号码")
@Column(name = "old_phone")
private String oldPhone;
@ApiModelProperty("新手机号码")
@Column(name = "new_phone")
private String newPhone;
@ApiModelProperty("创建时间")
@Column(name = "crt_time")
private Long crtTime;
}
package com.github.wxiaoqi.security.admin.biz;
import com.github.wxiaoqi.security.admin.entity.AppUserPhoneNotes;
import com.github.wxiaoqi.security.admin.mapper.AppUserPhoneNotesMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import org.springframework.stereotype.Service;
/**
* @author keliii
*/
@Service
public class AppUserPhoneNotesBiz extends BaseBiz<AppUserPhoneNotesMapper, AppUserPhoneNotes> {
}
package com.github.wxiaoqi.security.admin.mapper;
import com.github.wxiaoqi.security.admin.entity.AppUserPhoneNotes;
import tk.mybatis.mapper.additional.idlist.SelectByIdListMapper;
import tk.mybatis.mapper.common.Mapper;
public interface AppUserPhoneNotesMapper extends Mapper<AppUserPhoneNotes>, SelectByIdListMapper<AppUserPhoneNotes,Integer> {
}
\ No newline at end of file
...@@ -5,11 +5,9 @@ import com.alibaba.fastjson.JSONObject; ...@@ -5,11 +5,9 @@ import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.biz.AppUserLoginBiz; import com.github.wxiaoqi.security.admin.biz.AppUserLoginBiz;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin; import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.rpc.service.AppPermissionService; import com.github.wxiaoqi.security.admin.rpc.service.AppPermissionService;
import com.github.wxiaoqi.security.admin.rpc.service.PermissionService;
import com.github.wxiaoqi.security.admin.vo.ImiVo; import com.github.wxiaoqi.security.admin.vo.ImiVo;
import com.github.wxiaoqi.security.api.vo.authority.PermissionInfo; import com.github.wxiaoqi.security.api.vo.authority.PermissionInfo;
import com.github.wxiaoqi.security.api.vo.user.AppUserInfo; import com.github.wxiaoqi.security.api.vo.user.AppUserInfo;
import com.github.wxiaoqi.security.api.vo.user.UserInfo;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig; import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil; import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.auth.common.util.jwt.IJWTInfo; import com.github.wxiaoqi.security.auth.common.util.jwt.IJWTInfo;
...@@ -254,5 +252,27 @@ public class AppUserRest { ...@@ -254,5 +252,27 @@ public class AppUserRest {
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
@ApiModelProperty("检查手机号验证码")
@GetMapping("/unauth/checkMobilecode")
public ObjectRestResponse checkMobilecode(@RequestParam(value = "phone") String phone,
@RequestParam(value = "mobilecode") String mobilecode) {
if (StringUtils.isBlank(phone) || StringUtils.isBlank(mobilecode)) {
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE, "参数为空");
}
String redisKey = appPermissionService.checkCodeByUsername(phone, mobilecode);
if (StringUtils.isBlank(redisKey)) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, "验证码错误");
}
return ObjectRestResponse.succ();
}
@ApiModelProperty("修改手机号码")
@GetMapping("/updUsername")
public ObjectRestResponse updUsername(@RequestParam(value = "username") String username,
@RequestParam(value = "mobilecode") String mobilecode,
@RequestParam(value = "userId",defaultValue = "0") Integer userId){
return appPermissionService.updUsername(userId,username,mobilecode);
}
} }
package com.github.wxiaoqi.security.admin.rpc.service; package com.github.wxiaoqi.security.admin.rpc.service;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.ace.cache.annotation.CacheClear;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.biz.*; import com.github.wxiaoqi.security.admin.biz.*;
import com.github.wxiaoqi.security.admin.constant.RedisKey; import com.github.wxiaoqi.security.admin.constant.RedisKey;
...@@ -9,10 +10,7 @@ import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDTO; ...@@ -9,10 +10,7 @@ import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDTO;
import com.github.wxiaoqi.security.admin.dto.RegisterParamDTO; import com.github.wxiaoqi.security.admin.dto.RegisterParamDTO;
import com.github.wxiaoqi.security.admin.dto.RegisterQueueDTO; import com.github.wxiaoqi.security.admin.dto.RegisterQueueDTO;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO; import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.entity.AppUser; import com.github.wxiaoqi.security.admin.entity.*;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.entity.Element;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.admin.vo.ImiVo; import com.github.wxiaoqi.security.admin.vo.ImiVo;
import com.github.wxiaoqi.security.api.vo.authority.PermissionInfo; import com.github.wxiaoqi.security.api.vo.authority.PermissionInfo;
...@@ -110,6 +108,9 @@ public class AppPermissionService { ...@@ -110,6 +108,9 @@ public class AppPermissionService {
@Value("${admin.smallName}") @Value("${admin.smallName}")
private String smallName; private String smallName;
@Autowired
private AppUserPhoneNotesBiz notesBiz;
public AppUserInfo validate(String username, String password) { public AppUserInfo validate(String username, String password) {
AppUserInfo info = new AppUserInfo(); AppUserInfo info = new AppUserInfo();
...@@ -1134,4 +1135,35 @@ public class AppPermissionService { ...@@ -1134,4 +1135,35 @@ public class AppPermissionService {
public static final String CITY_NAME = "city"; public static final String CITY_NAME = "city";
} }
//修改手机号码
public ObjectRestResponse updUsername(Integer userId,String username,String mobileCode){
if (StringUtils.isBlank(username)||StringUtils.isBlank(mobileCode)||userId==0||userId==null){
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE,"参数不能为空");
}
if (StringUtils.isBlank(checkCodeByUsername(username,mobileCode))){
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"验证码错误");
}
log.info("----updUsername----userId==="+userId+"---username==="+username);
// 是否已存在
AppUserLogin user = appUserLoginBiz.checkeUserLogin(username);
if (null != user) {
return ObjectRestResponse.createFailedResult(ResultCode.EXIST_CODE, "手机号已存在");
}
user=appUserLoginBiz.selectById(userId);
if (user==null){
return ObjectRestResponse.createFailedResult(ResultCode.EXIST_CODE, "用户不存在");
}
AppUserLogin userLogin=new AppUserLogin();
userLogin.setId(userId);
userLogin.setUsername(username);
appUserLoginBiz.disable(userLogin);
AppUserPhoneNotes notes=new AppUserPhoneNotes();
notes.setUserId(userId);
notes.setNewPhone(username);
notes.setOldPhone(user.getUsername());
notesBiz.insertSelective(notes);
return ObjectRestResponse.succ();
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment