java書(shū)店系統(tǒng)畢業(yè)設(shè)計(jì) 用戶模塊(2)
本文實(shí)例為大家分享了java書(shū)店系統(tǒng)畢業(yè)設(shè)計(jì)第二篇,供大家參考,具體內(nèi)容如下
1、用戶管理(user.txt)
字段名和順序

說(shuō)明:其中的type為int類型,用來(lái)表示操作用戶的類型。
1——表示為admin,可以進(jìn)行全部操作
2——表示為能操作圖書(shū)模塊的人員
3——表示為能操作進(jìn)貨模塊的人員
4——表示為能操作銷售模塊的人員
5——表示為能操作庫(kù)存模塊的人員

type用了枚舉實(shí)現(xiàn)
package cn.hncu.bookStore.user.common;
public enum UserTypeEnum {
AdMIN(1,"超級(jí)管理員"),BOOK(2,"圖書(shū)管理員"),IN(3,"進(jìn)貨管理員"),OUT(4,"銷售管理員"),STOCK(5,"庫(kù)存管理員");
private final int type;
private final String name;
UserTypeEnum(int type,String name){//默認(rèn)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("沒(méi)有該\""+name+"\"對(duì)應(yīng)的用戶類型");//非法參數(shù)異常
}
public static String getNameByType(int type){
for(UserTypeEnum utm:UserTypeEnum.values()){
if(utm.getType()==type){
return utm.getName();
}
}
throw new IllegalArgumentException("沒(méi)有該\""+type+"\"對(duì)應(yīng)的用戶類型");//非法參數(shù)異常
}
}
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;//用戶編號(hào),用戶名稱,用戶密碼
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 {
/**
* 注冊(cè)一個(gè)新用戶,如果該用戶存在,則不能創(chuàng)建
* @param user
* 待創(chuàng)建的用戶
* @return
* 如果創(chuàng)建成功,則返回true,否則返回false
*/
public boolean create(UserModel user);
/**
* 刪除一個(gè)用戶,如果該用戶不存在,則刪除失敗
* @param uuid
* 待刪除用戶的uuid
* @return
* 如果刪除成功則返回true,否則返回false
*/
public boolean delete(String uuid);
/**
* 更新用戶信息,如果用戶不存在,則不能更新
* @param user
* 待更新信息的用戶
* @return
* 如果更新成功返回true,否則返回false
*/
public boolean update(UserModel user);
/**
* 查詢一個(gè)用戶的數(shù)據(jù)
* @param uuid
* 待查詢信息的用戶編號(hào)
* @return
* 如果用戶存在,返回指定 uuid的用戶對(duì)象,否則返回null
*/
public UserModel getSingle(String uuid);
/**
* 根據(jù)查詢值對(duì)象約束的條件,返回所有滿足user的用戶對(duì)象集合
* @param user
* 查詢值對(duì)象
* @return
* 如果有滿足查詢值對(duì)象約束的條件的用戶,則返回用戶對(duì)象集合,否則返回空集合
*/
public List<UserModel> getByCondition(UserQueryModel user);
/**
* 獲取文件中所有用戶對(duì)象
* @return
* 返回文件中所有用戶對(duì)象
*/
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){//如果待注冊(cè)的用戶信息為null,則不能注冊(cè),返回false
return false;
}
List<UserModel> list=getAll();//獲取文件中已存在的所有用戶對(duì)象
for(UserModel u:list){//遍歷
if(u.getUuid().equals(user.getUuid())){//如果此用戶已存在,則不能注冊(cè)
return false;
}
}
//經(jīng)過(guò)上面的遍歷,說(shuō)明user不存在,則可以注冊(cè)
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);//重置編號(hào)為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();
}
}
業(yè)務(wù)邏輯層:
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();
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java中關(guān)于子類覆蓋父類的拋出異常問(wèn)題
今天小編就為大家分享一篇關(guān)于Java中關(guān)于子類覆蓋父類的拋出異常問(wèn)題,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04
SpringBoot開(kāi)發(fā)技巧之如何處理跨域請(qǐng)求CORS
CORS(Cross-Origin Resource Sharing)"跨域資源共享",是一個(gè)W3C標(biāo)準(zhǔn),它允許瀏覽器向跨域服務(wù)器發(fā)送Ajax請(qǐng)求,打破了Ajax只能訪問(wèn)本站內(nèi)的資源限制2021-10-10
使用filter實(shí)現(xiàn)url級(jí)別內(nèi)存緩存示例
Core Java 簡(jiǎn)單談?wù)凥ashSet(推薦)

