netpaydao.java

来自「电信的网厅的整站代码」· Java 代码 · 共 154 行

JAVA
154
字号
package com.doone.wskfmgr.business.order;

import java.util.LinkedList;
import java.util.Map;

import com.doone.data.DacClient;
import com.doone.data.DataTable;
import com.doone.fj1w.common.DAOHelper;
import com.doone.util.ExtString;
import com.doone.util.FileLogger;

public class NetpayDAO {

	/**
	 * @author lilq
	 * @version 2007-05-18
	 * @param map
	 * @return
	 * @throws Exception
	 */
	public static int getConditionResult(Map map) throws Exception{
		try {
			StringBuffer sql = new StringBuffer();
			sql.append("SELECT COUNT(*) AS COUNT  FROM TF_NETPRODUCTCOST A, TF_NETORDERFORM B, TF_PAYMENT C ");
			sql.append("WHERE A.ORDERFORMID=B.ORDERFORMID AND B.ORDERID=C.ORDERID AND B.STATE = ?");
			LinkedList linkList = new LinkedList();
			linkList.add((String)map.get("STATE"));
			
			sql.append(parseCondition(map,linkList));
//			System.out.println(sql.toString());

			DacClient client = new DacClient();
			DataTable dataTable = client.executeQuery(sql.toString(),linkList.toArray());
			linkList.clear();
			return dataTable.getRow(0).getInt("count");
		} catch (Exception ex) {
			throw ex;
		}
	}
	
	/**
	 * 
	 * @param map
	 * @param startrecord
	 * @param recordnum
	 * @return
	 * @throws Exception
	 */
	public static DataTable getContextResult(Map map, int startrecord,int recordnum)throws Exception{
		try {
			int endrecord = recordnum;
			if (startrecord < 0) {startrecord = 0;}
			if (endrecord > 0 && startrecord > 0) {
				endrecord = startrecord + recordnum;
			}
			
			StringBuffer sql = new StringBuffer();
			sql.append("SELECT B.CREATETIME,B.ORDERID,");
			sql.append("DECODE(B.STATE,0,'生成',1,'结单',2,'禁止') AS STATE,");
			sql.append("A.PRODUCTNBR,C.AMOUNT,C.OID,");
			sql.append("DECODE(C.RECIVERSTATUS,'1001','支付完成','1003','退货完成','失败') AS RECIVERSTATUS,");
			sql.append("DECODE(C.CHECKBILLSTATE,'1','正常','异常') AS CHECKBILLSTATE");
			sql.append(" FROM TF_NETPRODUCTCOST A, TF_NETORDERFORM B, TF_PAYMENT C ");
			sql.append(" WHERE A.ORDERFORMID=B.ORDERFORMID AND B.ORDERID=C.ORDERID AND B.STATE = ?");
			LinkedList linkList = new LinkedList();
			linkList.add((String)map.get("STATE"));
			
			sql.append(parseCondition(map,linkList));
			
			return DAOHelper.executePageList(startrecord, endrecord, 
					                         sql.toString(),linkList.toArray());
		} catch (Exception ex) {
			throw ex;
		}
	}
	
	
	/**
	 * 解释条件入参.
	 * @param map
	 * @param linkList
	 * ORDERID,STATE,CITYCODE,OID,RECIVERSTATUS,CHECKBILLSTATE,CREATETIME,FINISHTIME
	 * @return
	 */
	public static String parseCondition(Map map,LinkedList linkList) {
		try {
			StringBuffer buffer = new StringBuffer();
//			订单流水号
			if(!ExtString.turnStr((String)map.get("ORDERID")).equals("")) {
				buffer.append(" and b.ORDERID = ?");
				linkList.add((String)map.get("ORDERID"));
			}
//			订单状态
			if(!ExtString.turnStr((String)map.get("STATE")).equals("")) {
				buffer.append(" and b.STATE = ?");
				linkList.add((String)map.get("STATE"));
			}			
//			地市
			if(!ExtString.turnStr((String)map.get("CITY")).equals("")) {
				buffer.append(" and a.CITYCODE = ?");
				linkList.add((String)map.get("CITY"));
			}
//			银行流水号
			if(!ExtString.turnStr((String)map.get("OID")).equals("")) {
				buffer.append(" and b.OID = ?");
				linkList.add((String)map.get("OID"));
			}			
//			支付结果
			if(!ExtString.turnStr((String)map.get("RECIVERSTATUS")).equals("")) {
				if (!ExtString.turnStr((String)map.get("RECIVERSTATUS")).equals("9999")){
					buffer.append(" and (c.RECIVERSTATUS not in ('1001','1003') or c.RECIVERSTATUS is null)");
					linkList.add((String)map.get("RECIVERSTATUS"));
				}
					else {
						buffer.append(" and c.RECIVERSTATUS = ?");
						linkList.add((String)map.get("RECIVERSTATUS"));
					}
			}
//			对帐状态
			if(!ExtString.turnStr((String)map.get("CHECKBILLSTATE")).equals("")) {
				if (!ExtString.turnStr((String)map.get("CHECKBILLSTATE")).equals("9")){
					buffer.append(" and (c.CHECKBILLSTATE <> '1' or c.CHECKBILLSTATE is null)");
					linkList.add((String)map.get("CHECKBILLSTATE"));
				}
				else {
					buffer.append(" and c.RECIVERSTATUS = ?");
					linkList.add((String)map.get("RECIVERSTATUS"));
				}
			}
//			订单生成时间
			if(!ExtString.turnStr((String)map.get("CREATETIME")).equals("")) {
				buffer.append(" and b.CREATETIME >= to_date(?,'YYYY-MM-DD HH24:MI:SS')");
				linkList.add((String)map.get("CREATETIME"));
			}
//			订单生成时间
			if(!ExtString.turnStr((String)map.get("FINISHTIME")).equals("")) {
				buffer.append(" and b.CREATETIME <= to_date(?,'YYYY-MM-DD HH24:MI:SS')");
				linkList.add((String)map.get("FINISHTIME"));
			}
//			按订单生成时间排序
			if(!ExtString.turnStr((String)map.get("SORT")).equals("")) {
				buffer.append(" order by b.CREATETIME ");
				buffer.append((String)map.get("SORT"));
			}
			return buffer.toString();
		} catch (Exception ex) {
			FileLogger.getLogger().warn(ex.getMessage(),ex);
		}
		return "";
	}

	
}

⌨️ 快捷键说明

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