基于ssm+vue德云社票务系统源码和论文

基于ssm+vue德云社票务系统源码和论文063

 开发工具:idea 
 数据库mysql5.7+
 数据库链接工具:navcat,小海豚等
  技术:ssm

1.选题的依据和意义

互联网时代,随着生活节奏的加快和不断上升的压力,人们急需寻找到情绪的宣泄口,而相声这种轻喜剧类型的表演,恰到好处的融合了传统艺术和时代潮流,使得相声深受大众的喜爱。其中北京德云社凭借其大胆、新颖的表演形式,突破了原有的相声表演的局限性,率先提出了走“非主流相声”的路线,且致力于弘扬传统民间曲艺。经过长达二十多年的努力,德云社已经成为了国内著名的大型的专业相声团队,成为引领相声行业的标杆。

当下演出的购票方式除了去现场买票外,也可以电话订票或者网上订票。电话订票一般是通过拨打票务公司的客服热线,这种方式相对现场买票来说虽然便捷,但是却无法实时了解到当前的销售情况,可能导致用户无法及时选择到自己心仪的位置。这时网上购票的优势就会比较明显,用户只需要一台电脑或者一部手机就可以查看到实时的票务信息,从而选择到满意的位置。随着国内经济水平的提升,用户需求的扩大,现在市面上出现了很多这种演出票务在线售卖系统,例如:大麦网、携程网、淘宝等等。

近年来,计算机技术被广泛应用在各个领域当中,各种管理的系统应用也非常广泛,目前我们已经可以了解到很多电子商务售票系统和类似的门户网站,而这些系统的某些特点和其中较为优势的地方,是我在设计过程中可以进行参考的有利资源。另外现在的一些计算机应用技术可以很好的实现系统的开发,而且开发所要用到的工具相对来说也很简单实用,不需要投入过高的成本。因此无论是从经济、资源、技术还是其他因素考虑,系统的实现是有可能的,而系统的实现则可以为消费者提供一个全面、便捷而愉快的购票体验。

  1. 理论或实际应用方面的价值 

