畢業(yè)設(shè)計-網(wǎng)上電影院購票系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
畢業(yè)設(shè)計-網(wǎng)上電影院購票系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
畢業(yè)設(shè)計-網(wǎng)上電影院購票系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
畢業(yè)設(shè)計-網(wǎng)上電影院購票系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
畢業(yè)設(shè)計-網(wǎng)上電影院購票系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、鹽城師范學院畢業(yè)設(shè)計畢業(yè)設(shè)計學生姓名 學 院 專 業(yè) 班 級 學 號 8 指導(dǎo)教師 2016年 5 月 16 日鹽城師范學院畢業(yè)設(shè)計網(wǎng)上電影院購票系統(tǒng)的設(shè)計與實現(xiàn)摘 要隨著消費水平的不斷提高,人們的消費重心逐漸偏向于精神享受方面,去影院觀看最新上映的電影也成為了一種潮流時尚,像蜘蛛網(wǎng)、百度糯米,萬達電影等影院購票網(wǎng)站成為了另一個開發(fā)熱點。本文對電影、影院管理、電影排片,用戶選座購票業(yè)務(wù)進行了研究,使用SSM框架搭建開發(fā)環(huán)境和MYSQL數(shù)據(jù)庫,通過Navicat Premium軟件連接并管理數(shù)據(jù)庫;運用JSEE、SQL、JS,CSS語言和開源前端框架Amaze UI進行開發(fā)。系統(tǒng)實現(xiàn)了管理電影、

2、影院、放映廳、放映記錄、地區(qū),影片類別信息的基本功能,以及前臺用戶注冊登錄、瀏覽影院、影片信息,選座購票功能。用戶就不用去影院購買電影票,可以直接在網(wǎng)上進行選座購買,減少了傳統(tǒng)影院的售票程序,避免了人工售票的繁瑣工序,優(yōu)化了用戶體驗。【關(guān)鍵字】電影院網(wǎng)上購票;JSEE;MYSQL;JS;CSSOnline Movie Theater Ticket System Design and ImplementationAbstractWith the rising level of consumption, the consumption of people gradually tend to enj

3、oy the spirit, to go to the cinema to see the new movie has also become a kind of fashion, like a spider web, Baidu Nuomi, Wanda movie theater ticket website has become another development hotspot. In this paper, the movies, the theater management, film row piece, users choose seat ticket business w

4、as studied, using SSM framework to build the development environment and MySQL database, connected to the database, and manage by Navicat Premium software; using JSEE, SQL, JS, CSS language and open source and the front end of the frame amaze UI development. The system realizes the management of mov

5、ies, cinema, theater, film, recording area, the basic functions of the film category information, and the registered user login, browse the cinema, movie information, ticket seat selection Users do not have to go to the cinema to buy movie tickets, can choose the seat to buy on the net directly, red

6、ucing the traditional theater ticket program, to avoid the tedious process of manual ticketing, optimizing the user experience.Key words Online cinema ticket, JSEE, MYSQL, JS, CSS目 錄TOC o 1-3 h u HYPERLINK l _Toc32564 1引言 頁,共27頁1引言人們的消費重心隨著生活水平的提高逐漸地轉(zhuǎn)移到了精神層次,而電影則是其中之一。以前電影院售票采用人工售票的方法,固定了顧客購票的時間,而且容

7、易出錯,給顧客造成損失,甚至會導(dǎo)致購票場所擁堵,給壞人可乘之機,給顧客造成了許多不必要的麻煩。一款好的影院售票管理系統(tǒng),可以推動電影院購票管理的發(fā)展,幫助售票人員提高工作效率,簡化了對影院的相關(guān)數(shù)據(jù)進行添加、查看、修改、刪除操作工作,使雜亂無序的數(shù)據(jù)能夠被有序的、合理的、規(guī)范的管理。影票的電子化終將成為國內(nèi)的一種流行趨勢,為電影票的銷售與電影文化的傳播提供高效的渠道。本文通過使用Java語言和SSM框架,借鑒國內(nèi)優(yōu)秀的影院網(wǎng)站,新設(shè)計一款影院購票網(wǎng)站,用戶隨時隨地可以選擇自己中意的電影,在網(wǎng)上進行選座,解決了用戶購票排隊的煩惱,也消除了顧客無法及時購買熱門影票的困惑。2應(yīng)用技術(shù)及開發(fā)環(huán)境的介紹

