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

📄 musicdirdb.java

📁 cwbbs 云网论坛源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                                        sql =                            "select code from sq_forum_music_dir where parent_code=" +                            StrUtil.sqlstr(oldParentCode) +                            " and orders>" + oldorders;                    ResultIterator ri = conn.executeQuery(sql);                    while (ri.hasNext()) {                        ResultRecord rr = (ResultRecord) ri.next();                        MusicDirDb dd = getMusicDirDb(rr.getString(1));                        dd.setOrders(dd.getOrders() - 1);                        dd.save();                    }                                        Vector vt = new Vector();                    getAllChild(vt, this);                    int childcount = vt.size();                    Iterator ir = vt.iterator();                    while (ir.hasNext()) {                        MusicDirDb childlf = (MusicDirDb) ir.next();                        int layer = parentLayer + 1 + 1;                        String pcode = childlf.getParentCode();                        while (!pcode.equals(code)) {                            layer++;                            MusicDirDb lfp = getMusicDirDb(pcode);                            pcode = lfp.getParentCode();                        }                        childlf.setLayer(layer);                        childlf.save();                    }                                        MusicDirDb oldParentLeaf = getMusicDirDb(                            oldParentCode);                    oldParentLeaf.setChildCount(oldParentLeaf.getChildCount() -                                                1);                    oldParentLeaf.save();                                        MusicDirDb newParentLeaf = getMusicDirDb(                            newParentCode);                    newParentLeaf.setChildCount(newParentLeaf.getChildCount() +                                                1);                    newParentLeaf.save();                    logger.info("save: newParentLeaf.childcount=" +                                newParentLeaf.getChildCount() +                                " oldParentLeaf.childcount=" +                                oldParentLeaf.getChildCount() +                                " oldparentCode=" + oldParentCode +                                " newParentCode=" + newParentCode +                                " neworders=" + neworders);                }            } catch (Exception e) {                logger.error("save1: " + e.getMessage());            }        } catch (SQLException e) {            logger.error("save2: " + e.getMessage());        }        boolean re = r == 1 ? true : false;        if (re) {            dcm.removeFromCache(code);        }        return re;    }    public boolean AddChild(MusicDirDb childleaf) throws            ErrMsgException {                int childorders = childCount + 1;        String updatesql = "";        String insertsql = "insert into sq_forum_music_dir (code,name,parent_code,description,orders,root_code,child_count,layer,dir_type,add_date) values (?,?,?,?,?,?,?,?,?,?)";        if (!SecurityUtil.isValidSql(insertsql))            throw new ErrMsgException("请勿输入非法字符如;号等!");        Conn conn = new Conn(connname);        try {                        updatesql =                    "update sq_forum_music_dir set child_count=child_count+1" +                    " where code=" + StrUtil.sqlstr(code);            conn.beginTrans();            PreparedStatement ps = conn.prepareStatement(insertsql);            ps.setString(1, childleaf.getCode());            ps.setString(2, childleaf.getName());            ps.setString(3, code);            ps.setString(4, childleaf.getDescription());            ps.setInt(5, childorders);            ps.setString(6, rootCode);            ps.setInt(7, 0);            ps.setInt(8, layer + 1);            ps.setInt(9, childleaf.getType());            ps.setDate(10, new java.sql.Date(new java.util.Date().getTime()));            conn.executePreUpdate();            if (ps != null) {                ps.close();                ps = null;            }            conn.executeUpdate(updatesql);            conn.commit();            MusicDirCache dcm = new MusicDirCache();            dcm.refreshAddChild(code);        } catch (SQLException e) {            conn.rollback();            logger.error(e.getMessage());            throw new ErrMsgException("请检查编码是否有重复!");        } finally {            if (conn != null) {                conn.close();                conn = null;            }        }        return true;    }    public MusicDirDb getMusicDirDb(String code) {        MusicDirCache dcm = new MusicDirCache();        return dcm.getMusicDirDb(code);    }    public boolean delsingle(MusicDirDb leaf) {        String sql = "delete from sq_forum_music_dir where code=" +                     StrUtil.sqlstr(leaf.getCode());        JdbcTemplate jt = new JdbcTemplate();        try {            jt.beginTrans();            boolean r = jt.executeUpdate(sql) == 1 ? true : false;            sql =                    "update sq_forum_music_dir set orders=orders-1 where parent_code=" +                    StrUtil.sqlstr(leaf.getParentCode()) + " and orders>" +                    leaf.getOrders();            jt.executeUpdate(sql);            sql =                    "update sq_forum_music_dir set child_count=child_count-1 where code=" +                    StrUtil.sqlstr(leaf.getParentCode());            jt.executeUpdate(sql);                        MusicFileDb isfd = new MusicFileDb();            Iterator ir = isfd.listOfDir(leaf.getCode()).iterator();            while (ir.hasNext()) {                isfd = (MusicFileDb)ir.next();                isfd.del(jt);            }            jt.commit();        } catch (SQLException e) {            jt.rollback();            logger.error(e.getMessage());            return false;        } finally {            MusicDirCache dcm = new MusicDirCache();            dcm.refreshDel(leaf.getCode(), leaf.getParentCode());        }        return true;    }    public synchronized void del(MusicDirDb leaf) {        delsingle(leaf);        Iterator children = leaf.getChildren().iterator();        while (children.hasNext()) {            MusicDirDb lf = (MusicDirDb) children.next();            del(lf);        }    }    public boolean del() {        del(this);        return true;    }    public MusicDirDb getBrother(String direction) {        String sql;        RMConn rmconn = new RMConn(connname);        MusicDirDb bleaf = null;        try {            if (direction.equals("down")) {                sql =                        "select code from sq_forum_music_dir where parent_code=" +                        StrUtil.sqlstr(parentCode) +                        " and orders=" + (orders + 1);            } else {                sql =                        "select code from sq_forum_music_dir where parent_code=" +                        StrUtil.sqlstr(parentCode) +                        " and orders=" + (orders - 1);            }            ResultIterator ri = rmconn.executeQuery(sql);            if (ri != null && ri.hasNext()) {                ResultRecord rr = (ResultRecord) ri.next();                bleaf = getMusicDirDb(rr.getString(1));            }        } catch (SQLException e) {            logger.error(e.getMessage());        }        return bleaf;    }    public boolean move(String direction) {        String sql = "";                boolean isexist = false;        MusicDirDb bleaf = getBrother(direction);        if (bleaf != null) {            isexist = true;        }                if (isexist) {            Conn conn = new Conn(connname);            try {                conn.beginTrans();                if (direction.equals("down")) {                    sql = "update sq_forum_music_dir set orders=orders+1" +                          " where code=" + StrUtil.sqlstr(code);                    conn.executeUpdate(sql);                    sql = "update sq_forum_music_dir set orders=orders-1" +                          " where code=" + StrUtil.sqlstr(bleaf.getCode());                    conn.executeUpdate(sql);                }                if (direction.equals("up")) {                    sql = "update sq_forum_music_dir set orders=orders-1" +                          " where code=" + StrUtil.sqlstr(code);                    conn.executeUpdate(sql);                    sql = "update sq_forum_music_dir set orders=orders+1" +                          " where code=" + StrUtil.sqlstr(bleaf.getCode());                    conn.executeUpdate(sql);                }                conn.commit();                MusicDirCache dcm = new MusicDirCache();                dcm.refreshMove(code, bleaf.getCode());            } catch (Exception e) {                conn.rollback();                logger.error(e.getMessage());                return false;            } finally {                if (conn != null) {                    conn.close();                    conn = null;                }            }        }        return true;    }    public void setQueryList() {        this.QUERY_LIST = "select code from sq_forum_music_dir";    }    public void setPrimaryKey() {        primaryKey = new PrimaryKey("code", PrimaryKey.TYPE_STRING);    }    public ObjectDb getObjectDb(Object objKey) {        return getMusicDirDb(objKey.toString());    }        public int getObjectCount(String sql) {        return 0;    }        public Object[] getObjectBlock(String query, int startIndex) {        return null;    }    public void setChildCount(int childCount) {        this.childCount = childCount;    }    public void setOrders(int orders) {        this.orders = orders;    }    public void setLayer(int layer) {        this.layer = layer;    }}

⌨️ 快捷键说明

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