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 + -
显示快捷键?