8、2.1 Java的簡介Java是面向?qū)ο蟮木幊陶Z言,也是目前最主流的開發(fā)語言,這門語言很容易掌握,并且與其他開語言都有著許多共同的地方,學會Java后再去學習其他語言將會事半功倍。而且Java項目可以在很多平臺上工作,比如:Linux、Unix等1。2.2 MySQL的簡介MySQL是一款功能非常強大的數(shù)據(jù)庫軟件,靈活性強,速度快,使用的是人們最常用的標準化SQL語言,而且還是開源的,這讓許多非大型企業(yè)將它作為數(shù)據(jù)庫軟件的首選2。2.3 JS的簡介JS是在web項目中經(jīng)常使用的腳本語言,它可以實現(xiàn)頁面的各種特效,也能做到頁面局部刷新,提供給用戶良好的用戶體驗和流暢酷炫的操作界面。JS代碼可以直

9、接放在頁面中來實現(xiàn)其功能,也可以存放在一個特定的文件中,通過調(diào)用這個文件來使用其中的代碼3。2.4 CSS的簡介CSS主要作用是對頁面進行排版以及樣式修改,可以精確控制各個頁面元素的大小、顏色等屬性,是現(xiàn)階段最好的表現(xiàn)設(shè)計語言4。2.5 開發(fā)環(huán)境的介紹本系統(tǒng)是在win7 64位的操作系統(tǒng)上完成的,用到的開發(fā)軟件有Google Chrome、Eclipse、Navicat Premium,所選擇的數(shù)據(jù)庫是MySQL,運用到的技術(shù)為:Java、JS、CSS5。3應(yīng)用框架的介紹3.1 SSM框架概述SSM框架集由Spring、SpringMVC、MyBatis三個開源框架整合而成的web項目的框架。

10、是標準的MVC模式,SpringMVC處理請求的轉(zhuǎn)發(fā)和視圖管理,Spring管理業(yè)務(wù)對象, MyBatis則是于數(shù)據(jù)庫進行交互6。3.2 Spring框架的簡介Spring是一個開源輕量級的框架,是由7個可以獨立存在也可以互相連接存在的模塊組成。適用于所有的Java項目,簡化了項目的開發(fā),是目前最主流的開發(fā)框架7。3.3 SpringMVC框架的簡介它是Spring自帶的一個MVC開發(fā)框架,將業(yè)務(wù)、數(shù)據(jù)和展現(xiàn)分離,避免互相之間造成干擾。先將請求發(fā)送給指定的處理程序,通過一系列的配置處理請求,然后跳轉(zhuǎn)到相應(yīng)的視圖8。3.4 Mybatis框架的簡介Mybatis是Apache的一個開源框架(原名

11、叫 HYPERLINK /view/628102.htm t /_blank iBatis),根據(jù) JDBC 規(guī)范建立與數(shù)據(jù)庫的連接,對sql進行了封裝和外部化,使sql從應(yīng)用程序代碼中分離出來9。4網(wǎng)上電影院購票系統(tǒng)分析設(shè)計4.1 網(wǎng)上電影院購票系統(tǒng)需求分析由于傳統(tǒng)的影院人工售票手續(xù)繁瑣、易產(chǎn)生錯誤訂單、辦公效率低下、造成事倍功半的效果;而用戶也會遇到購票隊伍太長浪費時間、不能及時地買到最新上映電影票、實物票丟失等問題,開發(fā)一款電影院網(wǎng)上購票的網(wǎng)站能夠一定程度上解決上面的問題。根據(jù)電影管理、電影排片、用戶購票等相關(guān)業(yè)務(wù),可以吧電影院網(wǎng)上購票系統(tǒng)分為兩個大模塊,分別是后臺管理和前臺網(wǎng)站。后臺管

12、理分為用戶管理、影院管理、放映記錄管理、影片管理等功能;前臺網(wǎng)站則分為用戶注冊登陸、影院和影片展示、用戶選座訂票等功能。4.2 網(wǎng)上電影院購票系統(tǒng)技術(shù)支持將SSM框架整合,搭建開發(fā)環(huán)境,系統(tǒng)具有較高的自由度,可以良好地對SQL語句進行控制,大幅提高開發(fā)效率。使用MySQL開源數(shù)據(jù)庫,它支持大部分的數(shù)據(jù)類型并且可以在不同的開發(fā)環(huán)境中工作。JavaScript語言能夠完成各種頁面展示效果。Jquery是JavaScript一個集合庫,簡短的Jquery代碼可以完成以前繁瑣的代碼的功能,使開發(fā)變得非常快速敏捷10。在JSP中先使用div標簽將頁面進行劃分,合理地對界面進行布局;再使用css樣式對布局

