diff --git a/src/main/java/com/muyu/system/controller/SysProfileController.java b/src/main/java/com/muyu/system/controller/SysProfileController.java index 5d79648..21354e2 100644 --- a/src/main/java/com/muyu/system/controller/SysProfileController.java +++ b/src/main/java/com/muyu/system/controller/SysProfileController.java @@ -15,6 +15,7 @@ import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.LoginUser; import com.muyu.system.domain.resp.ProfileResp; import com.muyu.system.service.SysUserService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -26,6 +27,7 @@ import java.util.Arrays; * * @author muyu */ +@Slf4j @RestController @RequestMapping("/user/profile") public class SysProfileController extends BaseController { @@ -105,6 +107,45 @@ public class SysProfileController extends BaseController { return error("修改密码异常,请联系管理员"); } + + /** + * 重置手机号 + */ + @Log(title = "重置手机号", businessType = BusinessType.UPDATE) + @RequestMapping(value = "/updatePhonenumber/{phonenumber}",method = RequestMethod.POST) + public Result updatePhonenumber(@PathVariable(value = "phonenumber") String phonenumber) { + try { + if (!isValidPhoneNumber(phonenumber)) { + return error("手机号格式不正确"); + } + String username = SecurityUtils.getUsername(); + SysUser user = userService.selectUserByUserName(username); + if (user == null) { + return error("用户不存在"); + } + if (userService.updateUserPhonenumber(username, phonenumber) > 0) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + loginUser.getSysUser().setPhonenumber(phonenumber); + tokenService.setLoginUser(loginUser); + return success(); + } else { + return error("修改手机号失败,请联系管理员"); + } + } catch (Exception e) { + // 记录异常日志 + log.error("更新手机号时发生异常", e); + return error("系统异常,请稍后重试"); + } + } + + private boolean isValidPhoneNumber(String phoneNumber) { + // 正则表达式校验手机号格式 + String regex = "^1[3-9]\\d{9}$"; + return phoneNumber.matches(regex); + } + + + /** * 头像上传 */ diff --git a/src/main/java/com/muyu/system/controller/SysUserController.java b/src/main/java/com/muyu/system/controller/SysUserController.java index 600aefe..1b09257 100644 --- a/src/main/java/com/muyu/system/controller/SysUserController.java +++ b/src/main/java/com/muyu/system/controller/SysUserController.java @@ -294,6 +294,11 @@ public class SysUserController extends BaseController { + + + + + /** * 根据用户编号获取授权角色 */ diff --git a/src/main/java/com/muyu/system/mapper/SysUserMapper.java b/src/main/java/com/muyu/system/mapper/SysUserMapper.java index ad61b46..83f8cbd 100644 --- a/src/main/java/com/muyu/system/mapper/SysUserMapper.java +++ b/src/main/java/com/muyu/system/mapper/SysUserMapper.java @@ -160,4 +160,6 @@ public interface SysUserMapper extends BaseMapper { SysUser findByPhone(String phonenumber); + + int updateUserPhonenumber(@Param("username") String username, @Param("phonenumber") String phonenumber); } diff --git a/src/main/java/com/muyu/system/service/SysUserService.java b/src/main/java/com/muyu/system/service/SysUserService.java index 7df4bfb..0c2ef51 100644 --- a/src/main/java/com/muyu/system/service/SysUserService.java +++ b/src/main/java/com/muyu/system/service/SysUserService.java @@ -244,4 +244,7 @@ public interface SysUserService extends IService { String sendCode(String phonenumber); String checkCode(String phonenumber, String code); + + + int updateUserPhonenumber(String username, String phonenumber); } diff --git a/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java b/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java index ebae647..c658215 100644 --- a/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java +++ b/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java @@ -586,6 +586,10 @@ public class SysUserServiceImpl extends ServiceImpl impl } } + @Override + public int updateUserPhonenumber(String username, String phonenumber) { + return userMapper.updateUserPhonenumber(username,phonenumber); + } } diff --git a/src/main/resources/mapper/system/SysUserMapper.xml b/src/main/resources/mapper/system/SysUserMapper.xml index e11a151..33eb221 100644 --- a/src/main/resources/mapper/system/SysUserMapper.xml +++ b/src/main/resources/mapper/system/SysUserMapper.xml @@ -291,6 +291,12 @@ where user_name = #{userName} + + update sys_user + set phonenumber = #{phonenumber} + where user_name = #{username} + + update sys_user