refactor: xadmin and store logs
parent
18e73d4700
commit
7649a507aa
|
|
@ -1,7 +1,7 @@
|
|||
package com.example.services;
|
||||
|
||||
import com.example.services.store.*;
|
||||
import com.example.services.xadmin.application.*;
|
||||
import com.example.services.xadmin.log.XadminLog;
|
||||
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Path;
|
||||
|
|
@ -19,10 +19,7 @@ import java.sql.DriverManager;
|
|||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
|
|
@ -33,7 +30,7 @@ import org.slf4j.LoggerFactory;
|
|||
|
||||
@Path("/stores")
|
||||
public class StoreService {
|
||||
private static final Logger logger = LoggerFactory.getLogger(DatabaseConnectDOTSOFT.class);
|
||||
private static final Logger logger = LoggerFactory.getLogger(StoreService.class);
|
||||
|
||||
private static List<Store> cachedStoreList;
|
||||
private static final Lock cacheLock = new ReentrantLock();
|
||||
|
|
@ -227,7 +224,7 @@ public class StoreService {
|
|||
|
||||
try (DatabaseConnectXSTORE databaseConnection = new DatabaseConnectXSTORE(dbHost,"dtv")) {
|
||||
|
||||
String query = "SELECT ORGANIZATION_ID, RTL_LOC_ID, WKSTN_ID, SEQUENCE_ID, SEQUENCE_MODE, SEQUENCE_NBR, CREATE_DATE, CREATE_USER_ID, UPDATE_DATE, UPDATE_USER_ID, RECORD_STATE " +
|
||||
String query = "SELECT ORGANIZATION_ID, RTL_LOC_ID, WKSTN_ID, SEQUENCE_ID, SEQUENCE_MODE, SEQUENCE_NBR, CREATE_DATE, CREATE_USER_ID, UPDATE_DATE, UPDATE_USER_ID, RECORD_STATE "+
|
||||
"FROM DTV.COM_SEQUENCE " +
|
||||
"WHERE organization_id = 1 " +
|
||||
"ORDER BY WKSTN_ID, SEQUENCE_ID";
|
||||
|
|
@ -389,65 +386,26 @@ public class StoreService {
|
|||
DriverManager.setLoginTimeout(5); // Set timeout to 5 seconds
|
||||
|
||||
try (DatabaseConnectXSTORE databaseConnection = new DatabaseConnectXSTORE(dbHost,"dtv")) {
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
|
||||
java.util.Date startDate;
|
||||
Integer timezoneOffset = 0;
|
||||
|
||||
try {
|
||||
startDate = formatter.parse(logDate);
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(startDate);
|
||||
cal.add(Calendar.DATE, -9);
|
||||
java.util.Date endDate = cal.getTime();
|
||||
|
||||
String queryTZ = "SELECT timezone_offset " +
|
||||
"FROM (" +
|
||||
" SELECT EXTRACT(HOUR FROM CAST(tt.BEGIN_DATETIME AS TIMESTAMP)) - EXTRACT(HOUR FROM CAST(tt.create_date AS TIMESTAMP)) AS timezone_offset " +
|
||||
" FROM dtv.trn_trans tt " +
|
||||
" WHERE" +
|
||||
" tt.ORGANIZATION_ID = 1" +
|
||||
" AND tt.RTL_LOC_ID = ?" +
|
||||
" AND tt.BUSINESS_DATE = TRUNC(?)" +
|
||||
" AND tt.trans_TYPCODE = 'SYSTEM_OPEN'" +
|
||||
" AND tt.TRANS_STATCODE = 'COMPLETE'" +
|
||||
") " +
|
||||
"WHERE ROWNUM = 1";
|
||||
|
||||
logger.info(queryTZ);
|
||||
while (startDate.compareTo(endDate) >= 0) {
|
||||
try (PreparedStatement pst = databaseConnection.getConnection().prepareStatement(queryTZ)) {
|
||||
pst.setInt(1, storeId);
|
||||
pst.setDate(2, new java.sql.Date(startDate.getTime()));
|
||||
|
||||
try (ResultSet rs = pst.executeQuery()) {
|
||||
if (rs.next()) {
|
||||
Integer tempTimezoneOffset = rs.getInt("timezone_offset");
|
||||
if (tempTimezoneOffset != null) {
|
||||
timezoneOffset = tempTimezoneOffset;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cal.setTime(startDate);
|
||||
cal.add(Calendar.DATE, -1);
|
||||
startDate = (java.util.Date) cal.getTime();
|
||||
}
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// to prevent timezone offset from being too large
|
||||
if (Math.abs(timezoneOffset) > 3) {
|
||||
timezoneOffset = 0;
|
||||
}
|
||||
|
||||
// WHERE cel.CREATE_DATE does not take time zone into account (...+ INTERVAL '1' HOUR * ?)
|
||||
String query = "SELECT cel.CREATE_DATE + INTERVAL '1' HOUR * ? as CREATE_DATE, " +
|
||||
String query = "SELECT" +
|
||||
" FROM_TZ(cel.CREATE_DATE, 'UTC') " +
|
||||
" AT TIME ZONE " +
|
||||
" CASE loc.COUNTRY " +
|
||||
" WHEN 'CH' THEN 'Europe/Zurich' " +
|
||||
" WHEN 'NL' THEN 'Europe/Amsterdam' " +
|
||||
" WHEN 'MC' THEN 'Europe/Monaco' " +
|
||||
" WHEN 'LU' THEN 'Europe/Luxembourg' " +
|
||||
" WHEN 'ES' THEN 'Europe/Madrid' " +
|
||||
" WHEN 'FR' THEN 'Europe/Paris' " +
|
||||
" WHEN 'US' THEN 'America/New_York' " +
|
||||
" WHEN 'GB' THEN 'Europe/London' " +
|
||||
" WHEN 'BE' THEN 'Europe/Brussels' " +
|
||||
" ELSE 'UTC' " +
|
||||
" END " +
|
||||
"AS CREATE_DATE, " +
|
||||
"cel.CREATE_USER_ID, " +
|
||||
"cel.BUSINESS_DATE, " +
|
||||
"cel.RTL_LOC_ID, " +
|
||||
"cel.RTL_LOC_ID, "+
|
||||
"cel.RTL_LOC_ID || ' - ' || loc.STORE_NAME AS STORE_NAME, " +
|
||||
"cel.WKSTN_ID, " +
|
||||
"cel.LOG_LEVEL, " +
|
||||
"cel.THREAD_NAME, " +
|
||||
|
|
@ -460,27 +418,50 @@ public class StoreService {
|
|||
" WHEN cel.LOGGER_CATEGORY = 'dtv.xstore.state.app.shutdown' THEN 'Xstore shutdown' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.xstore.helpdesk.memory' THEN 'Application core' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.xstore.helpdesk' THEN 'Application core' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.sysadmin.data.repqueue.errors' THEN 'Replication errors' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.sysadmin.data.repqueue.nofails' THEN 'Replication errors' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.xstore.hardware.init' THEN 'Hardware init' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.xstore.sensitive-data.logging' THEN 'Sensitive data logging' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.xstore.uncaught' THEN 'Uncaught exception' " +
|
||||
"ELSE cel.LOGGER_CATEGORY END as LOGGER_CATEGORY " +
|
||||
"FROM dtv.CTL_EVENT_LOG cel " +
|
||||
"WHERE cel.CREATE_DATE BETWEEN TO_DATE( ?, 'rrrrmmdd') AND TO_DATE( ?, 'rrrrmmdd hh24:mi:ss') " +
|
||||
"FROM dtv.CTL_EVENT_LOG cel " +
|
||||
"JOIN dtv.LOC_RTL_LOC loc ON loc.RTL_LOC_ID = cel.RTL_LOC_ID " +
|
||||
"WHERE cel.CREATE_DATE BETWEEN " +
|
||||
"TO_TIMESTAMP(?, 'YYYYMMDD HH24:MI:SS') - INTERVAL '3' HOUR " +
|
||||
"AND " +
|
||||
"TO_TIMESTAMP(?, 'YYYYMMDD HH24:MI:SS') + INTERVAL '3' HOUR " +
|
||||
"AND TO_CHAR(FROM_TZ(cel.CREATE_DATE, 'UTC') AT TIME ZONE " +
|
||||
"CASE loc.COUNTRY " +
|
||||
" WHEN 'CH' THEN 'Europe/Zurich' " +
|
||||
" WHEN 'NL' THEN 'Europe/Amsterdam' " +
|
||||
" WHEN 'MC' THEN 'Europe/Monaco' " +
|
||||
" WHEN 'LU' THEN 'Europe/Luxembourg' " +
|
||||
" WHEN 'ES' THEN 'Europe/Madrid' " +
|
||||
" WHEN 'FR' THEN 'Europe/Paris' " +
|
||||
" WHEN 'US' THEN 'America/New_York' " +
|
||||
" WHEN 'GB' THEN 'Europe/London' " +
|
||||
" WHEN 'BE' THEN 'Europe/Brussels' " +
|
||||
" ELSE 'UTC' " +
|
||||
"END, 'YYYYMMDD HH24:MI:SS') BETWEEN ? AND ? " +
|
||||
"AND cel.ORGANIZATION_ID = 1 " +
|
||||
"AND cel.RTL_LOC_ID = ? " +
|
||||
"AND cel.THREAD_NAME IS NOT NULL " +
|
||||
"ORDER BY cel.CREATE_DATE DESC";
|
||||
"ORDER BY cel.CREATE_DATE DESC";
|
||||
|
||||
logger.info(query);
|
||||
try (PreparedStatement statement = databaseConnection.getConnection().prepareStatement(query)) {
|
||||
statement.setInt(1, timezoneOffset);
|
||||
statement.setString(2, logDate);
|
||||
statement.setString(3, logDate + " 23:59:59");
|
||||
statement.setInt(4, storeId);
|
||||
statement.setString(1, logDate + " 00:00:00");
|
||||
statement.setString(2, logDate + " 23:59:59");
|
||||
statement.setString(3, logDate + " 00:00:00");
|
||||
statement.setString(4, logDate + " 23:59:59");
|
||||
statement.setInt(5, storeId);
|
||||
|
||||
ResultSet resultSet = statement.executeQuery();
|
||||
|
||||
List<XadminApplicationLog> storeLogList = new ArrayList<>();
|
||||
List<XadminLog> storeLogList = new ArrayList<>();
|
||||
|
||||
while (resultSet.next()) {
|
||||
XadminApplicationLog storeLog = mapResultSetToStoreLog(resultSet);
|
||||
XadminLog storeLog = mapResultSetToStoreLog(resultSet);
|
||||
storeLogList.add(storeLog);
|
||||
}
|
||||
|
||||
|
|
@ -501,20 +482,21 @@ public class StoreService {
|
|||
}
|
||||
}
|
||||
|
||||
public XadminApplicationLog mapResultSetToStoreLog(ResultSet resultSet) throws SQLException {
|
||||
XadminApplicationLog xadminapplicationlog = new XadminApplicationLog();
|
||||
public XadminLog mapResultSetToStoreLog(ResultSet resultSet) throws SQLException {
|
||||
XadminLog xadminlog = new XadminLog();
|
||||
|
||||
xadminapplicationlog.setCreateDate(resultSet.getDate("CREATE_DATE"));
|
||||
xadminapplicationlog.setCreateUserId(resultSet.getString("CREATE_USER_ID"));
|
||||
xadminapplicationlog.setBusinessDate(resultSet.getDate("BUSINESS_DATE"));
|
||||
xadminapplicationlog.setRtlLocId(resultSet.getInt("RTL_LOC_ID"));
|
||||
xadminapplicationlog.setWkstnId(resultSet.getInt("WKSTN_ID"));
|
||||
xadminapplicationlog.setLogLevel(resultSet.getString("LOG_LEVEL"));
|
||||
xadminapplicationlog.setThreadName(resultSet.getString("THREAD_NAME"));
|
||||
xadminapplicationlog.setLogMessage(resultSet.getString("LOG_MESSAGE"));
|
||||
xadminapplicationlog.setLoggerCategory(resultSet.getString("LOGGER_CATEGORY"));
|
||||
xadminlog.setCreateDate(resultSet.getDate("CREATE_DATE"));
|
||||
xadminlog.setCreateUserId(resultSet.getString("CREATE_USER_ID"));
|
||||
xadminlog.setBusinessDate(resultSet.getDate("BUSINESS_DATE"));
|
||||
xadminlog.setRtlLocId(resultSet.getInt("RTL_LOC_ID"));
|
||||
xadminlog.setStoreName(resultSet.getString("STORE_NAME"));
|
||||
xadminlog.setWkstnId(resultSet.getInt("WKSTN_ID"));
|
||||
xadminlog.setLogLevel(resultSet.getString("LOG_LEVEL"));
|
||||
xadminlog.setThreadName(resultSet.getString("THREAD_NAME"));
|
||||
xadminlog.setLogMessage(resultSet.getString("LOG_MESSAGE"));
|
||||
xadminlog.setLoggerCategory(resultSet.getString("LOGGER_CATEGORY"));
|
||||
|
||||
return xadminapplicationlog;
|
||||
return xadminlog;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
package com.example.services;
|
||||
|
||||
import com.example.services.xadmin.application.XadminApplicationLog;
|
||||
import com.example.services.xadmin.log.XadminLog;
|
||||
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.QueryParam;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
|
|
@ -17,8 +16,6 @@ import java.sql.DriverManager;
|
|||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -30,72 +27,116 @@ public class XadminService {
|
|||
private static final Logger logger = LoggerFactory.getLogger(DatabaseConnectXADMIN.class);
|
||||
|
||||
@GET
|
||||
@Path("/application/log/{storeId}")
|
||||
@Path("/log")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public Response getApplicationLogByStoreId(@PathParam("storeId") Integer storeId,
|
||||
@QueryParam("WkstnId") Integer wkstnId,
|
||||
@QueryParam("BeginDate") String beginDate,
|
||||
@QueryParam("EndDate") String endDate,
|
||||
@QueryParam("SearchText") String searchText) {
|
||||
if (storeId == null) {
|
||||
return Response.status(Response.Status.BAD_REQUEST).entity("{\"error\":\"storeId parameter is required\"}").build();
|
||||
}
|
||||
|
||||
public Response getLogByStoreId(@QueryParam("storeId") Integer storeId,
|
||||
@QueryParam("wkstnId") Integer wkstnId,
|
||||
@QueryParam("beginDate") String beginDate,
|
||||
@QueryParam("endDate") String endDate,
|
||||
@QueryParam("searchText") String searchText) {
|
||||
|
||||
if (beginDate == null || endDate == null) {
|
||||
return Response.status(Response.Status.BAD_REQUEST).entity("{\"error\":\"BeginDate and EndDate parameters are required\"}").build();
|
||||
}
|
||||
|
||||
DriverManager.setLoginTimeout(5); // Définir le timeout à 5 secondes
|
||||
DriverManager.setLoginTimeout(5); // Set timeout to 5 seconds
|
||||
|
||||
try (DatabaseConnectXADMIN databaseConnection = new DatabaseConnectXADMIN("dtv")) {
|
||||
String query =
|
||||
"SELECT cel.BUSINESS_DATE, " +
|
||||
"cel.CREATE_DATE, " +
|
||||
"cel.CREATE_USER_ID, " +
|
||||
"cel.RTL_LOC_ID, " +
|
||||
"cel.WKSTN_ID, " +
|
||||
"cel.LOG_LEVEL, " +
|
||||
"cel.THREAD_NAME, " +
|
||||
"cel.LOG_MESSAGE " +
|
||||
"FROM dtv.CTL_EVENT_LOG cel " +
|
||||
"WHERE cel.CREATE_DATE BETWEEN ? AND TRUNC(? + 1) " +
|
||||
"AND cel.ORGANIZATION_ID = 1 " +
|
||||
"AND cel.RTL_LOC_ID = ? " +
|
||||
(wkstnId != null ? "AND cel.WKSTN_ID = ? " : "") +
|
||||
"ORDER BY cel.CREATE_DATE";
|
||||
String query = "SELECT" +
|
||||
" FROM_TZ(cel.CREATE_DATE, 'UTC') " +
|
||||
" AT TIME ZONE " +
|
||||
" CASE loc.COUNTRY " +
|
||||
" WHEN 'CH' THEN 'Europe/Zurich' " +
|
||||
" WHEN 'NL' THEN 'Europe/Amsterdam' " +
|
||||
" WHEN 'MC' THEN 'Europe/Monaco' " +
|
||||
" WHEN 'LU' THEN 'Europe/Luxembourg' " +
|
||||
" WHEN 'ES' THEN 'Europe/Madrid' " +
|
||||
" WHEN 'FR' THEN 'Europe/Paris' " +
|
||||
" WHEN 'US' THEN 'America/New_York' " +
|
||||
" WHEN 'GB' THEN 'Europe/London' " +
|
||||
" WHEN 'BE' THEN 'Europe/Brussels' " +
|
||||
" ELSE 'UTC' " +
|
||||
" END " +
|
||||
"AS CREATE_DATE, " +
|
||||
"cel.CREATE_USER_ID, " +
|
||||
"cel.BUSINESS_DATE, " +
|
||||
"cel.RTL_LOC_ID, " +
|
||||
"cel.RTL_LOC_ID || ' - ' || loc.STORE_NAME AS STORE_NAME, " +
|
||||
"cel.WKSTN_ID, " +
|
||||
"cel.LOG_LEVEL, " +
|
||||
"cel.THREAD_NAME, " +
|
||||
"cel.LOG_MESSAGE, " +
|
||||
"CASE WHEN cel.LOGGER_CATEGORY = 'dtv.xstore.app.preflight' THEN 'Pre-flight error' " +
|
||||
" WHEN cel.LOGGER_CATEGORY LIKE 'dtv.xstore.dataloader%' THEN 'DataLoader' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.sysadmin.data.failover' THEN 'Data-failover' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.xstore.order.download.offline' THEN 'Order error' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.xstore.state.app.startup' THEN 'Xstore startup' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.xstore.state.app.shutdown' THEN 'Xstore shutdown' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.xstore.helpdesk.memory' THEN 'Application core' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.xstore.helpdesk' THEN 'Application core' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.sysadmin.data.repqueue.errors' THEN 'Replication errors' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.sysadmin.data.repqueue.nofails' THEN 'Replication errors' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.xstore.hardware.init' THEN 'Hardware init' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.xstore.sensitive-data.logging' THEN 'Sensitive data logging' " +
|
||||
" WHEN cel.LOGGER_CATEGORY = 'dtv.xstore.uncaught' THEN 'Uncaught exception' " +
|
||||
"ELSE cel.LOGGER_CATEGORY END as LOGGER_CATEGORY " +
|
||||
"FROM dtv.CTL_EVENT_LOG cel " +
|
||||
"JOIN dtv.LOC_RTL_LOC loc ON loc.RTL_LOC_ID = cel.RTL_LOC_ID " +
|
||||
"WHERE cel.CREATE_DATE BETWEEN " +
|
||||
"TO_TIMESTAMP(?, 'YYYYMMDD HH24:MI:SS') - INTERVAL '3' HOUR " +
|
||||
"AND " +
|
||||
"TO_TIMESTAMP(?, 'YYYYMMDD HH24:MI:SS') + INTERVAL '3' HOUR " +
|
||||
"AND TO_CHAR(FROM_TZ(cel.CREATE_DATE, 'UTC') AT TIME ZONE " +
|
||||
"CASE loc.COUNTRY " +
|
||||
" WHEN 'CH' THEN 'Europe/Zurich' " +
|
||||
" WHEN 'NL' THEN 'Europe/Amsterdam' " +
|
||||
" WHEN 'MC' THEN 'Europe/Monaco' " +
|
||||
" WHEN 'LU' THEN 'Europe/Luxembourg' " +
|
||||
" WHEN 'ES' THEN 'Europe/Madrid' " +
|
||||
" WHEN 'FR' THEN 'Europe/Paris' " +
|
||||
" WHEN 'US' THEN 'America/New_York' " +
|
||||
" WHEN 'GB' THEN 'Europe/London' " +
|
||||
" WHEN 'BE' THEN 'Europe/Brussels' " +
|
||||
" ELSE 'UTC' " +
|
||||
"END, 'YYYYMMDD HH24:MI:SS') BETWEEN ? AND ? " +
|
||||
"AND cel.ORGANIZATION_ID = 1 " +
|
||||
(storeId != null ? "AND cel.RTL_LOC_ID = ? " : "") +
|
||||
(wkstnId != null ? "AND cel.WKSTN_ID = ? " : "") +
|
||||
(searchText != null ? "AND LOWER(cel.LOG_MESSAGE) LIKE ? " : "") +
|
||||
"AND cel.THREAD_NAME IS NOT NULL " +
|
||||
"ORDER BY cel.CREATE_DATE DESC";
|
||||
|
||||
logger.info(query);
|
||||
|
||||
try (PreparedStatement statement = databaseConnection.getConnection().prepareStatement(query)) {
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
|
||||
java.sql.Date parsedBeginDate = null;
|
||||
java.sql.Date parsedEndDate = null;
|
||||
statement.setString(1, beginDate);
|
||||
statement.setString(2, endDate + " 23:59:59");
|
||||
statement.setString(3, beginDate);
|
||||
statement.setString(4, endDate + " 23:59:59");
|
||||
|
||||
try {
|
||||
parsedBeginDate = new java.sql.Date(format.parse(beginDate).getTime());
|
||||
parsedEndDate = new java.sql.Date(format.parse(endDate).getTime());
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
Integer indexParam = 5;
|
||||
|
||||
statement.setDate(1, parsedBeginDate);
|
||||
statement.setDate(2, parsedEndDate);
|
||||
statement.setInt(3, storeId);
|
||||
if (storeId != null) {
|
||||
statement.setInt( indexParam++, storeId);
|
||||
}
|
||||
|
||||
if(wkstnId != null) {
|
||||
statement.setInt(4, wkstnId);
|
||||
if (wkstnId != null) {
|
||||
statement.setInt(indexParam++,wkstnId);
|
||||
}
|
||||
|
||||
if(searchText != null) {
|
||||
statement.setString(indexParam++, "%" + searchText.toLowerCase() + "%");
|
||||
}
|
||||
|
||||
try (ResultSet resultSet = statement.executeQuery()) {
|
||||
List<XadminApplicationLog> xadminApplicationLogList = new ArrayList<>();
|
||||
List<XadminLog> xadminLogList = new ArrayList<>();
|
||||
|
||||
while (resultSet.next()) {
|
||||
XadminApplicationLog xadminApplicationLog = mapResultSetToApplicationLog(resultSet);
|
||||
xadminApplicationLogList.add(xadminApplicationLog);
|
||||
XadminLog xadminLog = mapResultSetToXadminLog(resultSet);
|
||||
xadminLogList.add(xadminLog);
|
||||
}
|
||||
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
String jsonResponse = objectMapper.writeValueAsString(xadminApplicationLogList);
|
||||
String jsonResponse = objectMapper.writeValueAsString(xadminLogList);
|
||||
|
||||
return Response.ok(jsonResponse).build();
|
||||
}
|
||||
|
|
@ -110,18 +151,20 @@ public class XadminService {
|
|||
}
|
||||
}
|
||||
|
||||
public XadminApplicationLog mapResultSetToApplicationLog(ResultSet resultSet) throws SQLException {
|
||||
XadminApplicationLog xadminapplicationlog = new XadminApplicationLog();
|
||||
public XadminLog mapResultSetToXadminLog(ResultSet resultSet) throws SQLException {
|
||||
XadminLog xadminlog = new XadminLog();
|
||||
|
||||
xadminapplicationlog.setBusinessDate(resultSet.getDate("BUSINESS_DATE"));
|
||||
xadminapplicationlog.setCreateDate(resultSet.getDate("CREATE_DATE"));
|
||||
xadminapplicationlog.setCreateUserId(resultSet.getString("CREATE_USER_ID"));
|
||||
xadminapplicationlog.setRtlLocId(resultSet.getInt("RTL_LOC_ID"));
|
||||
xadminapplicationlog.setWkstnId(resultSet.getInt("WKSTN_ID"));
|
||||
xadminapplicationlog.setLogLevel(resultSet.getString("LOG_LEVEL"));
|
||||
xadminapplicationlog.setThreadName(resultSet.getString("THREAD_NAME"));
|
||||
xadminapplicationlog.setLogMessage(resultSet.getString("LOG_MESSAGE"));
|
||||
xadminlog.setCreateDate(resultSet.getDate("CREATE_DATE"));
|
||||
xadminlog.setCreateUserId(resultSet.getString("CREATE_USER_ID"));
|
||||
xadminlog.setBusinessDate(resultSet.getDate("BUSINESS_DATE"));
|
||||
xadminlog.setRtlLocId(resultSet.getInt("RTL_LOC_ID"));
|
||||
xadminlog.setStoreName(resultSet.getString("STORE_NAME"));
|
||||
xadminlog.setWkstnId(resultSet.getInt("WKSTN_ID"));
|
||||
xadminlog.setLogLevel(resultSet.getString("LOG_LEVEL"));
|
||||
xadminlog.setThreadName(resultSet.getString("THREAD_NAME"));
|
||||
xadminlog.setLogMessage(resultSet.getString("LOG_MESSAGE"));
|
||||
xadminlog.setLoggerCategory(resultSet.getString("LOGGER_CATEGORY"));
|
||||
|
||||
return xadminapplicationlog;
|
||||
return xadminlog;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
package com.example.services.xadmin.application;
|
||||
package com.example.services.xadmin.log;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class XadminApplicationLog {
|
||||
public class XadminLog {
|
||||
private Date businessDate;
|
||||
private Date createDate;
|
||||
private String createUserId;
|
||||
|
|
@ -12,6 +12,7 @@ public class XadminApplicationLog {
|
|||
private String threadName;
|
||||
private String logMessage;
|
||||
private String loggerCategory;
|
||||
private String storeName;
|
||||
|
||||
public Date getBusinessDate() {
|
||||
return businessDate;
|
||||
|
|
@ -84,4 +85,12 @@ public class XadminApplicationLog {
|
|||
public void setLoggerCategory(String loggerCategory) {
|
||||
this.loggerCategory = loggerCategory;
|
||||
}
|
||||
|
||||
public String getStoreName() {
|
||||
return storeName;
|
||||
}
|
||||
|
||||
public void setStoreName(String storeName) {
|
||||
this.storeName = storeName;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue