mirror of
https://github.com/ZSCNetSupportDept/WechatTicketSystem.git
synced 2025-10-30 01:46:18 +08:00
add submit command
This commit is contained in:
@@ -22,9 +22,6 @@ public class Lang {
|
||||
//noinspection unchecked
|
||||
InputStream in = Lang.class.getClassLoader().getResourceAsStream("lang.yml");
|
||||
messages = new Yaml().loadAs(in, Map.class);
|
||||
for (Map.Entry<String, String> entry : messages.entrySet()) {
|
||||
System.out.println(entry.getKey() + ": " + entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
public static String lang(String key) {
|
||||
|
||||
@@ -4,6 +4,8 @@ import java.lang.reflect.Field;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import static love.sola.netsupport.config.Lang.lang;
|
||||
|
||||
/**
|
||||
* ***********************************************
|
||||
* Created by Sola on 2015/12/6.
|
||||
@@ -13,6 +15,8 @@ import java.util.Map;
|
||||
public class Status {
|
||||
|
||||
public static final int UNCHECKED = 0;
|
||||
public static final int ARRANGED = 1;
|
||||
public static final int PUTOFF = 2;
|
||||
public static final int SOLVED = 9;
|
||||
|
||||
public static final Map<Integer, String> inverseMap = new HashMap<>();
|
||||
@@ -30,4 +34,11 @@ public class Status {
|
||||
}
|
||||
}
|
||||
|
||||
public static String getLocalized(int status) {
|
||||
if (inverseMap.containsKey(status)) {
|
||||
return lang("STATUS_" + inverseMap.get(status));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public class TableTicket extends SQLCore {
|
||||
return (Ticket) s.createCriteria(Ticket.class)
|
||||
.addOrder(Order.desc(Ticket.PROPERTY_SUBMIT_TIME))
|
||||
.add(Restrictions.eq(Ticket.PROPERTY_USER, u))
|
||||
.add(Restrictions.eq(Ticket.PROPERTY_STATUS, Status.UNCHECKED))
|
||||
.add(Restrictions.ne(Ticket.PROPERTY_STATUS, Status.SOLVED))
|
||||
.setMaxResults(1)
|
||||
.uniqueResult();
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"));
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user