From 3abe6c868a3ab847514c7d9d593d4aaebbe85893 Mon Sep 17 00:00:00 2001 From: Sola Date: Sat, 12 Dec 2015 02:08:50 +0800 Subject: [PATCH] some refactors --- .../love/sola/netsupport/api/Register.java | 11 ++++------- .../love/sola/netsupport/api/TicketQuery.java | 19 +++++++++---------- .../sola/netsupport/api/TicketSubmit.java | 17 +++++++++++------ .../wechat/handler/CancelHandler.java | 2 +- 4 files changed, 25 insertions(+), 24 deletions(-) diff --git a/src/main/java/love/sola/netsupport/api/Register.java b/src/main/java/love/sola/netsupport/api/Register.java index c112021..0fb7755 100644 --- a/src/main/java/love/sola/netsupport/api/Register.java +++ b/src/main/java/love/sola/netsupport/api/Register.java @@ -30,7 +30,7 @@ public class Register extends HttpServlet { response.setCharacterEncoding("utf-8"); response.addHeader("Content-type", "text/plain;charset=utf-8"); - String wechat = checkWechat(request.getParameter("wechatid"), request); + String wechat = checkWechat(request); if (wechat == null) { Redirect.message(response, 0, "Illegal_Request"); return; @@ -144,12 +144,9 @@ public class Register extends HttpServlet { return -1; } - private String checkWechat(String wechat, HttpServletRequest request) { - if (wechat == null) return null; - if (request.getSession() == null) return null; - String reqWechat = (String) request.getSession().getAttribute("wechat"); - if (reqWechat != null && reqWechat.equals(wechat)) return reqWechat; - else return null; + private String checkWechat(HttpServletRequest request) { + if (request.getSession(false) == null) return null; + return (String) request.getSession(false).getAttribute("wechat"); } } diff --git a/src/main/java/love/sola/netsupport/api/TicketQuery.java b/src/main/java/love/sola/netsupport/api/TicketQuery.java index 9445b80..be376d8 100644 --- a/src/main/java/love/sola/netsupport/api/TicketQuery.java +++ b/src/main/java/love/sola/netsupport/api/TicketQuery.java @@ -17,6 +17,7 @@ import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; @@ -48,16 +49,12 @@ public class TicketQuery extends HttpServlet { private Response query(HttpServletRequest request) { try (Session s = SQLCore.sf.openSession()) { -// if (request.getParameter("id") != null) { -// Ticket t = s.get(Ticket.class, Integer.parseInt(request.getParameter("id"))); -// if (t == null) return new Response(Response.ResponseCode.TICKET_NOT_FOUND); -// else return new Response(Response.ResponseCode.OK, t); -// } - if (request.getSession() == null || request.getSession().getAttribute("authorized") != Command.QUERY) { + + HttpSession httpSession = request.getSession(false); + if (httpSession == null || httpSession.getAttribute("authorized") != Command.QUERY) { return new Response(Response.ResponseCode.UNAUTHORIZED); } - - User u = (User) request.getSession().getAttribute("user"); + User u = (User) httpSession.getAttribute("user"); if (u == null) return new Response(Response.ResponseCode.UNAUTHORIZED); Criteria c = s.createCriteria(Ticket.class); @@ -79,9 +76,11 @@ public class TicketQuery extends HttpServlet { } catch (NumberFormatException e) { return new Response(Response.ResponseCode.ILLEGAL_PARAMETER); } catch (HibernateException e) { - return new Response(Response.ResponseCode.DATABASE_ERROR); + e.printStackTrace(); + return new Response(Response.ResponseCode.DATABASE_ERROR, e); } catch (Exception e) { - return new Response(Response.ResponseCode.INTERNAL_ERROR); + e.printStackTrace(); + return new Response(Response.ResponseCode.INTERNAL_ERROR, e); } } diff --git a/src/main/java/love/sola/netsupport/api/TicketSubmit.java b/src/main/java/love/sola/netsupport/api/TicketSubmit.java index e8939db..e22de9d 100644 --- a/src/main/java/love/sola/netsupport/api/TicketSubmit.java +++ b/src/main/java/love/sola/netsupport/api/TicketSubmit.java @@ -16,6 +16,7 @@ import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; @@ -45,12 +46,20 @@ public class TicketSubmit extends HttpServlet { } private Response submit(HttpServletRequest request) { + String desc = request.getParameter("desc"); + if (desc == null) { + return new Response(Response.ResponseCode.PARAMETER_REQUIRED); + } + try (Session s = SQLCore.sf.openSession()) { - if (request.getSession() == null || request.getSession().getAttribute("authorized") != Command.SUBMIT) { + + HttpSession httpSession = request.getSession(false); + if (httpSession == null || httpSession.getAttribute("authorized") != Command.SUBMIT) { return new Response(Response.ResponseCode.UNAUTHORIZED); } - User u = (User) request.getSession().getAttribute("user"); + User u = (User) httpSession.getAttribute("user"); if (u == null) return new Response(Response.ResponseCode.UNAUTHORIZED); + long n = (long) s.createCriteria(Ticket.class) .add(Restrictions.eq(Ticket.PROPERTY_USER, u)) .add(Restrictions.eq(Ticket.PROPERTY_STATUS, 0)) @@ -59,10 +68,6 @@ public class TicketSubmit extends HttpServlet { if (n > 0) { return new Response(Response.ResponseCode.ALREADY_SUBMITTED); } - String desc = request.getParameter("desc"); - if (desc == null) { - return new Response(Response.ResponseCode.PARAMETER_REQUIRED); - } Ticket t = new Ticket(); t.setUser(u); t.setDescription(desc); diff --git a/src/main/java/love/sola/netsupport/wechat/handler/CancelHandler.java b/src/main/java/love/sola/netsupport/wechat/handler/CancelHandler.java index db17640..496c164 100644 --- a/src/main/java/love/sola/netsupport/wechat/handler/CancelHandler.java +++ b/src/main/java/love/sola/netsupport/wechat/handler/CancelHandler.java @@ -40,7 +40,7 @@ public class CancelHandler implements WxMpMessageHandler { } try (Session s = SQLCore.sf.openSession()) { t.setUpdateTime(new Date()); - t.setDescription(lang("User_Cancel_Remark")); + t.setRemark(lang("User_Cancel_Remark")); t.setStatus(Status.SOLVED); s.beginTransaction(); s.update(t);