package view;
import java.util.ArrayList;
import java.util.Scanner;
import biz.BookBiz;
import biz.BookingBiz;
import biz.RecordsBiz;
import biz.UserBiz;
import biz.impl.BookBizImpl;
import biz.impl.BookingBizImpl;
import biz.impl.RecordsBizImpl;
import biz.impl.UserBizImpl;
import entry.Book;
import entry.Booking;
import entry.BookingInfo;
import entry.BorrowBookInfo;
import entry.Records;
import entry.ReturnBookInfo;
import entry.User;
public class UserMenu {
private Scanner scanner = new Scanner(System.in);
private UserBiz ub = new UserBizImpl();
private RecordsBiz rb = new RecordsBizImpl();
private BookBiz bb = new BookBizImpl();
private BookingBiz bz = new BookingBizImpl();
private String choose;
private String username;
private int uid;
private util util = new util();
private AdminMenu adminMenu = new AdminMenu();
public void userMenu() {
while (true) {
System.out.println(" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆用户界面☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(
" ☆☆☆☆☆☆☆☆☆☆☆ 1.注册 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(
" ☆☆☆☆☆☆☆☆☆☆☆ 2.登录 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(
" ☆☆☆☆☆☆☆☆☆☆☆ 3.返回上一级 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
choose = scanner.next();
switch (choose) {
case "1":
userRegistMenu();
break;
case "2":
userLoginMenu();
break;
case "3":
Menu.mainMenu();
;
default:
System.out.println("您输入的数据不合法");
scanner.nextLine();// 清空缓存
}
}
}
//用户登录
private void userLoginMenu() {
System.out.println("请输入用户名:");
String name = scanner.next();
System.out.println("请输入密码:");
String password = scanner.next();
User user = new User(name, password);
if (ub.findByNameAndPassword(user)) {
System.out.println("登录成功!");
username = ub.findByName(name).getUsername();//获取用户name并保存
uid = ub.findByName(name).getId();// 获取用户id并保存
bookingRemind(uid);
userLoginSuccessMenu();
} else {
System.out.println("登录失败!");
}
}
// 预约提醒
public void bookingRemind(int uid) {
ArrayList<Booking> al = new ArrayList<>();
al = bz.findByUid(uid);
for (Booking t : al) {
if (bb.findById(t.getBid()).getCount() > 0) {
System.out.println("您预约的书籍可以进行借阅了!");
break;
}
}
}
// 用户登录成功菜单
public void userLoginSuccessMenu() {
System.out.println(" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(" ☆☆☆☆☆☆☆☆☆☆☆ 1.个人信息 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(" ☆☆☆☆☆☆☆☆☆☆☆ 2.书本操作 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(" ☆☆☆☆☆☆☆☆☆☆☆ 3.查看图书信息 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(" ☆☆☆☆☆☆☆☆☆☆☆ 4.返回上一级 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
choose = scanner.next();
switch (choose) {
case "1":
showPersonalInfoMenu();
break;
case "2":
lendAndBorrowBookMenu();
break;
case "3":
checkBookInfoMenu();
break;
case "4":
userMenu();
default:
System.out.println("您输入的数据不合法");
scanner.nextLine();// 清空缓存
}
}
//查看图书信息菜单
private void checkBookInfoMenu() {
System.out.println(" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(" ☆☆☆☆☆☆☆☆☆☆☆ 1.查看所有图书信息 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(" ☆☆☆☆☆☆☆☆☆☆☆ 2.按书名查找书籍 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(" ☆☆☆☆☆☆☆☆☆☆☆ 3.根据类型查询书籍 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(" ☆☆☆☆☆☆☆☆☆☆☆ 4.根据作者查询书籍 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(" ☆☆☆☆☆☆☆☆☆☆☆ 5.返回上一级 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
choose = scanner.next();
switch (choose) {
case "1":
adminMenu.showAllBookMenu();
checkBookInfoMenu();
break;
case "2":
adminMenu.searchBookByNameMenu();
checkBookInfoMenu();
break;
case "3":
adminMenu.searchBookByTypeMenu();
checkBookInfoMenu();
break;
case "4":
adminMenu.searchBookByAuthorMenu();
checkBookInfoMenu();
break;
case "5":
userLoginSuccessMenu();
default:
System.out.println("您输入的数据不合法");
scanner.nextLine();// 清空缓存
}
}
// 书本操作
public void lendAndBorrowBookMenu() {
while (true) {
System.out.println(" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(
" ☆☆☆☆☆☆☆☆☆☆☆ 1.借书 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(
" ☆☆☆☆☆☆☆☆☆☆☆ 2.还书 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(
" ☆☆☆☆☆☆☆☆☆☆☆ 3.预约书籍 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(
" ☆☆☆☆☆☆☆☆☆☆☆ 4.取消预约 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println(
" ☆☆☆☆☆☆☆☆☆☆☆ 5.返回上一级 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
choose = scanner.next();
switch (choose) {
case "1":
borrowBookMenu();
break;
case "2":
returnBookMenu();
break;
case "3":
reserveBookMenu();
break;
case "4":
cancleReserveBookMenu();
break;
case "5":
userLoginSuccessMenu();
default:
System.out.println("您输入的数据不合法");
scanner.nextLine();// 清空缓存
}
}
}
// 取消预约书籍
private void cancleReserveBookMenu() {
if (bz.findByName(username).size() == 0) {
System.out.println("您还没预约书籍无法进行该操作!");
return;
} else {
showReserveInfoMenu();// 显示自己预约书籍信息
System.out.println("请输入您要取消预约的书籍id:");
int bid = scanner.nextInt();
bz.updateState(uid, bid, 0);//取消预约该书籍state设置为0
}
}
// 预约书籍
private void reserveBookMenu() {
ArrayList<Book> al = new ArrayList<>();
al = bb.showAllBookByCount();
if(al.size() == 0) {
System.out.println("暂时没有可以预约的书籍,您可以直接借阅!");
}else {
showBookByCount();// 显示所有可以预约的书籍
System.out.println("请输入您要预约的图书id:");
int bid = scanner.nextInt();
reserveBook(uid, bid);
}
}
// 预约书籍逻辑
public void reserveBook(int uid, int bid) {
Booking book = new Booking(uid, bid, util.getNowTime());
if (bz.findById(uid, bid) != null) {
System.out.println("您已经预约过该书,请不要重复预约!");
} else {
if (bz.find(bid) != null) {
System.out.println("该书已被预约,您不能预约!");
} else {
if (bz.save(b
评论0
最新资源