websocket 教程 java_Java后台使用Websocket教程

1 /**

2 * 手机端微信登陆3 *4 *@return

5 */

6 @RequestMapping(value = "/wxLogin", method =RequestMethod.GET)7 @ResponseBody8 public R wxLogin(String userResult, String state, @RequestParam(required = false, value = "userId") String userId) throwsException {9 //System.out.println(userResult+"\n"+state+"\n"+userId);

10 WxUser wxUser = JSON.parseObject(userResult, WxUser.class);11 UserInfo userInfo = newUserInfo();12 userInfo.setUnionId(wxUser.getUnionid());13 userInfo.setOpenid(wxUser.getOpenid());14 userInfo.setSex((long) wxUser.getSex());15 userInfo.setHeadImgUrl(wxUser.getHeadimgurl());16 if(EmojiUtil.containsEmoji(wxUser.getNickName())) {17 logger.info(wxUser.getNickName());18 userInfo.setNickName(EmojiUtil.emojiConverterToAlias(wxUser.getNickName()));19 } else{20 userInfo.setNickName(wxUser.getNickName());21 }22 System.out.println(userInfo.getUnionId());23 UserInfo userInfo1;24 WebSocket webSocket =WebSocket.getWebSocket(state);25 Map m = new HashMap<>();26 //登录

27 if (userId == null || "".equals(userId)) {28 if ((userInfo1 = userInfoService.selectWx(userInfo)) != null) {29 //判定账号是否被禁用

30 if (userInfo1.getUserState() != 1) {31 R r = newR();32 r.put("code", 500);33 r.put("msg", "此账号因为特殊原因已被禁用,若想重新启用,请联系管理员");34 webSocket.sendMessage(JSON.toJSONString(r));35 return null;36 }37

38 userInfo.setUserId(userInfo1.getUserId());39 //System.out.println(userInfo1.getHeadImgUrl()+"你好呀");

40 if (userInfo1.getHeadImgUrl() != null) {41 userInfo.setHeadImgUrl(null);42 }43 //System.out.println(userInfo.getHeadImgUrl()+"你好");

44 userInfoService.updateByPrimaryKeySelective(userInfo);45 UserInfo userInfo2 =userInfoService.selectWx(userInfo);46 if(EmojiUtil.containsEmoji(userInfo2.getNickName())) {47 userInfo2.setNickName(EmojiUtil.emojiConverterUnicodeStr(userInfo2.getNickName()));48 }49 m.put("openId", userInfo2.getOpenid());50 m.put("userId", userInfo2.getUserId());51 m.put("createTime", newDate());52 String javaWebToken =WebTokenUtil.createJavaWebToken(m);53 userInfo2.setToken(javaWebToken);54 redisCache.setValue(javaWebToken, "1", 1, TimeUnit.DAYS);55 webSocket.sendMessage(JSON.toJSONString(userInfo2));//登录用户信息发送给web

56 return R.ok("登录成功");57 } else{58 userInfo.setUserName(userInfo.getNickName());59 userInfoService.insertSelective(userInfo);60 UserInfo userInfo3 =userInfoService.selectWx(userInfo);61 if(EmojiUtil.containsEmoji(userInfo3.getNickName())) {62 userInfo3.setNickName(EmojiUtil.emojiConverterUnicodeStr(userInfo3.getNickName()));63 }64 //判定账号是否被禁用

65 if (userInfo3.getUserState() != 1) {66 R r = newR();67 r.put("code", 500);68 r.put("msg", "此账号因为特殊原因已被禁用,若想启用,请联系管理员");69 webSocket.sendMessage(JSON.toJSONString(r));70 return null;71 }72

73 System.out.println(userInfo.getOpenid());74 m.put("openId", userInfo3.getOpenid());75 m.put("userId", userInfo3.getUserId());76 m.put("createTime", newDate());77 String javaWebToken =WebTokenUtil.createJavaWebToken(m);78 userInfo3.setToken(javaWebToken);79 redisCache.setValue(javaWebToken, "1", 1, TimeUnit.DAYS);80 webSocket.sendMessage(JSON.toJSONString(userInfo3));//登录用户信息发送给web

81 return R.ok("登录成功");82 }83 } else{84 userInfo.setUserId(Long.valueOf(userId));85 //绑定微信前先判断数据库中是否有头像,如果有,不更改头像

86 List selectmemberlist =userInfoService.selectmemberlist(userInfo);87 if (selectmemberlist.get(0).getHeadImgUrl() != null) {88 userInfo.setHeadImgUrl(null);89 }90

91 UserInfo userInfo2 =userInfoService.selectWx(userInfo);92 if (userInfo2 != null) {93 R r = newR();94 r.put("code", 500);95 r.put("msg", "此微信已被注册,若确认是你本人微信,请联系管理员帮你更改");96 webSocket.sendMessage(JSON.toJSONString(r));97 return R.error("");98 }99 if(EmojiUtil.containsEmoji(wxUser.getNickName())) {100 userInfo.setNickName( EmojiUtil.emojiConverterToAlias(wxUser.getNickName()));101 }102 R r =userInfoService.updateByPrimaryKeySelective(userInfo);103 if (r.get("code").equals(200)) {104 R r1 = newR();105 r1.put("code", 200);106 r1.put("msg", "更改成功");107 webSocket.sendMessage(JSON.toJSONString(r1));108 } else{109 R r2 = newR();110 r2.put("code", 500);111 r2.put("msg", "更改失败");112 webSocket.sendMessage(JSON.toJSONString(r2));113 }114 returnr;115 }116 }117

118 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值