From e3ddbe609cc0a7608fa411e3f55b03ba90f0a0a2 Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Mon, 9 Jul 2018 11:10:15 +0800 Subject: [PATCH] --- test/org/redkale/test/rest/LoginBean.java | 40 +++++++++++++++++++++ test/org/redkale/test/rest/UserService.java | 6 +++- test/org/redkale/test/ws/ChatWebSocket.java | 20 +++++++++-- 3 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 test/org/redkale/test/rest/LoginBean.java diff --git a/test/org/redkale/test/rest/LoginBean.java b/test/org/redkale/test/rest/LoginBean.java new file mode 100644 index 000000000..d2ad11af9 --- /dev/null +++ b/test/org/redkale/test/rest/LoginBean.java @@ -0,0 +1,40 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.redkale.test.rest; + +import org.redkale.convert.json.JsonFactory; + +/** + * + * @author zhangjx + */ +public class LoginBean { + + private String account = ""; + + private String password = ""; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + @Override + public String toString() { + return JsonFactory.root().getConvert().convertTo(this); + } +} diff --git a/test/org/redkale/test/rest/UserService.java b/test/org/redkale/test/rest/UserService.java index 0c125775e..ed1154a42 100644 --- a/test/org/redkale/test/rest/UserService.java +++ b/test/org/redkale/test/rest/UserService.java @@ -5,7 +5,7 @@ */ package org.redkale.test.rest; -import org.redkale.service.Service; +import org.redkale.service.*; /** * 简单的定义UserService接口 @@ -18,4 +18,8 @@ public class UserService implements Service { public UserInfo current(String sessionid) { return new UserInfo(); } + + public RetResult login(LoginBean bean) { + return new RetResult<>(new UserInfo()); + } } diff --git a/test/org/redkale/test/ws/ChatWebSocket.java b/test/org/redkale/test/ws/ChatWebSocket.java index 6cdfc2d18..db584ee5b 100644 --- a/test/org/redkale/test/ws/ChatWebSocket.java +++ b/test/org/redkale/test/ws/ChatWebSocket.java @@ -10,6 +10,8 @@ import java.util.*; import java.util.concurrent.CompletableFuture; import javax.annotation.Resource; import org.redkale.net.http.*; +import org.redkale.service.RetResult; +import org.redkale.test.rest.*; /** * @@ -23,15 +25,27 @@ public class ChatWebSocket extends WebSocket { @Resource protected ChatService service; + @Resource + protected UserService userService; + + protected UserInfo user; + @Override protected CompletableFuture onOpen(final HttpRequest request) { - //随机创建一个sessionid - return CompletableFuture.completedFuture(request.getSessionid(true)); + LoginBean bean = request.getJsonParameter(LoginBean.class, "bean"); + RetResult ret = userService.login(bean); + if (ret.isSuccess()) { //登录成功 + user = ret.getResult(); + //随机创建一个sessionid + return CompletableFuture.completedFuture(request.getSessionid(true)); + } else { //登录失败, 返回null + return send("{\"onLoginFailMessage\":" + ret + "}").thenApply(x -> null); + } } @Override protected CompletableFuture createUserid() { - return CompletableFuture.completedFuture(service.createUserid()); + return CompletableFuture.completedFuture(user.getUserid()); } /**