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

📄 querystaticdataaction.java

📁 MM7彩信对接网关示例
💻 JAVA
字号:
package com.rainbow.mms.datadigger;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.LinkedList;
import java.util.List;

import org.apache.log4j.Logger;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;

import com.opensymphony.webwork.ServletActionContext;
import com.opensymphony.xwork.ActionContext;
import com.opensymphony.xwork.ActionSupport;
import com.rainbow.mms.common.MMSServiceCode;
import com.rainbow.mms.common.MmsGatewayInfo;
import com.rainbow.util.tools.HibernateUtil;

/**
 * 获得日常的统计数据
 * @author Rainbow MMS Platform Group Leader -- TrWorks
 *
 */
public class QueryStaticDataAction extends ActionSupport {

	private static final long serialVersionUID = 1L;
	private Logger log = Logger.getLogger(QueryStaticDataAction.class);

	/**
	 * 根据用户输入的参数,获得时间切片的统计数据
	 */
	public String execute() throws Exception {
		
		// 取参数
		String unformIdString = ServletActionContext.getRequest().getParameter("serviceList");
		String gateWayIdString = ServletActionContext.getRequest().getParameter("gatewayList");
		String beginTime = ServletActionContext.getRequest().getParameter("beginTime");
		String endTime = ServletActionContext.getRequest().getParameter("endTime");
		String prov = ServletActionContext.getRequest().getParameter("provList");
		/*System.out.println("Prov:" + prov);*/
		if (prov == null || prov.equalsIgnoreCase("")){
			prov = "全部";
		}
		else{
			prov = new String(prov.getBytes("iso8859-1"), "GBK");
		}
		String city = ServletActionContext.getRequest().getParameter("cityList");
		/*System.out.println("City:" + city);*/
		if (city == null || city.equalsIgnoreCase("")){
			city = "全部";
		}
		else{
			city = new String(city.getBytes("iso8859-1"), "GBK");
		}
		
/*		System.out.println("unformIdString:" + unformIdString);
		System.out.println("gateWayIdString:" + gateWayIdString);
		System.out.println("beginTime:" + beginTime);
		System.out.println("endTime:" + endTime);
		System.out.println("prov:" + prov);
		System.out.println("city:" + city);*/
		
		// 参数校验
		if (unformIdString == null || gateWayIdString == null || 
			beginTime == null || endTime == null || 
			unformIdString.equalsIgnoreCase("") ||
			gateWayIdString.equalsIgnoreCase("") || 
			beginTime.equalsIgnoreCase("") ||
			endTime.equalsIgnoreCase("")){
			log.warn("QueryStaticDataAction Input Params Error!");
			return ERROR;
		}

		// 参数类型转换
		int uniformId = Integer.parseInt(unformIdString);
		int gateWayId = Integer.parseInt(gateWayIdString);
		
		if (prov.equalsIgnoreCase("全部")){
			prov = null;
		}
		if (city.equalsIgnoreCase("全部")){
			city = null;
		}
		
		String result = ERROR;
		List resultList = new LinkedList();
		
		// 调用存储过程 MMS_PSysStaticDataView 取结果
		try {
			Session sess = HibernateUtil.currentSession();
			Transaction tx = sess.beginTransaction();
			Connection con = sess.connection();
			CallableStatement state = con.prepareCall("{call MMS_PSysStaticDataView (?, ?, ?, ?, ?, ?)}");
			state.setInt(1, gateWayId);
			state.setInt(2, uniformId);
			state.setString(3, beginTime);
			state.setString(4, endTime);
			state.setString(5, prov);
			state.setString(6, city);						

			ResultSet set = state.executeQuery();
			tx.commit();
			
			while (set.next()){
				StaticData data = new StaticData();
				data.setStaticDate(set.getString(1));	// 时间
				data.setRegTotal(set.getInt(2));	// 注册
				data.setUseTotal(set.getInt(3));	// 使用
				data.setNewAdd(set.getInt(4));	// 新增
				data.setFeeTotal(set.getInt(5));	// 可计费
				data.setNewDel(set.getInt(6));	// 新增退订
				data.setDelUser(set.getInt(7));	// 退订
				data.setPauseUser(set.getInt(8));	// 暂停
				data.setSuspendUser(set.getInt(9));	// 激活
				data.setClearAdd(set.getInt(10));	// 净增
				data.setSubmitTotal(set.getInt(11));	// 下行彩信总数量
				data.setSubmitOk(set.getInt(12));	// 下行彩信成功数量
				
				resultList.add(data);
			}		
			
			set.close();
			state.close();
			
			MmsGatewayInfo gwinfo = (MmsGatewayInfo)sess.load(MmsGatewayInfo.class, new Integer(gateWayIdString));
			MMSServiceCode codeinfo = (MMSServiceCode)sess.createCriteria(MMSServiceCode.class).add(
							Restrictions.eq("uniformID", new Integer(unformIdString))).add(
							Restrictions.eq("gateWayID", new Integer(gateWayIdString))).list().get(0);
			
			ActionContext.getContext().getSession().put("resultList", resultList);
			
			ServletActionContext.getRequest().setAttribute("unformId", unformIdString);
			ServletActionContext.getRequest().setAttribute("unformName", codeinfo.getServiceName());
			ServletActionContext.getRequest().setAttribute("gateWayId", gateWayIdString);
			ServletActionContext.getRequest().setAttribute("gateWayName", gwinfo.getGatewayName());
			ServletActionContext.getRequest().setAttribute("beginTime", beginTime);
			ServletActionContext.getRequest().setAttribute("endTime", endTime);
			ServletActionContext.getRequest().setAttribute("prov", prov == null ? "全部" : prov);
			ServletActionContext.getRequest().setAttribute("city", city == null ? "全部" : city);
			
	        result = SUCCESS;

		} catch (Exception e) {
			e.printStackTrace();
			log.error(e);
			result = ERROR;
		}
		finally{
			HibernateUtil.closeSession();
		}
		
		return result;		
	}
}

⌨️ 快捷键说明

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