Commit 25cf8c8d authored by 谢希宇's avatar 谢希宇

Default Changelist

parent 5be7f588
package com.cftech.sys.controller;
import com.cftech.accounts.model.MpAccountsEntity;
import com.cftech.accounts.service.MpAccountsService;
import com.cftech.sys.model.MobileViewlog;
import com.cftech.sys.service.MobileViewlogService;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import java.sql.Timestamp;
import java.util.Date;
/**
* @author 作者 lisw:
* @version 创建时间:2016年10月24日 下午1:34:10
* 后台日志操作Controller
*/
@Controller
@RequestMapping("/mobile/auth/mobilestaticlog")
public class MobileStaticLogController {
@Autowired
private MobileViewlogService mobileViewlogService;
@Autowired
private MpAccountsService mpAccountService;
@RequestMapping(value="/save",method=RequestMethod.POST)
@ResponseBody
public JSONObject save(String params,String appid,HttpServletRequest request){
//判断请求参数
System.out.println(params);
System.out.println(appid);
JSONObject rtnJson = new JSONObject();
rtnJson.put("errorNo", 1);
if(StringUtils.isBlank(appid)){
return rtnJson;
}
Long accountsid = checkappid(appid);
MobileViewlog mobileViewlog =new MobileViewlog();
mobileViewlog.setRemoteAddr(com.cftech.core.util.StringUtils.getRemoteAddr(request));
mobileViewlog.setUserAgent(request.getHeader("user-agent"));
mobileViewlog.setRequestUri(request.getRequestURI());
mobileViewlog.setAppid(request.getParameter("appid"));
mobileViewlog.setCreateDate(new Timestamp(new Date().getTime()));
mobileViewlog.setParenturl(request.getHeader("REFERER"));
mobileViewlog.setParams(params);
mobileViewlog.setAccountsid(accountsid);
try {
mobileViewlogService.save(mobileViewlog);
rtnJson.put("errorNo", 0);
} catch (Exception e) {
rtnJson.put("errorNo", 1);
}
return rtnJson;
}
/**
* 根据appid获取accountsid
* */
private Long checkappid(String appid) {
MpAccountsEntity accountEntity = mpAccountService
.getMpAccountsAppid(appid);
if (accountEntity != null) {
return accountEntity.getId();
} else {
return null;
}
}
}
\ No newline at end of file
package com.cftech.sys.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.cftech.accounts.model.MpAccountsEntity;
import com.cftech.accounts.service.MpAccountsService;
import com.cftech.core.mongo.Pager;
import com.cftech.core.util.DateUtils;
import com.cftech.core.util.ExcelUtils;
import com.cftech.core.util.JsonDateValueProcessor;
import com.cftech.sys.model.MobileLog;
import com.cftech.sys.param.SysLogListParam;
import com.cftech.sys.security.PermissionSign;
import com.cftech.sys.security.UserUtils;
import com.cftech.sys.service.MobileLogService;
import com.cftech.sys.service.MobileViewlogService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;
/**
* @author 作者 lisw:
* @version 创建时间:2016年10月24日 下午1:34:10
* 后台日志操作Controller
*/
@Controller
@RequestMapping("/a/mobileviewlog")
public class MobileViewLogController {
@Autowired
private MobileViewlogService mobileViewlogService;
@Autowired
private MobileLogService mobileLogService;
@Autowired
private MpAccountsService mpAccountsService;
//访问日志
@RequestMapping(value="/list",method=RequestMethod.GET)
@RequiresPermissions(value = PermissionSign.SYSLOG_VIEWS)
public String sysLogList(HttpServletRequest request,SysLogListParam sysLogListParam,Model model){
model.addAttribute("sysLogListParam",sysLogListParam);
return "managerlog/mobileviewloglist";
}
//操作日志
@RequestMapping(value="/listStatic",method=RequestMethod.GET)
@RequiresPermissions(value = PermissionSign.SYSLOG_VIEWS)
public String sysLogListStatic(HttpServletRequest request,SysLogListParam sysLogListParam,Model model){
model.addAttribute("sysLogListParam",sysLogListParam);
return "managerlog/mobileloglist";
}
@RequestMapping(value="/fetchData",method=RequestMethod.GET)
@RequiresPermissions(value = PermissionSign.SYSLOG_VIEWS)
@ResponseBody
public JSONObject fetchData(int iDisplayStart, int iDisplayLength,
MobileLog log, SysLogListParam sysLogListParam, HttpServletRequest request){
// Sort sort = new Sort("t.create_date", OrderType.DESC);
// Conds conds = new Conds();
// //请求参数
// if(sysLogListParam != null){
// if(StringUtils.isNoneBlank(sysLogListParam.getBrithdayStarttime()) && StringUtils.isNoneBlank(sysLogListParam.getBrithdayEndtime())){
// conds.between("t.create_date", sysLogListParam.getBrithdayStarttime(),sysLogListParam.getBrithdayEndtime());
// }else if(StringUtils.isNoneBlank(sysLogListParam.getBrithdayStarttime())){
// conds.greatEqual("t.create_date",sysLogListParam.getBrithdayStarttime());
// }else if(StringUtils.isNoneBlank(sysLogListParam.getBrithdayEndtime())){
// conds.lessEqual("t.create_date",sysLogListParam.getBrithdayEndtime());
// }
// }
// // 获取列表数据
// List<MobileViewlog> activityList = mobileViewlogService.fetchSearchByPage(conds, sort, iDisplayStart, iDisplayLength);
// // 获得总数
// Integer userCounts = mobileViewlogService.count(conds);
MpAccountsEntity account =mpAccountsService.getDetail(UserUtils.getmpaccounts(request));
log.setAppid(account.getAppid());
Pager pager = new Pager();
pager.setPageNum(iDisplayStart/iDisplayLength);
pager.setPageSize(iDisplayLength);
Pager page =mobileLogService.selectPage(log, pager);
// if(page!=null && page.getResult()!=null && page.getResult().size()>0){
// List<MobileLog> logs = page.getResult();
// for(MobileLog mobile : logs){
// System.out.println(mobile.getOpenid());
// }
// }else{
// System.out.println("未查询到数据");
// }
JSONObject rtnJson = new JSONObject();
rtnJson.put("iTotalRecords", page.getTotal());
rtnJson.put("iTotalDisplayRecords", page.getTotal());
rtnJson.put("aaData", page.getResult());
return rtnJson;
}
@RequestMapping("/export")
public void export(MobileLog log,SysLogListParam sysLogListParam,HttpServletRequest request,HttpServletResponse response){
MpAccountsEntity account = mpAccountsService.getDetail(UserUtils.getmpaccounts(request));
log.setAppid(account.getAppid());
Pager pager = new Pager();
pager.setPageNum(0);
pager.setPageSize(50000);
Pager page =mobileLogService.selectPage(log, pager);
List list = page.getResult();
// if(page.getTotal()>50000){//仅截取50000条
// list=list.subList(0, 49999);
// }
// 参数
try {
ExcelUtils.export(request, response,"访问日志报表-" + DateUtils.formatDate(new Date(), "yyyy-MM-dd"),list, "logview");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//清空前端访问日志
@RequestMapping(value="/deleteAllMobileViewLog",method=RequestMethod.POST)
@ResponseBody
public JSONObject deleteAllMobileLog(){
JSONObject rtnJson = new JSONObject();
rtnJson.put("errorNo", 0);
try {
mobileViewlogService.deleteAllMobileViewLog();
} catch (Exception e) {
rtnJson.put("errorNo", 1);
}
return rtnJson;
}
}
\ No newline at end of file
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
<property name="locations"> <property name="locations">
<list> <list>
<value>classpath*:application-test.properties</value> <value>classpath*:application-test.properties</value>
<value>classpath*:mongodb.properties</value>
</list> </list>
</property> </property>
</bean> </bean>
...@@ -125,20 +124,20 @@ ...@@ -125,20 +124,20 @@
<!--有密码配置 定义mongo对象,对应的是mongodb官方jar包中的Mongo,replica-set设置集群副本的ip地址和端口 --> <!--有密码配置 定义mongo对象,对应的是mongodb官方jar包中的Mongo,replica-set设置集群副本的ip地址和端口 -->
<mongo:mongo-client id="mongo" replica-set="${mongo.hostport}" credentials="${mongo.username}:${mongo.password}@admin"> <!--<mongo:mongo-client id="mongo" replica-set="${mongo.hostport}" credentials="${mongo.username}:${mongo.password}@admin">-->
<mongo:client-options write-concern="NORMAL" <!--<mongo:client-options write-concern="NORMAL"-->
connections-per-host="${mongo.connectionsPerHost}" <!--connections-per-host="${mongo.connectionsPerHost}"-->
threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}" <!--threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}"-->
connect-timeout="${mongo.connectTimeout}" <!--connect-timeout="${mongo.connectTimeout}"-->
max-wait-time="${mongo.maxWaitTime}" <!--max-wait-time="${mongo.maxWaitTime}"-->
socket-keep-alive="${mongo.socketKeepAlive}" <!--socket-keep-alive="${mongo.socketKeepAlive}"-->
socket-timeout="${mongo.socketTimeout}" /> <!--socket-timeout="${mongo.socketTimeout}" />-->
</mongo:mongo-client> <!--</mongo:mongo-client>-->
<mongo:db-factory dbname="${mongo.database}" mongo-ref="mongo" /> <!--<mongo:db-factory dbname="${mongo.database}" mongo-ref="mongo" />-->
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <!--<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">-->
<constructor-arg name="mongo" ref="mongo" /> <!--<constructor-arg name="mongo" ref="mongo" />-->
<constructor-arg name="databaseName" value="${mongo.database}"/> <!--<constructor-arg name="databaseName" value="${mongo.database}"/>-->
</bean> <!--</bean>-->
<!--无用户名密码配置 <!--无用户名密码配置
......
...@@ -47,21 +47,7 @@ ...@@ -47,21 +47,7 @@
<property name="cacheSeconds" value="60" /> <property name="cacheSeconds" value="60" />
</bean> </bean>
<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
<mvc:interceptor>
<mvc:mapping path="/a/**" />
<ref bean="logInterceptor" />
</mvc:interceptor>
<!--<mvc:interceptor>-->
<!--<mvc:mapping path="/mobile/**" />-->
<!--<ref bean="jwtInterceptor" />-->
<!--</mvc:interceptor>-->
</mvc:interceptors>
<bean id="logInterceptor" class="com.cftech.sys.interceptor.LogInterceptor"></bean>
<!--<bean id="jwtInterceptor" class="com.cftech.sys.interceptor.JWTInterceptor"></bean>--> <!--<bean id="jwtInterceptor" class="com.cftech.sys.interceptor.JWTInterceptor"></bean>-->
<mvc:default-servlet-handler /> <mvc:default-servlet-handler />
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<span class="logo-mini"><b>schaeffler</b></span> <span class="logo-mini"><b>schaeffler</b></span>
<!-- logo for regular state and mobile devices --> <!-- logo for regular state and mobile devices -->
<!--#if($session.getAttribute("isshow") == '2') --> <!--#if($session.getAttribute("isshow") == '2') -->
<span class="logo-lg"><b></b>艾迪数字平台</span> <span class="logo-lg"><b></b>艾迪健康平台</span>
<!--#else if($session.getAttribute("isshow") == '1') --> <!--#else if($session.getAttribute("isshow") == '1') -->
<!--<span class="logo-lg"><b>CF</b>汤沟微信后台</span>--> <!--<span class="logo-lg"><b>CF</b>汤沟微信后台</span>-->
<!--#end --> <!--#end -->
......
...@@ -44,16 +44,6 @@ ...@@ -44,16 +44,6 @@
<property name="cacheSeconds" value="60" /> <property name="cacheSeconds" value="60" />
</bean> </bean>
<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
<mvc:interceptor>
<mvc:mapping path="/a/**" />
<ref bean="logInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
<bean id="logInterceptor" class="com.cftech.sys.interceptor.LogInterceptor"></bean>
<mvc:default-servlet-handler /> <mvc:default-servlet-handler />
<bean id="localeResolver" <bean id="localeResolver"
......
...@@ -125,20 +125,20 @@ ...@@ -125,20 +125,20 @@
<!--有密码配置 定义mongo对象,对应的是mongodb官方jar包中的Mongo,replica-set设置集群副本的ip地址和端口 --> <!--有密码配置 定义mongo对象,对应的是mongodb官方jar包中的Mongo,replica-set设置集群副本的ip地址和端口 -->
<mongo:mongo-client id="mongo" replica-set="${mongo.hostport}" credentials="${mongo.username}:${mongo.password}@admin"> <!--<mongo:mongo-client id="mongo" replica-set="${mongo.hostport}" credentials="${mongo.username}:${mongo.password}@admin">-->
<mongo:client-options write-concern="NORMAL" <!--<mongo:client-options write-concern="NORMAL"-->
connections-per-host="${mongo.connectionsPerHost}" <!--connections-per-host="${mongo.connectionsPerHost}"-->
threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}" <!--threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}"-->
connect-timeout="${mongo.connectTimeout}" <!--connect-timeout="${mongo.connectTimeout}"-->
max-wait-time="${mongo.maxWaitTime}" <!--max-wait-time="${mongo.maxWaitTime}"-->
socket-keep-alive="${mongo.socketKeepAlive}" <!--socket-keep-alive="${mongo.socketKeepAlive}"-->
socket-timeout="${mongo.socketTimeout}" /> <!--socket-timeout="${mongo.socketTimeout}" />-->
</mongo:mongo-client> <!--</mongo:mongo-client>-->
<mongo:db-factory dbname="${mongo.database}" mongo-ref="mongo" /> <!--<mongo:db-factory dbname="${mongo.database}" mongo-ref="mongo" />-->
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <!--<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">-->
<constructor-arg name="mongo" ref="mongo" /> <!--<constructor-arg name="mongo" ref="mongo" />-->
<constructor-arg name="databaseName" value="${mongo.database}"/> <!--<constructor-arg name="databaseName" value="${mongo.database}"/>-->
</bean> <!--</bean>-->
<!--无用户名密码配置 <!--无用户名密码配置
......
...@@ -47,21 +47,7 @@ ...@@ -47,21 +47,7 @@
<property name="cacheSeconds" value="60" /> <property name="cacheSeconds" value="60" />
</bean> </bean>
<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
<mvc:interceptor>
<mvc:mapping path="/a/**" />
<ref bean="logInterceptor" />
</mvc:interceptor>
<!--<mvc:interceptor>-->
<!--<mvc:mapping path="/mobile/**" />-->
<!--<ref bean="jwtInterceptor" />-->
<!--</mvc:interceptor>-->
</mvc:interceptors>
<bean id="logInterceptor" class="com.cftech.sys.interceptor.LogInterceptor"></bean>
<!--<bean id="jwtInterceptor" class="com.cftech.sys.interceptor.JWTInterceptor"></bean>--> <!--<bean id="jwtInterceptor" class="com.cftech.sys.interceptor.JWTInterceptor"></bean>-->
<mvc:default-servlet-handler /> <mvc:default-servlet-handler />
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<span class="logo-mini"><b>schaeffler</b></span> <span class="logo-mini"><b>schaeffler</b></span>
<!-- logo for regular state and mobile devices --> <!-- logo for regular state and mobile devices -->
<!--#if($session.getAttribute("isshow") == '2') --> <!--#if($session.getAttribute("isshow") == '2') -->
<span class="logo-lg"><b></b>艾迪数字平台</span> <span class="logo-lg"><b></b>艾迪健康平台</span>
<!--#else if($session.getAttribute("isshow") == '1') --> <!--#else if($session.getAttribute("isshow") == '1') -->
<!--<span class="logo-lg"><b>CF</b>汤沟微信后台</span>--> <!--<span class="logo-lg"><b>CF</b>汤沟微信后台</span>-->
<!--#end --> <!--#end -->
......
package com.cftech.sys.controller;
import com.cftech.sys.service.MobileLogService;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @author 作者 lisw:
* @version 创建时间:2016年10月24日 下午1:34:10
* 后台日志操作Controller
*/
@Controller
@RequestMapping("/a/mobilelog")
public class MobileLogController {
@Autowired
private MobileLogService mobileLogService;
@RequestMapping("/list")
@ResponseBody
public JSONObject rtnJson(){
// try {
// Pager pager = new Pager();
// pager.setPageNum(1);
// pager.setPageSize(10);
// MobileLog log = new MobileLog();
// Pager page =mobileLogService.selectPage(log, pager);
// if(page!=null && page.getResult()!=null && page.getResult().size()>0){
// List<MobileLog> logs = page.getResult();
// for(MobileLog mobile : logs){
// System.out.println(mobile.getOpenid());
// }
// }else{
// System.out.println("未查询到数据");
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
return new JSONObject();
}
}
\ No newline at end of file
package com.cftech.sys.controller;
import com.cftech.core.scope.OrderType;
import com.cftech.core.sql.Conds;
import com.cftech.core.sql.Sort;
import com.cftech.core.util.JsonDateValueProcessor;
import com.cftech.sys.model.Log;
import com.cftech.sys.param.SysLogListParam;
import com.cftech.sys.security.PermissionSign;
import com.cftech.sys.security.UserUtils;
import com.cftech.sys.service.LogService;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* @author 作者 lisw:
* @version 创建时间:2016年10月24日 下午1:34:10
* 后台日志操作Controller
*/
@Controller
@RequestMapping("/a/syslog")
public class SysLogController {
@Autowired
private LogService logService;
@RequestMapping(value="/list",method=RequestMethod.GET)
@RequiresPermissions(value = PermissionSign.SYSLOG_VIEWS)
public String sysLogList(HttpServletRequest request,SysLogListParam sysLogListParam,Model model){
model.addAttribute("sysLogListParam",sysLogListParam);
return "managerlog/sysloglist";
}
@RequestMapping(value="/fetchData",method=RequestMethod.POST)
@RequiresPermissions(value = PermissionSign.SYSLOG_VIEWS)
@ResponseBody
public JSONObject fetchData(int iDisplayStart, int iDisplayLength,
Log log, SysLogListParam sysLogListParam, HttpServletRequest request){
Sort sort = new Sort("t.create_date", OrderType.DESC);
Conds conds = new Conds();
conds.equal("appid", UserUtils.getmpaccounts(request).toString());
//请求参数
if(sysLogListParam != null){
if(StringUtils.isNoneBlank(sysLogListParam.getBrithdayStarttime()) && StringUtils.isNoneBlank(sysLogListParam.getBrithdayEndtime())){
conds.between("t.create_date", sysLogListParam.getBrithdayStarttime(),sysLogListParam.getBrithdayEndtime());
}else if(StringUtils.isNoneBlank(sysLogListParam.getBrithdayStarttime())){
conds.greatEqual("t.create_date",sysLogListParam.getBrithdayStarttime());
}else if(StringUtils.isNoneBlank(sysLogListParam.getBrithdayEndtime())){
conds.lessEqual("t.create_date",sysLogListParam.getBrithdayEndtime());
}
if(StringUtils.isNoneBlank(sysLogListParam.getName())){
conds.like("u.username",sysLogListParam.getName());
}
}
// 获取列表数据
List<Log> activityList = logService.fetchSearchByPageSysUser(conds, sort, iDisplayStart, iDisplayLength);
// 获得总数
Integer userCounts = logService.countSysUser(conds);
JSONObject rtnJson = new JSONObject();
rtnJson.put("iTotalRecords", userCounts);
rtnJson.put("iTotalDisplayRecords", userCounts);
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(java.sql.Date.class,
new JsonDateValueProcessor("yyyy-MM-dd HH:mm:ss"));
rtnJson.put("aaData", JSONArray.fromObject(activityList, jsonConfig));
return rtnJson;
}
}
\ No newline at end of file
package com.cftech.sys.dao;
import com.cftech.core.generic.GenericDao;
import com.cftech.sys.model.ExportLog;
import com.cftech.sys.model.Log;
import java.util.List;
import java.util.Map;
/**
* logMapper
* Created by lisw 02/09/2016.
*/
public interface ExportLogMapper extends GenericDao<ExportLog> {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cftech.sys.dao.ExportLogMapper">
<resultMap id="resultMap" type="com.cftech.sys.model.ExportLog">
<id column="id" property="id"/>
<result column="type" property="type"/>
<result column="create_by" property="createBy"/>
<result column="create_date" property="createDate"/>
<result column="remote_addr" property="remoteAddr"/>
<result column="user_agent" property="userAgent"/>
<result column="request_uri" property="requestUri"/>
<result column="method" property="method"/>
<result column="params" property="params"/>
<result column="compileparams" property="compileparams"/>
<result column="appid" property="appid"/>
<result column="orisql" property="orisql"/>
<result column="outsql" property="outsql"/>
</resultMap>
<sql id="sqlWhere">
<if test="conds!=null">
<trim prefix="WHERE" prefixOverrides="AND|OR">
<foreach collection="conds.conds" index="index" item="cond">
${cond.linkType}
<if test="cond.condType == 'EQUAL'">${cond.param} = #{cond.value}</if>
<if test="cond.condType == 'NOTEQUAL'">${cond.param} &lt;&gt; #{cond.value}</if>
<if test="cond.condType == 'GREATEQUAL'">${cond.param} &gt;= #{cond.value}</if>
<if test="cond.condType == 'GREATTHAN'">${cond.param} &gt; #{cond.value}</if>
<if test="cond.condType == 'LESSEQUAL'">${cond.param} &lt;= #{cond.value}</if>
<if test="cond.condType == 'LESSTHAN'">${cond.param} &lt; #{cond.value}</if>
<if test="cond.condType == 'BETWEEN'">${cond.param} BETWEEN #{cond.startValue} AND #{cond.endValue}</if>
<if test="cond.condType == 'ISNULL'">${cond.param} IS NULL</if>
<if test="cond.condType == 'NOTNULL'">${cond.param} IS NOT NULL</if>
<if test="cond.condType == 'LIKE'">${cond.param} LIKE #{cond.value}</if>
<if test="cond.condType == 'IN'">${cond.param} IN
<foreach item="item" index="index" collection="cond.value" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</foreach>
</trim>
</if>
</sql>
<sql id="sqlColumns">
id, type, create_by, create_date, remote_addr, user_agent, request_uri, method, params, compileparams, appid,orisql,outsql
</sql>
<insert id="save" parameterType="com.cftech.sys.model.ExportLog" keyProperty="id">
insert into exportlog
(
<include refid="sqlColumns"/>
)
values
(
#{id, jdbcType=BIGINT}, #{type, jdbcType=CHAR}, #{createBy, jdbcType=VARCHAR}, now(),
#{remoteAddr, jdbcType=VARCHAR}, #{userAgent, jdbcType=VARCHAR}, #{requestUri, jdbcType=VARCHAR}, #{method, jdbcType=VARCHAR},
#{params, jdbcType=VARCHAR}, #{compileparams, jdbcType=VARCHAR},#{appid, jdbcType=BIGINT},#{orisql, jdbcType=VARCHAR},#{outsql, jdbcType=VARCHAR}
)
</insert>
<select id="fetchById" parameterType="java.lang.Long" resultMap="resultMap">
SELECT <include refid="sqlColumns" /> FROM exportlog t
WHERE t.id=#{id}
</select>
<select id="count" parameterType="java.util.Map" resultType="java.lang.Integer">
SELECT COUNT(1) FROM exportlog <include refid="sqlWhere" />
</select>
<select id="fetchSearchByPage" parameterType="java.util.Map" resultMap="resultMap">
SELECT <include refid="sqlColumns" />
FROM exportlog t
<include refid="sqlWhere" />
<if test="sort!=null">ORDER BY ${sort.param} ${sort.type}</if>
<if test="limit>0">limit #{offset},#{limit}</if>
</select>
<update id="update" parameterType="com.cftech.sys.model.ExportLog">
update exportlog
<set>
<if test="id != null">
id = #{id, jdbcType=VARCHAR},
</if>
<if test="type != null">
type = #{type, jdbcType=CHAR},
</if>
<if test="createBy != null">
create_by = #{createBy, jdbcType=VARCHAR},
</if>
<if test="createDate != null">
create_date = #{createDate, jdbcType=TIMESTAMP},
</if>
<if test="remoteAddr != null">
remote_addr = #{remoteAddr, jdbcType=VARCHAR},
</if>
<if test="userAgent != null">
user_agent = #{userAgent, jdbcType=VARCHAR},
</if>
<if test="requestUri != null">
request_uri = #{requestUri, jdbcType=VARCHAR},
</if>
<if test="method != null">
method = #{method, jdbcType=VARCHAR},
</if>
<if test="params != null">
params = #{params, jdbcType=VARCHAR},
</if>
<if test="compileparams != null">
compileparams = #{compileparams, jdbcType=VARCHAR},
</if>
</set>
where id=#{id,jdbcType=BIGINT}
</update>
<delete id="delete" parameterType="java.lang.Long">
delete from exportlog where id=#{id,jdbcType=BIGINT}
</delete>
</mapper>
\ No newline at end of file
package com.cftech.sys.dao;
import com.cftech.core.generic.GenericDao;
import com.cftech.sys.model.Log;
import java.util.List;
import java.util.Map;
/**
* logMapper
* Created by lisw 02/09/2016.
*/
public interface LogMapper extends GenericDao<Log> {
/**
* 分页查询,关联后台用户
*
* @param params
* @return
*/
List<Log> fetchSearchByPageSysUser(Map<String, Object> params);
/**
* 查询总数
*
* @return
*/
int countSysUser(Map<String, Object> params);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cftech.sys.dao.LogMapper">
<resultMap id="resultMap" type="com.cftech.sys.model.Log">
<id column="id" property="id"/>
<result column="type" property="type"/>
<result column="create_by" property="createBy"/>
<result column="create_date" property="createDate"/>
<result column="remote_addr" property="remoteAddr"/>
<result column="user_agent" property="userAgent"/>
<result column="request_uri" property="requestUri"/>
<result column="method" property="method"/>
<result column="params" property="params"/>
<result column="exception" property="exception"/>
<result column="appid" property="appid"/>
</resultMap>
<sql id="sqlWhere">
<if test="conds!=null">
<trim prefix="WHERE" prefixOverrides="AND|OR">
<foreach collection="conds.conds" index="index" item="cond">
${cond.linkType}
<if test="cond.condType == 'EQUAL'">${cond.param} = #{cond.value}</if>
<if test="cond.condType == 'NOTEQUAL'">${cond.param} &lt;&gt; #{cond.value}</if>
<if test="cond.condType == 'GREATEQUAL'">${cond.param} &gt;= #{cond.value}</if>
<if test="cond.condType == 'GREATTHAN'">${cond.param} &gt; #{cond.value}</if>
<if test="cond.condType == 'LESSEQUAL'">${cond.param} &lt;= #{cond.value}</if>
<if test="cond.condType == 'LESSTHAN'">${cond.param} &lt; #{cond.value}</if>
<if test="cond.condType == 'BETWEEN'">${cond.param} BETWEEN #{cond.startValue} AND #{cond.endValue}</if>
<if test="cond.condType == 'ISNULL'">${cond.param} IS NULL</if>
<if test="cond.condType == 'NOTNULL'">${cond.param} IS NOT NULL</if>
<if test="cond.condType == 'LIKE'">${cond.param} LIKE #{cond.value}</if>
<if test="cond.condType == 'IN'">${cond.param} IN
<foreach item="item" index="index" collection="cond.value" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</foreach>
</trim>
</if>
</sql>
<sql id="sqlColumns">
id, type, create_by, create_date, remote_addr, user_agent, request_uri, method, params, exception, appid
</sql>
<insert id="save" parameterType="com.cftech.sys.model.Log" keyProperty="id">
insert into log
(
<include refid="sqlColumns"/>
)
values
(
#{id, jdbcType=BIGINT}, #{type, jdbcType=CHAR}, #{createBy, jdbcType=VARCHAR}, now(),
#{remoteAddr, jdbcType=VARCHAR}, #{userAgent, jdbcType=VARCHAR}, #{requestUri, jdbcType=VARCHAR}, #{method, jdbcType=VARCHAR},
#{params, jdbcType=VARCHAR}, #{exception, jdbcType=VARCHAR},#{appid, jdbcType=BIGINT}
)
</insert>
<select id="fetchById" parameterType="java.lang.Long" resultMap="resultMap">
SELECT <include refid="sqlColumns" /> FROM log t
WHERE t.id=#{id}
</select>
<select id="count" parameterType="java.util.Map" resultType="java.lang.Integer">
SELECT COUNT(1) FROM log<include refid="sqlWhere" />
</select>
<select id="fetchSearchByPage" parameterType="java.util.Map" resultMap="resultMap">
SELECT <include refid="sqlColumns" />
FROM log t
<include refid="sqlWhere" />
<if test="sort!=null">ORDER BY ${sort.param} ${sort.type}</if>
<if test="limit>0">limit #{offset},#{limit}</if>
</select>
<select id="fetchSearchByPageSysUser" parameterType="java.util.Map" resultMap="resultMap">
SELECT t.id,t.type,t.create_date,t.remote_addr,t.user_agent,t.request_uri,t.method,t.params,t.exception,u.username createBy
FROM log t
inner join user u on t.create_by = u.id
<include refid="sqlWhere" />
<if test="sort!=null">ORDER BY ${sort.param} ${sort.type}</if>
<if test="limit>0">limit #{offset},#{limit}</if>
</select>
<select id="countSysUser" parameterType="java.util.Map" resultType="java.lang.Integer">
SELECT COUNT(1) FROM log t
inner join user u on t.create_by = u.id
<include refid="sqlWhere" />
</select>
<update id="update" parameterType="com.cftech.sys.model.Log">
update log
<set>
<if test="id != null">
id = #{id, jdbcType=VARCHAR},
</if>
<if test="type != null">
type = #{type, jdbcType=CHAR},
</if>
<if test="createBy != null">
create_by = #{createBy, jdbcType=VARCHAR},
</if>
<if test="createDate != null">
create_date = #{createDate, jdbcType=TIMESTAMP},
</if>
<if test="remoteAddr != null">
remote_addr = #{remoteAddr, jdbcType=VARCHAR},
</if>
<if test="userAgent != null">
user_agent = #{userAgent, jdbcType=VARCHAR},
</if>
<if test="requestUri != null">
request_uri = #{requestUri, jdbcType=VARCHAR},
</if>
<if test="method != null">
method = #{method, jdbcType=VARCHAR},
</if>
<if test="params != null">
params = #{params, jdbcType=VARCHAR},
</if>
<if test="exception != null">
exception = #{exception, jdbcType=VARCHAR},
</if>
</set>
where id=#{id,jdbcType=BIGINT}
</update>
<delete id="delete" parameterType="java.lang.Long">
delete from log where id=#{id,jdbcType=BIGINT}
</delete>
</mapper>
\ No newline at end of file
package com.cftech.sys.dao;
import com.cftech.core.mongo.Pager;
import com.cftech.core.util.StringUtils;
import com.cftech.sys.model.MobileLog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* mobileLogMapper
* Created by mb 02/12/2016.
*/
@Repository
public class MobileLogMapper{
@Autowired
private MongoTemplate mongoTemplate;
/**
* 分页查询数据
* @param userBo
* @param pager
* @return
*/
public Pager selectPage(MobileLog mobileLog, Pager pager){
Query query = new Query();
Criteria criteria = new Criteria();
criteria.where("1").is("1");
if(mobileLog!=null){
if(StringUtils.isNotBlank(mobileLog.getField1())){//日志类型 1:访问日志 2:操作日志
criteria.and("field1").is(mobileLog.getField1());
}
if(StringUtils.isNotBlank(mobileLog.getField2())){//省市查询
criteria.and("field2").regex(mobileLog.getField2());
}
if(StringUtils.isNotBlank(mobileLog.getField3())){//省市查询
criteria.and("field3").regex(mobileLog.getField3());
}
if(StringUtils.isNotBlank(mobileLog.getField4())){//昵称
criteria.and("field4").regex(mobileLog.getField4());
}
if(StringUtils.isNotBlank(mobileLog.getOpenid())){//openId
criteria.and("openid").regex(mobileLog.getOpenid());
}
if(StringUtils.isNotBlank(mobileLog.getAppid())){
criteria.and("appid").regex(mobileLog.getAppid());
}
if(StringUtils.isNotBlank(mobileLog.getModule())){
criteria.and("module").regex(mobileLog.getModule());
}
if(StringUtils.isNotBlank(mobileLog.getModulename())){
criteria.and("modulename").regex(mobileLog.getModulename());
}
}
query.addCriteria(criteria);
if(pager.getPageSize()>0){
query.skip(pager.getPageNum()*pager.getPageSize());
query.limit(pager.getPageSize());
}
Direction direction=false?Direction.ASC:Direction.DESC;
query.with(new Sort(direction,"vt"));
/*Criteria criteria = new Criteria();
query.addCriteria(criteria);*/
long total = mongoTemplate.count(query, MobileLog.class);
List<MobileLog> users = mongoTemplate.find(query, MobileLog.class);
pager.setResult(users);
pager.setTotal(total);
return pager;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cftech.sys.dao.MobileLogMapper">
<resultMap id="resultMap" type="com.cftech.sys.model.MobileLog">
<id column="id" property="id"/>
<result column="type" property="type"/>
<result column="create_date" property="createDate"/>
<result column="remote_addr" property="remoteAddr"/>
<result column="user_agent" property="userAgent"/>
<result column="request_uri" property="requestUri"/>
<result column="method" property="method"/>
<result column="params" property="params"/>
<result column="exception" property="exception"/>
<result column="appid" property="appid"/>
</resultMap>
<sql id="sqlWhere">
<if test="conds!=null">
<trim prefix="WHERE" prefixOverrides="AND|OR">
<foreach collection="conds.conds" index="index" item="cond">
${cond.linkType}
<if test="cond.condType == 'EQUAL'">${cond.param} = #{cond.value}</if>
<if test="cond.condType == 'NOTEQUAL'">${cond.param} &lt;&gt; #{cond.value}</if>
<if test="cond.condType == 'GREATEQUAL'">${cond.param} &gt;= #{cond.value}</if>
<if test="cond.condType == 'GREATTHAN'">${cond.param} &gt; #{cond.value}</if>
<if test="cond.condType == 'LESSEQUAL'">${cond.param} &lt;= #{cond.value}</if>
<if test="cond.condType == 'LESSTHAN'">${cond.param} &lt; #{cond.value}</if>
<if test="cond.condType == 'BETWEEN'">${cond.param} BETWEEN #{cond.startValue} AND #{cond.endValue}</if>
<if test="cond.condType == 'ISNULL'">${cond.param} IS NULL</if>
<if test="cond.condType == 'NOTNULL'">${cond.param} IS NOT NULL</if>
<if test="cond.condType == 'LIKE'">${cond.param} LIKE #{cond.value}</if>
<if test="cond.condType == 'IN'">${cond.param} IN
<foreach item="item" index="index" collection="cond.value" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</foreach>
</trim>
</if>
</sql>
<sql id="sqlColumns">
id, type, create_date, remote_addr, user_agent, request_uri, method, params, exception, appid
</sql>
<insert id="save" parameterType="com.cftech.sys.model.MobileLog" keyProperty="id">
insert into mobile_log
(
id, type, create_date, remote_addr, user_agent, request_uri, method, params, exception, appid
)
values
(
#{id, jdbcType=BIGINT}, #{type, jdbcType=CHAR}, now(), #{remoteAddr, jdbcType=VARCHAR},
#{userAgent, jdbcType=VARCHAR}, #{requestUri, jdbcType=VARCHAR}, #{method, jdbcType=VARCHAR}, #{params, jdbcType=VARCHAR},
#{exception, jdbcType=VARCHAR},#{appid, jdbcType=VARCHAR}
)
</insert>
<select id="fetchById" parameterType="java.lang.Long" resultMap="resultMap">
SELECT <include refid="sqlColumns" /> FROM mobile_log t
WHERE t.id=#{id}
</select>
<select id="count" parameterType="java.util.Map" resultType="java.lang.Integer">
SELECT COUNT(1) FROM mobile_log t<include refid="sqlWhere" />
</select>
<select id="fetchSearchByPage" parameterType="java.util.Map" resultMap="resultMap">
SELECT <include refid="sqlColumns" />
FROM mobile_log t
<include refid="sqlWhere" />
<if test="sort!=null">ORDER BY ${sort.param} ${sort.type}</if>
<if test="limit>0">limit #{offset},#{limit}</if>
</select>
<update id="update" parameterType="com.cftech.sys.model.MobileLog">
update mobile_log
<set>
<if test="id != null">
id = #{id, jdbcType=BIGINT},
</if>
<if test="type != null">
type = #{type, jdbcType=CHAR},
</if>
<if test="createDate != null">
create_date = #{createDate, jdbcType=TIMESTAMP},
</if>
<if test="remoteAddr != null">
remote_addr = #{remoteAddr, jdbcType=VARCHAR},
</if>
<if test="userAgent != null">
user_agent = #{userAgent, jdbcType=VARCHAR},
</if>
<if test="requestUri != null">
request_uri = #{requestUri, jdbcType=VARCHAR},
</if>
<if test="method != null">
method = #{method, jdbcType=VARCHAR},
</if>
<if test="params != null">
params = #{params, jdbcType=VARCHAR},
</if>
<if test="exception != null">
exception = #{exception, jdbcType=VARCHAR},
</if>
<if test="appid != null">
appid = #{appid, jdbcType=VARCHAR},
</if>
</set>
where id=#{id,jdbcType=BIGINT}
</update>
<update id="delete" parameterType="java.lang.Long">
update mobile_log set delflag=1 where id=#{id,jdbcType=BIGINT}
</update>
<delete id="deleteAllMobileLog">
delete from mobile_log
</delete>
</mapper>
\ No newline at end of file
package com.cftech.sys.dao;
import com.cftech.core.generic.GenericDao;
import com.cftech.sys.model.MobileViewlog;
/**
* mobileViewlogMapper
* Created by mb 02/12/2016.
*/
public interface MobileViewlogMapper extends GenericDao<MobileViewlog> {
int deleteAllMobileViewLog();
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cftech.sys.dao.MobileViewlogMapper">
<resultMap id="resultMap" type="com.cftech.sys.model.MobileViewlog">
<id column="id" property="id"/>
<result column="type" property="type"/>
<result column="create_date" property="createDate"/>
<result column="remote_addr" property="remoteAddr"/>
<result column="user_agent" property="userAgent"/>
<result column="request_uri" property="requestUri"/>
<result column="method" property="method"/>
<result column="appid" property="appid"/>
<result column="parenturl" property="parenturl"/>
<result column="params" property="params"/>
<result column="accountsid" property="accountsid"/>
</resultMap>
<sql id="sqlWhere">
<if test="conds!=null">
<trim prefix="WHERE" prefixOverrides="AND|OR">
<foreach collection="conds.conds" index="index" item="cond">
${cond.linkType}
<if test="cond.condType == 'EQUAL'">${cond.param} = #{cond.value}</if>
<if test="cond.condType == 'NOTEQUAL'">${cond.param} &lt;&gt; #{cond.value}</if>
<if test="cond.condType == 'GREATEQUAL'">${cond.param} &gt;= #{cond.value}</if>
<if test="cond.condType == 'GREATTHAN'">${cond.param} &gt; #{cond.value}</if>
<if test="cond.condType == 'LESSEQUAL'">${cond.param} &lt;= #{cond.value}</if>
<if test="cond.condType == 'LESSTHAN'">${cond.param} &lt; #{cond.value}</if>
<if test="cond.condType == 'BETWEEN'">${cond.param} BETWEEN #{cond.startValue} AND #{cond.endValue}</if>
<if test="cond.condType == 'ISNULL'">${cond.param} IS NULL</if>
<if test="cond.condType == 'NOTNULL'">${cond.param} IS NOT NULL</if>
<if test="cond.condType == 'LIKE'">${cond.param} LIKE #{cond.value}</if>
<if test="cond.condType == 'IN'">${cond.param} IN
<foreach item="item" index="index" collection="cond.value" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</foreach>
</trim>
</if>
</sql>
<sql id="sqlColumns">
id, type, create_date, remote_addr, user_agent, request_uri, method, appid, parenturl, params,accountsid
</sql>
<insert id="save" parameterType="com.cftech.sys.model.MobileViewlog" keyProperty="id">
insert into mobile_viewlog
(
id, type, create_date, remote_addr, user_agent, request_uri, method, appid, parenturl, params,accountsid
)
values
(
#{id, jdbcType=BIGINT}, #{type, jdbcType=CHAR}, now(), #{remoteAddr, jdbcType=VARCHAR},
#{userAgent, jdbcType=VARCHAR}, #{requestUri, jdbcType=VARCHAR}, #{method, jdbcType=VARCHAR}, #{appid, jdbcType=VARCHAR},
#{parenturl, jdbcType=VARCHAR}, #{params, jdbcType=VARCHAR},#{accountsid, jdbcType=BIGINT}
)
</insert>
<select id="fetchById" parameterType="java.lang.Long" resultMap="resultMap">
SELECT <include refid="sqlColumns" /> FROM mobile_viewlog t
WHERE t.id=#{id}
</select>
<select id="count" parameterType="java.util.Map" resultType="java.lang.Integer">
SELECT COUNT(1) FROM mobile_viewlog t <include refid="sqlWhere" />
</select>
<select id="fetchSearchByPage" parameterType="java.util.Map" resultMap="resultMap">
SELECT <include refid="sqlColumns" />
FROM mobile_viewlog t
<include refid="sqlWhere" />
<if test="sort!=null">ORDER BY ${sort.param} ${sort.type}</if>
<if test="limit>0">limit #{offset},#{limit}</if>
</select>
<update id="update" parameterType="com.cftech.sys.model.MobileViewlog">
update mobile_viewlog
<set>
<if test="id != null">
id = #{id, jdbcType=BIGINT},
</if>
<if test="type != null">
type = #{type, jdbcType=CHAR},
</if>
<if test="createDate != null">
create_date = #{createDate, jdbcType=TIMESTAMP},
</if>
<if test="remoteAddr != null">
remote_addr = #{remoteAddr, jdbcType=VARCHAR},
</if>
<if test="userAgent != null">
user_agent = #{userAgent, jdbcType=VARCHAR},
</if>
<if test="requestUri != null">
request_uri = #{requestUri, jdbcType=VARCHAR},
</if>
<if test="method != null">
method = #{method, jdbcType=VARCHAR},
</if>
<if test="appid != null">
appid = #{appid, jdbcType=VARCHAR},
</if>
<if test="parenturl != null">
parenturl = #{parenturl, jdbcType=VARCHAR},
</if>
<if test="params != null">
params = #{params, jdbcType=VARCHAR},
</if>
<if test="accountsid != null">
accountsid = #{accountsid, jdbcType=VARCHAR},
</if>
</set>
where id=#{id,jdbcType=BIGINT}
</update>
<update id="delete" parameterType="java.lang.Long">
update mobile_viewlog set delflag=1 where id=#{id,jdbcType=BIGINT}
</update>
<delete id="deleteAllMobileViewLog" >
delete from mobile_viewlog
</delete>
</mapper>
\ No newline at end of file
package com.cftech.sys.filter;
import com.cftech.core.util.StringUtils;
import com.cftech.sys.model.MobileViewlog;
import com.cftech.sys.service.MobileViewlogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.WebApplicationContextUtils;
import org.springframework.web.context.support.XmlWebApplicationContext;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
public class MobileFilter implements Filter{
@Autowired
private MobileViewlogService mobileViewlogService;
// private static MobileViewlogServiceImpl mobileViewlogServiceImpl = new MobileViewlogServiceImpl();
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request= (HttpServletRequest) servletRequest;
String path=request.getRequestURI();
if(path.indexOf(".html")!=-1){
//拦截并且记录此次访问
MobileViewlog mobileViewlog =new MobileViewlog();
mobileViewlog.setRemoteAddr(StringUtils.getRemoteAddr(request));
mobileViewlog.setUserAgent(request.getHeader("user-agent"));
mobileViewlog.setRequestUri(request.getRequestURI());
mobileViewlog.setAppid(request.getParameter("appid"));
mobileViewlog.setMethod(request.getDispatcherType().toString());
mobileViewlog.setType("1");
if(request.getHeader("REFERER")==null){
mobileViewlog.setType("0");
}else{
mobileViewlog.setParenturl(request.getHeader("REFERER"));
}
mobileViewlog.setParams(request.getQueryString());
ServletContext sc = request.getSession().getServletContext();
XmlWebApplicationContext cxt = (XmlWebApplicationContext)WebApplicationContextUtils.getWebApplicationContext(sc);
if(cxt != null && cxt.getBean("mobileViewlogService") != null && mobileViewlogService == null)
mobileViewlogService = (MobileViewlogService) cxt.getBean("mobileViewlogService");
this.mobileViewlogService.save(mobileViewlog);
}
filterChain.doFilter(servletRequest, servletResponse);
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
}
...@@ -6,15 +6,9 @@ ...@@ -6,15 +6,9 @@
package com.cftech.sys.interceptor; package com.cftech.sys.interceptor;
import com.cftech.core.util.JWTUtils; import com.cftech.core.util.JWTUtils;
import com.cftech.core.util.SpringContextHolder;
import com.cftech.core.util.StringUtils; import com.cftech.core.util.StringUtils;
import com.cftech.sys.dao.LogMapper;
import com.cftech.sys.model.Log;
import com.cftech.sys.model.User;
import com.cftech.sys.security.UserUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
......
/**
* Copyright &copy; 2012-2013 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
*/
package com.cftech.sys.interceptor;
import com.cftech.core.util.SpringContextHolder;
import com.cftech.core.util.StringUtils;
import com.cftech.sys.dao.LogMapper;
import com.cftech.sys.model.Log;
import com.cftech.sys.model.User;
import com.cftech.sys.security.UserUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 系统拦截器
*/
public class LogInterceptor implements HandlerInterceptor {
private static LogMapper logDao = SpringContextHolder.getBean(LogMapper.class);
protected final Logger logger = LoggerFactory
.getLogger(LogInterceptor.class);
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object handler) throws Exception {
return true;
}
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
// if(modelAndView!=null) {
// String viewName = modelAndView.getViewName();
// UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
// if(viewName.startsWith("modules/") && DeviceType.MOBILE.equals(userAgent.getOperatingSystem().getDeviceType())){
// modelAndView.setViewName(viewName.replaceFirst("modules", "mobile"));
// }
// }
}
@Transactional(readOnly = false)
public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
Object handler, Exception ex) throws Exception {
String requestRri = request.getRequestURI();
if (StringUtils.contains(requestRri, "add") || ex!=null || StringUtils.contains(requestRri, "save")
|| StringUtils.contains(requestRri, "update") || StringUtils.contains(requestRri, "modify")
|| StringUtils.contains(requestRri, "remove") || StringUtils.contains(requestRri, "delete")
|| StringUtils.contains(requestRri, "create")
){
User user = UserUtils.getUser();
if (user!=null && user.getId()!=null){
StringBuilder params = new StringBuilder();
int index = 0;
for (Object param : request.getParameterMap().keySet()){
params.append((index++ == 0 ? "" : "&") + param + "=");
params.append(StringUtils.abbr(StringUtils.endsWithIgnoreCase((String)param, "password")
? "" : request.getParameter((String)param), 100));
}
Log log = new Log();
log.setType(ex == null ? Log.TYPE_ACCESS : Log.TYPE_EXCEPTION);
log.setCreateBy(String.valueOf(user.getId()));
log.setRemoteAddr(StringUtils.getRemoteAddr(request));
log.setUserAgent(request.getHeader("user-agent"));
log.setRequestUri(request.getRequestURI());
log.setAppid(UserUtils.getmpaccounts(request));
log.setMethod(request.getMethod());
log.setParams(params.toString());
log.setException(ex != null ? ex.toString() : "");
logDao.save(log);
}
}
// logger.debug("最大内存: {}, 已分配内存: {}, 已分配内存中的剩余空间: {}, 最大可用内存: {}",
// Runtime.getRuntime().maxMemory(), Runtime.getRuntime().totalMemory(), Runtime.getRuntime().freeMemory(),
// Runtime.getRuntime().maxMemory()-Runtime.getRuntime().totalMemory()+Runtime.getRuntime().freeMemory());
}
}
package com.cftech.sys.model;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.sql.Timestamp;
/**
* log 实体类
* 导出日志表
* @author KangLiang Huang
*/
@Data
@NoArgsConstructor
public class ExportLog implements Serializable {
/**
* 编号
*/
private Long id;
/**
* 日志类型
*/
private String type;
/**
* 创建者
*/
private String createBy;
/**
* 创建时间
*/
private Timestamp createDate;
/**
* 操作IP地址
*/
private String remoteAddr;
/**
* 用户代理
*/
private String userAgent;
/**
* 请求URI
*/
private String requestUri;
/**
* 操作方式
*/
private String method;
/**
* 输出的SQL
*/
private String outsql;
/**
* mybatis预编译的SQL
*/
private String orisql;
/**
* 预编译的参数
*/
private String compileparams;
/**
* 请求的参数
*/
private String params;
/**
* 公众号ID
*/
private Long appid;
public static final String TYPE_ACCESS = "1";
public static final String TYPE_EXCEPTION = "2";
}
\ No newline at end of file
package com.cftech.sys.model;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.sql.Timestamp;
/**
* log 实体类
* 日志表
* Created by lisw 02/09/2016.
*/
@Data
@NoArgsConstructor
public class Log implements Serializable {
/**
* 编号
*/
private Long id;
/**
* 日志类型
*/
private String type;
/**
* 创建者
*/
private String createBy;
/**
* 创建时间
*/
private Timestamp createDate;
/**
* 操作IP地址
*/
private String remoteAddr;
/**
* 用户代理
*/
private String userAgent;
/**
* 请求URI
*/
private String requestUri;
/**
* 操作方式
*/
private String method;
/**
* 操作提交的数据
*/
private String params;
/**
* 异常信息
*/
private String exception;
/**
* 公众号ID
*/
private Long appid;
public static final String TYPE_ACCESS = "1";
public static final String TYPE_EXCEPTION = "2";
}
\ No newline at end of file
package com.cftech.sys.model;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable;
/**
* mobile_log 实体类
* 日志表
* Created by mb 02/12/2016.
*/
@Data
@NoArgsConstructor
@Document(collection = "logrecords")
public class MobileLog implements Serializable {
@Id
private String id;
/** 用户的openID **/
private String openid;
/** 记录的模块 **/
private String module;
/** 记录的模块名称 **/
private String modulename;
/** 记录的关键字 **/
private String keyword;
/** 记录的关键字id **/
private String keywordid;
/** 记录的访问时间,记录时间戳 **/
private String vt;
/** 记录的访问IP **/
private String ip;
/** 记录的Appid **/
private String appid;
/** 记录的页面URL **/
private String url;
//冗余字段
/** field1 **/
private String field1; //操作日志类型 1:访问日志 2:操作日志
/** field2 **/
private String field2; //省份
/** field3 **/
private String field3; //城市
/** field4 **/
private String field4; //昵称
/** field5 **/
private String field5;
/** field6 **/
private String field6;
/** field7 **/
private String field7;
/** field8 **/
private String field8;
/** field9 **/
private String field9;
/** field10 **/
private String field10;
}
\ No newline at end of file
package com.cftech.sys.model;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.sql.Timestamp;
/**
* mobile_viewlog 实体类
* 日志表
* Created by mb 02/12/2016.
*/
@Data
@NoArgsConstructor
public class MobileViewlog implements Serializable {
/**
* 编号
*/
private Long id;
/**
* 日志类型1:内部跳转0:外部链接
*/
private String type;
/**
* 创建时间
*/
private Timestamp createDate;
/**
* 操作IP地址
*/
private String remoteAddr;
/**
* 用户代理
*/
private String userAgent;
/**
* 请求URI
*/
private String requestUri;
/**
* 操作方式
*/
private String method;
/**
* 公众号标识
*/
private String appid;
/**
* 承载页面的地址
*/
private String parenturl;
/**
* 请求参数
*/
private String params;
/**
* 服务号标识
* */
private Long accountsid;
}
\ No newline at end of file
package com.cftech.sys.param;
public class SysLogListParam {
private String name;
private String brithdayStarttime;
private String brithdayEndtime;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBrithdayStarttime() {
return brithdayStarttime;
}
public void setBrithdayStarttime(String brithdayStarttime) {
this.brithdayStarttime = brithdayStarttime;
}
public String getBrithdayEndtime() {
return brithdayEndtime;
}
public void setBrithdayEndtime(String brithdayEndtime) {
this.brithdayEndtime = brithdayEndtime;
}
@Override
public String toString() {
return "SysLogListParam [name=" + name + ", brithdayStarttime="
+ brithdayStarttime + ", brithdayEndtime=" + brithdayEndtime
+ "]";
}
}
package com.cftech.sys.service;
import com.cftech.core.generic.GenericService;
import com.cftech.core.sql.Conds;
import com.cftech.core.sql.Sort;
import com.cftech.sys.model.ExportLog;
import com.cftech.sys.model.Log;
import java.util.List;
import java.util.Map;
/**
* logService
* @author KangLiang Huang
*/
public interface ExportLogService extends GenericService<ExportLog> {
void exportRSVPSQL(Conds conds, Sort sort, int page, int pageSize,String nameSpaceWithId,ExportLog exportLog);
void exportRSVPSQL(Map<String,Object> paramster, String nameSpaceWithId,ExportLog exportLog);
}
package com.cftech.sys.service;
import com.cftech.core.generic.GenericService;
import com.cftech.core.sql.Conds;
import com.cftech.core.sql.Sort;
import com.cftech.sys.model.Log;
import java.util.List;
/**
* logService
* Created by lisw 02/09/2016.
*/
public interface LogService extends GenericService<Log> {
/**
* 分页查询,关联后台用户
*
* @return
*/
List<Log> fetchSearchByPageSysUser(Conds conds, Sort sort, int page, int pageSize);
/**
* 查询总数
*
* @return
*/
int countSysUser(Conds conds);
}
package com.cftech.sys.service;
import com.cftech.core.mongo.Pager;
import com.cftech.sys.model.MobileLog;
/**
* mobileLogService
* Created by mb 02/12/2016.
*/
public interface MobileLogService{
/**
* 分页查询数据
* @param pager
* @return
*/
public Pager selectPage(MobileLog mobileLog, Pager pager);
}
package com.cftech.sys.service;
import com.cftech.core.generic.GenericService;
import com.cftech.sys.model.MobileViewlog;
/**
* mobileViewlogService
* Created by mb 02/12/2016.
*/
public interface MobileViewlogService extends GenericService<MobileViewlog> {
int deleteAllMobileViewLog();
}
package com.cftech.sys.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.cftech.core.generic.GenericDao;
import com.cftech.core.generic.GenericServiceImpl;
import com.cftech.core.sql.Conds;
import com.cftech.core.sql.Sort;
import com.cftech.sys.dao.ExportLogMapper;
import com.cftech.sys.model.ExportLog;
import com.cftech.sys.service.ExportLogService;
import com.cftech.sys.service.SqlHelper;
import com.cftech.sys.util.ExportUtils;
import org.apache.ibatis.mapping.BoundSql;
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.mapping.ParameterMapping;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
/**
* logService
* @author KangLiang Huang
*/
@Service("exportLogService")
public class ExportLogServiceImpl extends GenericServiceImpl<ExportLog> implements ExportLogService {
@Autowired
private SqlSessionFactory sqlSessionFactory;
/**
* exportLogMapper
*/
@Autowired
@Qualifier("exportLogMapper")
private ExportLogMapper exportLogMapper;
@Override
public GenericDao<ExportLog> getGenericMapper() {
return exportLogMapper;
}
//获取执行的SQL,分页的调用方式
@Override
@Transactional(readOnly = false)
public void exportRSVPSQL(Conds conds, Sort sort, int page, int pageSize,String nameSpaceWithId,ExportLog exportLog)
{
Map<String, Object> parameterMap = new HashMap<String, Object>();
parameterMap.put("conds", conds);
parameterMap.put("offset", page > 0 ? page : 0);
parameterMap.put("limit", pageSize > 0 ? pageSize : 0);
parameterMap.put("sort", sort);
Configuration configuration = sqlSessionFactory.getConfiguration();
BoundSql boundSql = configuration.getMappedStatement(nameSpaceWithId).getBoundSql(parameterMap);
String sql = ExportUtils.formatSql( boundSql.getSql());
// List<ParameterMapping> parameterMappings = boundSql.getParameterMappings();
String outSQl = ExportUtils.formatSql(SqlHelper.getMapperSql(configuration,nameSpaceWithId,
parameterMap).trim());
ExportUtils.handleLog(exportLog,sql,outSQl,parameterMap);
exportLogMapper.save(exportLog);
}
//获取执行的SQL,简单Map的调用方式
@Override
@Transactional(readOnly = false)
public void exportRSVPSQL(Map<String,Object> parameterMap,String nameSpaceWithId,ExportLog exportLog)
{
Configuration configuration = sqlSessionFactory.getConfiguration();
BoundSql boundSql = configuration.getMappedStatement(nameSpaceWithId).getBoundSql(parameterMap);
String sql = ExportUtils.formatSql(boundSql.getSql());
// List<ParameterMapping> parameterMappings = boundSql.getParameterMappings();
String outSQl = ExportUtils.formatSql(SqlHelper.getMapperSql(configuration,nameSpaceWithId,
parameterMap).trim());
ExportUtils.handleLog(exportLog,sql,outSQl,parameterMap);
exportLogMapper.save(exportLog);
}
}
package com.cftech.sys.service.impl;
import com.cftech.core.generic.GenericDao;
import com.cftech.core.generic.GenericServiceImpl;
import com.cftech.core.sql.Conds;
import com.cftech.core.sql.Sort;
import com.cftech.sys.dao.LogMapper;
import com.cftech.sys.model.Log;
import com.cftech.sys.service.LogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* logService
* Created by lisw 02/09/2016.
*/
@Service("logService")
public class LogServiceImpl extends GenericServiceImpl<Log> implements LogService {
/**
* logMapper
*/
@Autowired
@Qualifier("logMapper")
private LogMapper logMapper;
@Override
public GenericDao<Log> getGenericMapper() {
return logMapper;
}
@Override
public List<Log> fetchSearchByPageSysUser(Conds conds, Sort sort, int page, int pageSize) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("conds", conds);
params.put("offset", page > 0 ? page : 0);
params.put("limit", pageSize > 0 ? pageSize : 0);
params.put("sort", sort);
return logMapper.fetchSearchByPageSysUser(params);
}
@Override
public int countSysUser(Conds conds) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("conds", conds);
return logMapper.countSysUser(params);
}
}
package com.cftech.sys.service.impl;
import com.cftech.core.mongo.Pager;
import com.cftech.sys.dao.MobileLogMapper;
import com.cftech.sys.model.MobileLog;
import com.cftech.sys.service.MobileLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* mobileLogService
* Created by mb 02/12/2016.
*/
@Service("mobileLogService")
public class MobileLogServiceImpl implements MobileLogService {
@Autowired
private MobileLogMapper mobileLogMapper;
@Override
public Pager selectPage(MobileLog mobileLog, Pager pager) {
return mobileLogMapper.selectPage(mobileLog, pager);
}
}
package com.cftech.sys.service.impl;
import com.cftech.core.generic.GenericDao;
import com.cftech.core.generic.GenericServiceImpl;
import com.cftech.sys.dao.MobileViewlogMapper;
import com.cftech.sys.model.MobileViewlog;
import com.cftech.sys.service.MobileViewlogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
/**
* mobileViewlogService
* Created by mb 02/12/2016.
*/
@Service("mobileViewlogService")
public class MobileViewlogServiceImpl extends GenericServiceImpl<MobileViewlog> implements MobileViewlogService {
/**
* mobileViewlogMapper
*/
@Autowired
@Qualifier("mobileViewlogMapper")
private MobileViewlogMapper mobileViewlogMapper;
@Override
public GenericDao<MobileViewlog> getGenericMapper() {
return mobileViewlogMapper;
}
@Override
public int deleteAllMobileViewLog() {
// TODO Auto-generated method stub
return mobileViewlogMapper.deleteAllMobileViewLog();
}
}
package com.cftech.sys.util;
import com.alibaba.fastjson.JSONObject;
import com.cftech.core.util.StringUtils;
import com.cftech.sys.model.ExportLog;
import com.cftech.sys.model.Log;
import com.cftech.sys.security.UserUtils;
import org.springframework.http.HttpRequest;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
import java.util.StringTokenizer;
/**
* Created by user on 2018/8/2.
*/
public class ExportUtils {
public static void handleLog(ExportLog exportLog,String sql,String outSQl,Map<String,Object> parameter)
{
exportLog.setOrisql(sql);
exportLog.setOutsql(outSQl);
exportLog.setCompileparams(JSONObject.toJSONString(parameter));
}
public static ExportLog generateExportLog(Long userid, HttpServletRequest request)
{
ExportLog log = new ExportLog();
StringBuilder params = new StringBuilder();
int index = 0;
log.setType(ExportLog.TYPE_ACCESS);
log.setCreateBy(String.valueOf(userid));
log.setRemoteAddr(StringUtils.getRemoteAddr(request));
log.setUserAgent(request.getHeader("user-agent"));
log.setRequestUri(request.getRequestURI());
log.setAppid(UserUtils.getmpaccounts(request));
log.setMethod(request.getMethod());
for (Object param : request.getParameterMap().keySet()){
params.append((index++ == 0 ? "" : "&") + param + "=");
params.append(StringUtils.abbr(StringUtils.endsWithIgnoreCase((String)param, "password")
? "" : request.getParameter((String)param), 100));
}
log.setParams(params.toString());
return log;
}
public static String formatSql(String oriSql)
{
StringTokenizer whitespaceStripper = new StringTokenizer(oriSql);
StringBuilder outerBuilder = new StringBuilder();
while (whitespaceStripper.hasMoreTokens()) {
outerBuilder.append(whitespaceStripper.nextToken());
outerBuilder.append(" ");
}
return outerBuilder.toString();
}
// public static void main(String[]args)
// {
// String sql = "select hello, osadad dadnasdnalkjndw from dkadasdjj where dasd ='1' ";
// System.out.println(sql);
// sql = formatSql(sql);
// System.out.println(sql);
// }
}
...@@ -7,15 +7,10 @@ import com.cftech.base.codingrule.utils.CodingruleUtils; ...@@ -7,15 +7,10 @@ import com.cftech.base.codingrule.utils.CodingruleUtils;
import com.cftech.core.schafflerentity.VisitEntity; import com.cftech.core.schafflerentity.VisitEntity;
import com.cftech.core.util.*; import com.cftech.core.util.*;
import com.cftech.sys.model.ExportLog;
import com.cftech.sys.service.ExportLogService;
import com.cftech.sys.util.ExportUtils;
import com.cftech.workshop.details.model.Details; import com.cftech.workshop.details.model.Details;
import com.cftech.workshop.details.service.DetailsService; import com.cftech.workshop.details.service.DetailsService;
import com.cftech.workshop.details.web.DetailsController;
import com.cftech.workshop.meeting.model.Meeting; import com.cftech.workshop.meeting.model.Meeting;
import com.cftech.workshop.meeting.service.MeetingService; import com.cftech.workshop.meeting.service.MeetingService;
import com.cftech.workshop.signin.web.SignInController;
import com.cftech.workshop.workshop.model.Workshop; import com.cftech.workshop.workshop.model.Workshop;
import com.cftech.workshop.workshop.model.WorkshopDto; import com.cftech.workshop.workshop.model.WorkshopDto;
import com.cftech.workshop.workshop.model.WorkshopRSVP; import com.cftech.workshop.workshop.model.WorkshopRSVP;
...@@ -33,16 +28,12 @@ import org.apache.poi.hssf.util.HSSFColor; ...@@ -33,16 +28,12 @@ import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.xpath.operations.Or;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.util.HtmlUtils; import org.springframework.web.util.HtmlUtils;
...@@ -50,7 +41,6 @@ import org.springframework.web.util.HtmlUtils; ...@@ -50,7 +41,6 @@ import org.springframework.web.util.HtmlUtils;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.File; import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.*;
...@@ -80,8 +70,6 @@ public class WorkshopController { ...@@ -80,8 +70,6 @@ public class WorkshopController {
@Autowired @Autowired
private MeetingService meetingService; private MeetingService meetingService;
@Autowired
private ExportLogService exportLogService;
@Autowired @Autowired
private DetailsService detailsService; private DetailsService detailsService;
...@@ -247,15 +235,7 @@ public class WorkshopController { ...@@ -247,15 +235,7 @@ public class WorkshopController {
} }
Sort sort = new Sort("s.sort", OrderType.ASC); Sort sort = new Sort("s.sort", OrderType.ASC);
List<WorkshopRSVP> list1 = workshopService.exportRSVP(conds,sort,0,0); List<WorkshopRSVP> list1 = workshopService.exportRSVP(conds,sort,0,0);
System.out.println();
try
{
ExportLog exportLog = ExportUtils.generateExportLog(UserUtils.getUser().getId(),request);
exportLogService.exportRSVPSQL(conds,sort,0,0,"com.cftech.workshop.workshop.dao.WorkshopMapper.exportRSVP",exportLog);
}catch (Exception e)
{
log.error("保存导出日志异常",e);
}
Meeting meeting = meetingService.fetchById(meetingId); Meeting meeting = meetingService.fetchById(meetingId);
//研讨会开始和结束时间 //研讨会开始和结束时间
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment