浏览代码

门户注册、找回密码区分海外站、国内站

Gaosheng 5 天之前
父节点
当前提交
69d59c6216

+ 21 - 14
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/member/front/advich/MemberEmailActiveController.java

@@ -26,6 +26,7 @@ import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
@@ -159,18 +160,19 @@ public class MemberEmailActiveController extends BaseController {
      * @param email
      * @param source
      * @param type
+     * @param memberType
      * @return
      */
     @PostMapping("/verification/code")
-    public JsonResult<Object> getMemberEmailVerificationCode(HttpServletRequest request, String email, Integer source, Integer type,String memberType) {
-        log.info("getMemberEmailVerificationCode - email:{},source:{},type:{},memberType:{}", email, source, type,memberType);
+    public JsonResult<Object> getMemberEmailVerificationCode(HttpServletRequest request, String email, Integer source, Integer type, @RequestParam(value = "memberType", required = false, defaultValue = "1") String memberType) {
+        log.info("getMemberEmailVerificationCode - email:{},source:{},type:{},memberType:{}", email, source, type, memberType);
         if (StringUtil.isEmpty(email)) {
             return SldResponse.fail(Language.translate("邮件不能为空", Language.EN_LANGUAGE_TYPE));
         }
         AssertUtil.emailCheck(email);
 
         // 1. 判断是否在1分钟内已发送过验证码
-        String redisKey = RedisConst.SLD_PC_EMAIL_VERIFY_CODE_LIMIT + email + "::" + type + "::" + memberType;
+        String redisKey = RedisConst.SLD_PC_EMAIL_VERIFY_CODE_LIMIT + email + ":type::" + type + ":memberType::" + memberType;
         if (Boolean.TRUE.equals(stringRedisTemplate.hasKey(redisKey))) {
             return SldResponse.fail(Language.translate("请勿频繁操作,请1分钟后重试", Language.EN_LANGUAGE_TYPE));
         }
@@ -200,11 +202,12 @@ public class MemberEmailActiveController extends BaseController {
      * @param email
      * @param type
      * @param verificationCode
+     * @param memberType
      * @return
      */
     @PostMapping("/check/verification/code")
-    public JsonResult<Object> checkMemberEmailVerificationCode(HttpServletRequest request, String email, Integer type, String verificationCode) {
-        log.info("checkMemberEmailVerificationCode - email:{},type:{},verificationCode:{}", email, type, verificationCode);
+    public JsonResult<Object> checkMemberEmailVerificationCode(HttpServletRequest request, String email, Integer type, String verificationCode, @RequestParam(value = "memberType", required = false, defaultValue = "1") String memberType) {
+        log.info("checkMemberEmailVerificationCode - email:{},type:{},verificationCode:{},memberType:{}", email, type, verificationCode, memberType);
         if (StringUtil.isEmpty(email)) {
             return SldResponse.fail(Language.translate("邮件不能为空", Language.EN_LANGUAGE_TYPE));
         }
@@ -218,7 +221,7 @@ public class MemberEmailActiveController extends BaseController {
             return SldResponse.fail(Language.translate("验证码不能为空", Language.EN_LANGUAGE_TYPE));
         }
 
-        String redisKey = baseKey + email;
+        String redisKey = baseKey + email + ":memberType::" + memberType;
         if (!stringRedisTemplate.hasKey(redisKey)) {
             return SldResponse.fail(Language.translate("验证码已过期,请重新获取", Language.EN_LANGUAGE_TYPE));
         }
@@ -234,25 +237,28 @@ public class MemberEmailActiveController extends BaseController {
 
     /**
      * 注册
+     *
      * @param request
      * @param email
      * @param nickName
      * @param password
      * @param confirmPassword
+     * @param memberType
      * @return
      */
     @PostMapping("/register")
-    public JsonResult<Object> activeMemberEmailInfo(HttpServletRequest request, String email, String nickName, String password,String confirmPassword) {
-        log.info("activeMemberEmailInfo - email:{},nickName:{},password:{},confirmPassword:{}", email, nickName, password,confirmPassword);
+    public JsonResult<Object> activeMemberEmailInfo(HttpServletRequest request, String email, String nickName, String password, String confirmPassword, @RequestParam(value = "memberType", required = false, defaultValue = "1") String memberType) {
+        log.info("activeMemberEmailInfo - email:{},nickName:{},password:{},confirmPassword:{},memberType:{}", email, nickName, password, confirmPassword, memberType);
         if (StringUtil.isEmpty(email)) {
             return SldResponse.fail(ResponseConst.STATE_FAIL, Language.translate("邮件不能为空", Language.EN_LANGUAGE_TYPE));
         }
-        if(!password.equals(confirmPassword)){
+        if (!password.equals(confirmPassword)) {
             return SldResponse.fail(ResponseConst.STATE_FAIL, Language.translate("密码不一致,请重新输入", Language.EN_LANGUAGE_TYPE));
         }
         AssertUtil.passwordCheck(password);
         MemberExample memberExample = new MemberExample();
         memberExample.setMemberEmail(email.toLowerCase());
+        memberExample.setMemberType(memberType);
         List<Member> memberList = memberReadMapper.listByExample(memberExample);
         if (CollectionUtils.isEmpty(memberList)) {
             return SldResponse.fail(ResponseConst.STATE_FAIL, Language.translate("会员邮箱不存在,请重新注册", Language.EN_LANGUAGE_TYPE));
@@ -282,7 +288,6 @@ public class MemberEmailActiveController extends BaseController {
     }
 
 
-
     /**
      * 用户邮箱重置忘记密码
      *
@@ -291,16 +296,18 @@ public class MemberEmailActiveController extends BaseController {
      * @param verificationCode
      * @param loginPwd
      * @param confirmPassWord
+     * @param memberType
      * @return
      */
     @PostMapping("/email/reset/pwdNew")
-    public JsonResult<Object> emailResetPwdNew(HttpServletRequest request, String email, String verificationCode, String loginPwd, String confirmPassWord) {
-        log.info("emailResetPwd - email:{},verificationCode:{},loginPwd:{},confirmPassWord:{}", email, verificationCode, loginPwd, confirmPassWord);
-        if (StringUtil.isEmpty(email) ) {
+    public JsonResult<Object> emailResetPwdNew(HttpServletRequest request, String email, String verificationCode, String loginPwd, String confirmPassWord, @RequestParam(value = "memberType", required = false, defaultValue = "1") String memberType) {
+        log.info("emailResetPwd - email:{},verificationCode:{},loginPwd:{},confirmPassWord:{},memberType:{}", email, verificationCode, loginPwd, confirmPassWord, memberType);
+        if (StringUtil.isEmpty(email)) {
             return SldResponse.fail(ResponseConst.STATE_FAIL, Language.translate("邮件不能为空", Language.EN_LANGUAGE_TYPE));
         }
         MemberExample memberExample = new MemberExample();
         memberExample.setMemberEmail(email.toLowerCase());
+        memberExample.setMemberType(memberType);
         List<Member> memberList = memberReadMapper.listByExample(memberExample);
 
         if (CollectionUtils.isEmpty(memberList)) {
@@ -312,7 +319,7 @@ public class MemberEmailActiveController extends BaseController {
             return SldResponse.fail(ResponseConst.STATE_FAIL, Language.translate("该邮箱未激活,请先激活", Language.EN_LANGUAGE_TYPE));
         }
 
-        if(!loginPwd.equals(confirmPassWord)){
+        if (!loginPwd.equals(confirmPassWord)) {
             return SldResponse.fail(ResponseConst.STATE_FAIL, Language.translate("密码不一致,请重新输入", Language.EN_LANGUAGE_TYPE));
         }
 

+ 1 - 1
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/sso/front/FrontAuthController.java

@@ -101,7 +101,7 @@ public class FrontAuthController {
     })
     @PostMapping("token")
     public JsonResult<Object> doLogin(HttpServletRequest request, @RequestParam(value = "loginType", required = false, defaultValue = "1") Integer loginType,
-                                      String username, String password, String cartInfo, String clientId, String alias, String refresh_token, Integer ssoType,@RequestParam(value = "memberType", defaultValue = "1") String memberType) {
+                                      String username, String password, String cartInfo, String clientId, String alias, String refresh_token, Integer ssoType,@RequestParam(value = "memberType",required = false, defaultValue = "1") String memberType) {
         Member member;
         if (!StringUtils.isEmpty(refresh_token)) {
             //校验token

+ 7 - 7
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/member/advich/MemberRegisterActiveModel.java

@@ -281,27 +281,27 @@ public class MemberRegisterActiveModel {
         if (CollectionUtil.isNotEmpty(memberList)) {
             Member memberInfo = memberList.get(0);
             if (memberInfo.getIsEmailActive() == 0) {
-                sendEmailRegisterVerificationCode(email);
+                sendEmailRegisterVerificationCode(email, memberType);
                 res = 1;
             } else {
                 res = 2;
             }
         } else {
             res = 1;
-            sendEmailRegisterVerificationCode(email);
+            sendEmailRegisterVerificationCode(email, memberType);
             saveEmailUserInfo(email, source,memberType);
         }
         return res;
     }
 
-    private void sendEmailRegisterVerificationCode(String email) {
+    private void sendEmailRegisterVerificationCode(String email,String memberType) {
         String pcDomainUrl = DomainUrlUtil.SLD_PC_URL.replace("http://", "").replace("https://", "");
         String verifCode = "";
         //邮件验证码过期时间,单位秒
         long expireTime = RedisConst.REGISTER_USER_AND_FORGETPWD_USER_EMAIL_VERIFICATION_CODE_EXPIRE_TIME;
 
         //将随机数存在redis中
-        String activeEmailKey = RedisConst.SLD_PC_NEW_REGISTER_USER_EMAIL + email;
+        String activeEmailKey = RedisConst.SLD_PC_NEW_REGISTER_USER_EMAIL + email + ":memberType::" + memberType;
         verifCode = RandomUtil.randomNumber(4);
         stringRedisTemplate.opsForValue().set(activeEmailKey, verifCode, expireTime, TimeUnit.SECONDS);
 
@@ -323,7 +323,7 @@ public class MemberRegisterActiveModel {
         if (CollectionUtil.isNotEmpty(memberList)) {
             Member memberInfo = memberList.get(0);
             if (memberInfo.getIsEmailActive() == 1) {
-                sendEmailForgetPasswordVerificationCode(email, memberInfo.getMemberNickName());
+                sendEmailForgetPasswordVerificationCode(email, memberInfo.getMemberNickName(),memberType);
                 res = 1;
             } else {
                 res = 2;
@@ -334,14 +334,14 @@ public class MemberRegisterActiveModel {
         return res;
     }
 
-    private void sendEmailForgetPasswordVerificationCode(String email, String nickName) {
+    private void sendEmailForgetPasswordVerificationCode(String email, String nickName,String memberType) {
         String pcDomainUrl = DomainUrlUtil.SLD_PC_URL.replace("http://", "").replace("https://", "");
         String verifCode = "";
         //重置密码验证码过期时间,单位秒
         long expireTime = RedisConst.REGISTER_USER_AND_FORGETPWD_USER_EMAIL_VERIFICATION_CODE_EXPIRE_TIME;
 
         //将随机数存在redis中
-        String forgetPwdEmailKey = RedisConst.SLD_PC_FORGET_PWD_USER_EMAIL + email;
+        String forgetPwdEmailKey = RedisConst.SLD_PC_FORGET_PWD_USER_EMAIL + email + ":memberType::" + memberType;
         verifCode = RandomUtil.randomNumber(4);
         stringRedisTemplate.opsForValue().set(forgetPwdEmailKey, verifCode, expireTime, TimeUnit.SECONDS);