WindChat/windchat-admin/src/main/java/com/windchat/im/web/admin/service/impl/MessageManageService.java

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