目标:
模拟实现电影院购票系统。
分析:
·日志框架搭建,系统角色分析
·首页设计,登录,商家界面设计,用户界面实现
·用户注册功能
·商家注册功能
·商家-详情页设计,影片上架,退出
·商家-影片下架,影片修改
·用户-展示全部影片
·用户-购票功能
·用户-评分功能
·用户-根据片名查询全部影片信息功能
代码实现:
User类(商家与客户的父类)
package bean;
/**
用户类(商家与客户的父类)
*/
public class User {
private String longinName;//登录名
private String userName;//真名
private String passWord;
private String sex;
private String phone;
private double money;//账户余额
public User() {
}
public User(String longinName, String userName, String passWord, String sex, String phone, double money) {
this.longinName = longinName;
this.userName = userName;
this.passWord = passWord;
this.sex = sex;
this.phone = phone;
this.money = money;
}
public String getLonginName() {
return longinName;
}
public void setLonginName(String longinName) {
this.longinName = longinName;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
}
Business类( 商家类(继承自用户类))
package bean;
/**
商家类(继承自用户类)
*/
public class Business extends User{
//店铺名称
private String shopName;
//店铺地址
private String address;
public String getShopName() {
return shopName;
}
public void setShopName(String shopName) {
this.shopName = shopName;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
Customer类(客户类(继承自用户类))
package bean;
import java.util.Date;
/**
客户类(继承自User类)
*/
public class Customer extends User{
private String customerMovieName;//客户购买的电影票
private String customerMovieactor;//主演
private double customerMoviescore;
private double customerMovietime;//电影时长
private double customerMovieprice;//票价
private int customerMovienumber;//余票
private Date customerMoviestartTime;//放映时间
public String getCustomerMovieName() {
return customerMovieName;
}
public void setCustomerMovieName(String customerMovieName) {
this.customerMovieName = customerMovieName;
}
public String getCustomerMovieactor() {
return customerMovieactor;
}
public void setCustomerMovieactor(String customerMovieactor) {
this.customerMovieactor = customerMovieactor;
}
public double getCustomerMoviescore() {
return customerMoviescore;
}
public void setCustomerMoviescore(double customerMoviescore) {
this.customerMoviescore = customerMoviescore;
}
public double getCustomerMovietime() {
return customerMovietime;
}
public void setCustomerMovietime(double customerMovietime) {
this.customerMovietime = customerMovietime;
}
public double getCustomerMovieprice() {
return customerMovieprice;
}
public void setCustomerMovieprice(double customerMovieprice) {
this.customerMovieprice = customerMovieprice;
}
public int getCustomerMovienumber() {
return customerMovienumber;
}
public void setCustomerMovienumber(int customerMovienumber) {
this.customerMovienumber = customerMovienumber;
}
public Date getCustomerMoviestartTime() {
return customerMoviestartTime;
}
public void setCustomerMoviestartTime(Date customerMoviestartTime) {
this.customerMoviestartTime = customerMoviestartTime;
}
}
Movie类(电影类)
package bean;
import java.util.Date;
/**
电影类
*/
public class Movie {
private String name;
private String actor;//主演
private double score;
private double time;//电影时长
private double price;//票价
private int number;//余票
private Date startTime;//放映时间
public Movie() {
}
public Movie(String name, String actor, double time, double price, int number, Date startTime) {
this.name = name;
this.actor = actor;
this.score = score;
this.time = time;
this.price = price;
this.number = number;
this.startTime = startTime;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getActor() {
return actor;
}
public void setActor(String actor) {
this.actor = actor;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public double getTime() {
return time;
}
public void setTime(double time) {
this.time = time;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
}
MovieSystem类(实现类)
package run;
import bean.Business;
import bean.Customer;
import bean.Movie;
import bean.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.BufferedReader;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* 电影启动类
*/
public class MovieSystem {
//定义系统扫描器
public static final Scanner SYS_SC = new Scanner(System.in);
//定义静态的User类型的变量记录当前登录成功的用户对象
public static User loginUser;
//定义静态时间格式,将时间改为正确的格式
public static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//记录日志
public static final Logger LOGGER = LoggerFactory.getLogger("MovieSystem.class");
/**
* 定义系统的数据容器用户存储数据
* 1.存储用户(客户对象,商家对象)
*/
public static final List<User> ALL_USERS = new ArrayList<>();
/**
* 2.存储系统全部商家排片信息
* 商家1=[p1,p2,p3...]
* 商家2=[p1,p2,p3...]
* .....
*/
public static Map<Business, List<Movie>> ALL_MOVIES = new HashMap<>();
public static List<Customer> ALL_OKMOVIES = new ArrayList<>();
/**
3.准备一些测试数据
运用静态代码块
*/
static {
Customer c1 = new Customer();
c1.setLonginName("zs888");
c1.setUserName("张三");
c1.setPassWord("123456");
c1.setSex("男");
c1.setPhone("100100");
c1.setMoney(10000);
ALL_USERS.add(c1);
Customer c2 = new Customer();
c2.setLonginName("ls888");
c2.setUserName("李四");
c2.setPassWord("123456");
c2.setSex("女");
c2.setPhone("200100");
c2.setMoney(2000);
ALL_USERS.add(c2);
Business b1 = new Business();
b1.setLonginName("ww888");
b1.setPassWord("123456");
b1.setUserName("王五");
b1.setMoney(0);
b1.setSex("男");
b1.setPhone("110110");
b1.setAddress("火星6号2B二层");
b1.setShopName("甜甜圈国际影城");
ALL_USERS.add(b1);
//商家加入排片信息中
List<Movie> movies1 = new ArrayList<>();
ALL_MOVIES.put(b1, movies1);
Business b2 = new Business();
b2.setLonginName("zl888");
b2.setPassWord("123456");
b2.setUserName("赵六");
b2.setMoney(0);
b2.setSex("女");
b2.setPhone("110110");
b2.setAddress("火星8号2B二层");
b2.setShopName("巧克力国际影城");
ALL_USERS.add(b2);
//商家加入排片信息中
List<Movie> movies2 = new ArrayList<>();
ALL_MOVIES.put(b2, movies2);
}
public static void main(String[] args) {
//登录首页
showMain();
}
/**
* 首页展示
*/
private static void showMain() {
while (true) {
System.out.println("================电影展示===============");
System.out.println("1.登录");
System.out.println("2.客户注册");
System.out.println("3.商家注册");
System.out.println("请输入操作命令:");
String command = SYS_SC.nextLine();
switch (command) {
case "1":
//登录操作
login();
break;
case "2":
//客户注册
enrolCustomer();
break;
case "3":
//商家注册
enrolBusiness();
break;
default:
System.out.println("输入有误,请重新输入!!!");
}
}
}
/**
商家注册功能
*/
private static void enrolBusiness() {
System.out.println("=====================商家注册====================");
System.out.println("请输入商家登录名:");
String longinName=SYS_SC.nextLine();
System.out.println("请输入商家真实姓名:");
String userName=SYS_SC.nextLine();
System.out.println("请输入商家密码:");
String passWord=SYS_SC.nextLine();
System.out.println("请输入商家性别");
String sex=SYS_SC.nextLine();
System.out.println("请输入商家您的手机号:");
String phone=SYS_SC.nextLine();
System.out.println("请输入商家您的店铺名称:");
String shopName=SYS_SC.nextLine();
System.out.println("请输入商家您的店铺地址:");
String address=SYS_SC.nextLine();
Business b1 = new Business();
b1.setLonginName(longinName);
b1.setPassWord(passWord);
b1.setUserName(userName);
b1.setMoney(0);
b1.setSex(sex);
b1.setPhone(phone);
b1.setAddress(address);
b1.setShopName(shopName);
ALL_USERS.add(b1);
//商家加入排片信息中
List<Movie> movies1 = new ArrayList<>();
ALL_MOVIES.put(b1, movies1);
System.out.println("注册成功!!!");
}
/**
用户注册功能
*/
private static void enrolCustomer() {
System.out.println("=====================用户注册====================");
System.out.println("请输入登录名:");
String longinName=SYS_SC.nextLine();
System.out.println("请输入真实姓名:");
String userName=SYS_SC.nextLine();
System.out.println("请输入密码:");
String passWord=SYS_SC.nextLine();
System.out.println("请输入性别");
String sex=SYS_SC.nextLine();
System.out.println("请输入您的手机号:");
String phone=SYS_SC.nextLine();
System.out.println("请输入您的充值金额:");
Double money=SYS_SC.nextDouble();
String noDate=SYS_SC.nextLine();
Customer c=new Customer();
c.setLonginName(longinName);
c.setUserName(userName);
c.setPassWord(passWord);
c.setSex(sex);
c.setPhone(phone);
c.setMoney(money);
ALL_USERS.add(c);
System.out.println("注册成功!!!");
}
/**
* 登录功能
*/
private static void login() {
while (true) {
System.out.println("请您输入登录名:");
String loginName = SYS_SC.nextLine();
System.out.println("请您输入密码:");
String passWord = SYS_SC.nextLine();
//1.根据登录名查询用户对象
User u = getUserByLoginName(loginName);
//2.判断用户是否存在,存在说明登录名正确
if (u != null) {
//3.判断密码是否正确
if (u.getPassWord().equals(passWord)) {
loginUser = u;
LOGGER.info(u.getUserName() + "登陆了系统!!!");
//判断是用户登录,还是商家登录
//判断类型
if (u instanceof Customer) {
System.out.println("客户登录成功!!!");
showCustomerMain();
} else {
System.out.println("商家登录成功!!!");
showBusinessMain();
}
return;
} else {
System.out.println("密码错误!!!");
}
} else {
System.out.println("登录名称错误!!!");
}
}
}
/**
* 商家登录界面
*/
private static void showBusinessMain() {
while (true) {
System.out.println("=================商家登录界面===============");
System.out.println(loginUser.getUserName() + (loginUser.getSex() == "男" ? "先生" : "女士") + " 欢迎您进入系统");
System.out.println("1.展示详情");
System.out.println("2.上架电影");
System.out.println("3.下架电影");
System.out.println("4.修改电影");
System.out.println("5.退出系统");
System.out.println("请输入操作命令:");
String command = SYS_SC.nextLine();
switch (command) {
case "1":
//展示全部影片信息功能
showBusinessInfos();
break;
case "2":
//上架电影
addMovie();
break;
case "3":
//下架影片
deleteMovie();
break;
case "4":
updateMovie();
break;
case "5":
System.out.println("退出成功!!!");
return;//干掉方法
default:
System.out.println("输入有误,请重新输入!!!");
break;
}
}
}
/**
* 修改上架影片信息功能
*/
private static void updateMovie() {
System.out.println("===================修改影片================");
Business business = (Business) loginUser;
List<Movie> movies = ALL_MOVIES.get(business);
//做判断,如果目前商家无影片
if (movies.size() == 0) {
System.out.println("您还未上架影片,请先上架!!!");
return;
}
while (true) {
//用户选择需要下架的电影名称
System.out.println("请您输入要修改的影片名称:");
String movieName = SYS_SC.nextLine();
//去查询有没有这个影片对象
Movie movie = getMovieByName(movieName);
if (movie != null) {
//修改
System.out.println("请输入修改后电影名:");
String name = SYS_SC.nextLine();
System.out.println("请输入修改后主演:");
String actor = SYS_SC.nextLine();
System.out.println("请输入修改后时长:");
String time = SYS_SC.nextLine();
System.out.println("请输入修改后票价:");
String price = SYS_SC.nextLine();
System.out.println("请输入修改后票数:");
String totalNumber = SYS_SC.nextLine();
while (true) {
try {
System.out.println("请输入修改后影片放映时间:");
String stime = SYS_SC.nextLine();
movie.setName(name);
movie.setActor(actor);
movie.setTime(Double.valueOf(time));
movie.setPrice(Double.valueOf(price));
movie.setNumber(Integer.valueOf(totalNumber));
movie.setStartTime(sdf.parse(stime));
System.out.println("您已经成功修改影片《" + movie.getName() + "》!!!");
showBusinessInfos();
return;//退出去
} catch (Exception e) {
LOGGER.info("时间解析错误!!!");
System.out.println("时间解析错误,请重新输入!!!");
}
}
} else {
System.out.println("您还未上架该影片!!!");
System.out.println("请问还需修改吗?y/n");
String command = SYS_SC.nextLine();
switch (command) {
case "y":
break;
default:
return;
}
}
}
}
/**
* 下架影片功能
*/
private static void deleteMovie() {
System.out.println("===================影片下架================");
Business business = (Business) loginUser;
List<Movie> movies = ALL_MOVIES.get(business);
//做判断,如果目前商家无影片
if (movies.size() == 0) {
System.out.println("您还未上架影片,请先上架!!!");
return;
}
while (true) {
//用户选择需要下架的电影名称
System.out.println("请您输入要下架的影片名称:");
String movieName = SYS_SC.nextLine();
//去查询有没有这个影片对象
Movie movie = getMovieByName(movieName);
if (movie != null) {
//下架
movies.remove(movie);
System.out.println("您成功下架电影《" + movie.getName() + "》!!!");
showBusinessInfos();
return;
} else {
System.out.println("您还未上架该影片!!!");
System.out.println("请问还需上架吗?y/n");
String command = SYS_SC.nextLine();
switch (command) {
case "y":
break;
default:
return;
}
}
}
}
/**
* 查询是否有这个影片对象
*
* @param movieName
* @return
*/
public static Movie getMovieByName(String movieName) {
User user = loginUser;
List<Movie> movies = ALL_MOVIES.get(user);
for (Movie movie : movies) {
if (movie.getName().contains(movieName)) {
return movie;
}
}
return null;
}
/**
* 商家进行影片上架
*/
private static void addMovie() {
System.out.println("=====================电影上架====================");
//根据商家对象()作为Map集合的键,提取对应值就是排片信息:Map<Business,List<Movie>>ALL_MOVIE
//将用户对象转化为商家对象,以此输出商家类的全部对象
Business business = (Business) loginUser;
List<Movie> movies = ALL_MOVIES.get(business);
System.out.println("请输入电影名:");
String name = SYS_SC.nextLine();
System.out.println("请输入主演:");
String actor = SYS_SC.nextLine();
System.out.println("请输入时长:");
String time = SYS_SC.nextLine();
System.out.println("请输入票价:");
String price = SYS_SC.nextLine();
System.out.println("请输入票数:");
String totalNumber = SYS_SC.nextLine();
while (true) {
try {
System.out.println("请输入影片放映时间:");
String stime = SYS_SC.nextLine();
//封装为电影对象,加入到集合movices中
Movie movie = new Movie(name, actor, Integer.valueOf(time), Double.valueOf(price), Integer.valueOf(totalNumber)
, sdf.parse(stime));
movies.add(movie);
System.out.println("您已经成功上架影片《" + movie.getName() + "》!!!");
return;//退出去
} catch (ParseException e) {
LOGGER.info("时间解析错误!!!");
System.out.println("时间解析错误,请重新输入!!!");
}
}
}
/**
* 展示当前登录的商家详细信息
*/
private static void showBusinessInfos() {
System.out.println("=====================商家详情界面===================");
//记录日志
LOGGER.info(loginUser.getLonginName() + "商家正在查看详情!!!");
//根据商家对象()作为Map集合的键,提取对应值就是排片信息:Map<Business,List<Movie>>ALL_MOVIE
//将用户对象转化为商家对象,以此输出商家类的全部对象
Business business = (Business) loginUser;
//输出商家信息
System.out.println(business.getShopName() + "\t\t电话:" + business.getPhone() + "\t\t地址:" + business.getAddress() + "\t\t余额:" + business.getMoney());
System.out.println();
List<Movie> movies = ALL_MOVIES.get(business);
// if (movies.size() > 0) {
// System.out.println("片名\t\t\t主演\t\t时长\t\t评分\t\t票价\t\t余票数量\t\t放映时间");
// for (Movie movie : movies) {
// System.out.println(movie.getName() + "\t\t" + movie.getActor() + "\t\t" + movie.getTime() + "\t" + movie.getScore()
// + "\t" + movie.getPrice() + "\t\t" + movie.getNumber()
// + "\t\t" + sdf.format(movie.getStartTime()));
// }
// } else {
// System.out.println("您当前店铺还未有影片上架!!!");
// }
System.out.println("已上架影片信息");
if (movies.size() > 0) {
for (Movie movie : movies) {
System.out.println("===============================\n");
System.out.println("片名:" + movie.getName() + "\n" + "主演:" + movie.getActor() + "\n" + "时长:" + movie.getTime() + "\n" + "评分:" + movie.getScore()
+ "\n" + "票价:" + movie.getPrice() + "\n" + "余票数量:" + movie.getNumber()
+ "\n" + "上映时间:" + sdf.format(movie.getStartTime()));
}
} else {
System.out.println("您当前店铺还未有影片上架!!!");
}
}
/**
* 客户登录界面
*/
private static void showCustomerMain() {
System.out.println("=================客户登录界面===============");
System.out.println(loginUser.getUserName() + (loginUser.getSex() == "男" ? "先生" : "女士" + " 欢迎您进入系统" + "\t余额" + loginUser.getMoney()));
System.out.println("1.展示全部影片信息功能");
System.out.println("2.根据电影名查询电影信息");
System.out.println("3.评分功能");
System.out.println("4.购票功能");
System.out.println("5.退出系统");
while (true) {
System.out.println("请输入操作命令:");
String command = SYS_SC.nextLine();
switch (command) {
case "1":
//展示全部影片信息功能
showAllMovies();
break;
case "2":
//根据电影名查询电影信息
showMovieByMovieName();
break;
case "3":
//评分功能
movieScore();
break;
case "4":
//购票功能
buyMovie();
break;
case "5":
showMain();
return;//干掉方法
default:
System.out.println("输入有误,请重新输入!!!");
break;
}
}
}
/**
* 电影评分功能
*/
private static void movieScore() {
System.out.println("=====================电影评分====================");
System.out.println("请输入您要评分的电影名称:");
String movieName = SYS_SC.nextLine();
System.out.println();
//查询是否有看过这个影片对象
if (ALL_OKMOVIES.size()>0) {
for (Customer allOkmovie : ALL_OKMOVIES) {
if (allOkmovie.getCustomerMovieName().equals(movieName)) {
//找到这个已看过的电影,进行评分
System.out.println("请您对此电影进行评分:");
String score = SYS_SC.nextLine();
allOkmovie.setCustomerMoviescore(allOkmovie.getCustomerMoviescore() == 0 ? Double.valueOf(score) : ((allOkmovie.getCustomerMoviescore() + Double.valueOf(score)) / 2));
System.out.println("您已评分完成!!!");
//输出电影信息
System.out.println("片名:" + allOkmovie.getCustomerMovieName() + "\n" + "主演:" + allOkmovie.getCustomerMovieactor() + "\n" + "时长:" + allOkmovie.getCustomerMovietime()
+ "\n" + "评分:" + allOkmovie.getCustomerMoviescore() + "\n" + "票价:" + allOkmovie.getCustomerMovieprice()
+ "\n" + "余票数量:" + allOkmovie.getCustomerMovienumber() + "\n" + "上映时间:" + sdf.format(allOkmovie.getCustomerMoviestartTime()));
System.out.println("===========================");
//更改商家处电影的评分
Business business= (Business) ALL_MOVIES;
List<Movie> movies=ALL_MOVIES.get(business);
for (Movie movie : movies) {
if (movie.getName().equals(movieName)){
movie.setScore(allOkmovie.getCustomerMoviescore());
}
}
} else {
System.out.println("您还未购买该影片,不可评分!!!");
return;
}
}
}else {
System.out.println("您还未购买该影片,不可评分!!!");
}
}
/**
* 根据电影名查询电影信息
*/
private static void showMovieByMovieName() {
System.out.println("=====================查询电影信息==================");
System.out.println("请输入电影名:");
String movieName = SYS_SC.nextLine();
ALL_MOVIES.forEach((business, movies) -> {
for (Movie movie : movies) {
if (movie.getName().equals(movieName)) {
//输出商家信息
System.out.println(business.getShopName() + "\t\t电话:" + business.getPhone() + "\t\t地址:" + business.getAddress());
System.out.println();
//输出电影信息
System.out.println("片名:" + movie.getName() + "\n" + "主演:" + movie.getActor() + "\n" + "时长:" + movie.getTime() + "\n" + "评分:" + movie.getScore()
+ "\n" + "票价:" + movie.getPrice() + "\n" + "余票数量:" + movie.getNumber()
+ "\n" + "上映时间:" + sdf.format(movie.getStartTime()));
System.out.println("===========================");
} else {
System.out.println("无此影片信息!!!");
}
}
});
}
/**
* 用户购票功能
*/
private static void buyMovie() {
showAllMovies();
System.out.println("=================用户购票================");
while (true) {
System.out.println("请您输入需要买票的门店:");
String shopName = SYS_SC.nextLine();
//查询是否有该商家
Business business = getBusinessByShopName(shopName);
if (business == null) {
System.out.println("不存在该商家!!!");
} else {
//此商家全部影片
List<Movie> movies = ALL_MOVIES.get(business);
//判断是否存在上映影片
if (movies.size() > 0) {
while (true) {
//开始选片购买
System.out.println("请您输入购买影片名:");
String movieName = SYS_SC.nextLine();
//查询当前商家的影片
Movie movie = getMovieByshopName(business, movieName);
if (movie != null) {
//开始购买
while (true) {
System.out.println("请输入购买的电影票的数量:");
String number = SYS_SC.nextLine();
int buyNumber = Integer.valueOf(number);
//判断是否购票
if (movie.getNumber() >= buyNumber) {
//可以购买
//当前需要花费的金额
double money = BigDecimal.valueOf(movie.getPrice()).multiply(BigDecimal.valueOf(buyNumber)).doubleValue();
if (loginUser.getMoney() >= money) {
//可以买票
System.out.println("您成功购买了!" + movie.getName() + buyNumber + "张票!总金额为:" + money);
//更新自己的金额,更新商家的金额
loginUser.setMoney(loginUser.getMoney() - money);
business.setMoney(business.getMoney() + money);
//更新票
movie.setNumber(movie.getNumber() - buyNumber);
Customer c = new Customer();
c.setCustomerMovieName(movie.getName());
c.setCustomerMovieactor(movie.getActor());
c.setCustomerMoviescore(movie.getScore());
c.setCustomerMovietime(movie.getTime());
c.setCustomerMovieprice(movie.getPrice());
c.setCustomerMovienumber(movie.getNumber());
c.setCustomerMoviestartTime(movie.getStartTime());
ALL_OKMOVIES.add(c);
return;
} else {
//钱不够
System.out.println("您当前余额不足!!!");
System.out.println("请问是否继续买票?y/n");
String command = SYS_SC.nextLine();
switch (command) {
case "y":
break;
default:
return;
}
}
} else {
//票数不够
System.out.println("您当前最多购买" + movie.getNumber() + "张票!!!");
System.out.println("请问是否继续买票?y/n");
String command = SYS_SC.nextLine();
switch (command) {
case "y":
break;
default:
return;
}
}
}
} else {
System.out.println("请输入正确的电影名称!!!");
}
}
} else {
System.out.println("该电影院没有排片!!!");
System.out.println("请问是否继续?y/n");
String command = SYS_SC.nextLine();
switch (command) {
case "y":
break;
default:
return;
}
}
}
}
}
/**
* 查询当前商家的影片信息
*
* @param business
* @param movieName
* @return
*/
public static Movie getMovieByshopName(Business business, String movieName) {
List<Movie> movies = ALL_MOVIES.get(business);
for (Movie movie : movies) {
if (movie.getName().contains(movieName)) {
return movie;
}
}
return null;
}
/**
* 根据店铺名查询是否有该商家
*
* @param shopname
* @return
*/
public static Business getBusinessByShopName(String shopname) {
Set<Business> businesses = ALL_MOVIES.keySet();
for (Business business : businesses) {
if (business.getShopName().equals(shopname)) {
return business;
}
}
return null;
}
/**
* 客户展示全部影片信息
*/
private static void showAllMovies() {
System.out.println("===================全部影片信息==============");
ALL_MOVIES.forEach((business, movies) -> {
//输出商家信息
System.out.println(business.getShopName() + "\t\t电话:" + business.getPhone() + "\t\t地址:" + business.getAddress());
System.out.println();
//商家电影信息
for (Movie movie : movies) {
System.out.println("片名:" + movie.getName() + "\n" + "主演:" + movie.getActor() + "\n" + "时长:" + movie.getTime() + "\n" + "评分:" + movie.getScore()
+ "\n" + "票价:" + movie.getPrice() + "\n" + "余票数量:" + movie.getNumber()
+ "\n" + "上映时间:" + sdf.format(movie.getStartTime()));
System.out.println("===============================");
}
System.out.println("=================================");
});
}
/**
* 根据登录名查询用户对象
*
* @return
*/
public static User getUserByLoginName(String loginName) {
for (User user : ALL_USERS) {
//判断登录名
if (user.getLonginName().equals(loginName)) {
return user;
}
}
return null;
}
}