修改用户行统计,可根据用户查询IP,根据iP查询用户
This commit is contained in:
@@ -6,16 +6,13 @@ import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.Random;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
@@ -28,22 +25,17 @@ import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.PageLog;
|
||||
import com.nis.domain.SysUser;
|
||||
import com.nis.domain.dashboard.NtcRadiusReport;
|
||||
import com.nis.domain.log.BaseLogEntity;
|
||||
import com.nis.domain.dashboard.PageDashboard;
|
||||
import com.nis.domain.maat.LogRecvData;
|
||||
import com.nis.domain.report.NtcAsnRecord;
|
||||
import com.nis.domain.report.NtcIpRangeReport;
|
||||
import com.nis.util.Configurations;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.DateUtils;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.util.httpclient.HttpClientUtil;
|
||||
import com.nis.web.controller.BaseController;
|
||||
import com.nis.web.security.UserUtils;
|
||||
|
||||
import net.sf.json.JSONObject;
|
||||
|
||||
@SuppressWarnings("all")
|
||||
@Controller
|
||||
@RequestMapping("${adminPath}/traffic")
|
||||
public class TrafficStatisticsReportController extends BaseController {
|
||||
@@ -64,6 +56,13 @@ public class TrafficStatisticsReportController extends BaseController {
|
||||
Map<String, Object> userJsonList = new HashMap<String, Object>();
|
||||
Map<String, Object> ipJsonList = new HashMap<String, Object>();
|
||||
String searchBusinessType = bean.getSearchBusinessType();
|
||||
|
||||
|
||||
PageDashboard<NtcRadiusReport> page=new PageDashboard<NtcRadiusReport>(request, response);
|
||||
int pageSize = page.getPageSize();
|
||||
int pageNo = page.getPageNo();
|
||||
|
||||
|
||||
if ("2".endsWith(searchBusinessType)) {
|
||||
model.addAttribute("searchBusinessType", 2);// 用户查询
|
||||
}
|
||||
@@ -77,6 +76,7 @@ public class TrafficStatisticsReportController extends BaseController {
|
||||
String nasIp = bean.getNasIp();
|
||||
String destUrl = url + "?searchBusinessType=1";
|
||||
String userUrl = url + "?searchBusinessType=2";
|
||||
userUrl+="&pageSize="+pageSize+"&pageNo="+pageNo;
|
||||
String ipUrl = url + "?searchBusinessType=3";
|
||||
List list = new ArrayList();
|
||||
List userList = new ArrayList();
|
||||
@@ -110,7 +110,7 @@ public class TrafficStatisticsReportController extends BaseController {
|
||||
}
|
||||
model.addAttribute("nowTime", DateUtils.getDateTime());
|
||||
// 用户及IP数据
|
||||
String string = HttpClientUtil.get(destUrl);
|
||||
/*String string = HttpClientUtil.get(destUrl);
|
||||
Gson gson = new GsonBuilder().create();
|
||||
fromJsonList = gson.fromJson(string, new TypeToken<Map>() {
|
||||
}.getType());
|
||||
@@ -142,8 +142,8 @@ public class TrafficStatisticsReportController extends BaseController {
|
||||
System.out.println(
|
||||
"-------------------:" + nasIpList.size() + "+++" + accountList.size() + "==================");
|
||||
model.addAttribute("nasIpList", nasIpList);
|
||||
model.addAttribute("accountList", accountList);
|
||||
if (StringUtil.isBlank(account) && accountList != null && accountList.size() > 0
|
||||
model.addAttribute("accountList", accountList);*/
|
||||
/* if (StringUtil.isBlank(account) && accountList != null && accountList.size() > 0
|
||||
&& !"3".equals(searchBusinessType)) {
|
||||
Map accountMap = (Map) accountList.get(0);
|
||||
String firstAccount = "";
|
||||
@@ -175,26 +175,29 @@ public class TrafficStatisticsReportController extends BaseController {
|
||||
model.addAttribute("ipList", ipList);
|
||||
model.addAttribute("searchNasIp", firstIp);
|
||||
|
||||
}
|
||||
}*/
|
||||
if ("2".endsWith(searchBusinessType) && !StringUtil.isBlank(account)) {
|
||||
|
||||
String userString = HttpClientUtil.get(userUrl + "&searchAccount=" + account);
|
||||
// 指定用户 查询
|
||||
Gson usergson = new GsonBuilder().create();
|
||||
userJsonList = usergson.fromJson(userString, new TypeToken<Map>() {
|
||||
}.getType());
|
||||
userList = (ArrayList) userJsonList.get("data");
|
||||
model.addAttribute("userList", userList);
|
||||
// userJsonList = usergson.fromJson(userString, new TypeToken<Map>() {}.getType());
|
||||
LogRecvData<NtcRadiusReport> fromJson = usergson.fromJson(userString, new TypeToken<LogRecvData<NtcRadiusReport>>(){}.getType());
|
||||
page.setList(fromJson.getData().getList());
|
||||
List<NtcRadiusReport> list2 = page.getList();
|
||||
model.addAttribute("userList", list2);
|
||||
model.addAttribute("page", page);
|
||||
model.addAttribute("searchAccount", account);
|
||||
}
|
||||
if ("3".endsWith(searchBusinessType) && !StringUtil.isBlank(nasIp)) {
|
||||
String ipString = HttpClientUtil.get(ipUrl + "&searchNasIp=" + nasIp);
|
||||
// 指定IP查询
|
||||
Gson ipgson = new GsonBuilder().create();
|
||||
ipJsonList = ipgson.fromJson(ipString, new TypeToken<Map>() {
|
||||
}.getType());
|
||||
ipList = (ArrayList) ipJsonList.get("data");
|
||||
model.addAttribute("ipList", ipList);
|
||||
LogRecvData<NtcRadiusReport> fromJson = ipgson.fromJson(ipString, new TypeToken<LogRecvData<NtcRadiusReport>>(){}.getType());
|
||||
page.setList(fromJson.getData().getList());
|
||||
List<NtcRadiusReport> list3 = page.getList();
|
||||
model.addAttribute("ipList", list3);
|
||||
model.addAttribute("page", page);
|
||||
model.addAttribute("searchNasIp", nasIp);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
@@ -203,6 +206,86 @@ public class TrafficStatisticsReportController extends BaseController {
|
||||
}
|
||||
return "/dashboard/trafficUserBehavior";
|
||||
}
|
||||
/**
|
||||
* 用户行为查询2
|
||||
*
|
||||
* @param bean
|
||||
* @param model
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("getUserBehaviorList")
|
||||
public String getUserBehaviorList(@ModelAttribute("log")NtcRadiusReport bean, Model model, HttpServletRequest request,
|
||||
HttpServletResponse response, RedirectAttributes redirectAttributes) {
|
||||
Map<String, Object> fromJsonList = new HashMap<String, Object>();
|
||||
Map<String, Object> userJsonList = new HashMap<String, Object>();
|
||||
Map<String, Object> ipJsonList = new HashMap<String, Object>();
|
||||
String searchBusinessType = bean.getSearchBusinessType();
|
||||
|
||||
|
||||
PageDashboard<NtcRadiusReport> page=new PageDashboard<NtcRadiusReport>(request, response);
|
||||
int pageSize = page.getPageSize();
|
||||
int pageNo = page.getPageNo();
|
||||
String url = Constants.DASHBOARD_URL + Constants.NTC_RADIUS_REPORT;
|
||||
String statTime = bean.getSearchFoundStartTime();
|
||||
String endTime = bean.getSearchFoundEndTime();
|
||||
String account = bean.getAccount();
|
||||
String nasIp = bean.getNasIp();
|
||||
String userUrl = url + "?searchBusinessType=2";
|
||||
userUrl+="&pageSize="+pageSize+"&pageNo="+pageNo;
|
||||
String ipUrl = url + "?searchBusinessType=3";
|
||||
ipUrl+="&pageSize="+pageSize+"&pageNo="+pageNo;
|
||||
try {
|
||||
if (StringUtil.isBlank(statTime) && StringUtil.isBlank(endTime)) {
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(new Date());
|
||||
endTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cal.getTime());// 获取到完整的时间
|
||||
cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1);
|
||||
statTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cal.getTime());
|
||||
bean.setSearchFoundStartTime(statTime);
|
||||
bean.setSearchFoundEndTime(endTime);
|
||||
statTime = URLEncoder.encode(statTime, "UTF-8");
|
||||
endTime = URLEncoder.encode(endTime, "UTF-8");
|
||||
String paramUrl = "&searchReportStartTime=" + statTime + "&searchReportEndTime=" + endTime;
|
||||
userUrl = userUrl + paramUrl;
|
||||
ipUrl = ipUrl + paramUrl;
|
||||
} else {
|
||||
statTime = URLEncoder.encode(statTime, "UTF-8");
|
||||
endTime = URLEncoder.encode(endTime, "UTF-8");
|
||||
String paramUrl = "&searchReportStartTime=" + statTime + "&searchReportEndTime=" + endTime;
|
||||
userUrl = userUrl + paramUrl;
|
||||
ipUrl = ipUrl + paramUrl;
|
||||
}
|
||||
if ("2".endsWith(searchBusinessType) && !StringUtil.isBlank(account)) {
|
||||
|
||||
String userString = HttpClientUtil.get(userUrl + "&searchAccount=" + account);
|
||||
// 指定用户 查询
|
||||
Gson usergson = new GsonBuilder().create();
|
||||
LogRecvData<NtcRadiusReport> fromJson = usergson.fromJson(userString, new TypeToken<LogRecvData<NtcRadiusReport>>(){}.getType());
|
||||
page.setList(fromJson.getData().getList());
|
||||
model.addAttribute("page", page);
|
||||
model.addAttribute("searchAccount", account);
|
||||
model.addAttribute("searchBusinessType", 2);// 用户查询
|
||||
return "/dashboard/trafficNasIpList";
|
||||
}
|
||||
if ("3".endsWith(searchBusinessType) && !StringUtil.isBlank(nasIp)) {
|
||||
String ipString = HttpClientUtil.get(ipUrl + "&searchNasIp=" + nasIp);
|
||||
// 指定IP查询
|
||||
Gson ipgson = new GsonBuilder().create();
|
||||
LogRecvData<NtcRadiusReport> fromJson = ipgson.fromJson(ipString, new TypeToken<LogRecvData<NtcRadiusReport>>(){}.getType());
|
||||
page.setList(fromJson.getData().getList());
|
||||
model.addAttribute("page", page);
|
||||
model.addAttribute("searchNasIp", nasIp);
|
||||
model.addAttribute("searchBusinessType", 3);// ip查询
|
||||
return "/dashboard/trafficUserList";
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
addMessage(redirectAttributes, "error", "request_service_failed");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// 用户行为导出
|
||||
@RequestMapping(value = "userBehaviorExport")
|
||||
|
||||
Reference in New Issue
Block a user