This commit is contained in:
Redkale
2018-07-09 11:10:15 +08:00
parent f115934499
commit e3ddbe609c
3 changed files with 62 additions and 4 deletions

View File

@@ -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);
}
}

View File

@@ -5,7 +5,7 @@
*/ */
package org.redkale.test.rest; package org.redkale.test.rest;
import org.redkale.service.Service; import org.redkale.service.*;
/** /**
* 简单的定义UserService接口 * 简单的定义UserService接口
@@ -18,4 +18,8 @@ public class UserService implements Service {
public UserInfo current(String sessionid) { public UserInfo current(String sessionid) {
return new UserInfo(); return new UserInfo();
} }
public RetResult<UserInfo> login(LoginBean bean) {
return new RetResult<>(new UserInfo());
}
} }

View File

@@ -10,6 +10,8 @@ import java.util.*;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.redkale.net.http.*; import org.redkale.net.http.*;
import org.redkale.service.RetResult;
import org.redkale.test.rest.*;
/** /**
* *
@@ -23,15 +25,27 @@ public class ChatWebSocket extends WebSocket<Integer, Object> {
@Resource @Resource
protected ChatService service; protected ChatService service;
@Resource
protected UserService userService;
protected UserInfo user;
@Override @Override
protected CompletableFuture<String> onOpen(final HttpRequest request) { protected CompletableFuture<String> onOpen(final HttpRequest request) {
LoginBean bean = request.getJsonParameter(LoginBean.class, "bean");
RetResult<UserInfo> ret = userService.login(bean);
if (ret.isSuccess()) { //登录成功
user = ret.getResult();
//随机创建一个sessionid //随机创建一个sessionid
return CompletableFuture.completedFuture(request.getSessionid(true)); return CompletableFuture.completedFuture(request.getSessionid(true));
} else { //登录失败, 返回null
return send("{\"onLoginFailMessage\":" + ret + "}").thenApply(x -> null);
}
} }
@Override @Override
protected CompletableFuture<Integer> createUserid() { protected CompletableFuture<Integer> createUserid() {
return CompletableFuture.completedFuture(service.createUserid()); return CompletableFuture.completedFuture(user.getUserid());
} }
/** /**