add bypass (test only)

This commit is contained in:
Sola
2015-12-10 12:10:58 +08:00
parent d24075f2ce
commit 02c99609f6
4 changed files with 23 additions and 20 deletions

View File

@@ -53,6 +53,13 @@ public class Authorize extends HttpServlet {
}
Long l = fetchedTime.remove(wechat);
Command c = fetchedCommand.remove(wechat);
// FIXME: 2015/12/10 FOR TEST ONLY
if (request.getParameter("bypass") != null) {
c = Command.fromId(Integer.parseInt(request.getParameter("bypass")));
l = System.currentTimeMillis();
}
if (l == null || c == null) {
return new Response(Response.ResponseCode.AUTHORIZE_FAILED);
}

View File

@@ -2,6 +2,7 @@ package love.sola.netsupport.wechat;
import love.sola.netsupport.wechat.handler.QueryHandler;
import love.sola.netsupport.wechat.handler.RegisterHandler;
import love.sola.netsupport.wechat.handler.SubmitHandler;
import me.chanjar.weixin.mp.api.WxMpMessageHandler;
import java.util.HashMap;
@@ -19,7 +20,7 @@ public enum Command {
REGISTER(0, RegisterHandler.class),
QUERY(1, QueryHandler.class),
SUBMIT(2, null),
SUBMIT(2, SubmitHandler.class),
;
private static final Map<Integer, Command> ID_MAP = new HashMap<>();

View File

@@ -1,16 +1,11 @@
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;
import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
import me.chanjar.weixin.mp.api.WxMpMessageRouter;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.WxMpServiceImpl;
import me.chanjar.weixin.mp.api.*;
import me.chanjar.weixin.mp.bean.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.WxMpXmlOutMessage;
@@ -83,18 +78,18 @@ public class WxMpServlet extends HttpServlet {
.matcher(new RegisterMatcher())
.handler(new RegisterHandler())
.end();
wxMpMessageRouter.rule()
.async(false)
.msgType("text")
.rContent(Command.QUERY.regex)
.handler(new QueryHandler())
.end();
wxMpMessageRouter.rule()
.async(false)
.msgType("text")
.rContent(Command.SUBMIT.regex)
.handler(new SubmitHandler())
.end();
try {
registerCommands(wxMpMessageRouter);
} catch (IllegalAccessException | InstantiationException e) {
throw new ServletException(e);
}
}
public static void registerCommands(WxMpMessageRouter router) throws IllegalAccessException, InstantiationException {
for (Command c : Command.values()) {
WxMpMessageHandler handler = c.handler.newInstance();
router.rule().async(false).msgType("text").rContent(c.regex).handler(handler).end();
}
}
@Override

View File

@@ -26,7 +26,7 @@ Ticket_Info_Remark: '维修描述: '
Ticket_Info_Update_Time: '更新时间: '
Ticket_Info_Status: '报修单状态: '
#Submit
Already_Opening_Ticket: "您上次提交的报修单仍在处理中. 若查询报修单状态,请发送 '查询' 。"
Already_Opening_Ticket: "您上次提交的报修单仍在处理中. 若需要查询报修单状态,请发送 '查询' 。"
Submit_Title: '在网维工作人员上门解决您的问题之前...'
Submit_Desc: "在网维工作人员上门解决您的问题之前,您可以尝试以下方法来更有效地解决您的问题:\n
重新插拔您电脑的网线以及墙上的端口。\n