赞
踩
基于SSM的电影院购票系统
三连获取源码
角色:管理员、用户
此需求的编写是为了研究影院管理系统的开发过程以及应用场景。在进行软件开发时前,需编写出正确的需求分析。需求分析简单地说就是分析用户需求。需求分析结果是否准确反映用户的实际要求将直接影响到软件后面阶段的设计,并影响到设计结果是否合理和实用。明确应用场景才能更好地满足顾客需求。需求分析也是后期技术人员进行维护,更新,验收以及测试的依据。所以,编写出正确的需求是十分重要的。
随着时代的发展,人们对生活的品质要求越来越高,随之而来的是娱乐需求的逐渐增加。在各项娱乐活动中,看电影已经成为当代人们娱乐方式的主要活动之一。随着看电影需求的增加,电影院也逐渐增加。随之而来的就是影院售票等问题的产生。人工售票的繁琐,效率低下,给人们带来了诸多不便,传统的售票方式已经不能满足人们的购票需求。
如今我们正处于计算机科学技术高度发达的时期,计算机科学技术已被运用到社会的方方面面,然而部分影院仍然在采用人工售票。人工售票需要耗费大量的人力物力,对于影院方面来说,影院经营成本因此增加,对于客户来说,人工售票也花费了用户的更多的时间,因此,为了减少人力物力的成本,提高影院盈利,节约客户的时间,解决诸如此类的问题,特此编写此影院管理系统。此系统是通过对影片场次,上架,下架,时间,座位,放映厅的信息化管理,以此来达到能够高效售票的目的。
上架(PUT ON SHELVES):未播出即将播出的影片在影院管理系统通过人工录入。
下架(PULL OFF SHELVES):已播出或未播出的影片从影院管理系统通过人工删除。
通过此影院管理系统,能够合理安排电影类目,电影放映时间,电影放映影厅。售票由影院售票人员进行。通过此系统,能够查看座位安排情况,剩余座位情况,影片放映时间,影片放映厅序号,对影片进行增加删除操作,给顾客提供订票、售票、退票等服务,合理给买票的顾客安排座位,让顾客能够买到心仪时间的影片的电影票,拥有较好的观感体验。
同时,影院管理人员也可以对影片进行上新与下架的操作。方便影片信息的更新与修改。
此影院管理系统适用于各电影院行业。可对电影票的售卖,余票查询,座位查询,影片播放时间,影片的场次,影片的上架下架及放映厅进行管理。
随着时代的发展,各种编程语言已经较为完善,计算机科学技术已经趋于成熟且已运用到各行各业,为不少企业提供了便利,减少了运营成本,增加了盈利,提高了企业办事效率。但从目前来看,许多电影院目前仍在采用传统的电影票售卖方法,这对影院的人力物力资源消耗都较大,且增加了影院的运营成本以及花费了客户大量的时间。本系统能够快速有效的解决这些问题,提高影院的工作效率,降低影院经营成本,减少顾客买电影票所花费的部分不必要的时间。
package org.xjt.blog.controller; import cn.hutool.core.date.DateUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import org.xjt.blog.entity.TComment; import org.xjt.blog.entity.TMessage; import org.xjt.blog.service.TMessageService; import org.xjt.blog.utils.RespBean; import java.util.Date; import java.util.HashMap; @RestController @RequestMapping("/message") public class TMessageController { @Autowired private TMessageService tMessageService; //获取用户的所有留言 @GetMapping("/all") public RespBean getAllMessageByUid(@RequestParam("id") String id){ return tMessageService.getAllMessageByUid(id); } //获取用户的所有留言 @GetMapping("back/allNum") public RespBean backGetAllMessagesNum(){ return tMessageService.backGetAllMessagesNum(); } //添加留言 @PostMapping("/add") public RespBean addMessage(@RequestBody HashMap<String,String> params) { System.out.println("params===================>"); System.out.println(params); //博主id String user_id = params.get("user_id"); //留言内容 String content = params.get("content"); //留言者id String creator_id = params.get("creator_id"); String parent_message_id = params.get("parent_comment_id"); if(!StringUtils.hasText(parent_message_id)){ parent_message_id = "-1"; } TMessage tMessage = new TMessage().setUserId(Long.valueOf(user_id)).setContent(content) .setCreatorId(Long.valueOf(creator_id)).setParentMessageId(Long.valueOf(parent_message_id)) .setCreateTime(DateUtil.toLocalDateTime(new Date())); return tMessageService.addMessage(tMessage); } @GetMapping("/delete") public RespBean delete(@RequestParam("id") Long id) { return tMessageService.deleteMessageById(id); } }
package com.sxl.controller; import java.nio.charset.Charset; import java.util.Locale; import java.util.ResourceBundle; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import com.sxl.util.JacksonJsonUtil; import com.sxl.util.StringUtil; import com.sxl.util.SystemProperties; public class BaseController { public static final Long EXPIRES_IN = 1000 * 3600 * 24 * 1L;// 1天 @Autowired private SystemProperties systemProperties; /** * 获得配置文件内容 */ public String getConfig(String key) { return systemProperties.getProperties(key); } /** * 返回服务器地址 like http://192.168.1.1:8441/UUBean/ */ public String getHostUrl(HttpServletRequest request) { String hostName = request.getServerName(); Integer hostPort = request.getServerPort(); String path = request.getContextPath(); if (hostPort == 80) { return "http://" + hostName + path + "/"; } else { return "http://" + hostName + ":" + hostPort + path + "/"; } } /*** * 获取当前的website路径 String */ public static String getWebSite(HttpServletRequest request) { String returnUrl = request.getScheme() + "://" + request.getServerName(); if (request.getServerPort() != 80) { returnUrl += ":" + request.getServerPort(); } returnUrl += request.getContextPath(); return returnUrl; } /** * 初始化HTTP头. * * @return HttpHeaders */ public HttpHeaders initHttpHeaders() { HttpHeaders headers = new HttpHeaders(); MediaType mediaType = new MediaType("text", "html", Charset.forName("utf-8")); headers.setContentType(mediaType); return headers; } /** * 返回 信息数据 * * @param status * @param msg * @return */ public ResponseEntity<String> renderMsg(Boolean status, String msg) { if (StringUtils.isEmpty(msg)) { msg = ""; } String str = "{\"status\":\"" + status + "\",\"msg\":\"" + msg + "\"}"; ResponseEntity<String> responseEntity = new ResponseEntity<String>(str, initHttpHeaders(), HttpStatus.OK); return responseEntity; } /** * 返回obj数据 * * @param status * @param msg * @param obj * @return */ public ResponseEntity<String> renderData(Boolean status, String msg, Object obj) { if (StringUtils.isEmpty(msg)) { msg = ""; } StringBuffer sb = new StringBuffer(); sb.append("{"); sb.append("\"status\":\"" + status + "\",\"msg\":\"" + msg + "\","); sb.append("\"data\":" + JacksonJsonUtil.toJson(obj) + ""); sb.append("}"); ResponseEntity<String> responseEntity = new ResponseEntity<String>( sb.toString(), initHttpHeaders(), HttpStatus.OK); return responseEntity; } /*** * 获取IP(如果是多级代理,则得到的是一串IP值) */ public static String getIpAddr(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } if (ip != null && ip.length() > 0) { String[] ips = ip.split(","); for (int i = 0; i < ips.length; i++) { if (!"unknown".equalsIgnoreCase(ips[i])) { ip = ips[i]; break; } } } return ip; } /** * 国际化获得语言内容 * * @param key * 语言key * @param args * @param argsSplit * @param defaultMessage * @param locale * @return */ public static String getLanguage(String key, String args, String argsSplit, String defaultMessage, String locale) { String language = "zh"; String contry = "cn"; String returnValue = defaultMessage; if (!StringUtil.isEmpty(locale)) { try { String[] localeArray = locale.split("_"); language = localeArray[0]; contry = localeArray[1]; } catch (Exception e) { } } try { ResourceBundle resource = ResourceBundle.getBundle("lang.resource", new Locale(language, contry)); returnValue = resource.getString(key); if (!StringUtil.isEmpty(args)) { String[] argsArray = args.split(argsSplit); for (int i = 0; i < argsArray.length; i++) { returnValue = returnValue.replace("{" + i + "}", argsArray[i]); } } } catch (Exception e) { } return returnValue; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。