Springboot+Vue+小程序+基于微信小程序电影票网购系统

Java电影票购买管理系统,Maven管理工具,MyBatis数据库操作,idea平台开发,后台的前端为Vue,前台客户端为小程序,功能丰富,还有电影周边购买功能,请在最下方二维码处联系我即可,调试,讲解均可有偿获取,项目保证质量。

功能:

1.个人信息管理

2.用户管理

3.电影分裂管理

4.电影信息管理

5.电影院管理

6.周边商品管理

7.留言管理

8.系统管理(公告,系统简介,轮播图)

10.订单管理

图示:

数据库示例:

表名:discussdianyingxinxi

功能:电影信息评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

avatarurl

longtext

4294967295

头像

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表名:dianyingyuan

功能:电影院

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

biaoti

varchar

200

标题

jianjie

longtext

4294967295

简介

fengmian

longtext

4294967295

封面

fabushijian

datetime

发布时间

neirong

longtext

4294967295

内容

clicktime

datetime

最近点击时间

clicknum

int

点击次数

0

表名:dianyingxinxi

功能:电影信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dianyingmingcheng

varchar

200

电影名称

dianyingfenlei

varchar

200

电影分类

dianyinghaibao

longtext

4294967295

电影海报

dianyingpianduan

longtext

4294967295

电影片段

daoyan

varchar

200

导演

yanyuan

varchar

200

演员

shangyingriqi

date

上映日期

diqu

varchar

200

地区

niandai

varchar

200

年代

fangyingchangci

varchar

200

放映场次

fangyingshijian

varchar

200

放映时间

fangyingting

varchar

200

放映厅

yingyuanmingcheng

varchar

200

影院名称

yingyuandizhi

varchar

200

影院地址

dianyingjieshao

longtext

4294967295

电影介绍

thumbsupnum

int

0

crazilynum

int

0

clicktime

datetime

最近点击时间

clicknum

int

点击次数

0

price

double

价格

number

int

座位总数

selected

longtext

4294967295

已选座位[用,号隔开]

代码示例:

