📄 userservice.java
字号:
package com.shunshi.ssh.service;
import java.util.*;
import org.extremecomponents.table.limit.Limit;
import com.shunshi.ssh.dao.*;
import com.shunshi.ssh.entity.*;
public class UserService implements IUserService {
private static int DEFAULT_PAGE_SIZE=10;
private IUserDAO userDao;
private IUserGroupDAO userGroupDao;
public void setUserDao(IUserDAO userDao){
this.userDao=userDao;
}
public void setUserGroupDao(IUserGroupDAO userGroupDao){
this.userGroupDao=userGroupDao;
}
public void addUser(User user) {
user.setState(1);
user.setLoginTimes(1);
UserGroup userGroup=userGroupDao.findByUserGroupName("普通会员");
user.setUserGroup(userGroup);
userDao.save(user);
}
public boolean check(String userName, String password) {
User user=userDao.findByUserName(userName);
if(user!=null){
if(user.getPassword().equals(password)){
user.setLoginTimes(user.getLoginTimes()+1);
userDao.update(user);
return true; //如果密码正确返回真
}
return false; //如果密码错误返回假
}
return false;//如果没有该用户名返回假
}
public boolean checkAdmin(String userName, String password) {
User user=userDao.findByUserName(userName);
if(user!=null){
if(user.getPassword().equals(password)){
if("管理员".equals(user.getUserGroup().getGroupName())){
user.setLoginTimes(user.getLoginTimes()+1);
userDao.update(user);
return true; //如果密码正确返回真
}
}
return false; //如果密码错误返回假
}
return false;//如果没有该用户名返回假
}
public void deleteUser(Long id) {
System.out.println("delete user");
User user=userDao.findById(id); //先通过ID查出对应的会员
if(user!=null)
userDao.delete(user); //再删除会员信息
}
public void deleteUsers(Collection userIdSet) {
Iterator iter=userIdSet.iterator();
while(iter.hasNext()){
Long userId=(Long)iter.next(); //取出每一个会员的ID
deleteUser(userId); //依次删除每个用户
}
}
public void deleteToRecycle(Long id) {
User user=userDao.findById(id); //先通过ID查出对应的会员
if(user!=null){
user.setState(3); //将会员的状态改为3
userDao.update(user);
}
}
public void revertFromRecycle(Long id) {
User user=userDao.findById(id); //先通过ID查出对应的会员
if(user!=null){
user.setState(1); //将会员的状态改为1
userDao.update(user);
}
}
public Collection findAll() {
return userDao.findAll();
}
public User findById(Long id) {
return userDao.findById(id);
}
public User findByName(String userName) {
return userDao.findByUserName(userName);
}
public Collection findByProperty(String propertyName, Object value) {
return userDao.findByProperty(propertyName, value);
}
public void updateUser(User user) {
if(user!=null)
user.setState(1);
user.setLoginTimes(1);
UserGroup userGroup=userGroupDao.findByUserGroupName("普通会员");
user.setUserGroup(userGroup);
userDao.update(user);
}
public void changeGroup(Long id) { //更改组别
User user=findById(id);
if(user!=null){
if(user.getUserGroup().getId()==1){ //如果是普通会员就改为认证会员
UserGroup ug=userGroupDao.findById(2);
ug.addUser(user);
userDao.update(user);
}else if(user.getUserGroup().getId()==2){ //如果是认证会员就改为普通会员
System.out.println("changGroup");
UserGroup ug=userGroupDao.findById(1);
ug.addUser(user);
userDao.update(user);
}
}
}
public void verifyUser(Long id) {
User user=userDao.findById(id);
user.setState(User.VERIFYED);
userDao.update(user);
}
public void verifyUsers(Collection userIdSet) {
Iterator iter=userIdSet.iterator();
while(iter.hasNext()){
Long userId=(Long)iter.next(); //取出每一个会员的ID
User user=userDao.findById(userId); //查询出每一个会员
user.setState(User.VERIFYED); //改变会员状态为已审核
userDao.update(user);
}
}
public void undoVerifyUser(Long id) {
User user=userDao.findById(id);
user.setState(User.UNVERIFYED);
userDao.update(user);
}
public void undoVerifyUsers(Collection userIdSet) {
Iterator iter=userIdSet.iterator();
while(iter.hasNext()){
Long userId=(Long)iter.next(); //取出每一个会员的ID
User user=userDao.findById(userId); //查询出每一个会员
user.setState(User.UNVERIFYED); //改变会员状态为已审核
userDao.update(user);
}
}
public Collection queryPermissions(Long id) {
Collection permissions=null;
User user=userDao.findById(id); //先通过ID查出对应的会员
if(user!=null){
UserGroup userGroup=user.getUserGroup(); //取得用户组
permissions=userGroupDao.queryPermissionsById(userGroup.getId()); //通过ID查出该用户组拥有的权限
}
return permissions;
}
public Page findUsersInfoByState(byte state, Limit limit, int totalRows) {
if (totalRows < 0) {
// 取得记录总条数时,把filter作为参数传入,要取得的总行数也是要接受条件限制的.
totalRows = (Integer)userDao.getTotalRowsByState(state).intValue();
}
limit.setRowAttributes(totalRows, DEFAULT_PAGE_SIZE);
// 取得当前查询的页面的记录起止行号
int[] rowStartEnd = new int[] { limit.getRowStart(),
limit.getCurrentRowsDisplayed() };
//查询数据
List pageUsersInfos=userDao.findUsersInfoByState(state,rowStartEnd[0] ,rowStartEnd[1]);
Page page = new Page(limit.getRowStart(),totalRows,limit.getPage(),pageUsersInfos);
return page;
}
public Page findUsersInfoByAll(Limit limit, int totalRows) {
if (totalRows < 0) {
// 取得记录总条数时,把filter作为参数传入,要取得的总行数也是要接受条件限制的.
totalRows = (Integer)userDao.getTotalRowsByAll().intValue();
}
limit.setRowAttributes(totalRows, DEFAULT_PAGE_SIZE);
// 取得当前查询的页面的记录起止行号
int[] rowStartEnd = new int[] { limit.getRowStart(),
limit.getCurrentRowsDisplayed() };
//查询数据
List pageUsersInfos=userDao.findUsersInfoByAll(rowStartEnd[0] ,rowStartEnd[1]);
Page page = new Page(limit.getRowStart(),totalRows,limit.getPage(),pageUsersInfos);
return page;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -