java书店系统毕业设计 用户模块(2)
程序员文章站
2024-03-13 08:38:09
本文实例为大家分享了java书店系统毕业设计第二篇,供大家参考,具体内容如下
1、用户管理(user.txt)
字段名和顺序
说明:其中的type为i...
本文实例为大家分享了java书店系统毕业设计第二篇,供大家参考,具体内容如下
1、用户管理(user.txt)
字段名和顺序
说明:其中的type为int类型,用来表示操作用户的类型。
1——表示为admin,可以进行全部操作
2——表示为能操作图书模块的人员
3——表示为能操作进货模块的人员
4——表示为能操作销售模块的人员
5——表示为能操作库存模块的人员
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(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: php简单随机字符串生成方法示例
下一篇: Java实现图片验证码具体代码