package com.chinacreator.videoalliance.order.dao; import com.chinacreator.cache.util.NumberUtil; import com.chinacreator.videoalliance.common.util.DataSource; import com.chinacreator.videoalliance.order.bean.CSactivityBean; import com.chinacreator.videoalliance.order.bean.OrderInfo; import com.frameworkset.common.poolman.SQLExecutor; import org.apache.commons.lang.math.NumberUtils; import org.springframework.stereotype.Component; import java.sql.SQLException; import java.util.Map; @Component public class OrderKsPreDao { public void insert(Map info) throws SQLException { String sql = "insert into TD_ORDER_KS_PRE(userid,cpid,spid,INSERT_TIME,CANCEL_TIME,STATUS) values(?,?,?,sysdate,to_date(?,'yyyy-MM-dd'),?)"; SQLExecutor.insertWithDBName(DataSource.NET3G, sql, info.get("userid"), info.get("cpid"), info.get("spid"), info.get("cancelTime"), info.get("status")); } public CSactivityBean query(OrderInfo info) throws SQLException { String sql = "select * from TD_CSACTIVITY_HANDLE where userid=? and cpid=? and spid =?"; return SQLExecutor.queryObjectWithDBName(CSactivityBean.class, DataSource.NET3G, sql, info.getUserid(), info.getCpid(), info.getSpid()); } public CSactivityBean queryById(String id) throws SQLException { String sql = "select * from TD_CSACTIVITY_HANDLE where id =?"; return SQLExecutor.queryObjectWithDBName(CSactivityBean.class, DataSource.NET3G, sql, id); } public boolean queryBychannel(String cpid, String spid, String channel) throws SQLException { String sql = "select count(1) from td_order_relations where cpid=? and spid=? and orderchannel=? and trunc(ordertime)=trunc(sysdate)"; return NumberUtils.toLong(SQLExecutor.queryFieldWithDBName(DataSource.NET3G, sql, cpid, spid, channel)) > 1000000; } public boolean findKsPrs(String cpid, String spid, String userid) throws SQLException { String sql = "select count(1) from td_order_ks_pre where userid=? and spid=? and cpid=? and status='0' "; return NumberUtil.toInt(SQLExecutor.queryFieldWithDBName(DataSource.NET3G, sql, userid,spid,cpid)) > 0; } public void updateKsPre(String status, String resultCode, String resultMsg, OrderInfo orderInfo) throws SQLException { String sql = "update td_order_ks_pre set status= ? , result_code= ? , result_info= ? ,order_time=to_date(?,'yyyymmddhh24miss') where status='0' and userid=? and spid=? and cpid=? "; SQLExecutor.updateWithDBName(DataSource.NET3G, sql, status, resultCode, resultMsg, orderInfo.getOrdertime(),orderInfo.getUserid(), orderInfo.getSpid(), orderInfo.getCpid()); } }