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

📄 boardmanagerdb.java

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

import cn.js.fan.base.ObjectDb;
import cn.js.fan.db.PrimaryKey;
import cn.js.fan.db.KeyUnit;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import cn.js.fan.db.Conn;
import java.sql.PreparedStatement;
import com.redmoon.forum.person.UserDb;
import java.util.Vector;

public class BoardManagerDb extends ObjectDb {
    private String boardCode;
    public BoardManagerDb() {
        init();
    }

    public BoardManagerDb(String boardCode, String name) {
        this.boardCode = boardCode;
        this.name = name;
        init();
        load();
    }

    public ObjectDb getObjectDb(Object primaryKeyValue) {
        BoardManagerCache fc = new BoardManagerCache(this);
        primaryKey.setValue(primaryKeyValue);
        return (BoardManagerDb)fc.getObjectDb(primaryKey);
    }

    /**
     * 删除所有用户名为userName的版主
     * @param userName String
     * @return int
     */
    public int delManager(String userName) {
        String sql = "select boardcode from sq_boardmanager where name=?";
        ResultSet rs = null;
        int count = 0;
        Conn conn = new Conn(connname);
        try {
            conn = new Conn(connname);
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, userName);
            rs = conn.executePreQuery();
            if (rs!=null) {
                while (rs.next()) {
                    getBoardManagerDb(rs.getString(1), userName).del();
                    count ++;
                }
            }
        } catch (SQLException e) {
            logger.error("delManager:" + e.getMessage());
        } finally {
            if (conn != null) {
                conn.close();
                conn = null;
            }
        }
        return count;
    }

    public boolean del() {
        int rowcount = 0;
        Conn conn = null;
        try {
            conn = new Conn(connname);
            PreparedStatement ps = conn.prepareStatement(this.QUERY_DEL);
            ps.setString(1, boardCode);
            ps.setString(2, name);
            rowcount = conn.executePreUpdate();
            BoardManagerCache uc = new BoardManagerCache(this);
            HashMap keys = new HashMap();
            keys.put("boardCode", new KeyUnit(boardCode));
            keys.put("name", new KeyUnit(name));
            primaryKey.setValue(keys);
            uc.refreshDel(primaryKey);

            BoardManagerCache bmc = new BoardManagerCache(this);
            bmc.refreshBoardManagers(boardCode);
        } catch (SQLException e) {
            logger.error("save:" + e.getMessage());
        } finally {
            if (conn != null) {
                conn.close();
                conn = null;
            }
        }
        return rowcount>0? true:false;
    }

    public int getObjectCount(String sql) {
        return 0;
    }

    public ObjectDb getObjectRaw(PrimaryKey pk) {
        return new BoardManagerDb(pk.getKeyStrValue("boardCode"), pk.getKeyStrValue("name"));
    }

    public void setQueryCreate() {
        this.QUERY_CREATE = "insert into sq_boardmanager (boardcode, name, sort) values (?,?,?)";
    }

    public boolean create() {
        int rowcount = 0;
        Conn conn = null;
        try {
            conn = new Conn(connname);
            PreparedStatement ps = conn.prepareStatement(this.QUERY_CREATE);
            ps.setString(1, boardCode);
            ps.setString(2, name);
            ps.setInt(3, sort);
            rowcount = conn.executePreUpdate();
            if (rowcount>0) {
                BoardManagerCache bmc = new BoardManagerCache(this);
                bmc.refreshBoardManagers(boardCode);
            }
        } catch (SQLException e) {
            logger.error("create:" + e.getMessage());
        } finally {
            if (conn != null) {
                conn.close();
                conn = null;
            }
        }
        return rowcount>0? true:false;
    }

    public void setQuerySave() {
        this.QUERY_SAVE =
            "update sq_boardmanager set sort=? where boardcode=? and name=?";
    }

    public void setQueryDel() {
        this.QUERY_DEL = "delete from sq_boardmanager where boardcode=? and name=?";
    }

    public void setQueryLoad() {
        this.QUERY_LOAD =
            "select sort from sq_boardmanager where boardcode=? and name=?";
    }

    public void setQueryList() {
    }

    public boolean save() {
        int rowcount = 0;
        Conn conn = null;
        try {
            conn = new Conn(connname);
            PreparedStatement ps = conn.prepareStatement(this.QUERY_SAVE);
            ps.setInt(1, sort);
            ps.setString(2, boardCode);
            ps.setString(3, name);
            rowcount = conn.executePreUpdate();
            BoardManagerCache uc = new BoardManagerCache(this);
            HashMap keys = new HashMap();
            // logger.info("boardCode=" + boardCode + " name=" + name);
            keys.put("boardCode", new KeyUnit(boardCode));
            keys.put("name", new KeyUnit(name));
            primaryKey.setValue(keys);
            uc.refreshSave(primaryKey);

            BoardManagerCache bmc = new BoardManagerCache(this);
            bmc.refreshBoardManagers(boardCode);
        } catch (SQLException e) {
            logger.error("save:" + e.getMessage());
        } finally {
            if (conn != null) {
                conn.close();
                conn = null;
            }
        }
        return rowcount>0? true:false;
    }

    public Vector getBoardManagers(String boardcode) {
        BoardManagerCache bmc = new BoardManagerCache(this);
        return bmc.getBoardManagers(boardcode);
    }

    public BoardManagerDb getBoardManagerDb(String boardCode, String name) {
        primaryKey.setKeyValue("boardCode", boardCode);
        primaryKey.setKeyValue("name", name);
        return (BoardManagerDb)getObjectDb(primaryKey.getKeys());
    }

    public void load() {
        ResultSet rs = null;
        Conn conn = new Conn(connname);
        try {
            PreparedStatement ps = conn.prepareStatement(this.QUERY_LOAD);
            ps.setString(1, boardCode);
            ps.setString(2, name);
            primaryKey.setKeyValue("boardCode", boardCode);
            primaryKey.setKeyValue("name", name);
            rs = conn.executePreQuery();
            if (rs.next()) {
                sort = rs.getInt(1);
                loaded = true;
            }
        } catch (SQLException e) {
            logger.error("load:" + e.getMessage());
        }
        finally {
            if (conn!=null) {
                conn.close();
                conn = null;
            }
        }
    }

    public Object[] getObjectBlock(String query, int startIndex) {
        return null;
    }

    public void setPrimaryKey() {
        HashMap key = new HashMap();
        key.put("boardCode", new KeyUnit(primaryKey.TYPE_STRING));
        key.put("name", new KeyUnit(primaryKey.TYPE_STRING));
        primaryKey = new PrimaryKey(key);
    }

    /**
     * 检查用户是否为某版的版主
     * @param name String
     * @return boolean
     */
    public boolean isUserManager(String name) {
        String sql =
            "select boardcode from sq_boardmanager where name=?";
        boolean re = false;
        ResultSet rs = null;
        Conn conn = new Conn(connname);
        try {
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, name);
            rs = conn.executePreQuery();
            if (rs.next()) {
                re = true;
            }
        } catch (SQLException e) {
            logger.error("isUserManager:" + e.getMessage());
        }
        finally {
            if (conn!=null) {
                conn.close();
                conn = null;
            }
        }
        return re;

    }

    public void setBoardCode(String boardCode) {
        this.boardCode = boardCode;
    }

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

    public void setSort(int sort) {
        this.sort = sort;
    }

    public String getBoardCode() {
        return boardCode;
    }

    public String getName() {
        return name;
    }

    public int getSort() {
        return sort;
    }

    private String name;
    private int sort;
}

⌨️ 快捷键说明

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