⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clientlogin.java

📁 电信的网厅的整站代码
💻 JAVA
字号:
/*
 * 创建日期 2005-7-26
 */
package com.doone.fj1w.fjmgr.sysmgr;

import java.awt.Color;
import java.awt.Font;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;

import com.doone.data.DataTable;
import com.doone.fj1w.fjmgr.order.DAO;
import com.doone.util.FileLogger;

/**
 * @author huzx
 * 
 */
public class ClientLogin extends DAO {
	/** 游客* */
	public static final String ANONYMOUS = "0";

	/** 注册用户* */
	public static final String REGEISTER_USER = "1";

	/** 产品编号* */
	public static final String PRODUCT = "2";

	/** 系统操作日志序号* */
	private String clientloginid = "";

	/** 操作模块编号,大类* */
	private String siteid = "";

	/** 操作时间* */
	private String operatetime = "";

	/** 操作者类别,0-游客,1-注册帐号,2-产品编号* */
	private String logintype = ANONYMOUS;

	/** 注册帐号* */
	private String userid = "";

	/** IP地址* */
	private String ipaddress = "";

	/** 操作系统* */
	private String os = "";

	/** 浏览器* */
	private String browser = "";

	/** 屏幕大小* */
	private String screensize = "";

	/** 颜色深度* */
	private String colordeep = "";

	/** 系统语言* */
	private String systemlanguage = "";

//	private String sDate = "";

//	private String eDate = "";

//	private double threshold;

	public ClientLogin() {
		FileLogger.getLogger().debug("ClientLogin 数据库链接" + _dac);
	}

	/**
	 * 添加登录客户IP
	 * 
	 * @param IP
	 * @return
	 */
	public String addClientLogin() {
		String sql = "insert into tl_clientlogin(CLIENTLOGINID,USERID,OPERATETIME,LOGINTYPE,IPADDRESS)"
				+ "values(?,?,sysdate,0,?)";
		Object[] value = new Object[3];
		value[0] = getClientLoginSequences();
		value[1] = userid;
		value[2] = ipaddress;
		try {
			_dac.executeUpdate(sql, 1000, value);
		} catch (Exception e) {
			FileLogger.getLogger().debug(e.getMessage());
		}

		return (String) value[0];
	}

	/**
	 * 获取tl_ClientLogin 表Sequences
	 * 
	 * @return
	 */
	public String getClientLoginSequences() {

		String sql = "select seq_clientloginid.nextval from dual";

		DataTable dataTable = new DataTable();

		try {
			dataTable = _dac.executeQuery(sql);
		} catch (Exception e) {
			FileLogger.getLogger().debug(e.getMessage());
		}
		return dataTable.getRow(0).getString(0);
	}

	/**
	 * 最大连接数
	 * 
	 * @param sDate
	 *            起始日期
	 * @param eDate
	 *            结束日期
	 * @return
	 */
	public DataTable getMaxConnection(String sDate, String eDate) {
		DataTable dataTable = null;
		String sql = "select max(b.coun) , to_char(to_date(b.operatetime,'yyyy-MM-dd HH24:mi:ss'),'yyyy-MM-dd')"
				+ " from(select count(a.clientloginid) coun,to_char(a.operatetime,'yyyy-MM-dd HH24:mi:ss') operatetime"
				+ " from Tl_Clientlogin a where trunc(a.operatetime) = trunc(a.operatetime) "
				+ " and trunc(a.operatetime) between to_date(?,'yyyy-MM-dd') and to_date(?,'yyyy-MM-dd')"
				+ " group by to_char(a.operatetime,'yyyy-MM-dd HH24:mi:ss')) b "
				+ " group by to_char(to_date(b.operatetime,'yyyy-MM-dd HH24:mi:ss'),'yyyy-MM-dd')";
		Object[] value = new Object[2];
		value[0] = sDate;
		value[1] = eDate;
		try {
			dataTable = _dac.executeQuery(sql, value);
		} catch (Exception e) {
			FileLogger.getLogger().debug(e.getMessage());
		}
		return dataTable;
	}

	/**
	 * 访问量
	 * 
	 * @param sDate
	 *            起始日期
	 * @param eDate
	 *            结束日期
	 * @return
	 */
	public DataTable getVisiting(String sDate, String eDate) {
		DataTable dataTable = null;
		String sql = "select count(t.clientloginid),to_char(t.operatetime,'yyyy-MM-dd')from"
				+ " tl_clientlogin t "
				+ " where trunc(t.operatetime) between to_date(?,'yyyy-MM-dd') and to_date(?,'yyyy-MM-dd')"
				+ " group by to_char(t.operatetime,'yyyy-MM-dd')";
		Object[] value = new Object[2];
		value[0] = sDate;
		value[1] = eDate;
		try {
			dataTable = _dac.executeQuery(sql, value);
		} catch (Exception e) {
			FileLogger.getLogger().debug(e.getMessage());
		}
		return dataTable;
	}

	/**
	 * 柱型图并发量数据集
	 * 
	 * @param sDate
	 *            起始日期
	 * @param eDate
	 *            结束日期
	 * @return
	 */
	public CategoryDataset getConDataSet(String sDate, String eDate) {
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		ClientLogin clientLogin = new ClientLogin();
		DataTable dataCon = clientLogin.getMaxConnection(sDate, eDate);
		for (int i = 0; i < dataCon.getRows().getCount(); i++) {
			dataset.addValue(Integer.parseInt(dataCon.getRow(i).getString(0)),
					"并发量", dataCon.getRow(i).getString(1));

		}
		return dataset;
	}

