From fb86e38040073db280f9d258ae36b8e51b807de3 Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Thu, 8 Sep 2022 14:22:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BB=91=E5=AE=9A=E6=89=8B?= =?UTF-8?q?=E6=9C=BA=E5=8F=B7=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mdd/front/controller/UserController.java | 14 +++++++++++++- .../mdd/front/service/impl/UserServiceImpl.java | 5 +++-- .../main/java/com/mdd/front/validate/SmsParam.java | 2 ++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/server/like-front/src/main/java/com/mdd/front/controller/UserController.java b/server/like-front/src/main/java/com/mdd/front/controller/UserController.java index 79cdb1ab..e7fcd02d 100644 --- a/server/like-front/src/main/java/com/mdd/front/controller/UserController.java +++ b/server/like-front/src/main/java/com/mdd/front/controller/UserController.java @@ -2,7 +2,7 @@ package com.mdd.front.controller; import com.baomidou.mybatisplus.core.toolkit.Assert; import com.mdd.common.core.AjaxResult; -import com.mdd.common.utils.ConfigUtil; +import com.mdd.common.exception.OperateException; import com.mdd.front.LikeFrontThreadLocal; import com.mdd.front.service.IUserService; import com.mdd.front.vo.user.UserCenterVo; @@ -10,8 +10,13 @@ import com.mdd.front.vo.user.UserInfoVo; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.Arrays; import java.util.Map; +import java.util.regex.Pattern; +/** + * 用户管理表 + */ @RestController @RequestMapping("api/user") public class UserController { @@ -67,8 +72,15 @@ public class UserController { */ @PostMapping("/bindMobile") public Object bindMobile(@RequestBody Map params) { + Assert.notNull(params.get("type"), "type参数缺失"); Assert.notNull(params.get("mobile"), "mobile参数缺失"); Assert.notNull(params.get("code"), "code参数缺失"); + boolean type = Arrays.asList("bind", "change").contains(params.get("type")); + Assert.isTrue(type, "type类型只能是[bind/change]"); + if(!Pattern.matches("^[1][3,4,5,6,7,8,9][0-9]{9}$", params.get("mobile"))){ + throw new OperateException("手机号格式不正确!"); + } + Integer userId = LikeFrontThreadLocal.getUserId(); iUserService.bindMobile(params, userId); return AjaxResult.success(); diff --git a/server/like-front/src/main/java/com/mdd/front/service/impl/UserServiceImpl.java b/server/like-front/src/main/java/com/mdd/front/service/impl/UserServiceImpl.java index 1d7e7ff6..1af9676f 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/impl/UserServiceImpl.java +++ b/server/like-front/src/main/java/com/mdd/front/service/impl/UserServiceImpl.java @@ -172,11 +172,12 @@ public class UserServiceImpl implements IUserService { */ @Override public void bindMobile(Map params, Integer userId) { + String type = params.getOrDefault("type", ""); String mobile = params.getOrDefault("mobile", ""); - String code = params.getOrDefault("code", "").toLowerCase(); + String code = params.getOrDefault("code", "").toLowerCase(); // 校验验证码 - int typeCode = NoticeEnum.SMS_BIND_MOBILE_CODE.getCode(); + int typeCode = type.equals("bind") ? NoticeEnum.SMS_BIND_MOBILE_CODE.getCode() : NoticeEnum.SMS_CHANGE_MOBILE_CODE.getCode() ; Object smsCode = RedisUtil.get(GlobalConfig.redisSmsCode+typeCode+":"+mobile); if (StringUtil.isNull(smsCode) || !smsCode.toString().equals(code)) { throw new OperateException("验证码错误!"); diff --git a/server/like-front/src/main/java/com/mdd/front/validate/SmsParam.java b/server/like-front/src/main/java/com/mdd/front/validate/SmsParam.java index 7e1bdb9b..074507aa 100644 --- a/server/like-front/src/main/java/com/mdd/front/validate/SmsParam.java +++ b/server/like-front/src/main/java/com/mdd/front/validate/SmsParam.java @@ -7,6 +7,7 @@ import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; import java.io.Serializable; @Data @@ -21,6 +22,7 @@ public class SmsParam implements Serializable { @NotNull(message = "mobile参数缺失") @NotEmpty(message = "手机号不能为空") @Length(min = 11, max = 11, message = "手机号只能为11位") + @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$", message = "手机号格式有误") private String mobile; }