mirror of
https://github.com/ZSCNetSupportDept/WechatTicketSystem.git
synced 2025-10-30 18:06:19 +08:00
add operator info
This commit is contained in:
@@ -2,6 +2,7 @@ package love.sola.netsupport.api.stuff;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import love.sola.netsupport.api.Response;
|
||||
import love.sola.netsupport.enums.Access;
|
||||
import love.sola.netsupport.enums.Attribute;
|
||||
import love.sola.netsupport.pojo.Operator;
|
||||
import love.sola.netsupport.pojo.Ticket;
|
||||
@@ -60,6 +61,9 @@ public class TicketLookup extends HttpServlet {
|
||||
} else {
|
||||
block = op.getBlock();
|
||||
}
|
||||
if (block == 0 && op.getAccess() > Access.LEADER) {
|
||||
return new Response(Response.ResponseCode.PERMISSION_DENIED);
|
||||
}
|
||||
List<Ticket> list = TableTicket.unsolvedByBlock(block);
|
||||
return new Response(Response.ResponseCode.OK, list);
|
||||
} catch (NumberFormatException e) {
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package love.sola.netsupport.wechat;
|
||||
|
||||
import love.sola.netsupport.wechat.handler.*;
|
||||
import love.sola.netsupport.wechat.handler.admin.LoginHandler;
|
||||
import love.sola.netsupport.wechat.handler.admin.OperatorInfoHandler;
|
||||
import me.chanjar.weixin.mp.api.WxMpMessageHandler;
|
||||
|
||||
import java.util.HashMap;
|
||||
@@ -22,6 +24,7 @@ public enum Command {
|
||||
CANCEL(3, CancelHandler.class),
|
||||
PROFILE(4, ProfileHandler.class),
|
||||
LOGIN(10, LoginHandler.class),
|
||||
OPERATOR_INFO(11, OperatorInfoHandler.class),
|
||||
;
|
||||
|
||||
private static final Map<Integer, Command> ID_MAP = new HashMap<>();
|
||||
|
||||
@@ -2,7 +2,6 @@ package love.sola.netsupport.wechat;
|
||||
|
||||
import love.sola.netsupport.config.Settings;
|
||||
import love.sola.netsupport.wechat.handler.RegisterHandler;
|
||||
import love.sola.netsupport.wechat.handler.SignHandler;
|
||||
import love.sola.netsupport.wechat.handler.SubscribeHandler;
|
||||
import love.sola.netsupport.wechat.matcher.CheckSpamMatcher;
|
||||
import love.sola.netsupport.wechat.matcher.RegisterMatcher;
|
||||
@@ -81,7 +80,6 @@ public class WxMpServlet extends HttpServlet {
|
||||
} catch (IllegalAccessException | InstantiationException e) {
|
||||
throw new ServletException(e);
|
||||
}
|
||||
wxMpMessageRouter.rule().async(false).msgType("text").rContent("(?i)^Auth \\d{4}").handler(new SignHandler()).end();
|
||||
}
|
||||
|
||||
public static void registerCommands(WxMpMessageRouter router) throws IllegalAccessException, InstantiationException {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package love.sola.netsupport.wechat.handler;
|
||||
package love.sola.netsupport.wechat.handler.admin;
|
||||
|
||||
import love.sola.netsupport.enums.Access;
|
||||
import love.sola.netsupport.enums.Attribute;
|
||||
@@ -0,0 +1,46 @@
|
||||
package love.sola.netsupport.wechat.handler.admin;
|
||||
|
||||
import love.sola.netsupport.enums.Access;
|
||||
import love.sola.netsupport.pojo.Operator;
|
||||
import love.sola.netsupport.sql.TableOperator;
|
||||
import me.chanjar.weixin.common.exception.WxErrorException;
|
||||
import me.chanjar.weixin.common.session.WxSessionManager;
|
||||
import me.chanjar.weixin.mp.api.WxMpMessageHandler;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlOutMessage;
|
||||
import me.chanjar.weixin.mp.bean.outxmlbuilder.TextBuilder;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import static love.sola.netsupport.config.Lang.format;
|
||||
import static love.sola.netsupport.config.Lang.lang;
|
||||
|
||||
/**
|
||||
* ***********************************************
|
||||
* Created by Sola on 2015/12/28.
|
||||
* Don't modify this source without my agreement
|
||||
* ***********************************************
|
||||
*/
|
||||
public class OperatorInfoHandler implements WxMpMessageHandler {
|
||||
|
||||
@Override
|
||||
public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, WxSessionManager sessionManager) throws WxErrorException {
|
||||
TextBuilder out = WxMpXmlOutMessage.TEXT().fromUser(wxMessage.getToUserName()).toUser(wxMessage.getFromUserName());
|
||||
try {
|
||||
Operator op = TableOperator.get(wxMessage.getFromUserName());
|
||||
if (op == null)
|
||||
out.content(lang("Not_Operator"));
|
||||
else if (op.getAccess() == Access.NOLOGIN) {
|
||||
out.content(lang("No_Login"));
|
||||
} else {
|
||||
out.content(format("Operator_Info", op.getId(), op.getName(), op.getAccess(), op.getBlock(), op.getWeek()));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
out.content(lang("Login_Error"));
|
||||
}
|
||||
return out.build();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package love.sola.netsupport.wechat.handler;
|
||||
package love.sola.netsupport.wechat.handler.admin;
|
||||
|
||||
import love.sola.netsupport.sql.SQLCore;
|
||||
import me.chanjar.weixin.common.exception.WxErrorException;
|
||||
Reference in New Issue
Block a user