106 lines
4.6 KiB
Java
Executable File
106 lines
4.6 KiB
Java
Executable File
package com.windchat.im.web.admin.service.impl;
|
|
|
|
import com.windchat.im.web.admin.bean.WebMessageBean;
|
|
import com.windchat.im.web.admin.service.IMessageManageService;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import com.windchat.common.command.Command;
|
|
import com.windchat.common.constant.RequestAction;
|
|
import com.akaxin.proto.core.CoreProto;
|
|
import com.akaxin.proto.core.CoreProto.MsgType;
|
|
import com.akaxin.proto.site.ImCtsMessageProto;
|
|
import com.windchat.im.message.api.IMessageService;
|
|
import com.windchat.im.message.service.ImMessageService;
|
|
|
|
/**
|
|
* 后台管理发送消息实现
|
|
*
|
|
* @author Sam{@link an.guoyue254@gmail.com}
|
|
* @since 2018-04-25 11:14:05
|
|
*/
|
|
@Service("messageManageService")
|
|
public class MessageManageService implements IMessageManageService {
|
|
private static final Logger logger = LoggerFactory.getLogger(MessageManageService.class);
|
|
private IMessageService imService = new ImMessageService();
|
|
|
|
@Override
|
|
public boolean sendU2WebMessage(WebMessageBean bean) {
|
|
CoreProto.U2Web u2Web = CoreProto.U2Web.newBuilder().setMsgId(bean.getMsgId())
|
|
.setSiteUserId(bean.getSiteUserId()).setSiteFriendId(bean.getSiteFriendId())
|
|
.setWebCode(bean.getWebCode()).setHeight(bean.getHeight()).setWidth(bean.getWidth())
|
|
.setTime(System.currentTimeMillis()).setHrefUrl(bean.getHrefUrl()).build();
|
|
ImCtsMessageProto.ImCtsMessageRequest request = ImCtsMessageProto.ImCtsMessageRequest.newBuilder()
|
|
.setType(MsgType.U2_WEB).setU2Web(u2Web).build();
|
|
|
|
Command command = new Command();
|
|
command.setSiteUserId(bean.getSiteUserId());
|
|
command.setSiteFriendId(bean.getSiteFriendId());
|
|
command.setAction(RequestAction.IM_CTS_MESSAGE.getName());
|
|
command.setParams(request.toByteArray());
|
|
boolean result = imService.execute(command);
|
|
|
|
logger.info("send u2 web message result={} bean={}", result, bean.toString());
|
|
return result;
|
|
}
|
|
|
|
@Override
|
|
public boolean sendU2WebNoticeMessage(WebMessageBean bean) {
|
|
CoreProto.U2WebNotice u2WebNotice = CoreProto.U2WebNotice.newBuilder().setMsgId(bean.getMsgId())
|
|
.setSiteUserId(bean.getSiteUserId()).setSiteFriendId(bean.getSiteFriendId())
|
|
.setWebCode(bean.getWebCode()).setHrefUrl(bean.getHrefUrl()).setTime(System.currentTimeMillis())
|
|
.build();
|
|
ImCtsMessageProto.ImCtsMessageRequest request = ImCtsMessageProto.ImCtsMessageRequest.newBuilder()
|
|
.setType(MsgType.U2_WEB_NOTICE).setU2WebNotice(u2WebNotice).build();
|
|
|
|
Command command = new Command();
|
|
command.setAction(RequestAction.IM_CTS_MESSAGE.getName());
|
|
command.setSiteUserId(bean.getSiteUserId());
|
|
command.setSiteFriendId(bean.getSiteFriendId());
|
|
command.setParams(request.toByteArray());
|
|
boolean result = imService.execute(command);
|
|
|
|
logger.info("send u2 web notice message result={} bean={}", result, bean.toString());
|
|
return result;
|
|
}
|
|
|
|
@Override
|
|
public boolean sendGroupWebMessage(WebMessageBean bean) {
|
|
CoreProto.GroupWeb groupWeb = CoreProto.GroupWeb.newBuilder().setMsgId(bean.getMsgId())
|
|
.setSiteUserId(bean.getSiteUserId()).setSiteGroupId(bean.getSiteGroupId()).setWebCode(bean.getWebCode())
|
|
.setHeight(bean.getHeight()).setHrefUrl(bean.getHrefUrl()).setWidth(bean.getWidth())
|
|
.setTime(System.currentTimeMillis()).build();
|
|
ImCtsMessageProto.ImCtsMessageRequest request = ImCtsMessageProto.ImCtsMessageRequest.newBuilder()
|
|
.setType(MsgType.GROUP_WEB).setGroupWeb(groupWeb).build();
|
|
|
|
Command command = new Command();
|
|
command.setSiteUserId(bean.getSiteUserId());
|
|
command.setAction(RequestAction.IM_CTS_MESSAGE.getName());
|
|
command.setParams(request.toByteArray());
|
|
boolean result = imService.execute(command);
|
|
|
|
logger.info("send group web message result={} bean={}", result, bean.toString());
|
|
return result;
|
|
}
|
|
|
|
@Override
|
|
public boolean sendGroupWebNoticeMessage(WebMessageBean bean) {
|
|
CoreProto.GroupWebNotice groupWebNotice = CoreProto.GroupWebNotice.newBuilder().setMsgId(bean.getMsgId())
|
|
.setSiteUserId(bean.getSiteUserId()).setSiteGroupId(bean.getSiteGroupId()).setWebCode(bean.getWebCode())
|
|
.setTime(System.currentTimeMillis()).setHrefUrl(bean.getHrefUrl()).build();
|
|
ImCtsMessageProto.ImCtsMessageRequest request = ImCtsMessageProto.ImCtsMessageRequest.newBuilder()
|
|
.setType(MsgType.GROUP_WEB_NOTICE).setGroupWebNotice(groupWebNotice).build();
|
|
|
|
Command command = new Command();
|
|
command.setSiteUserId(bean.getSiteUserId());
|
|
command.setAction(RequestAction.IM_CTS_MESSAGE.getName());
|
|
command.setParams(request.toByteArray());
|
|
boolean result = imService.execute(command);
|
|
|
|
logger.info("send group web message result={} bean={}", result, bean.toString());
|
|
return result;
|
|
}
|
|
|
|
}
|