首页>代码>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日