电影院售票管理系统.docx
《电影院售票管理系统.docx》由会员分享,可在线阅读,更多相关《电影院售票管理系统.docx(51页珍藏版)》请在冰豆网上搜索。
电影院售票管理系统
packageutil;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjavax.xml.parsers.DocumentBuilder;
importjavax.xml.parsers.DocumentBuilderFactory;
importjavax.xml.parsers.ParserConfigurationException;
importjavax.xml.transform.OutputKeys;
importjavax.xml.transform.Transformer;
importjavax.xml.transform.TransformerFactory;
importjavax.xml.transform.dom.DOMSource;
importjavax.xml.transform.stream.StreamResult;
importorg.w3c.dom.Document;
importorg.w3c.dom.Element;
importorg.w3c.dom.NodeList;
importorg.xml.sax.SAXException;
publicclassDomUtil{
publicstaticDocumentgetDocument(StringfileAddress){
Documentdoc=null;
try{
DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();
DocumentBuilderdb=dbf.newDocumentBuilder();
doc=db.parse(fileAddress);
}catch(Exceptione){
e.printStackTrace();
}
if(doc!
=null)
returndoc;
elsereturnnull;
}
publicstaticvoidsaveDocument(Documentdoc,StringfileAddress){
//保存
try{
TransformerFactorytf=TransformerFactory.newInstance();
Transformert=tf.newTransformer();
DOMSourcedoms=newDOMSource(doc);//获得数据源
//设置字符编码类型
t.setOutputProperty(OutputKeys.ENCODING,"UTF-8");
StreamResultresult=newStreamResult(newFileOutputStream(fileAddress));
t.transform(doms,result);
}catch(Exceptione){
e.printStackTrace();
}
}
}
packagetest;
importservice.impl.Login;
publicclassStart{
publicstaticvoidmain(String[]args){
newLogin().start();
}
}
packageservice;
publicinterfaceUserService{
publicvoidmenu();
//查看全部电影
publicvoidgetAll();
//通过电影名称查询电影
publicvoidgetByName();
//通过放映时间查询电影
publicvoidgetByItem();
//购买普通票
publicvoidbyTicket();
//购买学生折扣票
publicvoidbyDiscount();
//购买免费票优惠券
publicvoidbyFree();
}
packageservice;
publicinterfaceAdminService{
//菜单
publicvoidmenu();
//查看所有
publicvoidgetAll();
//添加电影
publicvoidaddFilm();
//删除电影
publicvoiddelFilm();
//更新电影
publicvoidupFilm();
//售票查询
publicvoidgetTicket();
}
packageservice.impl;
importjava.util.ArrayList;
importjava.util.List;
importjava.util.Scanner;
importdao.impl.FilmDaoImpl;
importentity.Film;
importentity.Seat;
importservice.UserService;
publicclassUserLoginimplementsUserService{
Scannerinput=newScanner(System.in);
ListlistFilm=newArrayList();
ListlistSeat=newArrayList();
FilmDaoImplfdi=newFilmDaoImpl();
publicvoidmenu(){
System.out.println("选择你的操作:
1:
查看所有电影;2:
按电影名查询;3:
按播放时间查询;"+
"4:
购票;5:
返回上一层;6:
退出;");
intchose=input.nextInt();
switch(chose){
case1:
getAll();break;
case2:
getByName();break;
case3:
getByItem();break;
case4:
byTicket();break;
case5:
break;
case6:
System.exit(0);break;
default:
break;
}
}
publicvoidgetAll(){
System.out.println("序号"+"\t"+"电影名称"+"\t"+"英文名称"+"\t"+"导演"+"\t"+"演员"
+"\t"+"影片类型"+"\t"+"票价"+"\t"+"播放时间");
listFilm=fdi.getAll();
for(Filmfilm:
listFilm){
System.out.println(film.getId()+"\t"+film.getName()+"\t"
+film.getPoster()+"\t"+film.getDirector()+"\t"
+film.getAcotr()+"\t"+film.getType()+"\t"
+film.getPrice()+"\t"+film.getItem());
}
listFilm.clear();
menu();
}
publicvoidgetByName(){
System.out.println("请输入要查询到电影:
");
Stringname=input.next();
listFilm=fdi.getByName(name);
if(listFilm!
=null){
System.out.println("序号"+"\t"+"电影名称"+"\t"+"英文名称"+"\t"+"导演"+"\t"+"演员"
+"\t"+"影片类型"+"\t"+"票价"+"\t"+"播放时间");
for(Filmfilm:
listFilm){
System.out.println(film.getId()+"\t"+film.getName()+"\t"
+film.getPoster()+"\t"+film.getDirector()+"\t"
+film.getAcotr()+"\t"+film.getType()+"\t"
+film.getPrice()+"\t"+film.getItem());
}
listFilm.clear();
menu();
}
else{
System.out.println("不存在该电影");
this.getByName();
}
}
publicvoidgetByItem(){
System.out.println("请输入时间段:
");
StringItem=input.next();
//listFilm=fdi.getByItem("15:
00");
listFilm=fdi.getByItem(Item);
if(listFilm!
=null){
System.out.println("序号"+"\t"+"电影名称"+"\t"+"英文名称"+"\t"+"导演"+"\t"+"演员"
+"\t"+"影片类型"+"\t"+"票价"+"\t"+"播放时间");
for(Filmfilm:
listFilm){
System.out.println(film.getId()+"\t"+film.getName()+"\t"
+film.getPoster()+"\t"+film.getDirector()+"\t"
+film.getAcotr()+"\t"+film.getType()+"\t"
+film.getPrice()+"\t"+film.getItem());
}
listFilm.clear();
}
else{
System.out.println("该时间段没有电影");
}
menu();
}
publicvoidbyTicket(){
System.out.println("请输入电影名:
");
Stringname=input.next();
System.out.println("请输入播放时间:
");
Stringitem=input.next();
//返回该电影的座位信息
//Seatseat=fdi.getSeates("中国功夫","15:
00");
Filmfilm=newFilm(name,item);
Seatseat=fdi.getSeates(film);
if(seat!
=null){
StringticketType=null;
booleanflagTicketType=true;
while(flagTicketType){
System.out.println("请选择票的种类:
1:
普通票;2:
学生票;3:
免费票;");
intchose=input.nextInt();
switch(chose){
case1:
ticketType="普通票";
flagTicketType=false;
break;
case2:
ticketType="学生票";
flagTicketType=false;
break;
case3:
ticketType="免费票";
flagTicketType=false;
break;
default:
System.out.println("输入错误选项!
!
!
");
break;
}
}
printSeat(seat);//输出座位信息
booleanflagIndex=true;
Stringindex=null;
while(flagIndex){
System.out.println("请选择座位:
");
index=input.next();
if(seat.isSold(index)){//该座位已经卖出
System.out.println("该座位已经卖出!
!
!
");
}
else{
flagIndex=false;
}
}
fdi.buyTicket(film,index,ticketType);
System.out.println("购票成功!
!
!
");
menu();
}
else{
System.out.println("该电影不存在,或该电影没有此播放时间!
!
!
");
this.byTicket();
}
}
@Override
publicvoidbyDiscount(){
//TODOAuto-generatedmethodstub
}
@Override
publicvoidbyFree(){
//TODOAuto-generatedmethodstub
}
//座位信息
publicvoidprintSeat(Seatseat){
System.out.println("************************屏幕************************");
for(inti=0;i<7;i++){
for(intj=0;j<7;j++){
System.out.print(seat.getSeats()[i][j]+"\t");
}
System.out.println();
}
}
}
packageservice.impl;
importjava.util.Scanner;
importservice.AdminService;
importentity.AdminUser;
publicclassLogin{
Scannerinput=newScanner(System.in);
publicvoidstart(){
System.out.println("请选择登陆方式:
1:
管理员登录;2:
普通用户登录;3:
退出;");
intchose=input.nextInt();
switch(chose){
case1:
/*AdminUseradmin=newAdminUser();
System.out.println("请输入用户名:
");
Stringname=input.next();
System.out.println("请输入密码:
");
Stringpwd=input.next();
if(name.equals(admin.getUserName())&&pwd.equals(admin.getUesrPassword()))*/
newAdminLogin().menu();
//elseSystem.out.println("用户名和密码不匹配!
!
!
");
break;
case2:
newUserLogin().menu();
break;
case3:
System.exit(0);break;
default:
System.out.println("输入错误的选择方式!
!
!
");
this.start();
break;
}
this.start();
}
}
packageservice.impl;
importjava.util.ArrayList;
importjava.util.List;
importjava.util.Scanner;
importdao.impl.FilmDaoImpl;
importentity.Film;
importentity.Seat;
importservice.AdminService;
publicclassAdminLoginimplementsAdminService{
Scannerinput=newScanner(System.in);
Listlist=newArrayList();
FilmDaoImplfdi=newFilmDaoImpl();
publicvoidmenu(){
System.out.println("选择你的操作:
1:
查看;2:
添加;3:
删除电影;"+
"4:
修改电影;5:
售票查询;6:
返回上一层;7:
退出;");
intchose=input.nextInt();
switch(chose){
case1:
getAll();break;
case2:
addFilm();break;
case3:
delFilm();break;
case4:
upFilm();break;
case5:
getTicket();break;
case6:
break;
case7:
System.exit(0);break;
default:
System.out.println("输入错误的选择方式!
!
!
");
this.menu();
break;
}
}
publicvoidgetAll(){
intnum=0;
System.out.println("序号"+"\t"+"电影名称"+"\t"+"英文名称"+"\t"+"导演"+"\t"+"演员"
+"\t"+"影片类型"+"\t"+"票价"+"\t"+"播放时间");
list=fdi.getAll();
//System.out.println(list.size());
for(Filmfilm:
list){
num++;
System.out.println(film.getId()+"\t"+film.getName()+"\t"
+film.getPoster()+"\t"+film.getDirector()+"\t"
+film.getAcotr()+"\t"+film.getType()+"\t"
+film.getPrice()+"\t"+film.getItem());
}
list.clear();
menu();
}
publicvoidaddFilm(){
System.out.println("请输入电影名称:
");
Stringname=input.next();
System.out.println("请输入英文名称:
");
Stringposter=input.next();
System.out.println("请输入导演:
");
Stringdirector=input.next();
System.out.println("请输入演员:
");
Stringacotr=input.next();
System.out.println("请输入影片类型:
");
Stringtype=input.next();
System.out.println("请输入票价:
");
Stringprice=input.next();
System.out.println("请输入播放时间:
");
Stringitem=input.next();
Filmfilm=newFilm(name,poster,director,acotr,type,price,item);
//Filmfilm=newFilm("东成西就","e-w","刘镇伟","郑伊健","喜剧","150","15:
50");
fdi.addFilm(film);
System.out.println("添加成功!
!
!
");
menu();
}
publicvoiddelFilm(){
System.out.println("请输入删除的电影名称:
");
Stringname=input.next();
System.out.println("请输入播放时间(输入all,则全部删除):
");
Stringitem=input.next();
Filmfilm=newFilm(name,item);
booleanexist=fdi.delateFilm(film);
//booleanexist=fdi.delateFilm("非常完美",time);
if(exist){
System.out.println("删除成功!
!
!
");
menu();
}
else{
System.out.println("该电影不存在,或该电影没有此播放时间!
!
!
");
this.delFilm();
}
}
publicvoidupFilm(){
System.out.println("请输入要修改的电影名称:
");
Stringname=input.next();
System.out.println("请输入要修改的放映时间:
");
Stringitem=input.next();
System.out.println("请输入要修改的列表名称:
");
Stringproperty=input.next();
S