13、樣式進行修改,形成對特的風格。 4.3 網(wǎng)上電影院購票系統(tǒng)概要設(shè)計系統(tǒng)功能模塊具體如下圖所示:圖4-1 系統(tǒng)功能圖(1)用戶在前臺網(wǎng)站可以進行登錄;(2)用戶能夠在前臺網(wǎng)站上瀏覽到最新的影片;(3)用戶能夠在網(wǎng)站上瀏覽各個合作影院的詳情;(4)用戶選中影院、影片和日期后可以選擇一條放映記錄進行網(wǎng)絡(luò)選座,創(chuàng)建訂單;(5)用戶進入用戶中心后能夠修改自己的信息和登錄密碼、查看訂單;(6)管理員能夠新增最新的影片并且對影片信息進行維護和更新;(7)管理員能夠新增和更新合作影院的信息;(8)管理員能夠新增和更新各個影院放映廳信息。放映廳座位要先選擇放映廳大小,再對放映廳座位的布局進行設(shè)置;(9)管理員選

14、擇影院、影片和放映廳后根據(jù)這個放映廳上部電影結(jié)束時間設(shè)置新的放映記錄;(10)管理員能夠分頁查看所有的訂單;(11)管理員能夠?qū)τ捌悇e信息進行管理;(12)管理員能夠?qū)Φ貐^(qū)信息進行管理。4.4 網(wǎng)上電影院購票系統(tǒng)數(shù)據(jù)庫分析根據(jù)業(yè)務(wù)需求和所需要存儲的信息,整理分析影片、影院、用戶、訂單等多個實體所包含的屬性以及它們之間的關(guān)系,設(shè)計出以下的E-R圖:圖4-2 網(wǎng)上電影院購票系統(tǒng)E-R圖5網(wǎng)上電影院購票系統(tǒng)詳細設(shè)計5.1 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計根據(jù)E-R圖,創(chuàng)建所需要的關(guān)系模型如下:(1)用戶(t_user):用戶id、昵稱、性別、郵箱、余額、手機、登錄賬號、登錄密碼;(2)影片(t_film):影片id

15、、中文名稱、英文名稱、語言、類別、放映類型、導(dǎo)演、演員、片長、上映日期、影院詳情、評分、添加時間、國家、影片簡評、影片海報路徑;(3)影片組圖(t_film_img):圖片id、路徑、影片id;(4)影片類別(t_category):類別id、影片類別名稱;(5)影院(t_cinema):影院id、名稱、地區(qū)id、地區(qū)詳細信息、評分、聯(lián)系電話、影院特色、影院詳情、優(yōu)惠及服務(wù)、影院海報路徑;(6)影院組圖(t_cinema_img):圖片id、路徑、影院id;(7)地區(qū)(t_area):地區(qū)id、名稱、上級地區(qū)id;(8)放映廳(t_room):放映廳id、名稱、座位布局信息、類型、座位數(shù)量、影

16、院id;(9)放映紀錄(t_record):記錄id、影院id、影片id、放映廳id、開始時間、預(yù)計結(jié)束時間、總票數(shù)、已售票數(shù)、單價;(10)訂單(t_order):訂單id、購買時間、訂單狀態(tài)、總價、放映紀錄id、座位數(shù)量、用戶id、座位詳情、取票手機。5.2 數(shù)據(jù)庫邏輯設(shè)計 5.2.1 數(shù)據(jù)庫主表使用Navicat Premium軟件創(chuàng)建一個本地連接并建立一個數(shù)據(jù)庫db_cinema如下所示:表5-1 db_cinema數(shù)據(jù)庫表名描述t_user用來存放用戶的信息t_film用來存放影片信息t_film_img用來存放影片的圖片信息t_category用來存放影片類別信息t_cinema用

17、來存放影院信息t_cinema_img用來存放影院的圖片信息t_area用來存放地區(qū)信息t_room用來存放放映廳信息t_record用來存放放映記錄信息t_order用來存放訂單信息5.2.2主要表詳細設(shè)計t_user表用于記錄網(wǎng)站用戶信息,主要字段有用戶的id、余額、登錄賬號、密碼。表5-2 t_user表名稱數(shù)據(jù)類型大小說明idint自增主鍵namevarchar128昵稱usernamevarchar64登錄賬號passwordvarchar64密碼phonevarchar32聯(lián)系方式emailvarchar32郵箱moneydouble10賬戶余額sexvarchar16性別t_fi

18、lm表用于記錄影片信息,主要字段有影片id、名稱、片長、上映日期。表5-3 t_film表名稱數(shù)據(jù)類型大小說明idint自增主鍵namevarchar64中文名稱eng_namevarchar64英文名稱languagevarchar20語言類型typevarchar32類型show_typevarchar32放映類型directorvarchar64導(dǎo)演actorsVarchar255演員lengthvarchar16片長first_datedate0上映日期contenttext0影片簡介scoredouble2評分simple_contentvarchar255一句話影評Countryv