如今,国家经济水平的不断提高和国民收入水平的相对上升,促使人们更多的开始注重于自己的精神生活。21世纪以来,身为民间相声社团的德云社异军突起,以“让相声回归剧场”为目的,在相声演员郭德纲的带领下,不断地推出优秀的相声演员及作品,其新颖的表演形式深受人们的喜爱,使这门非主流的传统表演艺术重新回到了人们的生活之中且吸引了更多的相声观众。在这个节奏飞快且浮躁的时代,让人们自愿的选择购票走入德云社的小剧场,甚至还会线上花费大量时间来观看各种商演及小剧场的官录视频。优酷的官方数据显示,在2019年观看德云社视频的用户,人均观看时间达到了55分钟。德云社借助网络平台的影响,使相声观众群体得以扩大,人们不再满足于只是在线上观看相声,更多的是想走进小剧场,能够切身的感受到这门传统艺术的魅力,这就涉及到了买票的问题。传统的买票方式多为现场购票,这种方式既浪费时间又无法及时了解到场次情况,从而浪费了很多时间和精力。为了使观众可以随时随地的选票购票且不受到黄牛等因素的困扰,故开发出一个德云社票务网站,使真正热爱相声这门艺术的人们能够有机会买到票,使更多热爱的人能够走进小剧场。

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.PiaowuxinxiEntity;
import com.entity.view.PiaowuxinxiView;import com.service.PiaowuxinxiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 票务信息* 后端接口* @author * @email * @date 2021-03-21 17:45:05*/
@RestController
@RequestMapping("/piaowuxinxi")
public class PiaowuxinxiController {@Autowiredprivate PiaowuxinxiService piaowuxinxiService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,PiaowuxinxiEntity piaowuxinxi, HttpServletRequest request){EntityWrapper<PiaowuxinxiEntity> ew = new EntityWrapper<PiaowuxinxiEntity>();PageUtils page = piaowuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, piaowuxinxi), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,PiaowuxinxiEntity piaowuxinxi, HttpServletRequest request){EntityWrapper<PiaowuxinxiEntity> ew = new EntityWrapper<PiaowuxinxiEntity>();PageUtils page = piaowuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, piaowuxinxi), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( PiaowuxinxiEntity piaowuxinxi){EntityWrapper<PiaowuxinxiEntity> ew = new EntityWrapper<PiaowuxinxiEntity>();ew.allEq(MPUtil.allEQMapPre( piaowuxinxi, "piaowuxinxi")); return R.ok().put("data", piaowuxinxiService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(PiaowuxinxiEntity piaowuxinxi){EntityWrapper< PiaowuxinxiEntity> ew = new EntityWrapper< PiaowuxinxiEntity>();ew.allEq(MPUtil.allEQMapPre( piaowuxinxi, "piaowuxinxi")); PiaowuxinxiView piaowuxinxiView =  piaowuxinxiService.selectView(ew);return R.ok("查询票务信息成功").put("data", piaowuxinxiView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){PiaowuxinxiEntity piaowuxinxi = piaowuxinxiService.selectById(id);piaowuxinxi.setClicknum(piaowuxinxi.getClicknum()+1);piaowuxinxi.setClicktime(new Date());piaowuxinxiService.updateById(piaowuxinxi);return R.ok().put("data", piaowuxinxi);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){PiaowuxinxiEntity piaowuxinxi = piaowuxinxiService.selectById(id);piaowuxinxi.setClicknum(piaowuxinxi.getClicknum()+1);piaowuxinxi.setClicktime(new Date());piaowuxinxiService.updateById(piaowuxinxi);return R.ok().put("data", piaowuxinxi);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody PiaowuxinxiEntity piaowuxinxi, HttpServletRequest request){piaowuxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(piaowuxinxi);piaowuxinxiService.insert(piaowuxinxi);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody PiaowuxinxiEntity piaowuxinxi, HttpServletRequest request){piaowuxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(piaowuxinxi);piaowuxinxiService.insert(piaowuxinxi);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody PiaowuxinxiEntity piaowuxinxi, HttpServletRequest request){//ValidatorUtils.validateEntity(piaowuxinxi);piaowuxinxiService.updateById(piaowuxinxi);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){piaowuxinxiService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<PiaowuxinxiEntity> wrapper = new EntityWrapper<PiaowuxinxiEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = piaowuxinxiService.selectCount(wrapper);return R.ok().put("count", count);}/*** 前端智能排序*/@IgnoreAuth@RequestMapping("/autoSort")public R autoSort(@RequestParam Map<String, Object> params,PiaowuxinxiEntity piaowuxinxi, HttpServletRequest request,String pre){EntityWrapper<PiaowuxinxiEntity> ew = new EntityWrapper<PiaowuxinxiEntity>();Map<String, Object> newMap = new HashMap<String, Object>();Map<String, Object> param = new HashMap<String, Object>();Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, Object> entry = it.next();String key = entry.getKey();String newKey = entry.getKey();if (pre.endsWith(".")) {newMap.put(pre + newKey, entry.getValue());} else if (StringUtils.isEmpty(pre)) {newMap.put(newKey, entry.getValue());} else {newMap.put(pre + "." + newKey, entry.getValue());}}params.put("sort", "clicknum");params.put("order", "desc");PageUtils page = piaowuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, piaowuxinxi), params), params));return R.ok().put("data", page);}}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/87890.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis缓存雪崩、穿透、击穿解决方案

redis缓存雪崩、穿透、击穿解决方案 背景缓存雪崩缓存击穿缓存穿透总结背景 关于缓存异常,我们常见的有三个问题:缓存雪崩、缓存击穿、缓存穿透。这三个问题一旦发生,会导致大量请求直接落到数据库层面。如果请求的并发量很大,会影响数据库的运行,严重的会导致数据库宕机…

Spring Cloud Nacos 和 Eureka区别,包含实战代码

目录 一、Spring Cloud Eureka详解二、Spring Cloud Nacos详解三、Spring Cloud Nacos和Eureka区别 Spring Cloud Nacos 和 Spring Cloud Eureka 都是 Spring Cloud 微服务框架中的服务注册和发现组件&#xff0c;用于帮助开发者轻松地构建和管理微服务应用。它们之间的主要区别…

Python工具箱系列(四十一)

使用zip批量压缩文件 前文的代码示例了使用gzip对单个文件进行压缩。本文示例使用更通用的zipfile来批量压缩文件。zipfile也是python内置的库&#xff0c;使用起来非常方便。废话不说&#xff0c;直接上代码示例。 import dbm import glob import zipfile# 保存压缩计划的库名…

电子价签如何让电信门店数字化事半功倍?

数字化转型&#xff0c;高效的工具首先跟上。早在2020年&#xff0c;深圳电信就与云里物里开展商业合作&#xff0c;在深圳所有电信营业厅安装云里物里的ESL电子标签&#xff0c;以替代传统纸质标签的显示。经过几年的效果认证&#xff0c;云里物里的数字化智显设备得到了深圳电…

网页接口导入postman进行接口请求

postman版本&#xff1a;v10.17.4 一、拷贝接口信息 网页打开开发者工具-networkk&#xff0c;在网页上请求一次接口&#xff0c;鼠标指在接口上&#xff0c;点击鼠标右键-copy-copy as cURL(bash) 二、导入postman 打开postman&#xff0c;点击import-Raw text&#xff0c;…

【MCU】SD NAND芯片之国产新选择

文章目录 前言传统SD卡和可贴片SD卡传统SD卡可贴片SD卡 实际使用总结 前言 随着目前时代的快速发展&#xff0c;即使是使用MCU的项目上也经常有大数据存储的需求。可以看到经常有小伙伴这样提问&#xff1a; 大家好&#xff0c;请问有没有SD卡芯片&#xff0c;可以直接焊接到P…

[MyBatis系列⑥]注解开发

&#x1f343;作者简介&#xff1a;准大三本科网络工程专业在读&#xff0c;持续学习Java&#xff0c;努力输出优质文章 ⭐MyBatis系列①&#xff1a;增删改查 ⭐MyBatis系列②&#xff1a;两种Dao开发方式 ⭐MyBatis系列③&#xff1a;动态SQL ⭐MyBatis系列④&#xff1a;核心…

java 桥接模式

桥接模式 桥接模式简介桥接模式的实现总结 桥接模式简介 桥接模式&#xff08;Bridge&#xff09;是将抽象部分与它的实现部分分离&#xff0c;使它们都可以独立地变化。它是一种对象结构型模式&#xff0c;又称为柄体(Handle and Body)模式或接口(Interfce)模式。 桥接模式基于…

C语言 - 结构体、结构体数组、结构体指针和结构体嵌套

结构体的意义 问题&#xff1a;学籍管理需要每个学生的下列数据&#xff1a;学号、姓名、性别、年龄、分数&#xff0c;请用 C 语言程序存储并处理一组学生的学籍。 单个学生学籍的数据结构&#xff1a; 学号&#xff08;num&#xff09;&#xff1a; int 型姓名&#xff08;…

领英采用 Protobuf 进行微服务开发,网络延迟降低60%

领英采用 Protobuf&#xff0c;以实现其各类平台中更为高效的微服务间数据传递&#xff0c;并将其与开源框架 Rest.li 相集成。在全公司范围的推广完成后&#xff0c;领英将延迟降低了 60%的同时&#xff0c;也提高了资源的利用率。 领英平台所采用的是微服务架构&#xff0c;…

ssm+vue理发店会员管理系统源码和论文

ssmvue理发店会员管理系统源码和论文089 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&a…

windows下Node版本的切换方式

为了避免应用构建出错&#xff0c;我们在本地开发环境的 Node 版本与在 CI/CD 流程中指定的 Node 版本需保持一致。在这种需要频繁切换 Node 版本的情况下&#xff0c;我们不可能手动卸载又安装不同的版本&#xff0c;这时我们可以借助 NVM 工具来帮助我们快速地切换 Node 版本…