package com.itheima.run;
import com.itheima.bean.Business;
import com.itheima.bean.Customer;
import com.itheima.bean.Movie;
import com.itheima.bean.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
public class MovieSystem {
/**
* 定义系统的数据容器用户存储数据
* 1.存储很多用户(客户对象,商家对象)
*/
public static final List<User> ALL_USERS = new ArrayList<>();
/**
* 2.存储系统全部商家和其排片信息
* 商家1 =[p1,p2,p3,...]
* 商家2 =[p2,p3,...]
*/
public static final Map<Business, List<Movie>> ALL_MOVIES = new HashMap<>();
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 Date d = new Date();
public static final Logger LOGGER = LoggerFactory.getLogger("MovieSystem.class");
/**
3.准备一些测试数据
*/
static {
Customer c = new Customer();
c.setLoginName("ldh888");
c.setPassword("123456");
c.setUsername("黑马刘德华");
c.setSex('男');
c.setMoney(10000);
c.setPhone("110110");
ALL_USERS.add(c);
Customer c1 = new Customer();
c1.setLoginName("gzl888");
c1.setPassword("123456");
c1.setUsername("黑马关之琳");
c1.setSex('女');
c1.setMoney(20000);
c1.setPhone("111111");
ALL_USERS.add(c1);
Business b = new Business();
b.setLoginName("bzg888");
b.setPassword("123456");
b.setUsername("黑马包租公");
b.setSex('男');
b.setMoney(0);
b.setPhone("110111");
b.setAddress("火星6号2B二层");
b.setShopName("甜甜圈国际影城");
ALL_USERS.add(b);
//注意:商家一定需要加入到店铺排片信息中去
List<Movie> movies = new ArrayList<>();
ALL_MOVIES.put(b, movies);
Business b2 = new Business();
b2.setLoginName("bzp888");
b2.setPassword("123456");
b2.setUsername("黑马包租婆");
b2.setSex('女');
b2.setMoney(0);
b2.setPhone("111110");
b2.setAddress("火星8号8B二层");
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":
break;
case "3":
break;
default:
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 = getUserByLoginNameAndPassWord(loginName, password);
//2.判断对象是否存在
if (u != null) {
//登录成功
loginUser = u;//记住登录成功的用户
LOGGER.info(loginUser.getUsername() + "登陆了系统~~");
//判断用户登录的类型
if (u instanceof Customer) {
//普通用户
showCustomerMain();
} else {
//商家用户
showBusinessMain();
}
return;
} else {
System.out.println("用户名或密码错误!");
}
}
}
/**
* 商家后台操作界面
*/
private static void showBusinessMain() {
while (true) {
System.out.println("==================电影商家界面==================");
LOGGER.info(loginUser.getUsername() + "商家,正在看自己的详情~~");
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":
//退出
return; //干掉方法
default:
System.out.println("命令有误,请确认!");
}
}
}
/**
* 电影修改功能
*/
private static void updateMovie() {
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 num = SYS_SC.nextLine();
while (true) {
try {
System.out.println("请您输入修改后放映时间�
没有合适的资源?快使用搜索试试~ 我知道了~
Java代码备份000000
共1008个文件
java:505个
xml:188个
class:151个
需积分: 0 0 下载量 107 浏览量
2023-07-06
13:56:16
上传
评论
收藏 33.32MB RAR 举报
温馨提示
Java代码备份000000
资源推荐
资源详情
资源评论
收起资源包目录
Java代码备份000000 (1008个子文件)
ATMSystem.class 9KB
Emp.class 7KB
OperateLog.class 5KB
EmpController.class 4KB
LoginCheckInterceptor.class 4KB
LogAspect.class 3KB
SessionController.class 3KB
Dept.class 3KB
Dept.class 3KB
Dept.class 3KB
XPathDemo.class 3KB
AliOSSProperties.class 3KB
Result.class 3KB
Result.class 3KB
Result.class 3KB
EmpServiceImpl.class 3KB
LoginCheckFilter.class 3KB
Test7.class 3KB
DeptController.class 3KB
ShopCarTest.class 3KB
SpringbootWebConfig2ApplicationTests.class 3KB
Demo.class 3KB
DeptServiceImpl.class 3KB
DeptLog.class 3KB
ListTest1.class 3KB
TliasWebManagementApplicationTests.class 3KB
Dom4JTest2.class 3KB
Dom4JHelloWorldDemo1.class 3KB
AliOSSUtils.class 2KB
AliOSSUtils.class 2KB
MyAspect7.class 2KB
DeptController.class 2KB
LoginController.class 2KB
DeptController.class 2KB
PageBean.class 2KB
JwtUtils.class 2KB
StringApiOther.class 2KB
Test1.class 2KB
MyAspect1.class 2KB
Contact.class 2KB
DeptServiceImpl.class 2KB
ListTest.class 2KB
Test6.class 2KB
UploadController.class 2KB
AutoConfigurationTests.class 2KB
DeptServiceImpl.class 2KB
TimeAspect.class 2KB
MethodDemo3.class 2KB
ListDemo.class 2KB
ArrayDemo7.class 2KB
ArrayDemo5.class 2KB
StringDemo2.class 2KB
EmpMapper.class 1KB
Stu.class 1KB
SpringbootAopQuickstart1ApplicationTests.class 1KB
Test5.class 1KB
DemoFilter.class 1KB
WebConfig.class 1KB
Test3.class 1KB
ArrayDemo6.class 1KB
Test.class 1KB
Var4.class 1KB
AliOSSProperties.class 1KB
StringEquals.class 1KB
Test4.class 1KB
StringDemo1.class 1KB
Student.class 1KB
MethodDemo4.class 1KB
Account.class 1KB
Car.class 1KB
MethodDemo5.class 1KB
If.class 1KB
MethodDemo1.class 1KB
ForDemo.class 1KB
ArrayDemo1.class 1KB
StringDemo.class 1KB
MethodDemo6.class 1KB
ArrayDemo4.class 1KB
ListDemo2.class 1KB
MethodDemo2.class 1KB
MyAspect3.class 1KB
MyAspect2.class 1KB
MyAspect4.class 1KB
StringDemo3.class 1KB
FactoryPattern.class 1KB
Var7.class 1KB
MethodDemo7.class 1KB
RandomTest1.class 1KB
AbcFilter.class 1KB
Var5.class 1KB
ArrayDemo3.class 1KB
Movie.class 1KB
RandomTest.class 1KB
DeptMapper.class 1KB
DeptMapper.class 1KB
Movie.class 1KB
User.class 1KB
ForTest.class 1KB
WhileTest.class 1KB
Test.class 1KB
共 1008 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11
资源评论
梦~001
- 粉丝: 7
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功