Browse Source

fix:记录日志企业信息调整为取自session

Hu Jie 6 years ago
parent
commit
4da425cbfc

+ 4 - 2
src/main/java/com/uas/platform/b2b/listener/GlobalExceptionHandler.java

@@ -7,6 +7,7 @@ import com.uas.platform.b2b.dao.ErrorLogDao;
 import com.uas.platform.b2b.dao.ErrorLogDetailDao;
 import com.uas.platform.b2b.model.ErrorLog;
 import com.uas.platform.b2b.model.ErrorLogDetail;
+import com.uas.platform.b2b.model.User;
 import com.uas.platform.b2b.support.SysConf;
 import com.uas.platform.b2b.temporary.model.ExceptionMsg;
 import com.uas.platform.core.model.Constant;
@@ -86,6 +87,7 @@ public class GlobalExceptionHandler {
                 msgs.add(msg);
             }
         }
+        User user = (User)request.getSession().getAttribute("user");
         String url = B2B_URL + request.getServletPath();
         Short needRead = Constant.NO;
         if (url.contains(ExceptionMsg.ERPACCESSURL)) {
@@ -94,9 +96,9 @@ public class GlobalExceptionHandler {
         String access = request.getParameter(signatureParam);
         String data = request.getParameter(dataParam);
         String errMsg = e.getCause() == null ? "" : e.getCause().getMessage();
-        ErrorLog log = logDao.save(new ErrorLog(JSON.toJSONString(msgs), e.toString(), url, errMsg));
+        ErrorLog log = logDao.save(new ErrorLog(JSON.toJSONString(msgs), e.toString(), url, errMsg, user));
         if (!StringUtils.isEmpty(log.getId())) {
-            detailDao.save(new ErrorLogDetail(log.getId(), AgentUtils.getIp(request), needRead, StringUtils.isEmpty(data) ? "" : URLDecoderUtils.decode(data, Consts.UTF_8.toString()), access));
+            detailDao.save(new ErrorLogDetail(log.getId(), AgentUtils.getIp(request), needRead, StringUtils.isEmpty(data) ? "" : URLDecoderUtils.decode(data, Consts.UTF_8.toString()), access, user));
         }
         HttpHeaders headers = new HttpHeaders();
         headers.add("Content-Type", "application/text; charset=utf-8");

+ 1 - 2
src/main/java/com/uas/platform/b2b/model/ErrorLog.java

@@ -147,8 +147,7 @@ public class ErrorLog implements Serializable {
      * @param msg 错误消息
      * @param url 访问路径
      */
-    public ErrorLog(String detail, String msg, String url, String uuid) {
-        User user = SystemSession.getUser();
+    public ErrorLog(String detail, String msg, String url, String uuid, User user) {
         if (null != user) {
             this.enUU = user.getEnterprise().getUu();
             this.enName = user.getEnterprise().getEnName();

+ 1 - 2
src/main/java/com/uas/platform/b2b/model/ErrorLogDetail.java

@@ -168,13 +168,12 @@ public class ErrorLogDetail implements Serializable {
      * @param ip
      * @param needRead
      */
-    public ErrorLogDetail(Long logId, String ip, Short needRead, String parameter, String access) {
+    public ErrorLogDetail(Long logId, String ip, Short needRead, String parameter, String access, User user) {
         this.logId = logId;
         this.ip = ip;
         this.needRead = needRead;
         this.parameters = parameter;
         this.access = access;
-        User user = SystemSession.getUser();
         if (null != user) {
             this.userUU = user.getUserUU();
             this.userName = user.getUserName();