From 4981ed3c6bdc10cc6c5d9f54deb3370829c878e6 Mon Sep 17 00:00:00 2001 From: wxy <14293288+zysysys@user.noreply.gitee.com> Date: Mon, 2 Sep 2024 20:14:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E7=94=A8=E6=88=B7=E6=89=8B?= =?UTF-8?q?=E6=9C=BA=E5=8F=B7=E7=A0=81=E7=9A=84=E9=87=8D=E7=BD=AE=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加了新的API端点,允许用户重置其关联的手机号码。实现包括在SysProfileController中添加新的更新方法,使用正则表达式验证手机号码格式,并处理相关的业务逻辑。此外,更新了SysUserMapper接口和SysUserServiceImpl类,以支持数据库操作的变更。 --- .../controller/SysProfileController.java | 41 +++++++++++++++++++ .../system/controller/SysUserController.java | 5 +++ .../com/muyu/system/mapper/SysUserMapper.java | 2 + .../muyu/system/service/SysUserService.java | 3 ++ .../service/impl/SysUserServiceImpl.java | 4 ++ .../resources/mapper/system/SysUserMapper.xml | 6 +++ 6 files changed, 61 insertions(+) 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