欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java书店系统毕业设计 用户模块(2)

程序员文章站 2024-03-12 13:13:38
本文实例为大家分享了java书店系统毕业设计第二篇,供大家参考,具体内容如下 1、用户管理(user.txt) 字段名和顺序 说明:其中的type为i...

本文实例为大家分享了java书店系统毕业设计第二篇,供大家参考,具体内容如下

1、用户管理(user.txt)

字段名和顺序

java书店系统毕业设计 用户模块(2)

说明:其中的type为int类型,用来表示操作用户的类型。
1——表示为admin,可以进行全部操作
2——表示为能操作图书模块的人员
3——表示为能操作进货模块的人员
4——表示为能操作销售模块的人员
5——表示为能操作库存模块的人员

java书店系统毕业设计 用户模块(2)

type用了枚举实现

package cn.hncu.bookstore.user.common;
public enum usertypeenum {
 admin(1,"超级管理员"),book(2,"图书管理员"),in(3,"进货管理员"),out(4,"销售管理员"),stock(5,"库存管理员");
 private final int type;
 private final string name;
 usertypeenum(int type,string name){//默认private
  this.name =name;
  this.type=type;
 }
 public int gettype() {
  return type;
 }
 public string getname() {
  return name;
 }
 public static int gettypebyname(string name){
  for(usertypeenum utm:usertypeenum.values()){
   if(utm.getname().equals(name.trim())){
    return utm.gettype();
   }
  }
  throw new illegalargumentexception("没有该\""+name+"\"对应的用户类型");//非法参数异常
 }
 public static string getnamebytype(int type){
  for(usertypeenum utm:usertypeenum.values()){
   if(utm.gettype()==type){
    return utm.getname();
   }
  }

  throw new illegalargumentexception("没有该\""+type+"\"对应的用户类型");//非法参数异常
 }

}

package cn.hncu.bookstore.user.vo;
import java.io.serializable;
import cn.hncu.bookstore.user.common.usertypeenum;
/**
 * 
 *@author<a href="mailto:2402201666@qq.com">xzm</a>
 */
public class usermodel implements serializable{
 private static final long serialversionuid = 1l;
 private string uuid,name,pwd;//用户编号,用户名称,用户密码
 private int type;//用户类型
 public usermodel() {
 }
 public string getuuid() {
  return uuid;
 }
 public void setuuid(string uuid) {
  this.uuid = uuid;
 }
 public string getname() {
  return name;
 }
 public void setname(string name) {
  this.name = name;
 }
 public string getpwd() {
  return pwd;
 }
 public void setpwd(string pwd) {
  this.pwd = pwd;
 }
 public int gettype() {
  return type;
 }
 public void settype(int type) {
  this.type = type;
 }
 @override
 public int hashcode() {
  final int prime = 31;
  int result = 1;
  result = prime * result + ((uuid == null) ? 0 : uuid.hashcode());
  return result;
 }
 @override
 public boolean equals(object obj) {
  if (this == obj)
   return true;
  if (obj == null)
   return false;
  if (getclass() != obj.getclass())
   return false;
  usermodel other = (usermodel) obj;
  if (uuid == null) {
   if (other.uuid != null)
    return false;
  } else if (!uuid.equals(other.uuid))
   return false;
  return true;
 }
 @override
 public string tostring() {
  return uuid + "," + name +"," + usertypeenum.getnamebytype(type);
 }
}

package cn.hncu.bookstore.user.vo;
public class userquerymodel extends usermodel{
 private static final long serialversionuid = 1l;
}

dao层:

package cn.hncu.bookstore.user.dao.dao;

import java.util.list;

import cn.hncu.bookstore.user.vo.usermodel;
import cn.hncu.bookstore.user.vo.userquerymodel;

public interface userdao {

 /**
  * 注册一个新用户,如果该用户存在,则不能创建
  * @param user
  * 待创建的用户
  * @return
  * 如果创建成功,则返回true,否则返回false
  */
 public boolean create(usermodel user);
 /**
  * 删除一个用户,如果该用户不存在,则删除失败
  * @param uuid
  * 待删除用户的uuid
  * @return
  * 如果删除成功则返回true,否则返回false
  */
 public boolean delete(string uuid);
 /**
  * 更新用户信息,如果用户不存在,则不能更新
  * @param user
  * 待更新信息的用户
  * @return
  * 如果更新成功返回true,否则返回false
  */
 public boolean update(usermodel user);
 /**
  * 查询一个用户的数据
  * @param uuid
  * 待查询信息的用户编号
  * @return
  * 如果用户存在,返回指定 uuid的用户对象,否则返回null
  */
 public usermodel getsingle(string uuid);
 /**
  * 根据查询值对象约束的条件,返回所有满足user的用户对象集合
  * @param user
  * 查询值对象
  * @return
  * 如果有满足查询值对象约束的条件的用户,则返回用户对象集合,否则返回空集合
  */
 public list<usermodel> getbycondition(userquerymodel user);
 /**
  * 获取文件中所有用户对象
  * @return
  * 返回文件中所有用户对象
  */
 public list<usermodel> getall();
}

package cn.hncu.bookstore.user.dao.impl;

import java.util.arraylist;
import java.util.list;

import cn.hncu.bookstore.user.dao.dao.userdao;
import cn.hncu.bookstore.user.vo.usermodel;
import cn.hncu.bookstore.user.vo.userquerymodel;
import cn.hncu.bookstore.utils.fileioutil;

