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

📄 auctiondb.java~1~

📁 源码/软件简介: 云网论坛1.1RC国际版是采用JSP开发的集论坛、CMS(网站内容管理系统)、博客、聊天室、商城、交友、语音灌水等于一体的门户式社区。拥有CWBBS ( Cloud Web BBS
💻 JAVA~1~
字号:
package com.redmoon.forum.plugin.auction;

import java.sql.*;
import java.sql.Date;
import java.util.*;

import javax.servlet.http.HttpServletRequest;

import cn.js.fan.base.ObjectDb;
import cn.js.fan.db.Conn;
import cn.js.fan.db.PrimaryKey;
import cn.js.fan.util.*;
import cn.js.fan.web.SkinUtil;

/**
 *
 * <p>Title: </p>
 *
 * <p>Description:存放情人路贴子的属性,msgRootId,state等 </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class AuctionDb extends ObjectDb {
    public static final int STATE_SELLOUT = 1; // 销售完
    public static final int STATE_SELLING = 0; // 销售中

    public static final int USER_TYPE_SHOP = 0;
    public static final int USER_TYPE_PERSON = 1;

    public static final int SELL_TYPE_AUCTION = 0;
    public static final int SELL_TYPE_SELL = 1;

    public static final int NONE_ORDER = -1;

    public static final int DEFAULT_RECOMMAND_MAX = 6;

    public AuctionDb() {
        super();
    }

    public AuctionDb(int msgRootId) {
        this.msgRootId = msgRootId;
        init();
        load();
    }

    private int state;

    public void setmsgRootId(int msgRootId) {
        this.msgRootId = msgRootId;
    }

    public void setState(int state) {
        this.state = state;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setSpouse(String spouse) {
        this.spouse = spouse;
    }

    public void setUserType(int userType) {
        this.userType = userType;
    }

    public void setCount(int count) {
        this.count = count;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public void setSellType(int sellType) {
        this.sellType = sellType;
    }

    public void setShopDir(String shopDir) {
        this.shopDir = shopDir;
    }

    public void setBeginDate(java.util.Date beginDate) {
        this.beginDate = beginDate;
    }

    public void setEndDate(java.util.Date endDate) {
        this.endDate = endDate;
    }

    public void setCurBidPrice(double curBidPrice) {
        this.curBidPrice = curBidPrice;
    }

    public void setOrderId(int orderId) {
        this.orderId = orderId;
    }

    public void setRecommand(boolean recommand) {
        this.recommand = recommand;
    }

    public void setCatalogCode(String catalogCode) {
        this.catalogCode = catalogCode;
    }

    public void setShow(boolean show) {
        this.show = show;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public int getMsgRootId() {
        return msgRootId;
    }

    public int getState() {
        return state;
    }

    public String getStateDesc(HttpServletRequest request) {
        return getStateDesc(request, state);
    }

    public String getStateDesc(HttpServletRequest request, int state) {
        String str = "";
        switch (state) {
        case STATE_SELLOUT:
            str = AuctionSkin.LoadString(request, "STATE_SELLOUT");
            break;
        case STATE_SELLING:
            str = AuctionSkin.LoadString(request, "STATE_SELLING");
            break;
        default:
        }
        return str;
    }

    public String getSellTypeDesc(HttpServletRequest request) {
        String str = "";
        switch (sellType) {
        case SELL_TYPE_AUCTION:
            str = AuctionSkin.LoadString(request, "sell_type_auction");
            break;
        case SELL_TYPE_SELL:
            str = AuctionSkin.LoadString(request, "sell_type_sell");
            break;
        default:
        }
        return str;
    }

    public String getName() {
        return name;
    }

    public String getSpouse() {
        return spouse;
    }

    public int getUserType() {
        return userType;
    }

    public int getCount() {
        return count;
    }

    public String getUserName() {
        return userName;
    }

    public int getSellType() {
        return sellType;
    }

    public java.util.Date getBeginDate() {
        return beginDate;
    }

    public java.util.Date getEndDate() {
        return endDate;
    }

    public String getShopDir() {
        return shopDir;
    }

    public double getCurBidPrice() {
        return curBidPrice;
    }

    public int getOrderId() {
        return orderId;
    }

    public boolean isRecommand() {
        return recommand;
    }

    public String getCatalogCode() {
        return catalogCode;
    }

    public boolean isShow() {
        return show;
    }

    public String getImage() {
        return image;
    }

    public boolean del() throws ErrMsgException {
        int rowcount = 0;
        Conn conn = null;
        try {
            conn = new Conn(connname);
            PreparedStatement ps = conn.prepareStatement(this.QUERY_DEL);
            ps.setInt(1, msgRootId);
            rowcount = conn.executePreUpdate();
        } catch (SQLException e) {
            logger.error("del:" + e.getMessage());
        } finally {
            if (conn != null) {
                conn.close();
                conn = null;
            }
        }
        if (rowcount > 0) {
            AuctionCache cc = new AuctionCache(this);
            primaryKey.setValue(new Integer(msgRootId));
            cc.refreshDel(primaryKey);

            // 删除其附带的所有的AuctionWorthDb
            AuctionWorthDb aw = new AuctionWorthDb();
            long[] ids = aw.getWorthOfAuction(msgRootId);
            if (ids!=null) {
                int len = ids.length;
                for (int i=0; i<len; i++) {
                    aw = aw.getAuctionWorthDb((int)ids[i]);
                    // logger.info("ids[i]=" + ids[i] + " aw id=" + aw.getId());
                    aw.del();
                }
            }

            // 删除其所有出价
            AuctionBidDb abd = new AuctionBidDb();
            Iterator ir = abd.list(msgRootId).iterator();
            while (ir.hasNext()) {
                abd = (AuctionBidDb) ir.next();
                abd.del();
            }

            // 删除其所有订单
        }
        return rowcount>0? true:false;
    }

    public ObjectDb getObjectRaw(PrimaryKey pk) {
        return new AuctionDb(pk.getIntValue());
    }

    public boolean create() throws ErrMsgException, ResKeyException {
        int rowcount = 0;
        Conn conn = null;
        try {
            conn = new Conn(connname);
            PreparedStatement ps = conn.prepareStatement(this.QUERY_CREATE);
            ps.setString(1, name);
            ps.setInt(2, userType);
            ps.setInt(3, count);
            ps.setInt(4, msgRootId);
            ps.setInt(5, state);
            ps.setString(6, userName);
            ps.setInt(7, sellType);
            if (beginDate==null) {
                beginDate = new java.util.Date();
            }
            ps.setString(8, DateUtil.toLongString(beginDate));
            if (endDate==null) {
                endDate = new java.util.Date();
            }
            ps.setString(9, DateUtil.toLongString(endDate));
            ps.setString(10, shopDir);
            ps.setString(11, catalogCode);
            ps.setInt(12, show?1:0);
            rowcount = conn.executePreUpdate();
        } catch (SQLException e) {
            logger.error("create:" + e.getMessage());
            throw new ResKeyException(new SkinUtil(), SkinUtil.ERR_DB);
        } finally {
            if (conn != null) {
                conn.close();
                conn = null;
            }
        }
        return rowcount>0? true:false;
    }

    public int getRecommandCount(String userName) {
        String sql = "select count(*) from " + tableName + " where userName=? and recommand=1";
        Conn conn = new Conn(connname);
        int count = 0;
        try {
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, userName);
            ResultSet rs = conn.executePreQuery();
            while (rs.next()) {
                count = rs.getInt(1);
            }
        }
        catch (SQLException e) {
            logger.error("getRecommandCount:" + e.getMessage());
        }
        finally {
            if (conn!=null) {
                conn.close();
                conn = null;
            }
        }
        return count;
    }

    public boolean save() {
        int rowcount = 0;
        Conn conn = null;
        try {
            conn = new Conn(connname);
            PreparedStatement ps = conn.prepareStatement(this.QUERY_SAVE);
            ps.setString(1, name);
            ps.setInt(2, userType);
            ps.setInt(3, count);
            ps.setInt(4, state);
            ps.setString(5, userName);
            ps.setInt(6, sellType);
            if (beginDate==null)
                beginDate = new java.util.Date();
            ps.setString(7, DateUtil.toLongString(beginDate));
            if (endDate==null)
                endDate = new java.util.Date();
            ps.setString(8, DateUtil.toLongString(endDate));
            ps.setString(9, shopDir);
            ps.setDouble(10, curBidPrice);
            ps.setInt(11, orderId);
            ps.setInt(12, recommand?1:0);
            ps.setString(13, catalogCode);
            ps.setInt(14, show?1:0);
            ps.setString(15, image);
            ps.setInt(16, msgRootId);
            rowcount = conn.executePreUpdate();
            if (rowcount>0) {
                AuctionCache uc = new AuctionCache(this);
                primaryKey.setValue(new Integer(this.msgRootId));
                uc.refreshSave(primaryKey);
            }
        } catch (SQLException e) {
            logger.error("save:" + e.getMessage());
        } finally {
            if (conn != null) {
                conn.close();
                conn = null;
            }
        }
        return rowcount>0? true:false;
    }

    private int sellType;

    public AuctionDb getAuctionDb(int msgRootId) {
        return (AuctionDb)getObjectDb(new Integer(msgRootId));
    }

    public void load() {
        ResultSet rs = null;
        Conn conn = new Conn(connname);
        try {
            PreparedStatement ps = conn.prepareStatement(this.QUERY_LOAD);
            ps.setInt(1, msgRootId);
            primaryKey.setValue(new Integer(msgRootId));
            rs = conn.executePreQuery();
            if (rs.next()) {
                name = rs.getString(1);
                userType = rs.getInt(2);
                count = rs.getInt(3);
                state = rs.getInt(4);
                userName = rs.getString(5);
                sellType = rs.getInt(6);
                beginDate = DateUtil.parse(rs.getString(7));
                endDate = DateUtil.parse(rs.getString(8));
                shopDir = rs.getString(9);
                curBidPrice = rs.getDouble(10);
                orderId = rs.getInt(11);
                recommand = rs.getInt(12)==1?true:false;
                catalogCode = rs.getString(13);
                show = rs.getInt(14)==1?true:false;
                image = rs.getString(15);
                loaded = true;
            }
        } catch (SQLException e) {
            logger.error("load:" + e.getMessage());
        }
        finally {
            if (conn!=null) {
                conn.close();
                conn = null;
            }
        }
    }

    public Vector listRecommand(String userName) {
        Vector v = new Vector();
        Conn conn = new Conn(connname);
        ResultSet rs = null;
        String sql = "select msgRootId from " + tableName +
                " where userName=? and recommand=1 and state=" + this.STATE_SELLING + " order by beginDate desc";
        try {
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, userName);
            rs = conn.executePreQuery();
            if (rs != null) {
                while (rs.next()) {
                    int msgRootId = rs.getInt(1);
                    v.addElement(getAuctionDb(msgRootId));
                }
            }
        } catch (SQLException e) {
            logger.error("listRecommand(String userName): " +
                         e.getMessage());
        } finally {
            if (conn != null) {
                conn.close();
                conn = null;
            }
        }
        return v;
    }

    public Vector list(String userName) {
        Vector v = new Vector();
        Conn conn = new Conn(connname);
        ResultSet rs = null;
        String sql = "select msgRootId from " + tableName +
                " where userName=? order by recommand desc, beginDate desc";
        try {
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, userName);
            rs = conn.executePreQuery();
            if (rs != null) {
                while (rs.next()) {
                    int msgRootId = rs.getInt(1);
                    v.addElement(getAuctionDb(msgRootId));
                }
            }
        } catch (SQLException e) {
            logger.error("list(String userName, String shopDir): " +
                         e.getMessage());
        } finally {
            if (conn != null) {
                conn.close();
                conn = null;
            }
        }
        return v;
    }

    public Vector list(String userName, String shopDir) {
        Vector v = new Vector();
        Conn conn = new Conn(connname);
        ResultSet rs = null;
        String sql = "select msgRootId from " + tableName +
                " where userName=? and shopDir=? order by recommand desc, beginDate desc";
        try {
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, userName);
            ps.setString(2, shopDir);
            rs = conn.executePreQuery();
            if (rs != null) {
                while (rs.next()) {
                    int msgRootId = rs.getInt(1);
                    v.addElement(getAuctionDb(msgRootId));
                }
            }
        } catch (SQLException e) {
            logger.error("list(String userName, String shopDir): " +
                         e.getMessage());
        } finally {
            if (conn != null) {
                conn.close();
                conn = null;
            }
        }
        return v;
    }

    private int msgRootId;
    private String name;
    private String spouse;
    private int userType;
    private int count;
    private String userName;
    private java.util.Date beginDate;
    private java.util.Date endDate;
    private String shopDir;
    private double curBidPrice;
    private int orderId;
    private boolean recommand;
    private String catalogCode;
    private boolean show = false;
    private String image;
}

⌨️ 快捷键说明

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