add submit command

This commit is contained in:
Sola
2015-12-10 01:21:13 +08:00
parent cd473d0997
commit 3dd9e34614
7 changed files with 76 additions and 23 deletions

View File

@@ -3,6 +3,7 @@ package love.sola.netsupport.wechat;
import love.sola.netsupport.config.Settings;
import love.sola.netsupport.wechat.handler.QueryHandler;
import love.sola.netsupport.wechat.handler.RegisterHandler;
import love.sola.netsupport.wechat.handler.SubmitHandler;
import love.sola.netsupport.wechat.matcher.CheckSpamMatcher;
import love.sola.netsupport.wechat.matcher.RegisterMatcher;
import me.chanjar.weixin.common.util.StringUtils;
@@ -88,6 +89,12 @@ public class WxMpServlet extends HttpServlet {
.rContent(Command.QUERY.regex)
.handler(new QueryHandler())
.end();
wxMpMessageRouter.rule()
.async(false)
.msgType("text")
.rContent(Command.SUBMIT.regex)
.handler(new SubmitHandler())
.end();
}
@Override

View File

@@ -1,6 +1,7 @@
package love.sola.netsupport.wechat.handler;
import love.sola.netsupport.api.Authorize;
import love.sola.netsupport.enums.Status;
import love.sola.netsupport.pojo.Ticket;
import love.sola.netsupport.pojo.User;
import love.sola.netsupport.sql.TableTicket;
@@ -43,15 +44,15 @@ public class QueryHandler implements WxMpMessageHandler {
NewsBuilder out = WxMpXmlOutMessage.NEWS().fromUser(wxMessage.getToUserName()).toUser(wxMessage.getFromUserName());
WxMpXmlOutNewsMessage.Item item = new WxMpXmlOutNewsMessage.Item();
StringBuilder sb = new StringBuilder()
.append("Ticket ID: ").append(t.getId()).append("\n")
.append("Desc: ").append(t.getDescription()).append("\n")
.append("Submit Time: ").append(dateFormat.format(t.getSubmitTime())).append("\n");
.append(lang("Ticket_Info_Id")).append(t.getId()).append("\n")
.append(lang("Ticket_Info_Desc")).append(t.getDescription()).append("\n")
.append(lang("Ticket_Info_Submit_Time")).append(dateFormat.format(t.getSubmitTime())).append("\n");
if (t.getUpdateTime() != null) {
sb.append("Operator: ").append(t.getOperator().getId()).append("\n");
sb.append("Remark: ").append(t.getRemark()).append("\n");
sb.append("Latest Update: ").append(dateFormat.format(t.getUpdateTime())).append("\n");
sb.append(lang("Ticket_Info_Operator")).append(t.getOperator().getId()).append("\n");
sb.append(lang("Ticket_Info_Remark")).append(t.getRemark()).append("\n");
sb.append(lang("Ticket_Info_Update_Time")).append(dateFormat.format(t.getUpdateTime())).append("\n");
}
sb.append("Ticket Status: ").append(t.getStatus()).append("\n");
sb.append(lang("Ticket_Info_Status")).append(Status.getLocalized(t.getStatus())).append("\n");
sb.append(lang("More_Details"));
item.setUrl(format("User_Query_Link", wxMessage.getFromUserName()));
item.setTitle(lang("Query_Title"));

View File

@@ -17,6 +17,7 @@ import me.chanjar.weixin.mp.bean.outxmlbuilder.NewsBuilder;
import java.util.Map;
import static love.sola.netsupport.config.Lang.format;
import static love.sola.netsupport.config.Lang.lang;
/**
@@ -37,9 +38,12 @@ public class SubmitHandler implements WxMpMessageHandler {
}
NewsBuilder out = WxMpXmlOutMessage.NEWS().fromUser(wxMessage.getToUserName()).toUser(wxMessage.getFromUserName());
WxMpXmlOutNewsMessage.Item item = new WxMpXmlOutNewsMessage.Item();
item.setTitle(lang("Submit_Title"));
item.setDescription(lang("Submit_Desc"));
item.setUrl(format("User_Submit_Link", wxMessage.getFromUserName()));
out.addArticle(item);
Authorize.fetchedTime.put(wxMessage.getFromUserName(), System.currentTimeMillis());
Authorize.fetchedCommand.put(wxMessage.getFromUserName(), Command.QUERY);
Authorize.fetchedCommand.put(wxMessage.getFromUserName(), Command.SUBMIT);
return out.build();
}