From b73a1b5eb0c4a974cb5b16ccddb582f60347707c Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 22 十月 2024 21:53:17 +0800
Subject: [PATCH] 日志查询接口修改,支持管理员和普通用户分开查询。

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/LogBasicServiceImpl.java |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/LogBasicServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/LogBasicServiceImpl.java
index 2392826..bc75fa7 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/LogBasicServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/LogBasicServiceImpl.java
@@ -9,6 +9,7 @@
 import com.vci.dto.LogInfoDTO;
 import com.vci.dto.LogPeriodInfoDTO;
 import com.vci.dto.LogQueryCriteriaDTO;
+import com.vci.frameworkcore.compatibility.SmUserQueryServiceI;
 import com.vci.starter.web.pagemodel.BaseResult;
 import com.vci.web.service.*;
 import com.vci.web.util.*;
@@ -41,6 +42,10 @@
      */
     @Autowired
     private PlatformClientUtil platformClientUtil;
+
+    @Autowired
+    private SmUserQueryServiceI userQueryServiceI;
+
     public static final String UTF8_BOM="\uFEFF";
     private final String LOG_SAVE_PERIOD = "logSavePeriod";//鏃ュ織淇濆瓨鏈熼檺
 
@@ -131,8 +136,11 @@
      */
     @Override
     public BaseResult getLogListByContion(LogQueryCriteriaDTO queryDto) throws PLException {
+        List<String> userNameList = userQueryServiceI.queryUserNameByRoleType(queryDto.getRoleType());
+        queryDto.setUserNameList(userNameList);
         String querySql = getSQL(queryDto);
         LogInfo[] logInfos = platformClientUtil.getLogService().getLogListByContion(queryDto.getPageNo(),queryDto.getPageSize(),querySql);
+
         List<LogInfoDTO> dtos = new ArrayList<>();
         for (LogInfo logInfo : logInfos) {
             LogInfoDTO dto = new LogInfoDTO();
@@ -160,6 +168,7 @@
         result.setTotal(sumLogRows);
         return result;
     }
+
     /**
      * 鎿嶄綔鐢ㄦ埛鑾峰彇
      */
@@ -233,13 +242,14 @@
         }
         return userNames;
     }
+
     /**
      * 鑾峰彇鏌ヨ鏉′欢骞舵嫾鎴怱QL锛屽彧鎷紈here瀛愬彞鍚庨潰鐨凷QL
      * @return
      */
     public String getSQL(LogQueryCriteriaDTO dto) throws PLException {
         StringBuffer sql = new StringBuffer("");
-//        int period = getPeriod(LOG_SAVE_PERIOD);//鑾峰彇淇濆瓨鏈熼檺锛屼互鏈堜负鍗曚綅
+        // int period = getPeriod(LOG_SAVE_PERIOD);//鑾峰彇淇濆瓨鏈熼檺锛屼互鏈堜负鍗曚綅
         int period = platformClientUtil.getLogService().getCurPeriod();;//鑾峰彇淇濆瓨鏈熼檺锛屼互鏈堜负鍗曚綅
         //涓嬮潰鏄嫾鍑篠QL
         if(period != 0){
@@ -274,6 +284,21 @@
             }
             sql.append("PLLOGTYPE in('" + getLogTypeString(LogType.General) + "')");
         }
+        if(Func.isNotEmpty(dto.getUserNameList())){
+            if(!sql.toString().equals("")){
+                sql.append(" and ");
+            }
+            if(dto.getUserNameList().size()<=1){
+                sql.append(" PLUSER = '").append(dto.getUserNameList().get(0).trim()).append("'");
+            }else{
+                sql.append(" PLUSER in (");
+                String inWhere = dto.getUserNameList().stream()
+                        .map(item -> "'" + item + "'")
+                        .collect(Collectors.joining(","));
+                sql.append(inWhere).append(")");
+            }
+        }
+
         if(StringUtils.isNotBlank(dto.getUserName())){//鎿嶄綔鐢ㄦ埛
             if(!dto.getUserName().trim().equals("")){//濡傛灉鐢ㄦ埛鍚嶄负绌烘牸鍒欎笉鍔犵敤鎴锋潯浠�
                 if(!sql.toString().equals("")){
@@ -320,6 +345,7 @@
         }
         return sql.toString();
     }
+
     protected String getLogTypeString(LogType logType){
         String res = "";
         if(logType == LogType.Login) {

--
Gitblit v1.9.3