基于java springboot + mybatis實現(xiàn)電影售票管理系統(tǒng)
主要技術(shù)框架:spring、 springmvc、 springboot、mybatis 、 jquery 、templates模板 、bootstarp.js tomcat、maven、攔截器等
主要功能實現(xiàn)
前端主要功能實現(xiàn)
影院首頁、輪播圖展示、電影查看、熱門影院、熱門電影、熱門資訊等、影院查看、電影資訊查看、電影信息詳情查看、查看場次、電影座位選座購票、電影評論、訂單支付、查看訂單信息、幫助說明、個人中心、我的影評、我的賬戶余額等
后臺主要功能實現(xiàn)
后臺主頁樹狀圖大數(shù)據(jù)信息查看、對影院個數(shù)據(jù)進行統(tǒng)計、主要統(tǒng)計有、入住影院、場次、注冊用戶、訂單信息、放映場次、充值、票房等數(shù)據(jù)統(tǒng)計展示。
具體業(yè)務(wù)模塊為:
系統(tǒng)設(shè)置、菜單管理、用戶管理、角色管理、日志管理、地域信息管理、電影管理、評價管理、影廳管理、拍片管理、資訊管理、資訊分類管理、用戶管理、訂單管理、支付管理等
主要截圖展示
前臺影院首頁
項目啟動進入電影主頁、主要查看電影輪播信息以及熱門電影、熱門影院和資訊等信息、用戶可以登錄注冊、登錄后可以查看個人信息、訂單、以及幫助中心等具體功能操作。
電影信息
點擊電影信息查看正在熱映或即將上映的電影信息、可以查看列表、點擊可以查看詳情信息
電影詳情
電影詳情模塊主要查看電影詳情信息、以及在線選票功能或查看評價電影信息
電影評價
用戶可以查看具體選座信息以及對電影進行評價
選座功能
用戶點擊選座購票進入購票頁面、選擇場次、選座、支付、提交訂單
選座主要前端代碼設(shè)計
<!DOCTYPE html> <html lang="zh"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta name="viewport" content="width=990, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <meta charset="utf-8" /> <meta name="renderer" content="webkit"> <title>貓眼電影票網(wǎng)_電影在線選座購票平臺</title> <meta name="keywords" content="貓眼電影票,貓眼電影票網(wǎng),貓眼電影院,貓眼影票,貓眼電影,電影票,電影"/> <meta name="description" content="貓眼電影票網(wǎng)是貓眼最大的電影票在線選座平臺,同時貓眼電影票網(wǎng)還提供電影排期,影院信息查詢、貓眼本土電影行業(yè)資訊等服務(wù)??措娪?,來貓眼電影票選座"/> <#include "../common/head-css.ftl"/> <link href="/home/css/jquery.jPages.css" rel="external nofollow" rel="external nofollow" rel="stylesheet" /> </head> <body> <#include "../common/header.ftl"/> <div id="body" class="main"> <div class="wrapper-film-chooseseat"> <div class="tip-nav-choosseeat"> <ul> <li class="wd1">1.選擇影片場次</li> <li class="wd2 act">2.在線選座</li> <li class="wd3">3.確認訂單支付</li> <li class="wd4">4.影院取票觀影</li> </ul> </div> <div class="fiml-chooseseat fn-clear"> <div class="film-choose-seat"> <div class="bg_screen clearfix"><span>熒幕</span></div> <div class="seat-description fn-acenter"> <p class="fn-clear"> <img src="/home/images/seat_able.jpg" /><span>可選</span> <img class="pl10" src="/home/images/seat_seled.jpg" /><span>已選</span> <img class="pl10" src="/home/images/seat_unable.jpg" /><span>已售</span> <img class="pl10" src="/home/images/seat_love.jpg" /> <img src="/home/images/seat_love.jpg" /><span>情侶座</span> </p> </div> <div class="box-seat-des"> <div id="seatcontainer"> <table id="seattable" class="seatdt"> <tbody> <#list cinemaHallSeatList as cinemaHallSeat> <#if cinemaHallSeat.x == 1> <tr> </#if> <td class="show-seat" style="width:38px;position:relative;cursor:pointer;padding-bottom:5px;" seatcol="${cinemaHallSeat.x}" seatrow="${cinemaHallSeat.y}" seatno="${cinemaHallSeat.id}" status="${cinemaHallSeat.status}" type="${cinemaHallSeat.type}" onclick="seatClick(this)"> <div class="seatno" style="width:38px;top:6px;"><#if cinemaHallSeat.status == 1 && cinemaHallSeat.type == 1>${cinemaHallSeat.x}</#if></div> <#if cinemaHallSeat.status == 1> <#if cinemaHallSeat.type == 2> <img style="z-index:120;" width="38px" height="30px" src="/home/images/seat_love.jpg"> <#else> <img style="z-index:120;" width="38px" height="30px" src="/home/images/seat_able.jpg"> </#if> <#else> <img style="z-index:120;" width="38px" height="30px" src="/home/images/seat_unable.jpg"> </#if> </td> <#if cinemaHallSeat.x == cinemaHallSession.cinemaHall.maxX> </tr> </#if> </#list> </tbody> </table> </div> </div> <table id="indextable" class="seatdt"> <tbody> <#list 1..cinemaHallSession.cinemaHall.maxY as y> <tr style="height:35px;"> <td align="center" valign="middle">${y}</td> </tr> </#list> </tbody> </table> </div> <div class="box-film-info"> <div class="film-info"> <h2>${cinemaHallSession.movie.name}</h2> <p>片長:${cinemaHallSession.movie.time}分鐘</p> <p>語言:${cinemaHallSession.movie.language.getName()}</p> <span class="pic"><img src="/photo/view?filename=${cinemaHallSession.movie.mainPic}" width="72" height="100" /></span> </div> <div class="film-detail"> <p><span class="cor999">影院:</span><span>${cinemaHallSession.cinema.name}</span></p> <p><span class="cor999">影廳:</span><span>${cinemaHallSession.cinemaHall.name}</span></p> <p><span class="cor999">票價:</span><span>${cinemaHallSession.newPrice} 元/張</span></p> <div class="screen-info fn-clear"> <span class="cor999">場次:</span> <span class="red">${cinemaHallSession.startTime}</span> <span class="change-showtime"></span> <div class="box-screen-today"> </div> </div> <div class="box-seatchoose"> <div id="seatchoose" class="fn-clear"> <div id="lblmsg" class="cor999">請選擇座位</div> </div> <p class="tip">已選擇<em>0</em>個座位,再次點擊座位可以取消</p> <span class="tg cor999">座位:</span> </div> </div> <div class="choose-result"> <p class="total"><span class="cor999">總計:</span><strong>0</strong><em class="fn-bold">元</em></p> <p><a class="btn" id="btnconfirm" href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >立即購票</a></p> </div> </div> </div> <div class="tip-description-choosseeat"> <h3><span class="titb">使用說明</span></h3> <p> 1.選擇你要預定的座位,重復點擊取消所選座位。<br /> 2.每筆訂單最多可選購4張電影票,情侶座不單賣。<br /> 3.選座時,請盡量選擇相鄰座位,請不要留下單個座位。<br /> 4.下單后請于15分鐘內(nèi)完成支付,超時系統(tǒng)將不保留座位。<br /> 5.電影票售出后暫不支持退換。<br /> 6.購票過程產(chǎn)生的各項咨詢,請撥打客戶電話400-660-5335。 </p> </div> </div> </div> <#include "../common/footer-js.ftl"/> <script src="/home/js/jquery.jPages.min.js" type="text/javascript"></script> <#include "../common/footer.ftl"/> <#include "../common/login-dialog.ftl"/> <script type="text/javascript"> $(document).ready(function(){ //提交訂單 $("#btnconfirm").click(function(){ if(selectedSeats == null || selectedSeats == 'undefined'){ alert('請至少選擇一個座位!'); return; } var data = {}; data.cinema_hall_session_id = ${cinemaHallSession.id}; data.cinema_hall_seat_ids = JSON.stringify(selectedSeats); ajaxRequest('/home/order/generate_order','post',data,function(rst){ //訂單提交成功,跳轉(zhuǎn)到支付頁面 window.location.href = '/home/order/order_pay?order_sn=' + rst.data; }); }); //遍歷所有的座位,根據(jù)訂單中的值改變其狀態(tài) $(".show-seat").each(function(i,e){ if(orderSeats.includes(parseInt($(e).attr('seatno')))){ $(e).attr('status',0); $(e).children("img").attr('src','/home/images/seat_unable.jpg'); $(e).children(".seatno").text(''); } }); }); var NormalPrice = parseFloat("${cinemaHallSession.newPrice}"); var selectedSeatMax = ${selectedSeatMax}; var selectedSeats; var orderSeats = ${orderSeatList!"[]"}; function seatClick(e){ if($(e).attr('status') == 1){ if($(e).attr('selected') != 'selected'){ if($('td[selected="selected"]').length >= selectedSeatMax){ alert('最多可選擇' + selectedSeatMax + '個座位!') return; } $(e).children("img").attr('src','/home/images/seat_seled.jpg'); $(e).attr('selected','selected'); }else{ if($(e).attr('type') == '2'){ $(e).children("img").attr('src','/home/images/seat_love.jpg'); $(e).removeAttr('selected'); }else{ $(e).children("img").attr('src','/home/images/seat_able.jpg'); $(e).removeAttr('selected'); } } setSeat(); } } function setSeat() { var html = ''; selectedSeats = new Array(); $('td[selected="selected"]').each(function(i,e){ var seatno = $(e).attr('seatno'); var seatrow = $(e).attr('seatrow'); var seatcol = $(e).attr('seatcol'); html += '<div id="' + seatno + '" class="seatinfo">' + seatrow + "排" + seatcol + "座" + '</div>'; selectedSeats.push({id:seatno}); }); $("#seatchoose div.seatinfo").remove(); $("#seatchoose").append(html); var selectedNum = $('td[selected="selected"]').length; if(selectedNum <= 0){ $("#lblmsg").show(); }else{ $("#lblmsg").hide(); } $(".choose-result .total strong").text(NormalPrice * selectedNum); $(".tip em").text(selectedNum); } </script> </body> </html>
提交訂單
提交訂單模擬支付完成購票操作
影片訂單詳情/取票
在我的個人中心查看購票信息、訂單詳情以及我的評論和余額管理等具體操作、這個整個流程是非常完善的
影院信息
影院詳情
點擊進入查看影院詳情信息、電影排片、影院介紹、影院評論等功能
資訊信息
用戶可以查看一些管理員發(fā)布的資訊信息
我的個人中心
后臺主要功能設(shè)計
后臺管理員登錄頁面、后臺主要功能有菜單管理、用戶管理、角色管理、日志管理、地域信息管理、電影管理、評價管理、影廳管理、拍片管理、資訊管理、資訊分類管理、用戶管理、訂單管理、支付管理等、太多了我就不一一截圖了
后臺系統(tǒng)主頁
對影院個數(shù)據(jù)進行統(tǒng)計、主要統(tǒng)計有、入住影院、場次、注冊用戶、訂單信息、放映場次、充值、票房等數(shù)據(jù)統(tǒng)計展示。
系統(tǒng)設(shè)置
菜單管理
點擊菜單管理查看后臺菜單信息、管理員可以對菜單進行添加、修改、刪除等一系列操作。
用戶管理
電影管理
添加電影信息
添加電影前端代碼
<!DOCTYPE html> <html lang="zh"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta name="viewport" content="width=990, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <meta charset="utf-8" /> <meta name="renderer" content="webkit"> <title>貓眼電影票網(wǎng)_電影在線選座購票平臺</title> <meta name="keywords" content="貓眼電影票,貓眼電影票網(wǎng),貓眼電影院,貓眼影票,貓眼電影,電影票,電影"/> <meta name="description" content="貓眼電影票網(wǎng)是貓眼最大的電影票在線選座平臺,同時貓眼電影票網(wǎng)還提供電影排期,影院信息查詢、貓眼本土電影行業(yè)資訊等服務(wù)??措娪埃瑏碡堁垭娪捌边x座"/> <#include "../common/head-css.ftl"/> <link href="/home/css/jquery.jPages.css" rel="external nofollow" rel="external nofollow" rel="stylesheet" /> </head> <body> <#include "../common/header.ftl"/> <div id="body" class="main"> <div class="wrap-detail"> <div class="wrapper-film-infodetail" style="background:url(/home/images/ico_bg_3.jpg) repeat-y center top;"> <div class="box-film-infodetail"> <div class="film-info-detail"> <h1> <span>${movie.name}</span> <em>${movie.rate!"0"}</em> </h1> <p class="excellent">${movie.abs!"暫無信息"}</p> <p> <span>導演:</span> <span>${movie.directedBy}</span> </p> <p class="actor"> <span>主演:</span> <span class="con">${movie.actor}</span> </p> <p> <span>語言:</span> <span>${movie.language.getName()}</span> </p> <p> <span>片長:</span> <span>${movie.time} 分鐘</span> </p> <p> <span>上映:</span> <span>${movie.showTime}</span> </p> <p class="intro ovhide"> <span>劇情:</span> <span class="con" data-t="<#if movie.info?length gt 118>${movie.info?substring(0,118)}...<#else>${movie.info}</#if>">${movie.info}</span> </p> <span class="img-main"><img src="/photo/view?filename=${movie.mainPic}" width="210" height="285" alt="${movie.name}" /></span> <div class="bdsharebuttonbox" data-tag="share_2"> <a class="bds_more" data-cmd="more">分享</a> </div> <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="flag">展開</a> </div> </div> </div> <div class="container fn-clear"> <div class="film-pics-detail"> <ul class="fn-clear"> <#if movie.video?? && movie.video?length gt 0> <li> <a class="filmVideo"> <img src="/photo/view?filename=${movie.mainPic}" width="150" height="100" /></a> <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="#verlayVideo" class="video-play"></a> </li> </#if> <#list movie.pictureList as pic> <li> <a rel="#verlayPics" href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="filmPics"> <img data-index="0" src="/photo/view?filename=${pic}" width="150" height="100" /> </a> <#if pic_index gt 2> <#break> </#if> </li> </#list> </ul> <div class="total"> <p class="bd"> <span>劇照:</span> <strong>${movie.pictureList?size}</strong> </p> <p> <span>視頻:</span> <strong><#if movie.video?? && movie.video?length gt 0>1<#else>0</#if></strong> </p> </div> </div> <div class="film-schedule-detail pt30"> <div class="schedule-filte"> <div class="title"> <span class="pq">排期購票</span> <span data-rel="#scrollComment" name="scrollComment" class="do-flim-comment">影評</span> </div> <div class="cinema"> <ul class="fn-clear"> <#if distinctCinemaHallSessionList?size == 0> 暫無影院 <#else> <#list distinctCinemaHallSessionList as cinemaHallSession> <#if ylrc_area??> <#if ylrc_area.id == cinemaHallSession.cinema.area.cityId> <li data-cid="${cinemaHallSession.cinema.id}" data-address="${cinemaHallSession.cinema.address}" data-name="${cinemaHallSession.cinema.name}"> <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >${cinemaHallSession.cinema.name}</a> </li> </#if> <#else> <li data-cid="${cinemaHallSession.cinema.id}" data-address="${cinemaHallSession.cinema.address}" data-name="${cinemaHallSession.cinema.name}"> <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >${cinemaHallSession.cinema.name}</a> </li> </#if> </#list> </#if> </ul> <span class="tg cor999">影院:</span> </div> <div class="date"> <ul class="fn-clear film-date-list"> <#if distinctShowDateCinemaHallSessionList?size == 0> 暫無排期 <#else> <#list distinctShowDateCinemaHallSessionList as cinemaHallSession> <#if ylrc_area??> <#if ylrc_area.id == cinemaHallSession.cinema.area.cityId> <li data-index="0" data-cid="${cinemaHallSession.cinema.id}"> <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >${cinemaHallSession.showDate}</a> </li> </#if> <#else> <li data-index="0" data-cid="${cinemaHallSession.cinema.id}"> <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >${cinemaHallSession.showDate}</a> </li> </#if> </#list> </#if> </ul> <span class="tg cor999">日期:</span> </div> </div> <div class="title pb10 pt30 cinematb"> <span class="titb"><a href="" id=" rel="external nofollow" focus-cinema"></a></span> <span class="cor999 pl10" id="focus-cinema-address"></span> </div> <div class="schedule-list" id="focus-schedule-list"> </div> </div> <div class="comment-hot-detail pt30 fn-clear"> <div class="comment"> <div class="title pb10" id="scrollComment"> <span class="titb">用戶評論</span> <span>共${commentList?size}條評論</span> </div> <div class="message-send"> <div class="box-send"> <div class="do-box-score"> <div class="do-score" data-average="0" data-id="doscore"></div> <span class="result">請評分</span> </div> <div id="recomment" class="do-message" contenteditable="true"></div> </div> <p class="fn-clear pt30"> <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="btn fn-right" id="submit-comment">發(fā)表評論</a> </p> <span class="photo"> <#if ylrc_account??> <img id="userheader" src="/photo/view?filename=${ylrc_account.headPic}" width="64" height="64" /> <#else> <img id="userheader" src="/home/images/ico_tb_lg.jpg" width="64" height="64" /> </#if> </span> </div> <div class="message-list pt30"> <ul id="message-container"> <#list commentList as comment> <li> <div class="username-score fn-clear"> <span class="fn-left">${comment.account.nickname!comment.account.mobile?replace(comment.account.mobile?substring(3,7),"****")}</span> <p class="fn-left ypscore" data-average="${comment.rate}" data-id="${comment.id}"> </p> </div> <p class="message-con">${comment.content}</p> <p class="time"> <span class="fn-right">${comment.createTime}</span> </p> <span class="photo"> <img src="/photo/view?filename=${comment.account.headPic}" width="64" height="64"> </span> </li> </#list> </ul> <#if commentList?? && commentList?size gt 0> <div class="fn-acenter"> <div class="jpage"></div> </div> <#else> <p class="error">還沒有評論,搶個沙發(fā)~</p> </#if> </div> </div> <div class="film-hot"> <div class="title pb10"> <span class="titb">正在熱映</span> </div> <ul> <#list topMovieList as topMovie> <li> <h3 class="overhide"> <a href="detail?id=${topMovie.id}" rel="external nofollow" rel="external nofollow" > <#if topMovie.name?length gt 25> ${topMovie.name?substring(0,25)}... <#else> ${topMovie.name} </#if> </a> </h3> <div class="score" data-average="${topMovie.rate!"0"}" data-id="${topMovie.id}"></div> <p class="info"> ${topMovie.abs!"暫無"} </p> <span class="img"> <a href="detail?id=${topMovie.id}" rel="external nofollow" rel="external nofollow" > <img src="/photo/view?filename=${topMovie.mainPic}" width="72" height="100" /> </a> </span> </li> </#list> </ul> </div> </div> </div> </div> <div class="verlayPics" id="verlayPics"> <div id="slider" class="verlay-film-pics"> <ul class="slides"> <#list movie.pictureList as pic> <li> <img src="/photo/view?filename=${pic}" width="600" height="400" /> </li> </#list> </ul> </div> <div id="carousel" class="verlay-film-thumb"> <ul class="slides"> <#list movie.pictureList as pic> <li data-i="0"> <img src="/photo/view?filename=${pic}" width="120" height="80" /> </li> </#list> </ul> </div> </div> <div class="verlayVideo" id="verlayVideo"> <div class="box-video"> <ul class="slides"> <#if movie.video?? && movie.video?length gt 0> <li data-thumb="/photo/view?filename=${movie.mainPic}" data-video="/download/download_video?filename=${movie.video}"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="600" height="400"> <param name="movie" value="/home/images/flvplayer.swf" /> <param name="quality" value="high" /> <param name="allowFullScreen" value="true" /> <param name="IsAutoPlay" value="1" /> <param name="wmode" value="transparent" /> <param name="FlashVars" value="vcastr_file=/download/download_video?filename=${movie.video}" /> <embed src="/home/images/flvplayer.swf" allowfullscreen="true" flashvars="vcastr_file=/download/download_video?filename=${movie.video}" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="600" height="400"></embed> </object> </li> </#if> </ul> </div> </div> </div> <#include "../common/footer-js.ftl"/> <script src="/home/js/jquery.jPages.min.js" type="text/javascript"></script> <#include "../common/footer.ftl"/> <#include "../common/login-dialog.ftl"/> <script type="text/javascript"> $(document).ready(function(){ $("#submit-comment").click(function(){ var content = $("#recomment").html(); var score = $(this).parent().parent().find(".result>em").text(); if (!score) { alert("請評分!"); return; } if(content == ''){ alert("請?zhí)顚懺u價內(nèi)容!"); return; } var data = {rate:score,content:content,'movie.id':${movie.id}}; ajaxRequest('/home/comment/comment_movie','post',data,function(rst){ alert('評價成功!'); window.location.reload(); }); }); var dataCon; if ($(".intro .con").height() > 52) { dataCon = $(".intro .con").text(); $(".intro .con").text($(".intro .con").attr("data-t")); $(".film-info-detail .flag").show(); } $(".film-info-detail .flag").toggle(function () { $(".intro .con").text(dataCon) $(this).css("bottom", "30px").text("收起"); $(".intro").removeClass("ovhide").addClass("tag"); }, function () { $(".intro .con").text($(".intro .con").attr("data-t")); $(this).css("bottom", "40px").text("展開") $(".intro").removeClass("tag").addClass("ovhide"); }); $(".message-list .jpage").jPages({ containerID: "message-container", perPage: 10, delay: 30, fallback: 200, minHeight: false, previous: "上一頁", next: "下一頁" }); $(".do-flim-comment").click(function () { $("html, body").animate({ scrollTop: $($(this).attr("data-rel")).offset().top + "px" }, { duration: 500, easing: "swing" }); return false; }); $("#recomment").focus(function () { if ("${ylrc_account!"false"}".toLowerCase() == "false") { $(".boxLogin").overlay({ api: true }).load(); return false; } }); $(".message-send .do-score").jRating({ rateMax: 10, sendRequest: false, rateInfosX: -35, rateInfosY: 15, canRateAgain: true, nbRates: 5, bigStarsPath: '/home/images/ico_tb_stars.jpg', onClick: function (e, r) { $(".do-box-score .result").html("<em>" + r + "</em>" + "分"); if ("${ylrc_account!"false"}".toLowerCase() == "false") { $(".boxLogin").overlay({ api: true }).load(); } } }); $('.score').jRating({ rateMax: 10, isDisabled: true, bigStarsPath: '/home/images/ico_tb_stars.jpg' }); $('.ypscore').jRating({ rateMax: 10, isDisabled: true, bigStarsPath: '/home/images/ico_tb_stars.jpg' }); $('.score').each(function () { if ($(this).attr("data-average") != "0") { var html = "<span class='jscore'>" + $(this).attr("data-average") + "</span>"; $(this).append(html); } }); $(".schedule-filte .cinema li").live('click', function () { $(this).siblings().removeClass("act").end().addClass("act"); var cid = $(this).attr('data-cid') var name = $(this).attr('data-name') var address = $(this).attr('data-address') $(".film-date-list li").each(function (i,e) { if($(e).attr("data-cid") != cid) { $(e).addClass("fn-hide"); }else{ $(e).removeClass("fn-hide"); } }); $("#focus-cinema").text(name); $("#focus-cinema").attr('href','/home/cinema/detail?id='+cid); $("#focus-cinema-address").text(address); }); $(".film-date-list li").live('click', function () { $(this).siblings().removeClass("act").end().addClass("act"); var mid = ${movie.id}; var cid = $(".schedule-filte .cinema li[class='act']").attr("data-cid"); var showDate = $(this).children("a").text(); $.get("get_show_session",{mid:mid,cid:cid,showDate:showDate},function(data,status){ $("#focus-schedule-list").empty(); $("#focus-schedule-list").append(data); }); }); $(".schedule-filte .cinema li:first").trigger("click"); $(".film-date-list li:first").trigger("click"); }); var test; var $slider; $(".filmPics").overlay({ closeOnClick: false, top: 'center', mask: { color: '#333', closeSpeed: 700, opacity: 0.8 }, onBeforeLoad: function () { $('body').on('mousewheel', function (e) { scrollFunc(e); }); }, onLoad: function (e) { $('#carousel').flexslider({ animation: "slide", controlNav: false, directionNav:false, animationLoop: false, slideshow: false, itemWidth: 120, startAt: $(e.target).attr("data-index"), asNavFor: '#slider' }); $('#slider').flexslider({ animation: "fade", controlNav: false, animationLoop: false, slideshow: false, startAt: $(e.target).attr("data-index"), sync: "#carousel", after: function () { $(".verlay-film-thumb .flex-direction-nav").show(); var idx = parseInt($("#carousel .slides li.flex-active-slide").attr("data-i")); if (((idx + 1) % 5) == 0) { $("#carousel").flexslider("next"); } } }); $(".filmPics").each(function (i) { $(this).click(function () { $('#carousel').flexslider(i); $('#slider').flexslider(i); }); }); }, onClose: function () { $('body').off('mousewheel'); } }); $(".video-play").overlay({ closeOnClick: false, top: 'center', mask: { color: '#333', closeSpeed: 100, opacity: 0.8 }, onBeforeLoad: function () { $('body').on('mousewheel', function (e) { scrollFunc(e); }); }, onBeforeLoad: function (e) { $('.box-video').flexslider({ animation: "fade", slideshow: false, controlNav: "thumbnails", after: function (e) { var video = $(".box-video .slides li").eq(e.currentSlide); var html = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="600" height="400">'; html += '<param name="movie" value="/home/images/flvplayer.swf" />'; html += '<param name="quality" value="high" />'; html += '<param name="allowFullScreen" value="true" />'; html += '<param name="wmode" value="transparent"/>'; html += '<param name="FlashVars" value="vcastr_file=' + video.attr("data-video") + '&&IsAutoPlay=1" />'; html += '<embed src="/home/images/flvplayer.swf" allowfullscreen="true" flashvars="vcastr_file=' + video.attr("data-video") + '&&IsAutoPlay=1" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="600" height="400"></embed>'; html += '</object>'; video.siblings().empty(); video.html(html); } }); $("#verlayVideo .flex-control-thumbs li").each(function () { $(this).css("backgroundImage", "url('" + $(this).find("img").attr("src") + "')"); $(this).find("img").attr("src", "/home/images/ico_tb_5.jpg"); }); }, onClose: function () { $('body').off('mousewheel'); } }); window._bd_share_config = { share: [{ "tag": "share_2", "bdSize": 32 }] } with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?cdnversion=' + ~(-new Date() / 36e5)]; </script> </body> </html>
評價管理
影廳管理
排片管理
訂單管理
數(shù)據(jù)庫主要表設(shè)計
用戶表
CREATE TABLE `NewTable` ( `id` bigint(20) NOT NULL AUTO_INCREMENT , `create_time` datetime NOT NULL , `update_time` datetime NOT NULL , `email` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , `head_pic` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , `mobile` varchar(12) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , `password` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `sex` int(11) NULL DEFAULT NULL , `status` int(11) NULL DEFAULT NULL , `username` varchar(18) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `role_id` bigint(20) NULL DEFAULT NULL , PRIMARY KEY (`id`), FOREIGN KEY (`role_id`) REFERENCES `movie_role` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, UNIQUE INDEX `UK_btsosjytrl4hu7fnm1intcpo8` (`username`) USING BTREE , INDEX `FKg09b8o67eu61st68rv6nk8npj` (`role_id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=6 ROW_FORMAT=COMPACT ;
電影表
CREATE TABLE `NewTable` ( `id` bigint(20) NOT NULL AUTO_INCREMENT , `create_time` datetime NOT NULL , `update_time` datetime NOT NULL , `abs` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , `actor` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `area` int(11) NULL DEFAULT NULL , `directed_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `info` varchar(1280) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , `language` int(11) NOT NULL , `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `picture` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , `rate` decimal(19,2) NULL DEFAULT NULL , `show_time` datetime NULL DEFAULT NULL , `time` int(11) NULL DEFAULT NULL , `total_money` decimal(19,2) NULL DEFAULT NULL , `type` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , `video` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , `is_show` bit(1) NULL DEFAULT NULL , `rate_count` int(11) NULL DEFAULT NULL , PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=18 ROW_FORMAT=COMPACT ;
到此這篇關(guān)于完整電影售票管理系統(tǒng)基于java springboot + mybatis實現(xiàn)的文章就介紹到這了,更多相關(guān)電影售票管理系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 基于Java?SpringBoot的前后端分離信息管理系統(tǒng)的設(shè)計和實現(xiàn)
- 基于java+springboot+mybatis+laiyu實現(xiàn)學科競賽管理系統(tǒng)
- 基于java SSM springboot實現(xiàn)抗疫物質(zhì)信息管理系統(tǒng)
- 基于java SSM springboot實現(xiàn)景區(qū)行李寄存管理系統(tǒng)
- 基于java ssm springboot+mybatis酒莊內(nèi)部管理系統(tǒng)設(shè)計和實現(xiàn)
- 基于java Springboot實現(xiàn)教務(wù)管理系統(tǒng)詳解
- 使用java springboot設(shè)計實現(xiàn)的圖書管理系統(tǒng)(建議收藏)
- java?Springboot實現(xiàn)教務(wù)管理系統(tǒng)
相關(guān)文章
java 基礎(chǔ)之final、finally和finalize的區(qū)別
這篇文章主要介紹了java 基礎(chǔ)之final、finally和finalize的區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-05-05Java數(shù)組實現(xiàn)動態(tài)初始化的實例詳解
在本篇文章里小編給大家整理的是一篇關(guān)于Java數(shù)組實現(xiàn)動態(tài)初始化的實例詳解內(nèi)容,有興趣的朋友們可以學習下。2021-10-10利用Spring MVC+Mybatis實現(xiàn)Mysql分頁數(shù)據(jù)查詢的過程詳解
這篇文章主要給大家介紹了關(guān)于利用Spring MVC+Mybatis實現(xiàn)Mysql分頁數(shù)據(jù)查詢的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。2017-08-08