.
This commit is contained in:
16
src/com/lxyer/redim/RedbbsListener.java
Normal file
16
src/com/lxyer/redim/RedbbsListener.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package com.lxyer.redim;
|
||||
|
||||
import com.lxyer.redim.impl.ImFriendServiceImpl;
|
||||
import org.redkale.boot.Application;
|
||||
import org.redkale.boot.ApplicationListener;
|
||||
|
||||
/**
|
||||
* @author: liangxianyou at 2018/8/10 22:51.
|
||||
*/
|
||||
public class RedbbsListener implements ApplicationListener {
|
||||
|
||||
@Override
|
||||
public void preStart(Application application) {
|
||||
ImFriendServiceImpl.application = application;
|
||||
}
|
||||
}
|
119
src/com/lxyer/redim/impl/ImFriendServiceImpl.java
Normal file
119
src/com/lxyer/redim/impl/ImFriendServiceImpl.java
Normal file
@@ -0,0 +1,119 @@
|
||||
package com.lxyer.redim.impl;
|
||||
|
||||
import com.jfinal.kit.Kv;
|
||||
import com.lxyer.base.JBean;
|
||||
import com.lxyer.bbs.base.BaseService;
|
||||
import com.lxyer.bbs.base.user.UserInfo;
|
||||
import com.lxyer.bbs.base.user.UserRecord;
|
||||
import com.lxyer.bbs.base.user.UserService;
|
||||
import com.lxyer.redim.service.ImFriendService;
|
||||
import org.redkale.boot.Application;
|
||||
import org.redkale.net.TransportFactory;
|
||||
import org.redkale.net.TransportGroupInfo;
|
||||
import org.redkale.net.http.RestService;
|
||||
import org.redkale.source.FilterExpress;
|
||||
import org.redkale.source.FilterNode;
|
||||
import org.redkale.util.ResourceType;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@ResourceType(ImFriendService.class)
|
||||
@RestService(name = "imfriend",automapping = true, comment = "好友管理")
|
||||
public class ImFriendServiceImpl extends BaseService implements ImFriendService {
|
||||
|
||||
@Resource
|
||||
UserService userService;
|
||||
|
||||
@Resource
|
||||
public static Application application;
|
||||
|
||||
@Override
|
||||
public JBean friends(String sessionid) {
|
||||
List<UserRecord> records = source.queryList(UserRecord.class, FilterNode.create("status", FilterExpress.NOTEQUAL, -10));
|
||||
|
||||
Kv data = Kv.create();
|
||||
|
||||
//mine
|
||||
Kv mine = Kv.by("username", "游客").set("id", "0").set("sign","").set("status", "online").set("avatar", "/res/images/avatar/13.jpg");
|
||||
UserInfo userInfo = userService.current(sessionid);
|
||||
if (userInfo != null){
|
||||
mine.set("username", userInfo.getNickname());
|
||||
mine.set("id", userInfo.getUserid());
|
||||
mine.set("sign", userInfo.getSign());
|
||||
mine.set("avatar", userInfo.getAvatar());
|
||||
mine.set("status", "online");
|
||||
}
|
||||
|
||||
//friend
|
||||
List<Kv> friend = new ArrayList<>();
|
||||
List<Kv> group = new ArrayList<>();
|
||||
|
||||
List list = new ArrayList();
|
||||
records.forEach(x->{
|
||||
Kv _friend = Kv.by("id", x.getUserid());
|
||||
_friend.set("username", x.getNickname());
|
||||
_friend.set("sign", x.getSign());
|
||||
_friend.set("avatar", x.getAvatar());
|
||||
_friend.set("status", "online");
|
||||
list.add(_friend);
|
||||
});
|
||||
|
||||
friend.add(Kv.by("groupname", "默认分组").set("id", 1).set("online", list.size()).set("list", list));
|
||||
group.add(Kv.by("groupname", "默认分组").set("id", 1).set("avatar", "/res/images/avatar/13.jpg"));
|
||||
|
||||
data.set("mine", mine).set("friend", friend).set("group", group);
|
||||
|
||||
return JBean.by(Kv.by("code", 0).set("msg", "").set("data", data));
|
||||
}
|
||||
|
||||
@Override
|
||||
public JBean friendList(String sessionid) {
|
||||
|
||||
/*SncpClient sncpClient = new SncpClient("", ImFriendService.class, this, transportFactory,
|
||||
true, this.getClass(), new InetSocketAddress("192.168.227.1", 7070));*/
|
||||
|
||||
|
||||
TransportFactory sncpTransportFactory = application.getSncpTransportFactory();
|
||||
TransportGroupInfo groupInfo = sncpTransportFactory.findGroupInfo("ALL");
|
||||
|
||||
System.out.println(groupInfo.toString());
|
||||
|
||||
groupInfo.putAddress(new InetSocketAddress("120.24.230.60", 7070));
|
||||
|
||||
|
||||
//sncpTransportFactory.addGroupInfo(groupInfo);
|
||||
|
||||
|
||||
|
||||
return friends(sessionid);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JBean groups(String sessionid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JBean itemSave(String sessionid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JBean addFriend(String sessionid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JBean groupSave(String sessionid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JBean addGroup(String sessionid) {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
93
src/com/lxyer/redim/impl/ImMsgServiceImpl.java
Normal file
93
src/com/lxyer/redim/impl/ImMsgServiceImpl.java
Normal file
@@ -0,0 +1,93 @@
|
||||
package com.lxyer.redim.impl;
|
||||
|
||||
import com.lxyer.base.JBean;
|
||||
import com.lxyer.bbs.base.BaseService;
|
||||
import com.lxyer.bbs.base.user.UserRecord;
|
||||
import com.lxyer.redim.entity.MsgRecord;
|
||||
import com.lxyer.redim.info.MsgInfo;
|
||||
import com.lxyer.redim.service.ImMsgService;
|
||||
import org.redkale.net.http.RestService;
|
||||
import org.redkale.source.FilterNode;
|
||||
import org.redkale.util.ResourceType;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: liangxianyou at 2018/8/12 13:10.
|
||||
*/
|
||||
@ResourceType(ImMsgService.class)
|
||||
@RestService(name = "immsg",automapping = true, comment = "聊天记录管理")
|
||||
public class ImMsgServiceImpl extends BaseService implements ImMsgService {
|
||||
|
||||
/**
|
||||
* 消息入库
|
||||
*
|
||||
* @param msg
|
||||
*/
|
||||
@Override
|
||||
public JBean insert(MsgRecord... msg) {
|
||||
source.insertAsync(msg);
|
||||
return JBean.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 消息修改
|
||||
*
|
||||
* @param msg
|
||||
*/
|
||||
@Override
|
||||
public JBean update(MsgRecord ... msg) {
|
||||
source.updateAsync(msg);
|
||||
return JBean.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 历史消息
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public JBean list() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建消息体
|
||||
*
|
||||
* @param msg
|
||||
*/
|
||||
@Override
|
||||
public JBean<MsgInfo> createMsgInfo(MsgRecord msg) {
|
||||
MsgInfo info = new MsgInfo();
|
||||
int fromuserid = msg.getFromuserid();
|
||||
|
||||
UserRecord userRecord;
|
||||
if (fromuserid > 0){
|
||||
userRecord = source.find(UserRecord.class, fromuserid);
|
||||
info.setUsername(userRecord.getUsername());
|
||||
info.setAvatar(userRecord.getAvatar());
|
||||
info.setType("friend");
|
||||
}else {
|
||||
info.setUsername("游客");
|
||||
info.setAvatar("/res/images/avatar/12.jpg");
|
||||
info.setType("friend");
|
||||
}
|
||||
|
||||
info.setId(msg.getFromuserid());
|
||||
info.setContent(msg.getContent());
|
||||
info.setCid(msg.getMsgid());
|
||||
info.setMine(false);
|
||||
info.setFromid(msg.getFromuserid());
|
||||
info.setTimestamp(msg.getCreatetime());
|
||||
|
||||
return JBean.by(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JBean<List<MsgRecord>> offlineMsg(int userid) {
|
||||
List<MsgRecord> records = source.queryList(MsgRecord.class, FilterNode.create("touserid", userid).and("status", 10));
|
||||
return JBean.by(records);
|
||||
}
|
||||
|
||||
|
||||
}
|
Reference in New Issue
Block a user