📄 userentity.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 + -