ソースを参照

新用户注册后昵称随机生成四个汉字

liangpeile 1 年間 前
コミット
c119103859

+ 44 - 5
crmeb-front/src/main/java/com/zbkj/front/service/impl/LoginServiceImpl.java

@@ -29,12 +29,13 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.support.TransactionTemplate;
 
 import javax.servlet.http.HttpServletRequest;
+import java.io.UnsupportedEncodingException;
 import java.util.Optional;
+import java.util.Random;
 import java.util.concurrent.TimeUnit;
 
 /**
  * 移动端登录服务类
-
  */
 @Service
 public class LoginServiceImpl implements LoginService {
@@ -64,6 +65,7 @@ public class LoginServiceImpl implements LoginService {
 
     /**
      * 发送短信验证码
+     *
      * @param phone 手机号
      * @return Boolean
      */
@@ -92,6 +94,7 @@ public class LoginServiceImpl implements LoginService {
 
     /**
      * 退出登录
+     *
      * @param request HttpServletRequest
      */
     @Override
@@ -101,6 +104,7 @@ public class LoginServiceImpl implements LoginService {
 
     /**
      * 手机号验证码登录
+     *
      * @param loginRequest 登录信息
      * @return LoginResponse
      */
@@ -124,6 +128,7 @@ public class LoginServiceImpl implements LoginService {
 
     /**
      * 手机号密码登录
+     *
      * @param loginRequest 登录信息
      * @return LoginResponse
      */
@@ -150,6 +155,7 @@ public class LoginServiceImpl implements LoginService {
 
     /**
      * 微信公众号授权登录
+     *
      * @param request 登录参数
      * @return LoginResponse
      */
@@ -158,7 +164,7 @@ public class LoginServiceImpl implements LoginService {
         // 通过code获取获取公众号授权信息
         WeChatOauthToken oauthToken = wechatService.getOauth2AccessToken(request.getCode());
         //检测是否存在
-        UserToken userToken = userTokenService.getByOpenidAndType(oauthToken.getOpenId(),  UserConstants.USER_TOKEN_TYPE_WECHAT);
+        UserToken userToken = userTokenService.getByOpenidAndType(oauthToken.getOpenId(), UserConstants.USER_TOKEN_TYPE_WECHAT);
         Integer spreadPid = Optional.ofNullable(request.getSpreadPid()).orElse(0);
         LoginResponse loginResponse = new LoginResponse();
         if (ObjectUtil.isNotNull(userToken)) {// 已存在,正常登录
@@ -187,6 +193,7 @@ public class LoginServiceImpl implements LoginService {
 
     /**
      * 微信登录小程序授权登录
+     *
      * @param request 用户参数
      * @return LoginResponse
      */
@@ -217,6 +224,7 @@ public class LoginServiceImpl implements LoginService {
 
     /**
      * 微信注册绑定手机号
+     *
      * @param request 请求参数
      * @return 登录信息
      */
@@ -264,7 +272,7 @@ public class LoginServiceImpl implements LoginService {
             user.setAccount(request.getPhone());
             user.setSpreadUid(0);
             user.setPwd(CommonUtil.createPwd(request.getPhone()));
-            user.setNickname("贵彩办公");
+            user.setNickname(randomChar(4));
             user.setAvatar(systemConfigService.getValueByKey(SysConfigConstants.USER_DEFAULT_AVATAR_CONFIG_KEY));
             user.setSex(0);
             user.setAddress("");
@@ -315,6 +323,7 @@ public class LoginServiceImpl implements LoginService {
 
     /**
      * 获取用户Token类型
+     *
      * @param type 用户注册类型
      */
     private Integer getUserTokenType(String type) {
@@ -421,10 +430,10 @@ public class LoginServiceImpl implements LoginService {
         UserToken userToken = null;
 
         if (request.getType().equals(UserConstants.REGISTER_TYPE_IOS_WX)) {
-            userToken = userTokenService.getByOpenidAndType(request.getOpenId(),  UserConstants.USER_TOKEN_TYPE_IOS_WX);
+            userToken = userTokenService.getByOpenidAndType(request.getOpenId(), UserConstants.USER_TOKEN_TYPE_IOS_WX);
         }
         if (request.getType().equals(UserConstants.REGISTER_TYPE_ANDROID_WX)) {
-            userToken = userTokenService.getByOpenidAndType(request.getOpenId(),  UserConstants.USER_TOKEN_TYPE_ANDROID_WX);
+            userToken = userTokenService.getByOpenidAndType(request.getOpenId(), UserConstants.USER_TOKEN_TYPE_ANDROID_WX);
         }
         if (ObjectUtil.isNotNull(userToken)) {// 已存在,正常登录
             User user = userService.getById(userToken.getUid());
@@ -513,6 +522,7 @@ public class LoginServiceImpl implements LoginService {
 
     /**
      * 校验token是否有效
+     *
      * @return true 有效, false 无效
      */
     @Override
@@ -546,4 +556,33 @@ public class LoginServiceImpl implements LoginService {
         loginResponse.setType(LoginConstants.LOGIN_STATUS_LOGIN);
         return loginResponse;
     }
+
+    private String randomChar(int j) {
+        String randomChar = "";
+        for (int i = 0; i < j; i++) {
+            String str = "";
+            int highPos;
+            int lowPos;
+            Random random = new Random();
+
+            highPos = (176 + Math.abs(random.nextInt(39)));
+            lowPos = (161 + Math.abs(random.nextInt(93)));
+
+            byte[] b = new byte[2];
+            b[0] = (Integer.valueOf(highPos)).byteValue();
+            b[1] = (Integer.valueOf(lowPos)).byteValue();
+
+            try {
+                str = new String(b, "GBK");
+            } catch (UnsupportedEncodingException e) {
+                e.printStackTrace();
+            }
+            char result = str.charAt(0);
+            randomChar += result;
+
+        }
+
+        return randomChar;
+
+    }
 }