19、archar32國家img_urlvarchar255封面圖片路徑t_cinema表用于記錄影院信息,主要字段有影院id、名稱、地區(qū)id、聯(lián)系電話、海報地址。表5-4 t_cinema表名稱數(shù)據(jù)類型大小說明idint自增主鍵namevarchar128影院名稱area_idvarchar64地區(qū)idarea_contentvarchar128地區(qū)詳細信息scoredouble2評分phonevarchar32聯(lián)系方式characteristicvarchar255特色contenttext0詳情介紹discountvarchar255優(yōu)惠及服務(wù)img_urlvarchar255宣傳圖片地址t_

20、room表用于記錄放映廳信息,主要字段有放映廳id、名稱、影院id、座位布局信息。表5-5 t_room表名稱數(shù)據(jù)類型大小說明idint自增主鍵namevarchar128名稱room_contenttext0座位布局信息typeint1型號numint4座位數(shù)量cinema_idint20影院idt_record表用于記錄放映記錄信息,主要字段有id、影片id、影院id、放映廳id、價格。表5-6 t_record表名稱數(shù)據(jù)類型大小說明idint自增主鍵film_idint20影片idcinema_idint20影院idroom_idint20放映廳idstart_timetimestamp

21、0開始時間end_timetimestamp0預(yù)計放映結(jié)束時間total_numint4總座位數(shù)sel_numint4已售座位數(shù)pricedouble6價格t_order表用于存放訂單信息,主要字段有id、放映記錄id、支付金額、座位信息。表5-7 t_order表名稱數(shù)據(jù)類型大小說明idint自增主鍵user_idint20用戶idrecord_idint20放映記錄idseat_numint4座位數(shù)量seat_infotext0座位信息moneydouble6金額statusint1狀態(tài)add_timetimestamp0購買時間phonevarchar32取票手機號5.3 數(shù)據(jù)庫連接的實

22、現(xiàn)框架搭建完成之后就需要連接數(shù)據(jù)庫了,先導(dǎo)入連接MySQL的連接jar包,再向xml配置文件中插入以下代碼: 5.4 界面設(shè)計5.4.1 后臺界面后臺管理界面頭部顯示系統(tǒng)名稱和管理員名稱。主體部分由左右兩個部分組成,左側(cè)是垂直導(dǎo)航欄,當用戶點擊左側(cè)的導(dǎo)航欄后,會在右側(cè)顯示相應(yīng)的信息,實現(xiàn)效果如圖5-1所示。圖5-1 后臺界面設(shè)計實現(xiàn)圖5.4.2 前臺界面前臺用戶界面頭部顯示用戶的狀態(tài)信息和網(wǎng)站圖標,以及水平導(dǎo)航欄,尾部顯示版權(quán)信息。主體部分用來展示影片、影院的信息,實現(xiàn)效果如圖5-2所示。圖5-2 前臺界面設(shè)計實現(xiàn)圖5.5 使用流程設(shè)計管理員需要現(xiàn)在后臺進行數(shù)據(jù)的錄入,先錄入地區(qū)、類別等系統(tǒng)參

