增加日志记录

parent d705cdd3
......@@ -63,7 +63,8 @@ public class SolrController {
//System.out.print(solrzy);
String [] solrlist =solrzy.split(":");
//调用solr查询接口
model=$list(solrlist,value);//503A1503025500010000005SolrDocument
//model=$list(solrlist,value);//503A1503025500010000005SolrDocument
model=queryManager.solrsearchlist(solrlist,value);
if(!model.get("solrNum").equals("0")){
nums.add(model);
//System.out.println("查出数据"+nums.get(0).get("solrList"));
......@@ -73,7 +74,14 @@ public class SolrController {
return nums;
}
@RequestMapping(value = "/solrsearchdata",method = {RequestMethod.POST,RequestMethod.GET})
public @ResponseBody Map<String, Object> solrsearchdata(String solr,String value,int num,String sort)throws Exception {
Map<String, Object> model = new HashMap<String, Object>();
//调用solr查询数据接口
//model=$data(solr,value,num,sort);
model=queryManager.solrsearchdata(solr,value,num,sort);
return model;
}
/**
* solrNum测试
*
......@@ -83,17 +91,8 @@ public class SolrController {
public @ResponseBody
String solrsearchlisttest(String value)throws Exception {
Map<String, Object> model = new HashMap<String, Object>();
return queryManager.findsolrlist(value,value);
return queryManager.findsolrlisttest(value,value);
}
@RequestMapping(value = "/solrsearchdata",method = {RequestMethod.POST,RequestMethod.GET})
public @ResponseBody Map<String, Object> solrsearchdata(String solr,String value,int num,String sort)throws Exception {
Map<String, Object> model = new HashMap<String, Object>();
//调用solr查询数据接口
model=$data(solr,value,num,sort);
return model;
}
/**
* solrNum查询
*
......
package com.cc.dao;
import com.cc.model.SysGnsyrz;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
/*
日志dao
*/
@Component
@Mapper
public interface LogDao {
public int insertSysLog(SysGnsyrz sysGnsyrz);
}
......@@ -6,5 +6,9 @@ import java.io.IOException;
import java.util.Map;
public interface QueryManager {
public String findsolrlist(String ss,String value) throws IOException, SolrServerException;
public String findsolrlisttest(String ss,String value) throws IOException, SolrServerException;
public Map<String, Object> solrsearchlist(String [] solrlist,String value) throws IOException, SolrServerException;
public Map<String, Object> solrsearchdata(String solr,String value,int num,String sort) throws IOException, SolrServerException;
}
package com.cc.service.imp;
import com.cc.service.QueryManager;
import org.apache.solr.client.solrj.SolrServerException;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import static com.cc.utils.querySolrList.$list;
import static com.cc.utils.querySolrList.$list1;
import static com.cc.utils.querySolrdata.$data;
@Service
@Component
public class QueryManagerImpl implements QueryManager {
@Override
public String findsolrlisttest(String ss,String value) throws IOException, SolrServerException {
return $list1(ss,value);
}
@Override
public Map<String, Object> solrsearchlist(String[] solrlist, String value) throws IOException, SolrServerException {
return $list(solrlist,value);
}
@Override
public Map<String, Object> solrsearchdata(String solr,String value,int num,String sort) throws IOException, SolrServerException {
return $data(solr,value,num,sort);
}
}
package com.cc.utils;
import com.cc.dao.LogDao;
import com.cc.db.DBConnection;
import com.cc.model.Drsconfig;
import com.cc.model.SysGnsyrz;
import com.cc.model.User;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import pzrw.Pzrw;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
* Advice通知类
* 测试after,before,around,throwing,returning Advice.
* @author Admin
*
*/
public class LogAdvice {
/**
* 核心业务逻辑退出后(包括正常执行结束和异常退出),执行此Advice
* @param joinPoint 33333
*/
@Autowired
private LogDao logDao;
private void doAfter(JoinPoint joinPoint) {
String czlxdm="";//操作类型代码
MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
String methodSignatureName=methodSignature.getName();
//传入参数
Object[] objArray = joinPoint.getArgs();
String objParam="";
String yymc="智能查询";
String cznr="";
if(null!=methodSignatureName&&methodSignatureName!=""){
objParam="zjhm:"+objArray[1];
}
czlxdm="01";
cznr="执行[查询]动作,参数为:"+objParam;
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
HttpSession session = request.getSession();
String ip = (String) session.getAttribute("clientIp");
String unitcode=(String) request.getSession().getAttribute("unitcode");
String username=(String) request.getSession().getAttribute("username");
String useridcard=(String) request.getSession().getAttribute("useridcard");
//拼接日志流水号
String qlw = unitcode.substring(0, 6);//公安机关机构代码(前6位)
SimpleDateFormat formatter = new SimpleDateFormat( "yyyyMMdd");
String sjdate = formatter.format(new Date());//8位年月日
String lsh = getOrderIdByUUId();
String yrzlsh =qlw+sjdate+lsh;
String rzlsh =yrzlsh.replace(" ", "");
String xxlyms = "系统功能日志";
User user=getUser(username);
SysGnsyrz sysGnsyrz=new SysGnsyrz();
sysGnsyrz.setRzlsh(rzlsh);
sysGnsyrz.setYymcJyqk(yymc);
sysGnsyrz.setYhGmsfhm(useridcard);
sysGnsyrz.setYhIp(ip);
sysGnsyrz.setYhdwGajgjgdm(unitcode);
sysGnsyrz.setYhdwGajgmc(user.getUnitname());
sysGnsyrz.setCzlxdm(czlxdm);
sysGnsyrz.setCzxxJyqk(cznr);
sysGnsyrz.setXxlyms(xxlyms);
sysGnsyrz.setXxdjdwGajgjgdm(unitcode);
sysGnsyrz.setXxdjdwGajgmc(user.getUnitname());
sysGnsyrz.setXxdjryGmsfhm(useridcard);
sysGnsyrz.setXxdjryLxdh(user.getTelephone());
sysGnsyrz.setXxdjryXm(user.getTrueName());
sysGnsyrz.setXxczdwGajgjgdm(unitcode);
sysGnsyrz.setXxczdwGajgmc(user.getUnitname());
sysGnsyrz.setXxczryGmsfhm(useridcard);
sysGnsyrz.setXxczryXm(user.getTrueName());
try {
logDao.insertSysLog(sysGnsyrz);
} catch (Exception e) {
System.out.println("记录功能日志发生异常!");
e.printStackTrace();
}
Pzrw ss = new Pzrw();
ss.insertPZRW("SYS_GNSYRZ", "SYS_GNSYRZ", "RZLSH", useridcard, rzlsh,"0");
}
public static String getOrderIdByUUId() {
int machineId = 1;//最大支持1-9个集群机器部署
int hashCodeV = UUID.randomUUID().toString().hashCode();
if(hashCodeV < 0) {//有可能是负数
hashCodeV = - hashCodeV;
}
// 0 代表前面补充0
// 4 代表长度为4
// d 代表参数为正数型
return machineId + String.format("%015d", hashCodeV);
}
/**
* 获取ESB服务资源信息
*/
public static User getUser(String username){
User user = new User();
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql;
try {
conn = DBConnection.getConnection1();
if (conn != null) {
sql = "select * from sys_user where username='"+username+"'";
System.out.println("用户信息==========="+sql);
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
user.setTelephone(rs.getString("telephone"));
user.setTrueName(rs.getString("true_name"));
user.setUnitname(rs.getString("unitname"));
}
}
rs.close();
ps.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return user;
}
}
......@@ -78,14 +78,15 @@ public class querySolrList {
client.close();
return solrmodel;
}
//查询solr方法
public static Map<String,Object> $list(String [] solrlist,String value) throws IOException, SolrServerException {
return querySolrNum(solrlist,value);
}
//测试solraop方法
public static String querySolrNum1(String ss,String value) throws IOException, SolrServerException {
System.out.println("value========"+value);
return value;
}
public static Map<String,Object> $list(String [] solrlist,String value) throws IOException, SolrServerException {
return querySolrNum(solrlist,value);
}
public static String $list1(String ss,String value) throws IOException, SolrServerException {
return querySolrNum1(ss,value);
}
......
#jdbc.url=jdbc:mysql://localhost:3306/ssm_crud
#jdbc.driverClass=com.mysql.jdbc.Driver
#jdbc.user=root
#jdbc.password=123
#\u5C71\u897F
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:XZXT
jdbc.username=XZXT
jdbc.password=XZXT
\ No newline at end of file
......@@ -54,11 +54,11 @@
</tx:attributes>
</tx:advice>
<!-- 日志切入 -->
<bean id="logsHandler" class="com.cc.utils.XMLAdvice" />
<bean id="logsHandler" class="com.cc.utils.LogAdvice" />
<aop:config>
<aop:aspect id="aspect" ref="logsHandler">
<!--<aop:pointcut id="pointUserMgr" expression="execution(* com.cc.utils.*.query*(..))"/>-->
<aop:pointcut id="pointUserMgr" expression="execution(* com.cc.service.*.find*(..))"/>
<aop:pointcut id="pointUserMgr" expression="execution(* com.cc.service.*.*(..))"/>
<aop:after method="doAfter" pointcut-ref="pointUserMgr"/>
</aop:aspect>
</aop:config>
......
......@@ -229,7 +229,7 @@ function solrfydata(value, zysjTemplet, num, px) {
else{
templet3=$("<span class="+key+"></span>").append(obj[key]);
}
alert(templet3);
//alert(templet3);
$(".esbzydata"+numlist+"").append(templet2).append(templet3);
});
});
......
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