public class userdaofileimpl implements userdao {

 private final static string file_name="a.txt";
 @override
 public boolean create(usermodel user) {
  if(user==null){//如果待注册的用户信息为null,则不能注册,返回false
   return false;
  }
  list<usermodel> list=getall();//获取文件中已存在的所有用户对象
  for(usermodel u:list){//遍历
   if(u.getuuid().equals(user.getuuid())){//如果此用户已存在,则不能注册
    return false;
   }
  }
  //经过上面的遍历,说明user不存在,则可以注册
  list.add(user);
  return fileioutil.writetofile(list, file_name);
 }

 @override
 public boolean delete(string uuid) {
  list<usermodel> list=getall();
  for(int i=0;i<list.size();i++){//遍历
   usermodel u=list.get(i);
   if(u.getuuid().equals(uuid)){
    list.remove(i);//删除
    return fileioutil.writetofile(list, file_name);
   }
  }
  return false;
 }

 @override
 public boolean update(usermodel user) {
  list<usermodel> list=getall();
  for(int i=0;i<list.size();i++){
   usermodel u=list.get(i);
   if(u.getuuid().equals(user.getuuid())){
    list.set(i, user);//重置编号为user.getuuid()的用户
    return fileioutil.writetofile(list, file_name);
   }
  }
  return false;
 }

 @override
 public usermodel getsingle(string uuid) {
  list<usermodel> list=getall();
  for(usermodel u:list){
   if(u.getuuid().equals(uuid)){
    return u;
   }
  }
  return null;
 }

 @override
 public list<usermodel> getbycondition(userquerymodel user) {

  list<usermodel> list=getall();
  list<usermodel> reslist=new arraylist<usermodel>();
  for(usermodel u:list){
   if(user.getuuid()!=null && user.getuuid().trim().length()>0){
    if(!user.getuuid().trim().equals(u.getuuid())){
     continue;
    }
   }
   if(user.getname()!=null && user.getname().trim().length()>0){
    if(u.getname().indexof(user.getname())==-1){
     continue;
    }
   }
   if(user.gettype()>0){
    if(u.gettype()!=user.gettype()){
     continue;
    }
   }
   reslist.add(u);
  }
  return reslist;
 }

 @override
 public list<usermodel> getall() {
  return fileioutil.readfromfile(file_name);
 }

}

package cn.hncu.bookstore.user.dao.factory;

import cn.hncu.bookstore.user.dao.dao.userdao;
import cn.hncu.bookstore.user.dao.impl.userdaofileimpl;
public class userdaofactory {
 private userdaofactory(){
 }
 public static userdao getuserdao(){
  return new userdaofileimpl();
 }
}

业务逻辑层:

package cn.hncu.bookstore.user.business.ebi;

import java.util.list;

import cn.hncu.bookstore.user.vo.usermodel;
import cn.hncu.bookstore.user.vo.userquerymodel;

public interface userebi {


 public boolean create(usermodel user);
 public boolean delete(string uuid);
 public boolean update(usermodel user);
 public usermodel getsingle(string uuid);
 public list<usermodel> getbycondition(userquerymodel user);
 public list<usermodel> getall();
 public abstract list<usermodel> getallin();
 public list<usermodel> getallout();
}

package cn.hncu.bookstore.user.business.ebo;

import java.util.list;

import cn.hncu.bookstore.common.uuidmodelconstance;
import cn.hncu.bookstore.common.uuid.dao.factory.uuiddaofactory;
import cn.hncu.bookstore.user.business.ebi.userebi;
import cn.hncu.bookstore.user.common.usertypeenum;
import cn.hncu.bookstore.user.dao.dao.userdao;
import cn.hncu.bookstore.user.dao.factory.userdaofactory;
import cn.hncu.bookstore.user.vo.usermodel;
import cn.hncu.bookstore.user.vo.userquerymodel;

public class userebo implements userebi {

 //注入
 userdao dao = userdaofactory.getuserdao();
 @override
 public boolean create(usermodel user) {
  string uuid=uuiddaofactory.getuuiddao().getnextnum(uuidmodelconstance.user);
  user.setuuid(uuid);
  return dao.create(user);
 }

 @override
 public boolean delete(string uuid) {
  return dao.delete(uuid);
 }

 @override
 public boolean update(usermodel user) {
  return dao.update(user);
 }

 @override
 public usermodel getsingle(string uuid) {
  return dao.getsingle(uuid);
 }

 @override
 public list<usermodel> getbycondition(userquerymodel user) {
  return dao.getbycondition(user);
 }

 @override
 public list<usermodel> getall() {
  return dao.getall();
 }
 @override
 public list<usermodel> getallin() {
  userquerymodel user=new userquerymodel();
  user.settype(usertypeenum.in.gettype());
  return dao.getbycondition(user);
 }
 public list<usermodel> getallout() {
  userquerymodel user=new userquerymodel();
  user.settype(usertypeenum.out.gettype());
  return dao.getbycondition(user);
 }

}

package cn.hncu.bookstore.user.business.factory;

import cn.hncu.bookstore.user.business.ebi.userebi;
import cn.hncu.bookstore.user.business.ebo.userebo;

public class userebifactory {

 private userebifactory() {
 }
 public static userebi getuserebi(){
  return new userebo();
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。