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

📄 userentity.java

📁 信息发布 发布系统 动态的菜单 和 信息统计
💻 JAVA
字号:
package com.xuntian.material.bean.entity;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.xuntian.material.bean.UserBean;
import com.xuntian.material.exception.ConnectPoolException;
import com.xuntian.material.sql.user.UserGroupSQL;
import com.xuntian.material.sql.user.UserRoleSQL;
import com.xuntian.material.sql.user.UserSQL;
import com.xuntian.material.util.UtilMethod;

public class UserEntity extends BaseEntity {
    private UserBean user;

    public UserEntity(UserBean user) {
        this.user = user;
    }

    public UserBean getUserBean() {
        return user;
    }

    public String login() {
        return null;
    }

    public String logout() {
        return null;
    }

    public List<List<String>> queryAll() throws ConnectPoolException {
        if (user == null) {
            return getDatabase().query(UserSQL.QUERY_USER);
        }
        Map<String, String> params = new HashMap<String, String>();
        params.put(UserSQL.COLUMN_NAME, user.getUsername());
        params.put(UserSQL.COLUMN_PASSWORD, user.getPassword());
        params.put(UserSQL.COLUMN_REALNAME, user.getUserRealname());
        params.put(UserSQL.COLUMN_COMPANY, user.getUserCompany());
        params.put(UserSQL.COLUMN_DEPARTMENT, user.getUserDepartment());
        params.put(UserSQL.COLUMN_GROUP, user.getUserGroup());
        params.put(UserSQL.COLUMN_TEL_PERSON, user.getUserTelPerson());
        params.put(UserSQL.COLUMN_TEL_OFFICE, user.getUserTelOffice());
        params.put(UserSQL.COLUMN_TAX_PERSON, user.getUserTaxPerson());
        params.put(UserSQL.COLUMN_TAX_OFFICE, user.getUserTaxOffice());
        params.put(UserSQL.COLUMN_MOBILE_PERSON, user.getUserMobilePerson());
        params.put(UserSQL.COLUMN_MOBILE_OFFICE, user.getUserMobileOffice());
        params.put(UserSQL.COLUMN_EMAIL, user.getUserEmail());
        params.put(UserSQL.COLUMN_OICQ, user.getUserOicq());
        params.put(UserSQL.COLUMN_EMAIL, user.getUserEmail());
        params.put(UserSQL.COLUMN_DESCRIPTION, user.getUserDescription());

        return getDatabase().query(UserSQL.getQueryUser(params));
    }

    public List<List<String>> queryGroup() throws ConnectPoolException {
        if (user == null) {
            return null;
        }
        List<String> parameterList = new ArrayList<String>();
        parameterList.add(user.getUserID());
        return getDatabase().query(
                UserGroupSQL.QUERY_USERGROUP_LIST_WITH_USER_ID, parameterList);
    }

    public List<List<String>> queryItemRole() throws ConnectPoolException {
        if (user == null) {
            return null;
        }
        List<String> parameterList = new ArrayList<String>();
        parameterList.add(user.getUserID());
        return getDatabase().query(UserRoleSQL.QUERY_USERROLE_ITEM_WITH_USERID,
                parameterList);
    }

    public List<List<String>> queryMenuRole() throws ConnectPoolException {
        if (user == null) {
            return null;
        }
        List<String> parameterList = new ArrayList<String>();
        parameterList.add(user.getUserID());
        return getDatabase().query(UserRoleSQL.QUERY_USERROLE_MENU_WITH_USERID,
                parameterList);
    }

    public void fill() throws ConnectPoolException, SQLException {
        String userID = user.getUserID();
        List<String> parameterList = new ArrayList<String>();
        parameterList.add(userID);
        ResultSet rs = getDatabase().executeQuery(UserSQL.QUERY_USER_WITH_ID,
                parameterList);
        if (rs.next()) {
            fill(rs);
        }
        rs.close();
    }

