首页>代码>ssm(spring mvc+mybatis)+netty4开发qiqiim即时聊天实例>/qiqiim-server/src/main/java/com/qiqiim/rebot/proxy/impl/TLRebotProxy.java
/**
 ***************************************************************************************
 *  @Author     1044053532@qq.com   
 *  @License    http://www.apache.org/licenses/LICENSE-2.0
 ***************************************************************************************
 */
package com.qiqiim.rebot.proxy.impl;
/**
 * 图灵机器人回复
 */
import java.util.Date;
import java.util.List;

import org.apache.commons.lang.time.DateFormatUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.alibaba.fastjson.JSON;
import com.qiqiim.constant.Constants;
import com.qiqiim.rebot.model.RobotMessage;
import com.qiqiim.rebot.model.RobotMessageArticle;
import com.qiqiim.rebot.proxy.RebotProxy;
import com.qiqiim.server.model.MessageWrapper;
import com.qiqiim.server.model.proto.MessageBodyProto;
import com.qiqiim.server.model.proto.MessageProto;

public class TLRebotProxy implements RebotProxy {
	  private final static Logger log = LoggerFactory.getLogger(TLRebotProxy.class);
	private String apiUrl;//图灵机器人apiurl
	private String key;//秘钥    请自行申请图灵机器人KEY

	@Override
	public MessageWrapper botMessageReply(String user, String content) {
		log.info("TLRebot reply user -->"+user +"--mes:"+content);
		String message = "";
		 try{
				Document doc = Jsoup.connect(apiUrl).timeout(62000).data("key",key).data("userid",user).data("info",content).post();
				String msgStr = doc.select("body").html().replace(""", "'");
					   msgStr = msgStr.replace("\r\n", "<br>");
					   msgStr = msgStr.replace("<br />", "") ;
				RobotMessage msg=	JSON.parseObject(msgStr,RobotMessage.class);
				switch (msg.getCode()) {
				case 100000:
					message = msg.getText();
					break; 
				case 200000:
					message = msg.getText() +"<a href='"+msg.getUrl()+"' target='_blank;'>"+msg.getUrl()+"</a></br>";
					break;
				case 302000:
					List<RobotMessageArticle>  sublist = JSON.parseArray(msg.getList(), RobotMessageArticle.class);
					
					for(RobotMessageArticle a :sublist){
						 //message+="a("+a.getDetailurl()+")["+a.getArticle()+"] <br><br>"; //layim聊天窗口回复内容
						message+= "<a href='"+a.getDetailurl()+"' target='_blank;'>"+a.getArticle()+"</a></br>";
					}
					break;
				case 308000:
					List<RobotMessageArticle>  sublistOne = JSON.parseArray(msg.getList(), RobotMessageArticle.class);
					for(RobotMessageArticle a :sublistOne){
						//message+="菜名:"+a.getName()+"<br>用料:"+a.getInfo()+"  <br>详情地址:a("+a.getDetailurl()+")["+a.getDetailurl()+"]      <br><br>";//layim聊天窗口回复内容
						message+="菜名:"+a.getName()+"<br>用料:"+a.getInfo()+"  <br>详情地址:<a href='"+a.getDetailurl()+"' target='_blank;'>"+a.getDetailurl()+"</a>      </br>";
					}
				break;
				default:
					break;
				} 
				 
				MessageProto.Model.Builder  result = MessageProto.Model.newBuilder();
				 result.setCmd(Constants.CmdType.MESSAGE);
				 result.setMsgtype(Constants.ProtobufType.REPLY);
				 result.setSender(Constants.ImserverConfig.REBOT_SESSIONID);//机器人ID
				 result.setReceiver(user);//回复人
				 result.setTimeStamp(DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
				 MessageBodyProto.MessageBody.Builder  msgbody =  MessageBodyProto.MessageBody.newBuilder();
				 msgbody.setContent(message); 
			     result.setContent(msgbody.build().toByteString());
			     return new MessageWrapper(MessageWrapper.MessageProtocol.REPLY, Constants.ImserverConfig.REBOT_SESSIONID, user,result.build());
			}catch(Exception e){
				e.printStackTrace();
			}
		   return new MessageWrapper(MessageWrapper.MessageProtocol.REPLY, Constants.ImserverConfig.REBOT_SESSIONID, user,null);
	}

	public void setApiUrl(String apiUrl) {
		this.apiUrl = apiUrl;
	}

	public void setKey(String key) {
		this.key = key;
	}
	  
}
最近下载更多
阿凡达  LV9 4月18日
ewan007  LV30 2023年4月21日
wujiahua  LV3 2022年12月8日
zz1230012300  LV11 2022年8月23日
落后就要挨打  LV26 2022年7月27日
xuweisong2010  LV28 2022年5月18日
最代码安逸  LV15 2022年5月15日
FreddieLee  LV3 2022年4月1日
wanglinddad  LV55 2021年10月22日
无名氏111  LV33 2021年9月10日
最近浏览更多
阿凡达  LV9 4月18日
3334004690  LV10 3月20日
yhwyhw1  LV2 2023年12月21日
shuangfu  LV25 2023年12月2日
wanfeng_233  LV4 2023年8月29日
uni-code_0123  LV1 2023年8月1日
yangbulx  LV3 2023年5月25日
173745830  LV11 2023年5月8日
微信网友_6444139264921600  LV6 2023年4月30日
ewan007  LV30 2023年4月21日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友