package com.controller;import java.util.Arrays;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
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.transaction.annotation.Transactional;
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.annotation.IgnoreAuth;import com.entity.DianyingxinxiEntity;
import com.entity.view.DianyingxinxiView;import com.service.DianyingxinxiService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MPUtil;/*** 电影信息* 后端接口*/
@RestController
@RequestMapping("/dianyingxinxi")
public class DianyingxinxiController {@Autowiredprivate DianyingxinxiService dianyingxinxiService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params, DianyingxinxiEntity dianyingxinxi,HttpServletRequest request) {EntityWrapper<DianyingxinxiEntity> ew = new EntityWrapper<DianyingxinxiEntity>();PageUtils page = dianyingxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, dianyingxinxi), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params, DianyingxinxiEntity dianyingxinxi,HttpServletRequest request) {EntityWrapper<DianyingxinxiEntity> ew = new EntityWrapper<DianyingxinxiEntity>();PageUtils page = dianyingxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, dianyingxinxi), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list(DianyingxinxiEntity dianyingxinxi) {EntityWrapper<DianyingxinxiEntity> ew = new EntityWrapper<DianyingxinxiEntity>();ew.allEq(MPUtil.allEQMapPre(dianyingxinxi, "dianyingxinxi"));return R.ok().put("data", dianyingxinxiService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(DianyingxinxiEntity dianyingxinxi) {EntityWrapper<DianyingxinxiEntity> ew = new EntityWrapper<DianyingxinxiEntity>();ew.allEq(MPUtil.allEQMapPre(dianyingxinxi, "dianyingxinxi"));DianyingxinxiView dianyingxinxiView = dianyingxinxiService.selectView(ew);return R.ok("查询电影信息成功").put("data", dianyingxinxiView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id) {DianyingxinxiEntity dianyingxinxi = dianyingxinxiService.selectById(id);dianyingxinxi.setClicknum(dianyingxinxi.getClicknum() + 1);dianyingxinxi.setClicktime(new Date());dianyingxinxiService.updateById(dianyingxinxi);return R.ok().put("data", dianyingxinxi);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id) {DianyingxinxiEntity dianyingxinxi = dianyingxinxiService.selectById(id);dianyingxinxi.setClicknum(dianyingxinxi.getClicknum() + 1);dianyingxinxi.setClicktime(new Date());dianyingxinxiService.updateById(dianyingxinxi);return R.ok().put("data", dianyingxinxi);}/*** 赞或踩*/@RequestMapping("/thumbsup/{id}")public R vote(@PathVariable("id") String id, String type) {DianyingxinxiEntity dianyingxinxi = dianyingxinxiService.selectById(id);if (type.equals("1")) {dianyingxinxi.setThumbsupnum(dianyingxinxi.getThumbsupnum() + 1);} else {dianyingxinxi.setCrazilynum(dianyingxinxi.getCrazilynum() + 1);}dianyingxinxiService.updateById(dianyingxinxi);return R.ok("投票成功");}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody DianyingxinxiEntity dianyingxinxi, HttpServletRequest request) {dianyingxinxi.setId(new Date().getTime() + new Double(Math.floor(Math.random() * 1000)).longValue());//ValidatorUtils.validateEntity(dianyingxinxi);dianyingxinxiService.insert(dianyingxinxi);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody DianyingxinxiEntity dianyingxinxi, HttpServletRequest request) {dianyingxinxi.setId(new Date().getTime() + new Double(Math.floor(Math.random() * 1000)).longValue());dianyingxinxiService.insert(dianyingxinxi);return R.ok();}/*** 修改*/@RequestMapping("/update")@Transactionalpublic R update(@RequestBody DianyingxinxiEntity dianyingxinxi, HttpServletRequest request) {dianyingxinxiService.updateById(dianyingxinxi);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids) {dianyingxinxiService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 前端智能排序*/@IgnoreAuth@RequestMapping("/autoSort")public R autoSort(@RequestParam Map<String, Object> params, DianyingxinxiEntity dianyingxinxi, HttpServletRequest request, String pre) {EntityWrapper<DianyingxinxiEntity> ew = new EntityWrapper<DianyingxinxiEntity>();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 = dianyingxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, dianyingxinxi), params), params));return R.ok().put("data", page);}
}

电影信息实体类:

import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;/*** 电影信息* 手机端接口返回实体辅助类*/
public class DianyingxinxiVO implements Serializable {private static final long serialVersionUID = 1L;/*** 电影分类*/private String dianyingfenlei;/*** 电影海报*/private String dianyinghaibao;/*** 电影片段*/private String dianyingpianduan;/*** 导演*/private String daoyan;/*** 演员*/private String yanyuan;/*** 上映日期*/@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")@DateTimeFormatprivate Date shangyingriqi;/*** 地区*/private String diqu;/*** 年代*/private String niandai;/*** 放映场次*/private String fangyingchangci;/*** 放映时间*/private String fangyingshijian;/*** 放映厅*/private String fangyingting;/*** 影院名称*/private String yingyuanmingcheng;/*** 影院地址*/private String yingyuandizhi;/*** 电影介绍*/private String dianyingjieshao;/*** 赞*/private Integer thumbsupnum;/*** 踩*/private Integer crazilynum;/*** 最近点击时间*/@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")@DateTimeFormatprivate Date clicktime;/*** 点击次数*/private Integer clicknum;/*** 价格*/private Double price;/*** 座位总数*/private Integer number;/*** 已选座位[用,号隔开]*/private String selected;
}

                                   

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

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

相关文章

windows下安装onlyoffice

文章目录 1、 安装ErLang2、 安装rabbitmq3、 安装postgresql4、 安装onlyoffice(社区版) 1、 安装ErLang 下载地址&#xff1a;https://erlang.org/download/otp_win64_24.2.exe opt_wind64_24.2.exe 直接运行&#xff0c;一步一步安装 2、 安装rabbitmq 下载地址&#xf…

【C++】初识string类

一、熟悉string类 1.1 string类的由来&#xff1a; C语音中的字符串需要我们自己管理底层空间&#xff0c;容易内存泄露。而C是面向对象语音&#xff0c;所以它把字符串封装成一个string类。 C中对于string的定义为&#xff1a;typedef basic_string string; 也就是说C中的str…

公共 IP 地址与私有 IP 地址区别有哪些?

​  IP 地址是分配给互联网上每个设备的唯一数字 ID。 IP 地址可以在 Internet 上公开使用&#xff0c;也可以在局域网 (LAN)上私有使用。本文&#xff0c;我们主要探讨公共 IP 地址和私有 IP 地址之间的区别。 公共IP地址&#xff1a;公共IP地址是用于访问Internet的向外的I…

Kubernetes leader election 源码分析

1. leader election leader election 通过多个副本抢占资源锁的方式实现单实例运行。在 Kubernetes 中&#xff0c;[Configmap|Lease|Endpoint] 可以作为资源锁的实现。 1.1 示例 直接看 leader election 代码容易晕&#xff0c;这里从示例入手&#xff0c;看 leader electi…

一些优雅的监控运维技巧

准备工作 安装 sysstat sudo apt install sysstat查看某个进程的cpu情况 pidstst -u -p 256432查看某个进程的RAM情况 pidstst -r -p 256432查看某个进程的IO情况 pidstst -d -p 256432查看某个进程下的线程执行情况 pidstst -t -p 256432查看指定PID的进程对应的可执行文件…

Text-to-SQL小白入门(12)Awesome-Text2SQL开源项目star破1000

项目介绍 项目地址 23年9月份刚开源这个项目&#xff0c;大半年过去了&#xff0c;star数终于破1000啦&#xff0c;决定在知乎更新一下内容&#xff0c;看看内容变化&#xff0c;知乎有上当时项目介绍的链接&#xff1a;追光者&#xff1a;Text-to-SQL小白入门&#xff08;六&…

[python趣味实战]----基于python代码实现浪漫爱心 დ

正文 01-效果演示 下图是代码运行之后的爱心显示结果&#xff1a; 下面的视频该爱心是动态效果&#xff0c;较为简洁&#xff0c;如果需要使用&#xff0c;可以进行完善&#xff0c;这里只是一个趣味实战&#xff0c;下面将对代码实现进行非常详细地描述&#xff1a; 浪漫爱心…

77、贪心-买卖股票的最佳时机

思路 具体会导致全局最优&#xff0c;这里就可以使用贪心算法。方式如下&#xff1a; 遍历每一位元素找出当前元素最佳卖出是收益是多少。然后依次获取最大值&#xff0c;就是全局最大值。 这里可以做一个辅助数组&#xff1a;右侧最大数组&#xff0c;求右侧最大数组就要从…

Linux专栏03:使用Xshell远程连接云服务器

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Linux专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 使用Xshell远程连接云服务器 编号&#xff1a;03 文章目录 使用Xsh…

rust疑难杂症

rust疑难杂症解决 边碰到边记录&#xff0c;后续可能会逐步增加&#xff0c;备查 cargo build时碰到 Blocking waiting for file lock on package cache 原因是Cargo 无法获取对包缓存的文件锁&#xff0c; 有时vscode中项目比较多&#xff0c;如果其中某些库应用有问题&…

border-image-slice详细说明

上一篇文章我们介绍了 border-image的用法&#xff0c;其中border-image-source、border-image-width、 border-image-outset都比较简单好理解&#xff0c;这边文章我们重点学一下border-image-slice 属性&#xff0c;它用于定义边框图像如何被切割并应用到元素的边框上。这个属…

排序-八大排序FollowUp

FollowUp 1.插入排序 (1).直接插入排序 时间复杂度:最坏情况下:0(n^2) 最好情况下:0(n)当数据越有序 排序越快 适用于: 待排序序列 已经基本上趋于有序了! 空间复杂度:0(1) 稳定性:稳定的 public static void insertSort(int[] array){for (int i 1; i < array.length; i…