	/**
	 * 柱型图访问量数据集
	 * 
	 * @param sDate
	 *            起始日期
	 * @param eDate
	 *            结束日期
	 * @return
	 */
	public CategoryDataset getVisitDataSet(String sDate, String eDate) {
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		ClientLogin clientLogin = new ClientLogin();
		DataTable dataVisit = clientLogin.getVisiting(sDate, eDate);
		for (int i = 0; i < dataVisit.getRows().getCount(); i++) {
			dataset.addValue(
					Integer.parseInt(dataVisit.getRow(i).getString(0)), "访问量",
					dataVisit.getRow(i).getString(1));
		}
		return dataset;
	}

	/**
	 * 柱型图并发量,访问量数据集
	 * 
	 * @param sDate
	 * @param eDate
	 * @return
	 */
	public CategoryDataset getDataSet(String sDate, String eDate) {
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		ClientLogin clientLogin = new ClientLogin();
		DataTable dataVisit = clientLogin.getVisiting(sDate, eDate);
		DataTable dataCon = clientLogin.getMaxConnection(sDate, eDate);
		for (int i = 0; i < dataVisit.getRows().getCount(); i++) {
			dataset.addValue(
					Integer.parseInt(dataVisit.getRow(i).getString(0)), "访问量",
					dataVisit.getRow(i).getString(1));
			dataset.addValue(Integer.parseInt(dataCon.getRow(i).getString(0)),
					"并发量", dataCon.getRow(i).getString(1));

		}
		return dataset;
	}

	public JFreeChart createChart(CategoryDataset dataset) {
		JFreeChart chart = ChartFactory.createBarChart3D("系统接入数", // 图表标题
				"日期", // 目录轴的显示标签
				"数量", // 数值轴的显示标签
				dataset, // 数据集
				PlotOrientation.VERTICAL, // 图表方向:水平、垂直
				true, // 是否显示图例(对于简单的柱状图必须是false)
				false, // 是否生成工具
				false // 是否生成URL链接
				);
		CategoryPlot plot = chart.getCategoryPlot();

		BarRenderer3D renderer = new BarRenderer3D();
		renderer.setBaseOutlinePaint(Color.BLACK);
		// 显示每个柱的数值,并修改该数值的字体属性

		renderer
				.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
		renderer.setItemLabelFont(new Font("黑体", Font.PLAIN, 12));
		renderer.setItemLabelsVisible(true);

		plot.setRenderer(renderer);
		// 斜四十五度显示
		CategoryAxis domainAxis = plot.getDomainAxis();
		domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
		plot.setDomainAxis(domainAxis);

		// ValueAxis rangeAxis = plot.getRangeAxis();
		// 设置最高的一个 Item 与图片顶端的距离
		// rangeAxis.setUpperMargin(1);
		// 设置最低的一个 Item 与图片底端的距离
		// rangeAxis.setLowerMargin(1);
		// plot.setRangeAxis(rangeAxis);*/

		return chart;
	}

	/**
	 * @param browser
	 *            要设置的 browser。
	 */
	public void setBrowser(String browser) {
		this.browser = browser;
	}

	/**
	 * @param clientloginid
	 *            要设置的 clientloginid。
	 */
	public void setClientloginid(String clientloginid) {
		this.clientloginid = clientloginid;
	}

	/**
	 * @param colordeep
	 *            要设置的 colordeep。
	 */
	public void setColordeep(String colordeep) {
		this.colordeep = colordeep;
	}

	/**
	 * @param ipaddress
	 *            要设置的 ipaddress。
	 */
	public void setIpaddress(String ipaddress) {
		this.ipaddress = ipaddress;
	}

	/**
	 * @param logintype
	 *            要设置的 logintype。
	 */
	public void setLogintype(String logintype) {
		this.logintype = logintype;
	}

	/**
	 * @param operatetime
	 *            要设置的 operatetime。
	 */
	public void setOperatetime(String operatetime) {
		this.operatetime = operatetime;
	}

	/**
	 * @param os
	 *            要设置的 os。
	 */
	public void setOs(String os) {
		this.os = os;
	}

	/**
	 * @param screensize
	 *            要设置的 screensize。
	 */
	public void setScreensize(String screensize) {
		this.screensize = screensize;
	}

	/**
	 * @param siteid
	 *            要设置的 siteid。
	 */
	public void setSiteid(String siteid) {
		this.siteid = siteid;
	}

	/**
	 * @param systemlanguage
	 *            要设置的 systemlanguage。
	 */
	public void setSystemlanguage(String systemlanguage) {
		this.systemlanguage = systemlanguage;
	}

	/**
	 * @param userid
	 *            要设置的 userid。
	 */
	public void setUserid(String userid) {
		this.userid = userid;
	}

	String getBrowser() {
		return browser;
	}

	String getClientloginid() {
		return clientloginid;
	}

	String getColordeep() {
		return colordeep;
	}

	String getIpaddress() {
		return ipaddress;
	}

	String getLogintype() {
		return logintype;
	}

	String getOperatetime() {
		return operatetime;
	}

	String getOs() {
		return os;
	}

	String getScreensize() {
		return screensize;
	}

	String getSiteid() {
		return siteid;
	}

	String getSystemlanguage() {
		return systemlanguage;
	}

	String getUserid() {
		return userid;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -