📄 authaction.java
字号:
/* * 作者: 胡李青 * qq: 31703299 * Copyright (c) 2007 huliqing * 主页 http://www.tbuy.biz/ * 你可以免费使用该软件,未经许可请勿作用于任何商业目的,如有技术问题请与本人联系! */package biz.tbuy.bbs;import biz.tbuy.bbs.bean.BaseBean;import biz.tbuy.common.logs.Elog;import biz.tbuy.common.pool.ProxyConn;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;/** * @author huliqing * <p><b>qq:</b>31703299 * <p><b>E-mail:</b> * <a href="mailto:huliqing.cn@gmail.com">huliqing.cn@gmail.com</a> * <p><b>Homepage:</b> * <a href="http://www.tbuy.biz/">http://www.tbuy.biz/</a> */public class AuthAction extends BaseBean{ public AuthAction() {} /** * 添加一个权限类型 * @param auth * @return true 如果添加成功, 否则false */ public static boolean addAuth(AuthModel auth) { boolean isOk = false; String sql = "insert into auth (a_byZone, a_byForum, a_visible, " + "a_bePost, a_beReply, a_beUpload) " + "values (?, ?, ?, ?, ?, ?)"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ps.setInt(1, auth.getByZone()); ps.setInt(2, auth.getByForum()); ps.setBoolean(3, auth.getVisible()); ps.setBoolean(4, auth.getBePost()); ps.setBoolean(5, auth.getBeReply()); ps.setBoolean(6, auth.getBeUpload()); if (ps.executeUpdate() > 0) { isOk = true; } } catch (SQLException sqle) { Elog.log("AuthAction:addAuth:" + sqle.getMessage()); } finally { myConn.close(); } return isOk; } /** * 更新一个Auth权限类型,该方法会首先检查是否已经存在该AuthModel, * 如果没有则选择insert一个,否则update * @param auth * @return true 如果操作成功,否则false */ public static boolean updateAuthByCheck(AuthModel auth) { boolean isOk = false; if (!isExistAuth(auth.getNum())) { isOk = addAuth(auth); } else { isOk = updateAuth(auth); } return isOk; } /** * 更新一个Auth权限类型 * @param auth * @return true 如果更新成功, 否则false */ private static boolean updateAuth(AuthModel auth) { boolean isOk = false; String sql = "update auth set a_byZone=?, a_byForum=?, a_visible=?, " + "a_bePost=?, a_beReply=?, a_beUpload=? " + "where a_num=?"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ps.setInt(1, auth.getByZone()); ps.setInt(2, auth.getByForum()); ps.setBoolean(3, auth.getVisible()); ps.setBoolean(4, auth.getBePost()); ps.setBoolean(5, auth.getBeReply()); ps.setBoolean(6, auth.getBeUpload()); ps.setInt(7, auth.getNum()); isOk = ps.executeUpdate() > 0; } catch (SQLException sqle) { Elog.log("AuthAction:updateAuth:" + sqle.getMessage()); } finally { myConn.close(); } return isOk; } /** * 通过AuthModel的id判断该AuthModel是否存在 * @param authId authModel的主键 * @return true 存在, 否则false */ private static boolean isExistAuth(int authId) { boolean isOk = false; String sql = "select * from auth where a_num=?"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ps.setInt(1, authId); ResultSet rs = ps.executeQuery(); isOk = rs.next(); } catch (SQLException sqle) { Elog.log("AuthAction:isExistAuth:" + sqle.getMessage()); } finally { myConn.close(); } return isOk; } /** * 获取特定专区的授权验证类型 * @param zoneId * @return auth */ public static AuthModel getAuthByZoneId(int zoneId) { AuthModel auth = null; String sql = "select * from auth where a_byZone=?"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ps.setInt(1, zoneId); ResultSet rs = ps.executeQuery(); if (rs.next()) { auth = getAuthByRS(rs); } } catch (SQLException sqle) { Elog.log("AuthAction:getAuthByZoneId:" + sqle.getMessage()); } finally { myConn.close(); } return auth; } /** * 获取特定讨论区的授权验证类型 * @param forumId * @return auth */ public static AuthModel getAuthByForumId(int forumId) { AuthModel auth = null; String sql = "select * from auth where a_byForum=?"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ps.setInt(1, forumId); ResultSet rs = ps.executeQuery(); if (rs.next()) { auth = getAuthByRS(rs); } } catch (SQLException sqle) { Elog.log("AuthAction:getAuthByForumId:" + sqle.getMessage()); } finally { myConn.close(); } return auth; } /** * 通过ResultSet获取当前所在行的数据 * @param rs ResultSet * @return auth */ public static AuthModel getAuthByRS(ResultSet rs) { AuthModel auth = new AuthModel(); try { auth.setNum(rs.getInt("a_num")); auth.setVisible(rs.getBoolean("a_visible")); auth.setBePost(rs.getBoolean("a_bePost")); auth.setBeReply(rs.getBoolean("a_beReply")); auth.setBeUpload(rs.getBoolean("a_beUpload")); auth.setByForum(rs.getInt("a_byForum")); auth.setByZone(rs.getInt("a_byZone")); } catch (SQLException sqle) { Elog.log("AuthAction:getAuthByRS:" + sqle.getMessage()); } return auth; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -