| | |
| | | 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.*; |
| | |
| | | */ |
| | | @Autowired |
| | | private PlatformClientUtil platformClientUtil; |
| | | |
| | | @Autowired |
| | | private SmUserQueryServiceI userQueryServiceI; |
| | | |
| | | public static final String UTF8_BOM="\uFEFF"; |
| | | private final String LOG_SAVE_PERIOD = "logSavePeriod";//日志保存期限 |
| | | |
| | |
| | | */ |
| | | @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(); |
| | |
| | | result.setTotal(sumLogRows); |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * 操作用户获取 |
| | | */ |
| | |
| | | } |
| | | 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){ |
| | |
| | | } |
| | | 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("")){ |
| | |
| | | } |
| | | return sql.toString(); |
| | | } |
| | | |
| | | protected String getLogTypeString(LogType logType){ |
| | | String res = ""; |
| | | if(logType == LogType.Login) { |