ludc
2024-10-22 b73a1b5eb0c4a974cb5b16ccddb582f60347707c
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;
    }
    /**
     * 获取查询条件并拼成SQL,只拼where子句后面的SQL
     * @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();;//获取保存期限,以月为单位
        //下面是拼出SQL
        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) {