23、數(shù)信息,然后再錄入影片、影院信息,其中影院包括其放映廳的信息,最后錄入放映記錄信息。而且管理員可以在后臺查看用戶和訂單的信息。用戶在前臺頁面可以瀏覽影院和影片的信息,進入詳情頁后可以查詢到對應(yīng)的場次信息,用戶登陸后可以進行選座購票。用戶可以在個人中心查看購買記錄、修改個人信息、賬戶充值。5.6 詳細實現(xiàn)5.6.1 用戶注冊的實現(xiàn)用戶能夠在前臺進行注冊,界面如圖5-3所示,在后臺會對信息進行驗證,如果數(shù)據(jù)正確則注冊成功,如果信息有誤則提示錯誤信息并且留在當前頁面。圖5-3 用戶注冊界面SQL語句:INSERT INTO t_user (username,password,name,sex,pho

24、ne,email,money) VALUES (#username,#password,#name,#sex,#phone,#email,#money)Service層:userMapper.getUserByUserName(user.getUsername();/查詢用戶是否已經(jīng)注冊userMapper.addUser(user);/向數(shù)據(jù)庫添加用戶Controller層:userService.addUser(user);/調(diào)用添加用戶方法頁面代碼:注冊/頁面提交按鈕$(#submit).on(click,function().)/發(fā)送添加用戶請求5.6.2 影片瀏覽的實現(xiàn)當用戶點擊導(dǎo)航

25、欄“影片”按鈕后,會跳轉(zhuǎn)到影片列表頁面,如圖5-4所示,用戶可以通過版本、類型還有語言這三個屬性進行篩選,另外還可以選擇其他的排序方式。圖5-4 影片列表頁面SQL語句:SELECT id,name,english_name,language,type,director,actors,length,show_type,country,first_date,content,happy_num,score,add_time,update_time,simple_content,img_url FROM t_film WHERE first_date Between TIMESTAMPADD(DAY

26、 ,-7,TIMESTAMP(CURRENT_DATE() AND CURDATE() and name LIKE #param3 and type = #param4and show_type = #param5 and language = #param6 ORDER BY name ORDER BY first_date DESC ORDER BY score DESC LIMIT #0,#1Service層:list=filmMapper.getFilmsByTJ(current_1)*page_size, page_size,%+ key+%, type, bb, language,

27、 order_type);/查詢當前頁碼的影片信息Controller層:filmService.getFilmsByTJ(current_page,page_size,key,type,bb,language,order_type);/調(diào)用按條件分頁查詢影片方法頁面代碼:/影片列表展示標簽getInfoByPage(current_page);/獲取當前頁的影片信息在影片列表頁面用戶可以點擊影片名稱進入影片詳情頁,如圖5-5所示,進入影片詳情頁之后用戶可以選擇地區(qū)、影院和日期,在放映記錄顯示模塊則會顯示對應(yīng)的放映記錄。圖5-5 影片詳情頁面SQL語句:SELECT id,name,engli

28、sh_name,language,type,director,actors,length,show_type,country,first_date,content,happy_num,score,add_time,update_time,simple_content,img_url FROM t_film WHERE id=#id/查詢影片詳情SELECT r.id,start_time, AS room_name,end_time,price FROM t_record AS r,t_room AS ro WHERE r.room_id=ro.id AND r.film_id=#0 AND

29、r.cinema_id =#1 AND start_time LIKE #2 AND start_time timestampadd(MINUTE,30,CURRENT_TIMESTAMP() ORDER BY r.start_time/查詢放映記錄 Service層:film=filmMapper.getFilmByID(id);/查詢影片詳情film.setFilmImgs(filmImgMapper.getFilmImgsByFilmID(id);/查詢影片組圖recordMapper.getRecordByCinemaAndFilm(film_id, cinema_id,start_t

30、ime+%);/查詢放映記錄信息Controller層: map=filmService.getFilmByID(id);/調(diào)用查詢影片詳情方法recordService.getRecordByCinemaAndFilm(film_id,cinema_id,start_time);/調(diào)用查詢放映記錄方法頁面代碼:/影片詳情展示標簽function set_film_info()./設(shè)置影片詳細信息function set_record_info(film_id,id,d)./設(shè)置放映記錄信息5.6.3 影院瀏覽的實現(xiàn)當用戶點擊導(dǎo)航欄“影院”后,會跳轉(zhuǎn)到影院列表頁面,如圖5-6所示,用戶可以選擇

31、地區(qū)進行篩選,還可以選擇按評分排序。圖5-6 影院列表頁面SQL語句:SELECT id,name,area_id,area_content,whole_area,score,phone,characteristic,content,discount,img_urlFROM t_cinema WHERE area_id LIKE #0 ORDER BY name ORDER BY score DESC LIMIT #2,#3Service層:list=cinemaMapper.getCinemasByPage(current_1)*page_size,page_size);/查詢當前頁碼的影院

32、信息Controller層:cinemaService.getCinemasByPage(current_page,page_size)/調(diào)用分頁查詢影院方法頁面代碼:/影院列表展示標簽function getInfoByPage(currentPage)./獲取當前頁的影院信息用戶進入影院列表頁后可以點擊查看影院的詳情,然后選擇影片和放映日期則會篩選處相應(yīng)的放映紀錄如圖5-7所示。圖5-7 影院詳情頁面SQL語句:SELECT id,name,area_id,area_content,whole_area,score,phone,characteristic,content,discount

33、,img_urlFROM t_cinema WHERE id=#id/查詢影院的信息SELECT id,img_url,film_id FROM t_film_img WHERE film_id=$_parameter/查詢影院組圖 Service層:cinema=cinemaMapper.getCinemaByID(id);/查詢影院詳情cinema.setCinemaImgs(cinemaImgMapper.getCinemaImgsByCinemaID(id);/查詢影院組圖Controller層: cinemaService.getCinemaByID(id);/調(diào)用查詢影院詳情方法頁

34、面代碼:./影片詳情展示標簽$.ajax(url : ./cms/cinema/getCinemInfoByID.do,data : id:id.)/向后抬發(fā)送請求獲得影院詳情5.6.4 網(wǎng)上選座購票的實現(xiàn)當用戶點擊放映紀錄的“購買選座”按鈕后,頁面會跳轉(zhuǎn)到選座購票頁面用戶可以進行選座,選座結(jié)果會在右側(cè)的訂單信息欄中顯示,輸入取票手機號,如圖5-8所示,點擊確認購買后完成購買。圖5-8 選座購票頁面SQL語句:Update t_record set sel_num=sel_num+#1 where id=#0/更新座位數(shù)INSERT INTO t_order (user_id,record_i

35、d,seat_num,seat_info,money,status,add_time,phone) VALUES (#user_id,#record_id,#seat_num,#seat_info,#money,#status,#add_time,#phone)/添加訂單UPDATE t_user SET money = money-#1 WHERE id=#0/用戶扣除費用Service層:recordMapper.updateRecordByOrder(order.getRecord_id(), order.getSeat_num();/更新放映記錄的座位數(shù)量orderMapper.add

36、Order(order);/創(chuàng)建訂單userMapper.updateUserMoney(order.getUser_id(), order.getMoney();/扣除費用Controller層: orderService.addOrder(order);/調(diào)用添加訂單方法頁面代碼:確認購買/下單按鈕$(#ToBuy).on(click,function().)/點擊購買按鈕向后臺申請下單5.6.5 個人中心的實現(xiàn)用戶還可以進入點擊“個人中心”導(dǎo)航欄按鈕,用戶可以查看自己的訂單,修改個人信息,修改密碼如圖5-9所示。圖5-9 用戶個人中心頁面SQL語句:UPDATE t_user SET p

37、assword = #password WHERE id=#id/修改密碼UPDATE t_user SET name = #name,sex = #sex,email = #email,phone = #phone WHERE id=#id/修改用戶個人信息Service層:user.setPassword(MD5Utils.md5Encode(password);/進行MD5加密userMapper.updatePassowrd(user);/修改密碼userMapper.updateUser(user); /修改用戶信息Controller層: userService.updatePas

38、sword(user_id,MD5password,password);/調(diào)用修改密碼方法userService.updateUser(user_id,name,sex,email,phone);/調(diào)用修改信息方法頁面代碼:確認修改/密碼修改確認按鈕確認修改/修改個人信息確認按鈕$(#submit_password).on(click,function().)/發(fā)送修改密碼請求$(#submit_update).on(click,function().)/發(fā)送修改個人信息請求5.6.6 后臺影片管理的實現(xiàn)管理員在后臺可以對影片進行管理,如圖5-10所示,管理員可以增加影片,修改影片,刪除影片。

39、圖5-10 影片管理頁面SQL語句:INSERT INTO t_film (name,english_name,language,type,director,actors,length,show_type,country,first_date,content,simple_content,img_url,add_time,happy_num,score) VALUES(#name,#english_name,#language,#type,#director,#actors,#length,#show_type,#country,#first_date,#content,#simple_con

40、tent,#img_url,#add_time,0,0)/添加電影信息UPDATE t_film SET name=#name,english_name=#english_name,length=#length,first_date=#first_date,type=#type,language=#language,show_type=#show_type,country=#country,director=#director,actors=#actors,simple_content=#simple_content,content=#content,img_url=#img_url WHER

41、E id = #id/修改電影信息Service層:filmMapper.addFilm(film);/添加影片int id=filmMapper.getMaxID();/獲取最新添加的影片的idfor(int i=0;iimgs.length;i+)FilmImg filmImg =new FilmImg(0, imgsi, id);/新建影片圖片對象filmImgMapper.addFilmImg(filmImg);/保存影片圖片信息filmMapper.updateFilm(film);/更新影片信息filmImgMapper.deleteFilmImgByFilmID(film.get

42、Id();/刪除影片原來圖片for(int i=0;iimgs.length;i+)/新建一個影片圖片對象FilmImg filmImg =new FilmImg(0, imgsi, film.getId();filmImgMapper.addFilmImg(filmImg);/保存影片圖片信息Controller層: filmService.addFilm(film, imgs);/調(diào)用添加電影方法filmService.updateFilm(film, imgs);/調(diào)用修改電影方法頁面代碼:$(#submit_add_film).on(click,function().)/發(fā)送添加影片請

43、求$(#submit_update_film).on(click,function().)/發(fā)送修改影片信息請求5.6.7 后臺影院管理的實現(xiàn)管理員可以再后臺對合作影院進行管理,如圖5-11所示,可以增加、修改、刪除影院。圖5-11 影院管理界面SQL語句:INSERT INTO t_cinema (name,area_id,area_content,whole_area,phone,characteristic,content,discount,img_url,score) VALUES(#name,#area_id,#area_content,#whole_area,#phone,#cha

44、racteristic,#content,#discount,#img_url,0)Service層:/按名稱查詢影院看Cinema cinema2=cinemaMapper.getCinemaByName(cinema.getName();if(null = cinema2)/如果這個名稱的影院不存在cinemaMapper.addCinema(cinema);/添加影院int id=cinemaMapper.getMaxID();/過得這個影院的id/保存影院宣傳圖片的信息for(int i=0;iimgs.length;i+)CinemaImg cinemaImg =new Cinema

45、Img(0, imgsi, id);cinemaImgMapper.addCinemaImg(cinemaImg);Controller層:cinemaService.addCinema(cinema, imgs);/調(diào)用添加影院方法頁面代碼:確認添加/影院添加確認按鈕$(#submit_add_cinema).on(click,function().)/發(fā)送添加影院請求每個影院有自己的放映廳,管理員可以通過“查看放映廳”按鈕,跳轉(zhuǎn)到放映廳管理界面,如圖5-12 所示,用戶可以再次對這個影院的放映廳進行管理。圖5-12 放映廳管理界面SQL語句:SELECT id,name,room_cont

46、ent,type,num,cinema_id FROM t_room WHERE cinema_id=#cinema_id AND name=#name/查詢放映廳信息INSERT INTO t_room (name,room_content,type,num,cinema_id) VALUES (#name,#room_content,#type,#num,#cinema_id)/添加放映廳Service層:/根據(jù)放映廳名稱和影院id查詢放映廳信息Room room2=roomMapper.getRoomByNameAndCinemaID(room);if(null = room2)/判斷這

47、個影院是否已存在這個名字的放映廳roomMapper.addRoom(room);/添加放映廳信息Controller層: roomService.addRoom(room);/調(diào)用添加放映廳方法頁面代碼:$(#add_room).on(click,function().)/發(fā)送添加放映廳請求5.6.8 放映記錄管理的實現(xiàn)管理員點擊左側(cè)導(dǎo)航“放映記錄”按鈕,將會跳轉(zhuǎn)到放映紀錄管理頁面,如圖5-13所示,管理員可以在此添加放映紀錄,但不能修改刪除,添加放映紀錄需要選擇影片,影院,放映廳,設(shè)置開始時間和價格,這樣才能成功添加。圖5-13 放映記錄管理頁面SQL語句:INSERT INTO t_re

48、cord (film_id,cinema_id,room_id,start_time,end_time,code,total_num,sel_num,price) VALUES (#film_id,#cinema_id,#room_id,#start_time,#end_time,#code,#total_num,0,#price)/添加放映記錄Service層:String time=length.split(:);/將String格式的片長進行處理/根據(jù)影片片長設(shè)置結(jié)束時間record.setEnd_time(new Timestamp(record.getStart_time().get

49、Time()/1000+Integer.valueOf(time0)*60*60+Integer.valueOf(time1)*60+Integer.valueOf(time2)*1000);record.setCode(String.valueOf(System.currentTimeMillis();/設(shè)置放映編號recordMapper.addRecord(record);/添加放映記錄Controller層:recordService.addRecord(record,length);/調(diào)用添加放映記錄方法頁面代碼:$(#add_btn).on(click,function().)/發(fā)

50、送添加放映記錄請求5.6.9 訂單/用戶管理的實現(xiàn)訂單和用戶管理差不多,管理員只能進行查看暫時不能進行其他操作,避免暗箱操控。但是都可以按條件分頁查詢相關(guān)信息,管理頁面如圖5-14所示。圖5-14 訂單/用戶管理頁面SQL語句:ISELECT o.id AS id,o.user_id AS user_id,o.record_id AS record_id,o.seat_num AS seat_num,o.seat_info AS seat_info,o.money AS money,o.add_time AS add_time ,o.phone AS phone,f.id AS film_id

51、, AS film_name , f.img_url AS film_img_url,c.id AS cinema_id, AS cinema_name,c.img_url AS cinema_img_url FROM t_order AS o ,t_record AS r ,t_film AS f ,t_cinema AS c WHERE o.record_id =r.id and r.film_id = f.id and r.cinema_id=c.id AND o.user_id =#2AND o.phone =#3AND LIKE #4 LIMIT #0,#1/訂單查詢SELECT i

52、d,name,username,phone,email,money,sex FROM t_user WHERE 1=1 and phone=#param3 and email=#param4 and (username like %$param5% or name like %$param5%) limit #0,#1/用戶查詢Service層:list=orderMapper.getOrdersByPage(current_1)*page_size, page_size, user_id, phone, %+film_name+%);/分頁查詢訂單信息list=userMapper.getU

53、sers(current_1)*page_size, page_size, phone, email, username);/分頁查詢用戶信息Controller層:userService.getUsers(current_page, page_size, phone, email, username);/調(diào)用按條件分頁查詢用戶方法orderService.getOrdersByPage(current_page,page_size,user_id,phone,film_name);/調(diào)用按條件分頁查詢訂單方法頁面代碼:var _html = ;/新建一個空字符串/用for循環(huán)遍歷返回的結(jié)果,

54、并且進行拼接$(data.data.data).each(function(i, item) .);$(#show_orders_info).html(_html);/將拼接的代碼放入顯示信息的標簽中page();/設(shè)置頁碼信息5.6.10 地區(qū)管理的實現(xiàn)管理員點擊左側(cè)導(dǎo)航欄“地區(qū)”按鈕,就可以進入地區(qū)管理頁面進行地區(qū)管理,如圖5-15所示,根據(jù)父級地區(qū)的選擇會分頁顯示其自地區(qū)的信息,并且可以在這個父地區(qū)下進行地區(qū)的修改、添加、刪除。圖5-15 地區(qū)管理頁面SQL語句:INSERT INTO t_area (name,fatherID) VALUES (#0,#1);/添加地區(qū)UPDATE t

55、_area SET name = #name WHERE id = #id/修改地區(qū)Service層:Area area=areaMapper.getAreaByName(name); /根據(jù)名稱查詢地區(qū)信息if(null=area)/如果該名稱的地區(qū)不存在areaMapper.addArea(name, fatherID);/添加地區(qū)/根據(jù)名稱查詢地區(qū)信息Area area1=areaMapper.getAreaByName(area.getName();/如果地區(qū)名稱不存在或者id一致if(null=area1|area.getId()=area1.getId() areaMapper.u

56、pdateArea(area);/修改地區(qū)信息Controller層:areaService.addArea(name,fatherID);/調(diào)用添加地區(qū)方法areaService.updateArea(area);/調(diào)用修改地區(qū)方法頁面代碼:$(#add_area).on(click, function() .)/向后臺發(fā)送添加地區(qū)請求function updateArea(id).)/根據(jù)id對地區(qū)信息進行修改并向后抬發(fā)送請求5.6.11 影片類別管理的實現(xiàn)為了可以與時俱進,本系統(tǒng)設(shè)置了類別管理,可以保證影片類別可以和時代接軌,管理頁面如圖5-16所示。圖5-16 影片類別管理界面SQL語

57、句:IINSERT INTO t_category (name) VALUES (#name)/添加類別UPDATE t_category SET name = #name WHERE id = #id/修改類別Service層:/根據(jù)名稱查詢類別信息Category category2=categoryMapper.getCategoryByName(category);if(null=category2)/如果數(shù)據(jù)庫中沒有這個名稱的類別categoryMapper.addCategory(category);/添加影片類別/根據(jù)名稱查詢類別信息Category category2=cate

58、goryMapper.getCategoryByName(category);/如果這個名稱的類別不存在或者id一致if(null=category2|category.getId()=category2.getId()categoryMapper.updateCategory(category);/修改類別信息Controller層:categoryService.addCategory(category);/調(diào)用添加類別方法categoryService.updateCategory(category);/調(diào)用修改類別方法頁面代碼:$(#add_category).on(click,fun

59、ction().)/向后抬發(fā)送添加類目請求$(tbody).on(click,.edit_btn,obj:this,function().)/動態(tài)綁定修改類目方法6系統(tǒng)測試6.1軟件測試方法測試系統(tǒng)是保證系統(tǒng)質(zhì)量的唯一方法,而測試系統(tǒng)的方法有很多,下面具體介紹一下白盒測試中的條件覆蓋方法和判定覆蓋方法。(1)條件覆蓋方法這種測試方法就是設(shè)計的測試用例能夠讓程序中所有的判定至少執(zhí)行一次,無論判定結(jié)果是正確還是錯誤。(2)判定覆蓋方法這種測試方法就是設(shè)計的測試用例可以讓程序中的判定結(jié)果為正確和錯誤的情況都發(fā)生,而且每種至少一次。6.2軟件測試原則(1)所有的測試都以滿足用戶需求為目標;(2)項目啟動后應(yīng)盡快組織測試,而且測試要隨著項目開發(fā)持續(xù)下去,避免后期出現(xiàn)嚴重問題導(dǎo)致開發(fā)成本大幅提高;(3)測試需要適可而止,不能永無止境地測下去,完全測試是不可能的;(4)世上沒有一款軟件是毫無缺陷的,所以每款軟件都需要后期測試維護;(5)當測試時發(fā)現(xiàn)某個模塊或者是某個功能存在很多bug,則需要對這塊代碼進行更加深入的測試;(6)組織特定的測試人員對項目進行測試,避免開發(fā)者自己測試;(7)測試不能過于隨意,需要經(jīng)過分析設(shè)計之后才能進行測試。6.3 功能測試6.3.1選座購票測試設(shè)計測試選座購票的用例,測試結(jié)果如表6-1所示。表 6

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論