    private void fill(ResultSet rs) throws SQLException {
        user.setUserID(rs.getString(UserSQL.COLUMN_ID));
        user.setUsername(rs.getString(UserSQL.COLUMN_NAME));
        user.setPassword(rs.getString(UserSQL.COLUMN_PASSWORD));
        user.setUserRealname(rs.getString(UserSQL.COLUMN_REALNAME));
        user.setUserCompany(rs.getString(UserSQL.COLUMN_COMPANY));
        user.setUserDepartment(rs.getString(UserSQL.COLUMN_DEPARTMENT));
        user.setUserGroup(rs.getString(UserSQL.COLUMN_GROUP));
        user.setUserTelPerson(rs.getString(UserSQL.COLUMN_TEL_PERSON));
        user.setUserTelOffice(rs.getString(UserSQL.COLUMN_TEL_OFFICE));
        user.setUserTaxPerson(rs.getString(UserSQL.COLUMN_TAX_PERSON));
        user.setUserTaxOffice(rs.getString(UserSQL.COLUMN_TAX_OFFICE));
        user.setUserMobilePerson(rs.getString(UserSQL.COLUMN_MOBILE_PERSON));
        user.setUserMobileOffice(rs.getString(UserSQL.COLUMN_MOBILE_OFFICE));
        user.setUserEmail(rs.getString(UserSQL.COLUMN_EMAIL));
        user.setUserOicq(rs.getString(UserSQL.COLUMN_OICQ));
        user.setUserDescription(rs.getString(UserSQL.COLUMN_DESCRIPTION));
    }

    public int save(String itemID, String groupID) throws ConnectPoolException {
        List<List<String>> parametersList = new ArrayList<List<String>>();
        List<String> parameterList = new ArrayList<String>();
        List<String> sqlList = new ArrayList<String>();

        String userID = user.getUserID();
        String password = user.getPassword();
        if (userID == null || userID.equals("")) {
            parameterList.add(user.getUsername());
            parameterList.add(user.getPassword());
            parameterList.add(user.getUserRealname());
            parameterList.add(user.getUserCompany());
            parameterList.add(user.getUserDepartment());
            parameterList.add(user.getUserGroup());
            parameterList.add(user.getUserTelPerson());
            parameterList.add(user.getUserTelOffice());
            parameterList.add(user.getUserTaxPerson());
            parameterList.add(user.getUserTaxOffice());
            parameterList.add(user.getUserMobilePerson());
            parameterList.add(user.getUserMobileOffice());
            parameterList.add(user.getUserEmail());
            parameterList.add(user.getUserOicq());
            parameterList.add(user.getUserDescription());
            parametersList.add(parameterList);
            sqlList.add(UserSQL.INSERT_USER);
        } else if (password == null || password.equals("")) {
        	parameterList.add(user.getUsername());
        	parameterList.add(user.getUserRealname());
            parameterList.add(user.getUserCompany());
            parameterList.add(user.getUserDepartment());
            parameterList.add(user.getUserGroup());
            parameterList.add(user.getUserTelPerson());
            parameterList.add(user.getUserTelOffice());
            parameterList.add(user.getUserTaxPerson());
            parameterList.add(user.getUserTaxOffice());
            parameterList.add(user.getUserMobilePerson());
            parameterList.add(user.getUserMobileOffice());
            parameterList.add(user.getUserEmail());
            parameterList.add(user.getUserOicq());
            parameterList.add(user.getUserDescription());
            parameterList.add(userID);
            parametersList.add(parameterList);
            sqlList.add(UserSQL.UPDATE_USER_BASEINFO);
            if (groupID != null && !groupID.equals("")) {
                parameterList = new ArrayList<String>();
                parametersList.add(parameterList);
                sqlList.add(UserGroupSQL.getDeleteUserGroup(user.getUserID()));
                parameterList = new ArrayList<String>();
                parameterList.add(user.getUserID());
                parameterList.add(groupID);
                parametersList.add(parameterList);
                sqlList.add(UserGroupSQL.INSERT_USERGROUP);
            }
            if (itemID != null && !itemID.equals("")) {
                parameterList = new ArrayList<String>();
                parameterList.add(user.getUserID());
                parametersList.add(parameterList);
                sqlList.add(UserRoleSQL.DELETE_USERROLE);
                parameterList = new ArrayList<String>();
                parameterList.add(user.getUserID());
                parameterList.add("2");
                parameterList.add(itemID);
                parametersList.add(parameterList);
                sqlList.add(UserRoleSQL.INSERT_USERROLE);
            }
        } else {
            parameterList.add(user.getPassword());
            parameterList.add(userID);
            parametersList.add(parameterList);
            sqlList.add(UserSQL.UPDATE_USER_PASSWORD);
        }
        return getDatabase().executeUpdate(sqlList, parametersList);
    }

