From c85e1a75207f26543c0e30dd5b936606d7749017 Mon Sep 17 00:00:00 2001
From: lxw <810412026@qq.com>
Date: 星期三, 13 七月 2022 16:15:28 +0800
Subject: [PATCH] 日志修改

---
 src/main/java/com/whyc/service/DocLogService.java |   91 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 90 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/whyc/service/DocLogService.java b/src/main/java/com/whyc/service/DocLogService.java
index 3933e90..9bccf37 100644
--- a/src/main/java/com/whyc/service/DocLogService.java
+++ b/src/main/java/com/whyc/service/DocLogService.java
@@ -1,11 +1,100 @@
 package com.whyc.service;
 
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.whyc.constant.UserOperation;
 import com.whyc.mapper.DocLogMapper;
+import com.whyc.pojo.DocLog;
+import com.whyc.pojo.UserLog;
+import com.whyc.util.ActionUtil;
+import com.whyc.util.DateUtil;
+import com.whyc.util.ExcelUtil;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Date;
+import java.util.List;
+
 @Service
 public class DocLogService {
-    @Autowired
+    @Autowired(required = false)
     private DocLogMapper mapper;
+
+    public void recordOperationLog(Long uId, Integer operationType, Date operationTime, String terminalIp, String operationMsg, String operationDetail) {
+        DocLog docLog=new DocLog();
+        docLog.setId(uId.intValue());
+        docLog.setOprateType(operationType);
+        docLog.setOprateDay(operationTime);
+        docLog.setTerminalIp(terminalIp);
+        docLog.setOprateMsg(operationMsg);
+        docLog.setOperationDetail(operationDetail);
+        mapper.insert(docLog);
+    }
+    public PageInfo<DocLog> getPage(int pageNum, int pageSize, DocLog docLog) {
+        PageHelper.startPage(pageNum,pageSize,true);
+        //杩欎釜鎺ュ彛瑕佸吋瀹规柊鑰佸璁℃棩蹇楄褰曠殑鏌ヨ
+        List<DocLog> userLogList = mapper.getList(docLog);
+        userLogList.stream().forEach(docLog1-> {
+            switch (docLog1.getOprateType()){
+                case 1: docLog1.setOperationTypeStr(UserOperation.TYPE_LOGIN.getTypeName());break;
+                case 2: docLog1.setOperationTypeStr(UserOperation.TYPE_LOGOUT.getTypeName());break;
+                case 3: docLog1.setOperationTypeStr(UserOperation.TYPE_ADD.getTypeName());break;
+                case 4: docLog1.setOperationTypeStr(UserOperation.TYPE_UPDATE.getTypeName());break;
+                case 5: docLog1.setOperationTypeStr(UserOperation.TYPE_DELETE.getTypeName());break;
+                case 20:docLog1.setOperationTypeStr(UserOperation.TYPE_UNAUTHORIZED_ACCESS.getTypeName());break;
+                case 21:docLog1.setOperationTypeStr(UserOperation.TYPE_EXCEPTION.getTypeName());break;
+                case 31:docLog1.setOperationTypeStr(UserOperation.TYPE_LOGIN_FAIL.getTypeName());break;
+                case 32:docLog1.setOperationTypeStr(UserOperation.TYPE_PARAM_CHANGE.getTypeName());break;
+                case 33:docLog1.setOperationTypeStr(UserOperation.TYPE_PASSWORD_CHANGE.getTypeName());break;
+                case 34:docLog1.setOperationTypeStr(UserOperation.TYPE_LOGIN_TIMEOUT.getTypeName());break;
+                default:docLog1.setOperationTypeStr(UserOperation.TYPE_UNRECOGNIZED.getTypeName());
+            }
+        });
+        PageInfo<DocLog> pageInfo = new PageInfo<>(userLogList);
+        return pageInfo;
+
+    }
+
+    public void exportExcel(HttpServletResponse response, String[][] value) {
+
+        String[] columnTitleArr = new String[]{"鎿嶄綔浜哄鍚�","鎿嶄綔绫诲瀷","鎿嶄綔鏃堕棿","缁堢IP","鎿嶄綔浜嬩欢","鍏蜂綋鍙傛暟"};
+        String now = DateUtil.YYYY_MM_DD_HH_MM_SS_UNION.format(new Date());
+        ExcelUtil.exportExcel("UserLog-"+now,"娴嬭瘯sheet1",columnTitleArr,value,new HSSFWorkbook(),response);
+    }
+
+    public void record(long uId, int operationType, String msg) {
+        DocLog docLog = new DocLog();
+        docLog.setTerminalIp(ActionUtil.getRequest().getRemoteAddr());
+        docLog.setOprateDay(new Date());
+        docLog.setId((int)(uId));
+        docLog.setOprateType(operationType);
+        docLog.setOprateMsg(msg);
+        mapper.insert(docLog);
+    }
+
+    public void record(long uId, int operationType, String msg,String msgDetail) {
+        DocLog docLog = new DocLog();
+        docLog.setTerminalIp(ActionUtil.getRequest().getRemoteAddr());
+        docLog.setOprateDay(new Date());
+        docLog.setId((int)(uId));
+        docLog.setOprateType(operationType);
+        docLog.setOprateMsg(msg);
+        docLog.setOperationDetail(msgDetail);
+        mapper.insert(docLog);
+    }
+
+    public void record2(HttpServletRequest request, long uId, int operationType, String msg, String msgDetail) {
+        DocLog docLog = new DocLog();
+        docLog.setTerminalIp(request.getRemoteAddr());
+        //userLog.setTerminalIp(request.getRemoteAddr());
+        docLog.setOprateDay(new Date());
+        docLog.setId((int)(uId));
+        docLog.setOprateType(operationType);
+        docLog.setOprateMsg(msg);
+        docLog.setOperationDetail(msgDetail);
+        mapper.insert(docLog);
+    }
 }

--
Gitblit v1.9.1