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

📄 userdb.java

📁 cwbbs 云网论坛源码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
package com.redmoon.forum.person;import java.io.*;import java.sql.*;import java.util.*;import java.util.Date;import javax.servlet.*;import javax.servlet.http.*;import cn.js.fan.base.*;import cn.js.fan.db.*;import cn.js.fan.security.*;import cn.js.fan.util.*;import cn.js.fan.web.*;import com.redmoon.blog.*;import com.redmoon.chat.*;import com.redmoon.forum.*;import com.redmoon.forum.Config;import com.redmoon.forum.setup.*;import com.redmoon.forum.treasure.*;import com.redmoon.forum.util.*;import com.redmoon.kit.util.*;public class UserDb extends ObjectDb {    String name, pwdMd5, realName, email;    int experience, credit, addCount, delCount;    String realPic;    private String gender;    private Date regDate;    public static final int CHECK_STATUS_NOT = 0;    public static final int CHECK_STATUS_PASS = 1;    public static final String myfaceBasePath = "myface";    public static final String ADMIN = "Administrator";    public UserDb(String name) {        this.name = name;        init();        load();    }    public UserDb() {        init();    }    public String getRealPic() {        return this.realPic;    }    public void setRealPic(String r) {        this.realPic = r;    }    public ObjectBlockIterator getUsers(String query,                                        int startIndex,                                        int endIndex) {                                Object[] docBlock = getObjectBlock(query, startIndex);        return new ObjectBlockIterator(this, docBlock, query,                                       startIndex, endIndex);    }        public boolean create(String name, String pwd, String nick, String gender,                          int check_status) {        String sql = "insert into sq_user (name,nick,pwd,rawPwd,timeZone,Gender,RegDate,check_status,RealPic) values (?,?,?,?,?,?,?,?,'face.gif')";        boolean re = false;        String pwdMD5 = "";        try {            pwdMD5 = SecurityUtil.MD5(pwd);        } catch (Exception e) {            logger.error("regist:" + e.getMessage());        }        Conn conn = new Conn(connname);        try {            PreparedStatement ps = conn.prepareStatement(sql);            ps.setString(1, name);            ps.setString(2, nick);            ps.setString(3, pwdMD5);            ps.setString(4, pwd);            ps.setString(5, "GMT+08:00");            ps.setString(6, gender);            ps.setString(7, "" + new java.util.Date().getTime());            ps.setInt(8, check_status);            re = conn.executePreUpdate() == 1 ? true : false;        } catch (SQLException e) {            logger.error("create:" + e.getMessage());        } finally {            if (conn != null) {                conn.close();                conn = null;            }        }        if (re) {            UserCache uc = new UserCache(this);            uc.refreshCreate();                        ForumDb fd = new ForumDb();            fd = fd.getForumDb();            fd.setUserCount(fd.getUserCount() + 1);            fd.setUserNew(name);            fd.save();        }        return re;    }    public boolean create() throws ErrMsgException {        UserDb user = getUserDbByNick(name);        if (user != null && user.isLoaded()) {            throw new ErrMsgException("该用户名已被注册,请选择新的用户名!");        }        String tzID = timeZone.getID();        boolean isvalid = false;        int srt = secret ? 1 : 0;                if (name == null || name.equals("")) {            name = "" + SequenceMgr.nextID(SequenceMgr.SQ_USER);        }        PreparedStatement ps = null;        String sql =                "insert into sq_user (name,pwd,Question,Answer,RealName,Career,Gender,Job, Birthday," +                "Marriage, Phone, Mobile, State, City, Address, PostCode, IDCard," +                "RealPic, Hobbies, Email,OICQ,RegDate,sign,experience,credit,gold,diskSpaceAllowed,diskSpaceUsed,isSecret,IP,rawPwd,timeZone,home,msn,lastTime,curTime,locale,nick,check_status,fetion,can_rename) values (" +                "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";        Conn conn = new Conn(connname);        try {            ps = conn.prepareStatement(sql);            ps.setString(1, name);            ps.setString(2, pwdMd5);            ps.setString(3, question);            ps.setString(4, answer);            ps.setString(5, realName);            ps.setString(6, career);            ps.setString(7, gender);            ps.setString(8, job);            if (birthday==null)                ps.setString(9, "");            else                ps.setString(9, "" + birthday.getTime());            ps.setInt(10, marriage);            ps.setString(11, phone);            ps.setString(12, mobile);            ps.setString(13, state);            ps.setString(14, city);            ps.setString(15, address);            ps.setString(16, postCode);            ps.setString(17, IDCard);            ps.setString(18, realPic);            ps.setString(19, hobbies);            ps.setString(20, email);            ps.setString(21, oicq);            ps.setString(22, "" + System.currentTimeMillis());            ps.setString(23, sign);            ps.setInt(24, experience);            ps.setInt(25, credit);            ps.setInt(26, gold);            ps.setLong(27, diskSpaceAllowed);            ps.setLong(28, diskSpaceUsed);            ps.setInt(29, srt);            ps.setString(30, ip);            ps.setString(31, rawPwd);            ps.setString(32, tzID);            ps.setString(33, home);            ps.setString(34, msn);            ps.setString(35, "" + System.currentTimeMillis());            ps.setString(36, "" + System.currentTimeMillis());            ps.setString(37, locale);            ps.setString(38, nick);            ps.setInt(39, checkStatus);            ps.setString(40, fetion);            ps.setInt(41, canRename?1:0);            isvalid = conn.executePreUpdate() == 1 ? true : false;        } catch (SQLException e) {            logger.error("create:" + e.getMessage());            isvalid = false;        } finally {            if (conn != null) {                conn.close();                conn = null;            }        }        if (isvalid) {            UserCache uc = new UserCache(this);            uc.refreshCreate();                        ForumDb fd = new ForumDb();            fd = fd.getForumDb();            fd.setUserCount(fd.getUserCount() + 1);            fd.setUserNew(name);            fd.save();        }        return isvalid;    }    public ObjectDb getObjectDb(Object primaryKeyValue) {        UserCache uc = new UserCache(this);        PrimaryKey pk = (PrimaryKey)primaryKey.clone();        pk.setValue(primaryKeyValue);        return (UserDb) uc.getObjectDb(pk);    }    public boolean del() throws ResKeyException, ErrMsgException {        boolean re = false;                UserConfigDb ucd = new UserConfigDb();        long blogId = ucd.getBlogIdByUserName(name);        if (blogId != UserConfigDb.NO_BLOG) {            ucd = ucd.getUserConfigDb(blogId);            ucd.del();        }                MsgDb md = new MsgDb();        md.delMessagesOfUser(name);                UserFriendDb ufd = new UserFriendDb();        ufd.delFriendsOfUser(name);                BoardManagerDb bmd = new BoardManagerDb();        bmd.delManager(name);                TreasureUserDb tu = new TreasureUserDb();        tu.delTreasureOfUser(name);                RoomEmceeDb red = new RoomEmceeDb();        red.delEmcee(name);                ForumDb fd = ForumDb.getInstance();        fd.setUserCount(fd.getUserCount() - 1);        fd.save();                UserPrivDb upd = new UserPrivDb();        upd = upd.getUserPrivDb(name);        upd.del();        Conn conn = new Conn(connname);        try {            PreparedStatement ps = conn.prepareStatement(QUERY_DEL);            ps.setString(1, name);            re = conn.executePreUpdate() == 1 ? true : false;        } catch (Exception e) {            logger.error("del:" + e.getMessage());        } finally {            UserCache uc = new UserCache(this);            primaryKey.setValue(name);            uc.refreshDel(primaryKey);            if (conn != null) {                conn.close();                conn = null;            }        }        return re;    }    public int getObjectCount(String sql) {        UserCache uc = new UserCache(this);        return uc.getObjectCount(sql);    }    public int getUserCount(String sql) {        return getObjectCount(sql);    }    public Object[] getObjectBlock(String query, int startIndex) {        UserCache dcm = new UserCache(this);        return dcm.getObjectBlock(query, startIndex);    }    public ObjectDb getObjectRaw(PrimaryKey pk) {        return new UserDb(pk.getStrValue());    }    public void setQueryCreate() {    }    public void setQuerySave() {        this.QUERY_SAVE =                "update sq_user set pwd=?,Question=?,Answer=?,realname=?," +                "Career=?,Gender=?,Job=?," +                "Birthday=?,Marriage=?,Phone=?," +                "Mobile=?,State=?,City=?,Address=?," +                "PostCode=?,IDCard=?,RealPic=?,Hobbies=?," +                "Email=?,OICQ=?,sign=?,myface=?," +                "experience=?,credit=?,addcount=?," +                "delcount=?,arrestday=?,arrestreason=?,arresttime=?,arrestpolice=?,ispolice=?,lastTime=?,curTime=?,eliteCount=?,gold=?,favoriate=?,isValid=?,rawPwd=?,diskSpaceAllowed=?,diskSpaceUsed=?,isSecret=?,ip=?,releasetime=?,timeZone=?,home=?,msn=?,group_code=?,locale=?,nick=?,check_status=?,online_time=?,fetion=?,can_rename=? where name=?";    }    public void setQueryDel() {        QUERY_DEL = "delete from sq_user where name=?";    }    public void setQueryLoad() {        QUERY_LOAD = "select pwd,Question,Answer,realname," +                     "Career,Gender,Job," +                     "Birthday,Marriage,Phone," +                     "Mobile,State,City,Address," +                     "PostCode,IDCard,RealPic,Hobbies," +                     "Email,OICQ,sign,myface," +                     "experience,credit,addcount," +                     "delcount,arrestday,arrestreason,arresttime,arrestpolice,ispolice,RegDate,lastTime,curTime,eliteCount,gold,favoriate,isValid,rawPwd,diskSpaceAllowed,diskSpaceUsed,isSecret,ip,releasetime,timeZone,home,msn,group_code,locale,nick,check_status,online_time,fetion,can_rename from sq_user where name=?";    }    public void setQueryList() {        QUERY_LIST = "select name from sq_user order by RegDate desc";    }        public ObjectBlockIterator listUserRank(String rankType, int count) {        String sql = "select name from sq_user order by " + rankType + " desc";                return getObjects(sql, 0, count);    }    public synchronized boolean save() {        boolean re = false;        Conn conn = new Conn(connname);        try {            PreparedStatement ps = conn.prepareStatement(QUERY_SAVE);            ps.setString(1, pwdMd5);            ps.setString(2, question);            ps.setString(3, answer);            ps.setString(4, realName);            ps.setString(5, career);            ps.setString(6, gender);            ps.setString(7, job);            ps.setString(8, "" + DateUtil.toLong(birthday));            ps.setInt(9, marriage);            ps.setString(10, phone);            ps.setString(11, mobile);            ps.setString(12, state);            ps.setString(13, city);            ps.setString(14, address);            ps.setString(15, postCode);            ps.setString(16, IDCard);            ps.setString(17, realPic);            ps.setString(18, hobbies);            ps.setString(19, email);            ps.setString(20, oicq);            ps.setString(21, sign);            ps.setString(22, myface);            ps.setInt(23, experience);            ps.setInt(24, credit);            ps.setInt(25, addCount);            ps.setInt(26, delCount);            ps.setInt(27, arrestDay);            ps.setString(28, arrestReason);            if (arrestTime == null)                ps.setString(29, null);            else                ps.setString(29, DateUtil.toLongString(arrestTime));            ps.setString(30, arrestPolice);            ps.setInt(31, isPolice);            ps.setString(32, DateUtil.toLongString(lastTime));            ps.setString(33, DateUtil.toLongString(curTime));            ps.setInt(34, eliteCount);            ps.setInt(35, gold);            ps.setString(36, favoriate);            ps.setInt(37, valid ? 1 : 0);            ps.setString(38, rawPwd);            ps.setInt(39, (int) diskSpaceAllowed);            ps.setInt(40, (int) diskSpaceUsed);            ps.setInt(41, secret ? 1 : 0);            ps.setString(42, ip);            releaseTime = DateUtil.addDate(arrestTime, arrestDay);            ps.setString(43, DateUtil.toLongString(releaseTime));            String tzID = timeZone.getID();            ps.setString(44, tzID);            ps.setString(45, home);            ps.setString(46, msn);            ps.setString(47, groupCode);            ps.setString(48, locale);            ps.setString(49, nick);            ps.setInt(50, checkStatus);            ps.setFloat(51, onlineTime);            ps.setString(52, fetion);            ps.setInt(53, canRename?1:0);            ps.setString(54, name);            re = conn.executePreUpdate() == 1 ? true : false;        } catch (Exception e) {            logger.error("save:" + e.getMessage());            e.printStackTrace();        } finally {            UserCache uc = new UserCache(this);            primaryKey.setValue(name);            uc.refreshSave(primaryKey);            uc.refreshNick(nick);            if (conn != null) {                conn.close();                conn = null;            }        }

⌨️ 快捷键说明

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