mirror of
https://github.com/ZSCNetSupportDept/WechatTicketSystem.git
synced 2025-10-28 23:55:04 +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;
|
||||
@@ -10,6 +10,7 @@ REGEX_SUBMIT: '^(?i)(Submit)|(报修)|(保修)|(bx)$'
|
||||
REGEX_CANCEL: '^(?i)(Cancel)|(取消)|(撤销)|(qx)|(cx)$'
|
||||
REGEX_LOGIN: '^(?i)Authme$'
|
||||
REGEX_PROFILE: '^(?i)(EditProfile)|(修改资料)|(修改信息)|(xgzl)|(xgxx)$'
|
||||
REGEX_OPERATOR_INFO: '^(?i)(OpInfo)|(网维资料)|(wwzl)$'
|
||||
|
||||
#Misc
|
||||
Invalid_Operation: 'Whoops,报修姬找不到你想要的东西啦 (╯‵□′)╯︵┻━┻。'
|
||||
@@ -45,7 +46,16 @@ Profile_Modify: '<a href="{0}">> 点此修改资料 <</a>'
|
||||
Not_Operator: '嘟嘟嘟……'
|
||||
No_Login: 'Permission Denied.'
|
||||
Internal_Error: '啊哦,登录失败了哦。'
|
||||
#Operator_Info
|
||||
Operator_Info: |
|
||||
网维成员资料:
|
||||
网维ID: {0,number,#}
|
||||
姓名: {1}
|
||||
岗位: {2,choice,0#Administrator >ω<|3#值班组长|6#正式成员|7#实习成员}
|
||||
值班片区: {3,choice,0#全图 >ω<|1#岐头片区|2#北门片区|3#东门片区|4#香灰片区|5#凤翔片区}
|
||||
值班日: {4,choice,0#2月30日 >ω<|1#周一|2#周二|3#周三|4#周四|5#周五|6#周六|7#周日}
|
||||
|
||||
若以上信息有误,请及时联系@15-排污-沙子森。
|
||||
#URL
|
||||
User_Register_Link: 'http://topaz.sinaapp.com/nm/v1/reg.html?token={0}'
|
||||
User_Query_Link: 'http://topaz.sinaapp.com/nm/v1/list.html?token={0}'
|
||||
|
||||
Reference in New Issue
Block a user