    public int saveGroup(String[] groupIDs) throws ConnectPoolException {
        List<String> sqlList = new ArrayList<String>();
        sqlList.add(UserGroupSQL.getDeleteUserGroup(user.getUserID()));
        List<List<String>> parametersList = new ArrayList<List<String>>();
        List<String> parameterList = new ArrayList<String>();
        parametersList.add(parameterList);
        if (groupIDs == null) {
            groupIDs = new String[] {};
        }
        for (String groupID : groupIDs) {
            sqlList.add(UserGroupSQL.INSERT_USERGROUP);
            parameterList = new ArrayList<String>();
            parameterList.add(user.getUserID());
            parameterList.add(groupID);
            parametersList.add(parameterList);
        }
        return getDatabase().executeUpdate(sqlList, parametersList);
    }

    public int saveRole(String[] menuIDs, String[] itemIDs)
            throws ConnectPoolException {
        List<String> sqlList = new ArrayList<String>();
        List<List<String>> parametersList = new ArrayList<List<String>>();
        // delete old user roles
        sqlList.add(UserRoleSQL.DELETE_USERROLE);
        List<String> parameterList = new ArrayList<String>();
        parameterList.add(user.getUserID());
        parametersList.add(parameterList);
        // add menus role
        if (menuIDs == null) {
            menuIDs = new String[] {};
        }
        for (String menuID : menuIDs) {
            sqlList.add(UserRoleSQL.INSERT_USERROLE);
            parameterList = new ArrayList<String>();
            parameterList.add(user.getUserID());
            parameterList.add("1");
            parameterList.add(menuID);
            parametersList.add(parameterList);
        }
        // add items role
        if (itemIDs == null) {
            itemIDs = new String[] {};
        }
        for (String itemID : itemIDs) {
            sqlList.add(UserRoleSQL.INSERT_USERROLE);
            parameterList = new ArrayList<String>();
            parameterList.add(user.getUserID());
            parameterList.add("2");
            parameterList.add(itemID);
            parametersList.add(parameterList);
        }
        return getDatabase().executeUpdate(sqlList, parametersList);
    }

    public int delete(String[] userIDs) throws ConnectPoolException {
        return getDatabase().executeUpdate(UserSQL.getDeleteUser(userIDs));
    }

    public boolean isLogin() throws ConnectPoolException, SQLException {
        List<String> parameterList = new ArrayList<String>();
        parameterList.add(user.getUsername());
        parameterList.add(user.getPassword());
        ResultSet rs = getDatabase().executeQuery(UserSQL.QUERY_USER_LOGIN,
                parameterList);
        if (rs.next()) {
            fill(rs);
            rs.close();
            return true;
        } else {
            rs.close();
            return false;
        }
    }

    public void fillRole() throws ConnectPoolException, SQLException {
        ResultSet rs;
        int length;
        List<String> parameterList = new ArrayList<String>();
        parameterList.add(user.getUserID());

        rs = getDatabase().executeQuery(
                UserRoleSQL.VIEW_USERROLE_ITEM_WITH_USER_ID, parameterList);
        length = UtilMethod.getResultSetRows(rs);
        int[] itemIDs = new int[length];
        for (int i = 0; i < length && rs.next(); i++) {
            itemIDs[i] = rs.getInt(UserRoleSQL.COLUMN_RECORD_ID);
        }
        user.setItemIDs(itemIDs);
        rs.close();
        rs = getDatabase().executeQuery(
                UserRoleSQL.VIEW_USERROLE_MENU_WITH_USER_ID, parameterList);
        length = UtilMethod.getResultSetRows(rs);
        int[] menuIDs = new int[length];
        for (int i = 0; i < length && rs.next(); i++) {
            menuIDs[i] = rs.getInt(UserRoleSQL.COLUMN_RECORD_ID);
        }
        rs.close();
        user.setMenuIDs(menuIDs);
    }
}

⌨️ 快捷键说明

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