From f788607ff771a47bc60d6a86e00b3433c40f3d2c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 24 九月 2021 15:22:03 +0800 Subject: [PATCH] 接入视频直播 --- src/main/java/com/yeshi/buwan/controller/parser/CommentParser.java | 96 ++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 76 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/controller/parser/CommentParser.java b/src/main/java/com/yeshi/buwan/controller/parser/CommentParser.java index 5c06506..d26c700 100644 --- a/src/main/java/com/yeshi/buwan/controller/parser/CommentParser.java +++ b/src/main/java/com/yeshi/buwan/controller/parser/CommentParser.java @@ -2,9 +2,13 @@ import com.google.gson.GsonBuilder; import com.yeshi.buwan.domain.*; +import com.yeshi.buwan.domain.system.DetailSystem; import com.yeshi.buwan.domain.user.LoginUser; -import com.yeshi.buwan.exception.LoginUserException; +import com.yeshi.buwan.dto.user.LoginInfoDto; +import com.yeshi.buwan.dto.user.QQUserInfo; +import com.yeshi.buwan.exception.user.LoginUserException; import com.yeshi.buwan.exception.SMSException; +import com.yeshi.buwan.exception.user.RegisterUserException; import com.yeshi.buwan.service.imp.CommentService; import com.yeshi.buwan.service.imp.MaskKeyService; import com.yeshi.buwan.service.imp.SystemService; @@ -85,17 +89,59 @@ return; } - DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName()); - LoginUser lu = userService.getLoginUser(openid, detailSystem.getId(), Integer.parseInt(loginType), portrait, - name, UserParser.getIp(request) + ":" + request.getRemotePort()); + LoginInfoDto loginInfoDto = new LoginInfoDto(); + loginInfoDto.setSystemId(acceptData.getDetailSystem().getSystem().getId()); + + int loginTypeInt = Integer.parseInt(loginType); + loginInfoDto.setLoginType(loginTypeInt); + + switch (loginTypeInt) { + case LoginUser.LOGIN_TYPE_EMAIL: + loginInfoDto.setEmail(openid); + break; + case LoginUser.LOGIN_TYPE_QQ: + QQUserInfo qqUserInfo = new QQUserInfo(); + qqUserInfo.setName(name); + qqUserInfo.setOpenId(openid); + qqUserInfo.setPortrait(portrait); + qqUserInfo.setSex(sex); + loginInfoDto.setQqUserInfo(qqUserInfo); + break; + } + + + LoginUser lu = null; + try { + lu = userService.login(loginInfoDto); + if (lu == null) { + out.print(JsonUtil.loadFalseJson("鐧诲綍澶辫触")); + return; + } + } catch (LoginUserException e) { + //鐢ㄦ埛涓嶅瓨鍦� + if (e.getCode() == LoginUserException.CODE_NO_USER && loginTypeInt != LoginUser.LOGIN_TYPE_EMAIL) { + //娉ㄥ唽 + try { + lu = userService.register(loginInfoDto); + } catch (RegisterUserException e1) { + out.print(JsonUtil.loadFalseJson("鐧诲綍澶辫触")); + return; + } + + } else { + out.print(JsonUtil.loadFalseJson(e.getMessage())); + return; + } + } if (lu != null) { JSONObject object = new JSONObject(); object.put("LoginUid", lu.getId()); + object.put("Portrait", lu.getPortrait()); + object.put("NickName", lu.getName()); out.print(JsonUtil.loadTrueJson(object.toString())); } else { out.print(JsonUtil.loadFalseJson("鐧诲綍澶辫触")); } - } @@ -113,19 +159,34 @@ return; } - DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName()); + LoginInfoDto loginInfoDto = new LoginInfoDto(); + loginInfoDto.setSystemId(acceptData.getDetailSystem().getSystem().getId()); + loginInfoDto.setLoginType(LoginUser.LOGIN_TYPE_WX); + loginInfoDto.setWeiXinUser(weiXinUser); - LoginUser lu = userService.getLoginUser(weiXinUser.getOpenid(), detailSystem.getId(), 2, weiXinUser.getHeadimgurl(), - weiXinUser.getNickname(), UserParser.getIp(request) + ":" + request.getRemotePort()); - if (lu != null) { - JSONObject object = new JSONObject(); - object.put("user", new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create().toJson(lu)); - out.print(JsonUtil.loadTrueJson(object.toString())); - } else { - out.print(JsonUtil.loadFalseJson("鐧诲綍澶辫触")); + try { + LoginUser lu = userService.login(loginInfoDto); + if (lu != null) { + JSONObject object = new JSONObject(); + object.put("user", new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create().toJson(lu)); + out.print(JsonUtil.loadTrueJson(object.toString())); + } else { + out.print(JsonUtil.loadFalseJson("鐧诲綍澶辫触")); + } + } catch (LoginUserException e) { + //鐢ㄦ埛涓嶅瓨鍦� + if (e.getCode() == LoginUserException.CODE_NO_USER) { + //娉ㄥ唽 + try { + userService.register(loginInfoDto); + } catch (RegisterUserException e1) { + out.print(JsonUtil.loadFalseJson("鐧诲綍澶辫触")); + } + } else { + out.print(JsonUtil.loadFalseJson(e.getMessage())); + } } - } /** @@ -210,11 +271,6 @@ return; } mobile = phone; - } - - if (StringUtil.isNullOrEmpty(code)) { - out.print(JsonUtil.loadFalseJson("code涓虹┖")); - return; } try { -- Gitblit v1.8.0