mirror of
https://github.com/ZSCNetSupportDept/WechatTicketSystem.git
synced 2025-10-30 01:46:18 +08:00
Flush cache & some refactors
This commit is contained in:
@@ -23,7 +23,7 @@ import java.util.Map;
|
|||||||
* Don't modify this source without my agreement
|
* Don't modify this source without my agreement
|
||||||
* ***********************************************
|
* ***********************************************
|
||||||
*/
|
*/
|
||||||
@WebServlet(name = "CheckSession", urlPatterns = "/api/checksession", loadOnStartup = 20)
|
@WebServlet(name = "CheckSession", urlPatterns = "/api/checksession", loadOnStartup = 11)
|
||||||
public class CheckSession extends HttpServlet {
|
public class CheckSession extends HttpServlet {
|
||||||
|
|
||||||
private Gson gson = SQLCore.gson;
|
private Gson gson = SQLCore.gson;
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package love.sola.netsupport.api.stuff;
|
package love.sola.netsupport.api;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import love.sola.netsupport.api.Response;
|
|
||||||
import love.sola.netsupport.enums.Access;
|
import love.sola.netsupport.enums.Access;
|
||||||
import love.sola.netsupport.enums.Attribute;
|
import love.sola.netsupport.enums.Attribute;
|
||||||
import love.sola.netsupport.pojo.Operator;
|
import love.sola.netsupport.pojo.Operator;
|
||||||
@@ -31,7 +30,7 @@ import java.io.PrintWriter;
|
|||||||
* ***********************************************
|
* ***********************************************
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@WebServlet(name = "Login", urlPatterns = "/api/admin/login", loadOnStartup = 31)
|
@WebServlet(name = "Login", urlPatterns = "/api/admin/login", loadOnStartup = 12)
|
||||||
public class Login extends HttpServlet {
|
public class Login extends HttpServlet {
|
||||||
|
|
||||||
private Gson gson = SQLCore.gson;
|
private Gson gson = SQLCore.gson;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package love.sola.netsupport.api.root;
|
package love.sola.netsupport.api.manager;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import love.sola.netsupport.api.Response;
|
import love.sola.netsupport.api.Response;
|
||||||
@@ -28,7 +28,7 @@ import java.io.PrintWriter;
|
|||||||
* Don't modify this source without my agreement
|
* Don't modify this source without my agreement
|
||||||
* ***********************************************
|
* ***********************************************
|
||||||
*/
|
*/
|
||||||
@WebServlet(name = "GetUser",urlPatterns = "/api/admin/getuser",loadOnStartup = 52)
|
@WebServlet(name = "GetUser",urlPatterns = "/api/admin/getuser",loadOnStartup = 41)
|
||||||
public class GetUser extends HttpServlet {
|
public class GetUser extends HttpServlet {
|
||||||
|
|
||||||
private Gson gson = SQLCore.gson;
|
private Gson gson = SQLCore.gson;
|
||||||
@@ -31,7 +31,7 @@ import java.io.PrintWriter;
|
|||||||
* Don't modify this source without my agreement
|
* Don't modify this source without my agreement
|
||||||
* ***********************************************
|
* ***********************************************
|
||||||
*/
|
*/
|
||||||
@WebServlet(name = "TicketPush",urlPatterns = "/api/admin/ticketpush",loadOnStartup = 41)
|
@WebServlet(name = "TicketPush",urlPatterns = "/api/admin/ticketpush",loadOnStartup = 42)
|
||||||
public class TicketPush extends HttpServlet{
|
public class TicketPush extends HttpServlet{
|
||||||
|
|
||||||
private Gson gson = SQLCore.gson;
|
private Gson gson = SQLCore.gson;
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
package love.sola.netsupport.api.root;
|
package love.sola.netsupport.api.root;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
|
||||||
import love.sola.netsupport.enums.Access;
|
import love.sola.netsupport.enums.Access;
|
||||||
import love.sola.netsupport.enums.Attribute;
|
import love.sola.netsupport.enums.Attribute;
|
||||||
import love.sola.netsupport.pojo.Operator;
|
import love.sola.netsupport.pojo.Operator;
|
||||||
import love.sola.netsupport.sql.SQLCore;
|
|
||||||
import love.sola.netsupport.util.Checker;
|
import love.sola.netsupport.util.Checker;
|
||||||
import love.sola.netsupport.wechat.Command;
|
import love.sola.netsupport.wechat.Command;
|
||||||
import love.sola.netsupport.wechat.WechatSession;
|
import love.sola.netsupport.wechat.WechatSession;
|
||||||
@@ -27,25 +25,24 @@ import java.util.Enumeration;
|
|||||||
* ***********************************************
|
* ***********************************************
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@WebServlet(name = "Dashboard", urlPatterns = "/api/admin/dashboard", loadOnStartup = 51)
|
@WebServlet(name = "Dashboard", urlPatterns = "/api/root/dashboard", loadOnStartup = 51)
|
||||||
public class DashBoard extends HttpServlet {
|
public class DashBoard extends HttpServlet {
|
||||||
|
|
||||||
private Gson gson = SQLCore.gson;
|
|
||||||
|
|
||||||
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
||||||
doGet(request, response);
|
doGet(request, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("Duplicates")
|
||||||
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
||||||
request.setCharacterEncoding("utf-8");
|
request.setCharacterEncoding("utf-8");
|
||||||
response.setCharacterEncoding("utf-8");
|
response.setCharacterEncoding("utf-8");
|
||||||
response.addHeader("Content-type", "text/plain;charset=utf-8");
|
response.addHeader("Content-type", "text/plain;charset=utf-8");
|
||||||
PrintWriter out = response.getWriter();
|
PrintWriter out = response.getWriter();
|
||||||
print(request, out);
|
process(request, out);
|
||||||
out.close();
|
out.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void print(HttpServletRequest request, PrintWriter out) {
|
private void process(HttpServletRequest request, PrintWriter out) {
|
||||||
WxSession session = Checker.isAuthorized(request, Command.LOGIN);
|
WxSession session = Checker.isAuthorized(request, Command.LOGIN);
|
||||||
if (session == null) {
|
if (session == null) {
|
||||||
out.println("Unauthorized");
|
out.println("Unauthorized");
|
||||||
|
|||||||
59
src/main/java/love/sola/netsupport/api/root/FlushCache.java
Normal file
59
src/main/java/love/sola/netsupport/api/root/FlushCache.java
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
package love.sola.netsupport.api.root;
|
||||||
|
|
||||||
|
import love.sola.netsupport.enums.Access;
|
||||||
|
import love.sola.netsupport.enums.Attribute;
|
||||||
|
import love.sola.netsupport.pojo.Operator;
|
||||||
|
import love.sola.netsupport.sql.TableUser;
|
||||||
|
import love.sola.netsupport.util.Checker;
|
||||||
|
import love.sola.netsupport.wechat.Command;
|
||||||
|
import me.chanjar.weixin.common.session.WxSession;
|
||||||
|
|
||||||
|
import javax.servlet.ServletException;
|
||||||
|
import javax.servlet.annotation.WebServlet;
|
||||||
|
import javax.servlet.http.HttpServlet;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ***********************************************
|
||||||
|
* Created by Sola on 2015/12/15.
|
||||||
|
* Don't modify this source without my agreement
|
||||||
|
* ***********************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
@WebServlet(name = "FlushCache", urlPatterns = "/api/root/flushcache", loadOnStartup = 52)
|
||||||
|
public class FlushCache extends HttpServlet {
|
||||||
|
|
||||||
|
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
||||||
|
doGet(request, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("Duplicates")
|
||||||
|
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
||||||
|
request.setCharacterEncoding("utf-8");
|
||||||
|
response.setCharacterEncoding("utf-8");
|
||||||
|
response.addHeader("Content-type", "text/plain;charset=utf-8");
|
||||||
|
PrintWriter out = response.getWriter();
|
||||||
|
process(request, out);
|
||||||
|
out.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void process(HttpServletRequest request, PrintWriter out) {
|
||||||
|
WxSession session = Checker.isAuthorized(request, Command.LOGIN);
|
||||||
|
if (session == null) {
|
||||||
|
out.println("Unauthorized");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Operator op = (Operator) session.getAttribute(Attribute.OPERATOR);
|
||||||
|
if (op.getAccess() != Access.ROOT) {
|
||||||
|
out.println("Unauthorized");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
TableUser.flushCache();
|
||||||
|
out.println("Flushed wechat cache");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -24,13 +24,14 @@ import java.io.PrintWriter;
|
|||||||
* Don't modify this source without my agreement
|
* Don't modify this source without my agreement
|
||||||
* ***********************************************
|
* ***********************************************
|
||||||
*/
|
*/
|
||||||
@WebServlet(name = "SetPassword",urlPatterns = "/api/admin/setpass",loadOnStartup = 53)
|
@WebServlet(name = "SetPassword",urlPatterns = "/api/root/setpass",loadOnStartup = 53)
|
||||||
public class SetPassword extends HttpServlet{
|
public class SetPassword extends HttpServlet{
|
||||||
|
|
||||||
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
||||||
doGet(request, response);
|
doGet(request, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("Duplicates")
|
||||||
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
||||||
request.setCharacterEncoding("utf-8");
|
request.setCharacterEncoding("utf-8");
|
||||||
response.setCharacterEncoding("utf-8");
|
response.setCharacterEncoding("utf-8");
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package love.sola.netsupport.api;
|
package love.sola.netsupport.api.user;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
|
import love.sola.netsupport.api.Response;
|
||||||
import love.sola.netsupport.enums.Attribute;
|
import love.sola.netsupport.enums.Attribute;
|
||||||
import love.sola.netsupport.enums.ISP;
|
import love.sola.netsupport.enums.ISP;
|
||||||
import love.sola.netsupport.pojo.User;
|
import love.sola.netsupport.pojo.User;
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package love.sola.netsupport.api;
|
package love.sola.netsupport.api.user;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
|
import love.sola.netsupport.api.Response;
|
||||||
import love.sola.netsupport.enums.Attribute;
|
import love.sola.netsupport.enums.Attribute;
|
||||||
import love.sola.netsupport.enums.ISP;
|
import love.sola.netsupport.enums.ISP;
|
||||||
import love.sola.netsupport.pojo.User;
|
import love.sola.netsupport.pojo.User;
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package love.sola.netsupport.api;
|
package love.sola.netsupport.api.user;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
|
import love.sola.netsupport.api.Response;
|
||||||
import love.sola.netsupport.enums.Attribute;
|
import love.sola.netsupport.enums.Attribute;
|
||||||
import love.sola.netsupport.pojo.Ticket;
|
import love.sola.netsupport.pojo.Ticket;
|
||||||
import love.sola.netsupport.pojo.User;
|
import love.sola.netsupport.pojo.User;
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package love.sola.netsupport.api;
|
package love.sola.netsupport.api.user;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
|
import love.sola.netsupport.api.Response;
|
||||||
import love.sola.netsupport.config.Settings;
|
import love.sola.netsupport.config.Settings;
|
||||||
import love.sola.netsupport.enums.Attribute;
|
import love.sola.netsupport.enums.Attribute;
|
||||||
import love.sola.netsupport.pojo.Ticket;
|
import love.sola.netsupport.pojo.Ticket;
|
||||||
@@ -17,6 +17,8 @@ public class Status {
|
|||||||
public static final int UNCHECKED = 0;
|
public static final int UNCHECKED = 0;
|
||||||
public static final int ARRANGED = 1;
|
public static final int ARRANGED = 1;
|
||||||
public static final int PUTOFF = 2;
|
public static final int PUTOFF = 2;
|
||||||
|
public static final int REPORTED = 4;
|
||||||
|
public static final int ISP_HANDLED = 7;
|
||||||
public static final int SOLVED = 9;
|
public static final int SOLVED = 9;
|
||||||
|
|
||||||
public static final Map<Integer, String> inverseMap = new HashMap<>();
|
public static final Map<Integer, String> inverseMap = new HashMap<>();
|
||||||
|
|||||||
@@ -85,6 +85,10 @@ public class TableUser extends SQLCore {
|
|||||||
|
|
||||||
private static final User NULL_USER = new User();
|
private static final User NULL_USER = new User();
|
||||||
|
|
||||||
|
public static void flushCache() {
|
||||||
|
cache.invalidateAll();
|
||||||
|
}
|
||||||
|
|
||||||
private static User getByWechat0(String wechat) {
|
private static User getByWechat0(String wechat) {
|
||||||
try (Session s = sf.openSession()) {
|
try (Session s = sf.openSession()) {
|
||||||
return (User) s.createCriteria(User.class).add(Restrictions.eq(User.PROPERTY_WECHAT, wechat)).uniqueResult();
|
return (User) s.createCriteria(User.class).add(Restrictions.eq(User.PROPERTY_WECHAT, wechat)).uniqueResult();
|
||||||
|
|||||||
Reference in New Issue
Block a user