From 2121f2134d42fa2141ba53a624f02bee79d1a352 Mon Sep 17 00:00:00 2001 From: RenKaiGe-Office Date: Tue, 7 Aug 2018 11:54:36 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9F=A5=E7=9C=8Bswagger?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E7=9A=84=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/nis/domain/SwaggerLog.java | 154 ++++++++++++++++++ .../persistence/interceptor/SQLHelper.java | 4 +- .../nis/web/controller/BaseController.java | 4 + .../web/controller/sys/SysLogController.java | 17 +- .../java/com/nis/web/dao/SwaggerLogDao.java | 7 + .../java/com/nis/web/dao/SwaggerLogDao.xml | 46 ++++++ .../nis/web/service/SwaggerLogService.java | 25 +++ src/main/webapp/WEB-INF/views/sys/logList.jsp | 2 +- .../WEB-INF/views/sys/swaggerLogList.jsp | 67 ++++++++ src/main/webapp/WEB-INF/web.xml | 6 + 10 files changed, 325 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/nis/domain/SwaggerLog.java create mode 100644 src/main/java/com/nis/web/dao/SwaggerLogDao.java create mode 100644 src/main/java/com/nis/web/dao/SwaggerLogDao.xml create mode 100644 src/main/java/com/nis/web/service/SwaggerLogService.java create mode 100644 src/main/webapp/WEB-INF/views/sys/swaggerLogList.jsp diff --git a/src/main/java/com/nis/domain/SwaggerLog.java b/src/main/java/com/nis/domain/SwaggerLog.java new file mode 100644 index 0000000..039705d --- /dev/null +++ b/src/main/java/com/nis/domain/SwaggerLog.java @@ -0,0 +1,154 @@ +package com.nis.domain; + +import java.util.Date; + +public class SwaggerLog extends BaseEntity { + private static final long serialVersionUID = 5351369774420087482L; + private Long id; + private String operator; + private String version; + private Integer opAction; + private Date opTime; + private String requestContent; + private Date requestTime; + private Long consumerTime; + private String requestIp; + private Integer businessCode; + private String exceptionInfo; + private String serverIp; + private String traceCode; + + private String exception;// 界面的异常信息框 + + private Date beginDate; // 开始日期 + private Date endDate; // 结束日期 + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getOperator() { + return operator; + } + + public void setOperator(String operator) { + this.operator = operator; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public Integer getOpAction() { + return opAction; + } + + public void setOpAction(Integer opAction) { + this.opAction = opAction; + } + + public Date getOpTime() { + return opTime; + } + + public void setOpTime(Date opTime) { + this.opTime = opTime; + } + + public String getRequestContent() { + return requestContent; + } + + public void setRequestContent(String requestContent) { + this.requestContent = requestContent; + } + + public Date getRequestTime() { + return requestTime; + } + + public void setRequestTime(Date requestTime) { + this.requestTime = requestTime; + } + + public Long getConsumerTime() { + return consumerTime; + } + + public void setConsumerTime(Long consumerTime) { + this.consumerTime = consumerTime; + } + + public String getRequestIp() { + return requestIp; + } + + public void setRequestIp(String requestIp) { + this.requestIp = requestIp; + } + + public Integer getBusinessCode() { + return businessCode; + } + + public void setBusinessCode(Integer businessCode) { + this.businessCode = businessCode; + } + + public String getExceptionInfo() { + return exceptionInfo; + } + + public void setExceptionInfo(String exceptionInfo) { + this.exceptionInfo = exceptionInfo; + } + + public String getServerIp() { + return serverIp; + } + + public void setServerIp(String serverIp) { + this.serverIp = serverIp; + } + + public String getTraceCode() { + return traceCode; + } + + public void setTraceCode(String traceCode) { + this.traceCode = traceCode; + } + + public String getException() { + return exception; + } + + public void setException(String exception) { + this.exception = exception; + } + + public Date getBeginDate() { + return beginDate; + } + + public void setBeginDate(Date beginDate) { + this.beginDate = beginDate; + } + + public Date getEndDate() { + return endDate; + } + + public void setEndDate(Date endDate) { + this.endDate = endDate; + } + +} diff --git a/src/main/java/com/nis/persistence/interceptor/SQLHelper.java b/src/main/java/com/nis/persistence/interceptor/SQLHelper.java index 81e3545..55bf57d 100644 --- a/src/main/java/com/nis/persistence/interceptor/SQLHelper.java +++ b/src/main/java/com/nis/persistence/interceptor/SQLHelper.java @@ -153,7 +153,7 @@ public class SQLHelper { */ public static Long getCount(final String sql, final Connection connection, final MappedStatement mappedStatement, final Object parameterObject, final BoundSql boundSql, Log log) throws SQLException { - logger.info("count查询开始----"+System.currentTimeMillis()); + logger.info("开始count查询----"+System.currentTimeMillis()); String dbName = getDBType(); final String countSql; if ("oracle".equals(dbName)) { @@ -194,7 +194,7 @@ public class SQLHelper { } return count; } finally { - logger.info("oracle查询count结束----"+System.currentTimeMillis()); + logger.info("count查询结束----"+System.currentTimeMillis()); if (rs != null) { rs.close(); } diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index 25bd644..6f36d34 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -24,6 +24,7 @@ import com.nis.web.service.LogService; import com.nis.web.service.MenuService; import com.nis.web.service.OfficeService; import com.nis.web.service.RoleService; +import com.nis.web.service.SwaggerLogService; import com.nis.web.service.SystemService; import com.nis.web.service.UserService; @@ -50,6 +51,9 @@ public class BaseController { @Autowired protected LogService logService; + @Autowired + protected SwaggerLogService swaggerLogService; + @Autowired protected ArchiveServcie archiveServcie; diff --git a/src/main/java/com/nis/web/controller/sys/SysLogController.java b/src/main/java/com/nis/web/controller/sys/SysLogController.java index 52906df..d776baa 100644 --- a/src/main/java/com/nis/web/controller/sys/SysLogController.java +++ b/src/main/java/com/nis/web/controller/sys/SysLogController.java @@ -9,19 +9,28 @@ import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import com.nis.domain.Page; +import com.nis.domain.SwaggerLog; import com.nis.domain.SysLog; import com.nis.web.controller.BaseController; @Controller @RequestMapping("${adminPath}/sys/log") public class SysLogController extends BaseController { - + @RequiresPermissions("sys:log:view") - @RequestMapping(value = {"list", ""}) + @RequestMapping(value = "list") public String list(SysLog sysLog, HttpServletRequest request, HttpServletResponse response, Model model) { - Page page = logService.findPage(new Page(request, response), sysLog); - model.addAttribute("page", page); + Page page = logService.findPage(new Page(request, response), sysLog); + model.addAttribute("page", page); return "/sys/logList"; } + @RequiresPermissions("sys:swaggerLogList:view") + @RequestMapping(value = "swaggerLogList") + public String swaggerLogList(SwaggerLog sysLog, HttpServletRequest request, HttpServletResponse response, Model model) { + Page page = swaggerLogService.findSwaggerLogPage(new Page(request, response), sysLog); + model.addAttribute("page", page); + return "/sys/swaggerLogList"; + } + } diff --git a/src/main/java/com/nis/web/dao/SwaggerLogDao.java b/src/main/java/com/nis/web/dao/SwaggerLogDao.java new file mode 100644 index 0000000..da3080a --- /dev/null +++ b/src/main/java/com/nis/web/dao/SwaggerLogDao.java @@ -0,0 +1,7 @@ +package com.nis.web.dao; + +import com.nis.domain.SwaggerLog; +@MyBatisDao +public interface SwaggerLogDao extends CrudDao{ + +} \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/SwaggerLogDao.xml b/src/main/java/com/nis/web/dao/SwaggerLogDao.xml new file mode 100644 index 0000000..1519f7a --- /dev/null +++ b/src/main/java/com/nis/web/dao/SwaggerLogDao.xml @@ -0,0 +1,46 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/SwaggerLogService.java b/src/main/java/com/nis/web/service/SwaggerLogService.java new file mode 100644 index 0000000..2f2f223 --- /dev/null +++ b/src/main/java/com/nis/web/service/SwaggerLogService.java @@ -0,0 +1,25 @@ +package com.nis.web.service; + +import org.springframework.stereotype.Service; + +import com.nis.domain.Page; +import com.nis.domain.SwaggerLog; +import com.nis.util.DateUtils; +import com.nis.web.dao.SwaggerLogDao; + +@Service +public class SwaggerLogService extends CrudService { + + + public Page findSwaggerLogPage(Page page, SwaggerLog sysLog) { + // 设置默认时间范围,默认当前月 + if (sysLog.getBeginDate() == null) { + sysLog.setBeginDate(DateUtils.setDays(DateUtils.parseDate(DateUtils.getDate()), 1)); + } + if (sysLog.getEndDate() == null) { + sysLog.setEndDate(DateUtils.addMonths(sysLog.getBeginDate(), 1)); + } + return super.findPage(page, sysLog); + } + +} diff --git a/src/main/webapp/WEB-INF/views/sys/logList.jsp b/src/main/webapp/WEB-INF/views/sys/logList.jsp index 7c2672a..0601035 100644 --- a/src/main/webapp/WEB-INF/views/sys/logList.jsp +++ b/src/main/webapp/WEB-INF/views/sys/logList.jsp @@ -16,7 +16,7 @@ <%--
  • 日志列表
  • --%> - +
    diff --git a/src/main/webapp/WEB-INF/views/sys/swaggerLogList.jsp b/src/main/webapp/WEB-INF/views/sys/swaggerLogList.jsp new file mode 100644 index 0000000..b56d5e9 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/sys/swaggerLogList.jsp @@ -0,0 +1,67 @@ +<%@ page contentType="text/html;charset=UTF-8" %> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + + swagger日志管理 + + + + +<%--
  • 日志列表
  • --%> + + + + +
    + + + + +
    + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/> + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/>   +   + +       +
    +
    + + + + <%request.setAttribute("strEnter", "\n");request.setAttribute("strTab", "\t");%> + + + + + + + + + + + + + + +
    请求内容traceCode请求方式请求ip服务端ip请求时间
    + ${fn:substring(log.requestContent,0,20) } + ${log.traceCode}${log.opAction}${log.requestIp}${log.serverIp}
    +<%-- 用户代理: ${log.userAgent}
    --%> +<%-- 提交参数: ${fns:escapeHtml(log.params)}
    --%> + 异常信息:
    + ${fn:replace(fn:replace(fns:escapeHtml(log.exceptionInfo), strEnter, '
    '), strTab, '    ')}
    + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index b7704ba..772a4ab 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -77,6 +77,12 @@ org.springframework.web.util.Log4jConfigListener + + + log4jConfigLocation + classpath:log4j.properties + + webAppRootKey nis.root From 650afedf9d5e180221526714a322b9c62474ebd2 Mon Sep 17 00:00:00 2001 From: zhangdongxu Date: Tue, 7 Aug 2018 14:29:07 +0800 Subject: [PATCH 2/4] =?UTF-8?q?Hive=E6=9F=A5=E8=AF=A2=E7=A9=BA=E5=80=BC?= =?UTF-8?q?=E5=88=A4=E6=96=ADBug=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/nis/util/HiveJDBC.java | 9 ++++----- src/main/java/com/nis/web/service/HiveSqlService.java | 6 +++--- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/nis/util/HiveJDBC.java b/src/main/java/com/nis/util/HiveJDBC.java index f9971ff..81ce4ec 100644 --- a/src/main/java/com/nis/util/HiveJDBC.java +++ b/src/main/java/com/nis/util/HiveJDBC.java @@ -151,12 +151,11 @@ public class HiveJDBC { for (int i = 1; i <= metaData.getColumnCount(); i++) { Object value = rs.getObject(i); String filedName = filedAndColumnMap.get(metaData.getColumnName(i).toString().toLowerCase()); - if (null != value) { + if (!StringUtil.isEmpty(value)) { + //如果是日期类型的属性需要把时间戳转换成日期,如果时间戳为0直接把值设置为null if (null != columnList && columnList.contains(filedName.toLowerCase())) { long time = 0l; - if (null != value && !value.toString().equals("")) { - time = Long.parseLong(value.toString()); - } + time = Long.parseLong(value.toString()); map.put(filedName, time==0l?null:new Date(time * 1000)); // map.put(filedName, new // Date(Long.parseLong("1476583810000"))); @@ -236,7 +235,7 @@ public class HiveJDBC { String fieldTypeName = propertyDescriptor.getPropertyType().getName(); if (map.containsKey(name)) { Object value = map.get(name); - if (null != value && !value.equals("")) { + if (!StringUtil.isEmpty(value)) { if (fieldTypeName.equals("java.lang.String")) { propertyDescriptor.getWriteMethod().invoke(obj, new String[] { value.toString() }); } else if (fieldTypeName.equals("java.lang.Integer")) { diff --git a/src/main/java/com/nis/web/service/HiveSqlService.java b/src/main/java/com/nis/web/service/HiveSqlService.java index bf8a7d0..e9f4344 100644 --- a/src/main/java/com/nis/web/service/HiveSqlService.java +++ b/src/main/java/com/nis/web/service/HiveSqlService.java @@ -49,7 +49,7 @@ public class HiveSqlService { } sql.setLength(0); sql.append(" select " + sqlTrim + " from " + tableName + " t where 1=1 "); - if (bean != null) { + if (!StringUtil.isEmpty(bean)) { Class clazz = bean.getClass(); for (; clazz != Object.class; clazz = clazz.getSuperclass()) { // 获取所有的字段包括public,private,protected,private @@ -64,7 +64,7 @@ public class HiveSqlService { String typeName = f.getType().getName(); if (f.getType().getName().equals("java.lang.String") && key.startsWith("search")) { Object value = getFieldValue(bean, key); - if (value != null) { + if (!StringUtil.isEmpty(value)) { setFieldValue(bean, key, value.toString().trim()); if (key.endsWith("Time")) {// 日期开始或结束的字段 if (col2col.containsKey(key)) { @@ -159,7 +159,7 @@ public class HiveSqlService { String typeName = f.getType().getName(); if (f.getType().getName().equals("java.lang.String") && key.startsWith("search")) { Object value = getFieldValue(bean, key); - if (value != null) { + if (!StringUtil.isEmpty(value)) { setFieldValue(bean, key, value.toString().trim()); if (key.endsWith("Time")) {// 日期开始或结束的字段 if (col2col.containsKey(key)) { From 8190e85cc1720253394552f74fc491928138dbfe Mon Sep 17 00:00:00 2001 From: zhangdongxu Date: Tue, 7 Aug 2018 15:38:57 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=97=A5=E5=BF=97=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E6=98=BE=E7=A4=BA=E5=8A=A0=E6=82=AC=E6=B5=AE?= =?UTF-8?q?=E6=A1=86=EF=BC=8C=E6=82=AC=E6=B5=AE=E6=A1=86=E7=9A=84=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E4=BD=BF=E7=94=A8fn:escapeXml=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E7=89=B9=E6=AE=8A=E5=AD=97=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/webapp/WEB-INF/views/sys/swaggerLogList.jsp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/webapp/WEB-INF/views/sys/swaggerLogList.jsp b/src/main/webapp/WEB-INF/views/sys/swaggerLogList.jsp index b56d5e9..492198f 100644 --- a/src/main/webapp/WEB-INF/views/sys/swaggerLogList.jsp +++ b/src/main/webapp/WEB-INF/views/sys/swaggerLogList.jsp @@ -2,8 +2,11 @@ <%@ include file="/WEB-INF/include/taglib.jsp"%> - swagger日志管理 + swagger日志管理