📄 msnmessagecenter.java.svn-base
字号:
package jm.form.msn.ctrl;
import jm.entity.CommandOftenKeys;
import jm.entity.ESM000200;
import jm.entity.ESM000500;
import jm.form.msn.action.Contral;
import jm.form.msn.bean.BusinessUser;
import jm.form.msn.util.Manager;
import jm.util.JMEntity;
import jm.util.JMVector;
/**
* 处理响应中心
* 梦界家园MSNP15
* @author ISHome
* @since 0.4
* @version 0.4
*/
public class MsnMessageCenter implements CommandOftenKeys {
Manager manager = null;
public MsnMessageCenter(Manager server) {
manager = server;
}
public String invoker(BusinessUser u) {
// 当前结果
JMVector messageList = u.getMessageList();
// 用户检验
// 组织使用
if ("1".equals(manager.getConfigMap().get(SYSTEM_TYPE))) {
// 根据需要自己修改
// 两次命令重新响应判断
boolean continueFlag = true;
// 当前结果没有完全显示的时候是否进行新的查询
if (messageList.size() > 0) {
// ******************************//
// 该处根据需要修改
String command = u.getCommand();
// 标准的Next命令
if ("n".equalsIgnoreCase(command)) {
// Next命令
continueFlag = false;
} else
// 商业程序二次命令是否响应系统程序处理
// 两次命令不一致时,处理新的命令;相同时,捕捉处理
if (command.equals(u.getLastCommand()) == true) {
// 新的命令
continueFlag = false;
}
}
// 判断是否可以使用商业命令
// 这里仅仅判断是否可以使用,权限在Contral里面处理
if (manager.getBusinessCanUseList().containsKey(u.getMsnID())) {
if (continueFlag == true) {
// 纯粹商业用途
// 用于连接组织的管理系统
// 更多了解请直接联系
// ISHOme(Spook)
// Spookfcy@hotmail.com
// 具体例子参考Login.java
(new Contral()).invoker(u, manager);
// 商业操作返回结果
messageList = u.getMessageList();
}
}
}
// 商业处理没有返回 或者 个人使用
if (messageList.size() == 0) {
manager.getSegmenter().invoker(u);// 智能聊天
}
// 智能聊天返回结果
messageList = u.getMessageList();
// 格式话输出结果
StringBuffer out = new StringBuffer();
if (messageList.size() == 0) {
// 是否切换人工帮助
// 下发消息5版可以使用
return "大哥让我休息一会吧。";
} else if (messageList.size() == 1) {
// 唯一结果返回直接处理
// 个人和组织使用时候的区分处理
// 影响返回结果的表现形式
JMEntity message = (JMEntity) messageList.get(0);
if (message instanceof ESM000500) {
// 组织使用(商业程序)
ESM000500 faq = (ESM000500) message;
out.append(faq.getTitle() + "\r\n");
out.append("----------\r\n");
out.append(faq.getFaqValue() + "\r\n");
messageList.clear();
} else if (message instanceof ESM000200) {
// 个人使用
ESM000200 talk = (ESM000200) message;
out.append(talk.getTalkValue() + "\r\n");
messageList.clear();
}
} else {
// 自由组织使用时候返回多种FAQ信息
ESM000500 faq = (ESM000500) messageList.get(0);
out.append(faq.getTitle() + "\r\n");
out.append("----------\r\n");
out.append(faq.getFaqValue() + "\r\n");
messageList.remove(0);
}
// 保存结果
u.setMessageList(messageList);
manager.getUserList().put(u.getMsnID(), u);
return "" + out;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -