mirror of
https://github.com/ZSCNetSupportDept/WechatTicketSystem.git
synced 2025-10-28 23:55:04 +08:00
ticket lookup api
This commit is contained in:
@@ -1,7 +1,26 @@
|
||||
package love.sola.netsupport.api.admin;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import love.sola.netsupport.api.Response;
|
||||
import love.sola.netsupport.enums.Attribute;
|
||||
import love.sola.netsupport.pojo.Operator;
|
||||
import love.sola.netsupport.pojo.Ticket;
|
||||
import love.sola.netsupport.sql.SQLCore;
|
||||
import love.sola.netsupport.sql.TableTicket;
|
||||
import love.sola.netsupport.util.Checker;
|
||||
import love.sola.netsupport.util.ParseUtil;
|
||||
import love.sola.netsupport.wechat.Command;
|
||||
import me.chanjar.weixin.common.session.WxSession;
|
||||
import org.hibernate.HibernateException;
|
||||
|
||||
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;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* ***********************************************
|
||||
@@ -12,7 +31,46 @@ import javax.servlet.http.HttpServlet;
|
||||
@WebServlet(name = "TicketLookup", urlPatterns = "/api/admin/ticketlookup", loadOnStartup = 24)
|
||||
public class TicketLookup extends HttpServlet {
|
||||
|
||||
private Gson gson = SQLCore.gson;
|
||||
|
||||
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
||||
doGet(request, response);
|
||||
}
|
||||
|
||||
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
||||
request.setCharacterEncoding("utf-8");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
response.addHeader("Content-type", "application/json;charset=utf-8");
|
||||
PrintWriter out = response.getWriter();
|
||||
String json = gson.toJson(lookup(request));
|
||||
out.println(ParseUtil.parseJsonP(request, json));
|
||||
out.close();
|
||||
}
|
||||
|
||||
private Response lookup(HttpServletRequest request) {
|
||||
WxSession session = Checker.isAuthorized(request, Command.LOGIN);
|
||||
if (session == null) {
|
||||
return new Response(Response.ResponseCode.UNAUTHORIZED);
|
||||
}
|
||||
try {
|
||||
Operator op = (Operator) session.getAttribute(Attribute.OPERATOR);
|
||||
int block;
|
||||
if (request.getParameter("block") != null) {
|
||||
block = Integer.parseInt(request.getParameter("block"));
|
||||
} else {
|
||||
block = op.getBlock();
|
||||
}
|
||||
List<Ticket> list = TableTicket.unsolvedByBlock(block);
|
||||
return new Response(Response.ResponseCode.OK, list);
|
||||
} catch (NumberFormatException e) {
|
||||
return new Response(Response.ResponseCode.ILLEGAL_PARAMETER);
|
||||
} catch (HibernateException e) {
|
||||
e.printStackTrace();
|
||||
return new Response(Response.ResponseCode.DATABASE_ERROR, e.getMessage());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return new Response(Response.ResponseCode.INTERNAL_ERROR, e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -63,6 +63,7 @@ public class TableTicket extends SQLCore {
|
||||
public static List<Ticket> unsolvedByBlock(int b) {
|
||||
try (Session s = SQLCore.sf.openSession()) {
|
||||
return s.createCriteria(Ticket.class)
|
||||
.add(Restrictions.ne(Ticket.PROPERTY_STATUS, Status.SOLVED))
|
||||
.createCriteria(Ticket.PROPERTY_USER)
|
||||
.add(Restrictions.between(User.PROPERTY_BLOCK, b * 10, (b + 1) * 10 - 1))
|
||||
.list();
|
||||
|
||||
Reference in New Issue
Block a user