入口网站推广,营销号视频生成器网页版,做网站每一年都要交钱吗,东莞网站制作有名 乐云践新#x1f34a;作者#xff1a;计算机编程-吉哥 #x1f34a;简介#xff1a;专业从事JavaWeb程序开发#xff0c;微信小程序开发#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事#xff0c;生活就是快乐的。 #x1f34a;心愿#xff1a;点… 作者计算机编程-吉哥 简介专业从事JavaWeb程序开发微信小程序开发定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事生活就是快乐的。 心愿点赞 收藏 ⭐评论 文末获取源码联系 精彩专栏推荐订阅 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 技术选型
springboot、mybatisplus、vue、elementui、html、css、js、mysql、jdk1.8
数据库表结构
10张
开发工具
idea、navicat
⭐功能
【角色】
管理员、用户
【前台功能模块】
登录注册首页房间信息论坛公告信息个人中心后台管理
【后台功能模块】
登录首页个人中心管理员管理基础数据管理房间信息管理论坛管理公告信息管理用户管理轮播图管理
项目演示截图
1、首页 2、房间信息 3、论坛信息 4、公告信息 5、个人中心 6、房间信息管理 7、房间评论投诉管理 8、论坛管理 需要看系统演示视频不理解系统业务逻辑都可以咨询博主噢~
数据库文件设计 CREATE TABLE config (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键,name varchar(100) NOT NULL COMMENT 配置参数名称,value varchar(100) DEFAULT NULL COMMENT 配置参数值,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT4 DEFAULT CHARSETutf8 COMMENT配置文件;CREATE TABLE dictionary (id int(20) NOT NULL AUTO_INCREMENT COMMENT 主键,dic_code varchar(200) DEFAULT NULL COMMENT 字段,dic_name varchar(200) DEFAULT NULL COMMENT 字段名,code_index int(11) DEFAULT NULL COMMENT 编码,index_name varchar(200) DEFAULT NULL COMMENT 编码名字 Search111 ,super_id int(11) DEFAULT NULL COMMENT 父字段id,beizhu varchar(200) DEFAULT NULL COMMENT 备注,create_time timestamp NULL DEFAULT NULL COMMENT 创建时间,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT14 DEFAULT CHARSETutf8 COMMENT字典表;CREATE TABLE fangjian (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键,fangjian_name varchar(200) DEFAULT NULL COMMENT 房间名称 Search111,fangjian_photo varchar(200) DEFAULT NULL COMMENT 房间图片,fangjian_tese varchar(200) DEFAULT NULL COMMENT 房间特色,fangjian_peizhi varchar(200) DEFAULT NULL COMMENT 房间配置,fangjian_shangpin varchar(200) DEFAULT NULL COMMENT 提供的商品,fangjian_fuwu varchar(200) DEFAULT NULL COMMENT 提供的服务,fangjian_money decimal(10,2) DEFAULT NULL COMMENT 价格天,fangjian_types int(11) DEFAULT NULL COMMENT 房间类型 Search111,fangjian_number int(11) DEFAULT NULL COMMENT 房间剩余数量,fangjian_clicknum int(11) DEFAULT NULL COMMENT 点击次数,fangjian_content text COMMENT 房间详情,create_time timestamp NULL DEFAULT NULL COMMENT 创建时间 show1 show2 photoShow,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT6 DEFAULT CHARSETutf8 COMMENT房间信息;CREATE TABLE fangjian_liuyan (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键,fangjian_id int(11) DEFAULT NULL COMMENT 房间,yonghu_id int(11) DEFAULT NULL COMMENT 用户,fangjian_liuyan_text text COMMENT 评论/投诉内容,reply_text text COMMENT 回复内容,insert_time timestamp NULL DEFAULT NULL COMMENT 评论/投诉时间,update_time timestamp NULL DEFAULT NULL COMMENT 回复时间,create_time timestamp NULL DEFAULT NULL COMMENT 创建时间,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT7 DEFAULT CHARSETutf8 COMMENT房间评论/投诉;CREATE TABLE fangjian_order (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键,fangjian_id int(11) DEFAULT NULL COMMENT 房间,yonghu_id int(11) DEFAULT NULL COMMENT 用户,fangjian_order_time date DEFAULT NULL COMMENT 预约日期,fangjian_order_text text COMMENT 预约备注,fangjian_order_types int(11) DEFAULT NULL COMMENT 订单状态,create_time timestamp NULL DEFAULT NULL COMMENT 创建时间,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT11 DEFAULT CHARSETutf8 COMMENT房间预约;CREATE TABLE forum (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键,forum_name varchar(200) DEFAULT NULL COMMENT 帖子标题 Search111 ,yonghu_id int(11) DEFAULT NULL COMMENT 用户,users_id int(11) DEFAULT NULL COMMENT 管理员,forum_content text COMMENT 发布内容,super_ids int(11) DEFAULT NULL COMMENT 父id,forum_state_types int(11) DEFAULT NULL COMMENT 帖子状态,insert_time timestamp NULL DEFAULT NULL COMMENT 发帖时间,update_time timestamp NULL DEFAULT NULL COMMENT 修改时间,create_time timestamp NULL DEFAULT NULL COMMENT 创建时间 show2,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT8 DEFAULT CHARSETutf8 COMMENT论坛;CREATE TABLE news (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键,news_name varchar(200) DEFAULT NULL COMMENT 公告标题 Search111 ,news_types int(11) DEFAULT NULL COMMENT 公告类型 Search111 ,news_photo varchar(200) DEFAULT NULL COMMENT 公告图片,insert_time timestamp NULL DEFAULT NULL COMMENT 添加时间,news_content text COMMENT 公告详情,create_time timestamp NULL DEFAULT NULL COMMENT 创建时间 show1 show2 nameShow,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT6 DEFAULT CHARSETutf8 COMMENT公告信息;CREATE TABLE token (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键,userid bigint(20) NOT NULL COMMENT 用户id,username varchar(100) NOT NULL COMMENT 用户名,tablename varchar(100) DEFAULT NULL COMMENT 表名,role varchar(100) DEFAULT NULL COMMENT 角色,token varchar(200) NOT NULL COMMENT 密码,addtime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 新增时间,expiratedtime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 过期时间,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT3 DEFAULT CHARSETutf8 COMMENTtoken表;/*Data for the table token */insert into token(id,userid,username,tablename,role,token,addtime,expiratedtime) values (1,1,admin,users,管理员,eujhisuzw4wbe4v31vxpnknzf6n1gi81,2022-04-13 11:12:35,2022-04-13 12:21:31),(2,1,a1,yonghu,用户,1t7hsw4ap15wq61c3zxp8c33e15qyq2f,2022-04-13 11:13:53,2022-04-13 12:17:29);/*Table structure for table users */DROP TABLE IF EXISTS users;CREATE TABLE users (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键,username varchar(100) NOT NULL COMMENT 用户名,password varchar(100) NOT NULL COMMENT 密码,role varchar(100) DEFAULT 管理员 COMMENT 角色,addtime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 新增时间,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT2 DEFAULT CHARSETutf8 COMMENT用户表;CREATE TABLE yonghu (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键,username varchar(200) DEFAULT NULL COMMENT 账户,password varchar(200) DEFAULT NULL COMMENT 密码,yonghu_name varchar(200) DEFAULT NULL COMMENT 用户姓名 Search111 ,yonghu_photo varchar(200) DEFAULT NULL COMMENT 头像,yonghu_phone varchar(200) DEFAULT NULL COMMENT 手机号,yonghu_email varchar(200) DEFAULT NULL COMMENT 电子邮箱,sex_types int(11) DEFAULT NULL COMMENT 性别 Search111 ,new_money decimal(10,2) DEFAULT NULL COMMENT 余额 ,yonghu_delete int(11) DEFAULT 1 COMMENT 假删,create_time timestamp NULL DEFAULT NULL COMMENT 创建时间,PRIMARY KEY (id)
) ENGINEInnoDB AUTO_INCREMENT4 DEFAULT CHARSETutf8 COMMENT用户;
核心代码 package com.controller;import java.io.File;
import java.math.BigDecimal;
import java.net.URL;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.JSONObject;
import java.util.*;
import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import com.service.TokenService;
import com.utils.*;
import java.lang.reflect.InvocationTargetException;import com.service.DictionaryService;
import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.*;
import com.entity.view.*;
import com.service.*;
import com.utils.PageUtils;
import com.utils.R;
import com.alibaba.fastjson.*;/*** 房间信息* 后端接口* author 计算机编程-吉哥* email
*/
RestController
Controller
RequestMapping(/fangjian)
public class FangjianController {private static final Logger logger LoggerFactory.getLogger(FangjianController.class);Autowiredprivate FangjianService fangjianService;Autowiredprivate TokenService tokenService;Autowiredprivate DictionaryService dictionaryService;//级联表serviceAutowiredprivate YonghuService yonghuService;/*** 后端列表*/RequestMapping(/page)public R page(RequestParam MapString, Object params, HttpServletRequest request){logger.debug(page方法:,,Controller:{},,params:{},this.getClass().getName(),JSONObject.toJSONString(params));String role String.valueOf(request.getSession().getAttribute(role));if(false)return R.error(511,永不会进入);else if(用户.equals(role))params.put(yonghuId,request.getSession().getAttribute(userId));if(params.get(orderBy)null || params.get(orderBy)){params.put(orderBy,id);}PageUtils page fangjianService.queryPage(params);//字典表数据转换ListFangjianView list (ListFangjianView)page.getList();for(FangjianView c:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c, request);}return R.ok().put(data, page);}/*** 后端详情*/RequestMapping(/info/{id})public R info(PathVariable(id) Long id, HttpServletRequest request){logger.debug(info方法:,,Controller:{},,id:{},this.getClass().getName(),id);FangjianEntity fangjian fangjianService.selectById(id);if(fangjian !null){//entity转viewFangjianView view new FangjianView();BeanUtils.copyProperties( fangjian , view );//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put(data, view);}else {return R.error(511,查不到数据);}}/*** 后端保存*/RequestMapping(/save)public R save(RequestBody FangjianEntity fangjian, HttpServletRequest request){logger.debug(save方法:,,Controller:{},,fangjian:{},this.getClass().getName(),fangjian.toString());String role String.valueOf(request.getSession().getAttribute(role));if(false)return R.error(511,永远不会进入);WrapperFangjianEntity queryWrapper new EntityWrapperFangjianEntity().eq(fangjian_name, fangjian.getFangjianName()).eq(fangjian_tese, fangjian.getFangjianTese()).eq(fangjian_peizhi, fangjian.getFangjianPeizhi()).eq(fangjian_shangpin, fangjian.getFangjianShangpin()).eq(fangjian_fuwu, fangjian.getFangjianFuwu()).eq(fangjian_types, fangjian.getFangjianTypes()).eq(fangjian_number, fangjian.getFangjianNumber()).eq(fangjian_clicknum, fangjian.getFangjianClicknum());logger.info(sql语句:queryWrapper.getSqlSegment());FangjianEntity fangjianEntity fangjianService.selectOne(queryWrapper);if(fangjianEntitynull){fangjian.setFangjianClicknum(1);fangjian.setCreateTime(new Date());fangjianService.insert(fangjian);return R.ok();}else {return R.error(511,表中有相同数据);}}/*** 后端修改*/RequestMapping(/update)public R update(RequestBody FangjianEntity fangjian, HttpServletRequest request){logger.debug(update方法:,,Controller:{},,fangjian:{},this.getClass().getName(),fangjian.toString());String role String.valueOf(request.getSession().getAttribute(role));//根据字段查询是否有相同数据WrapperFangjianEntity queryWrapper new EntityWrapperFangjianEntity().notIn(id,fangjian.getId()).andNew().eq(fangjian_name, fangjian.getFangjianName()).eq(fangjian_tese, fangjian.getFangjianTese()).eq(fangjian_peizhi, fangjian.getFangjianPeizhi()).eq(fangjian_shangpin, fangjian.getFangjianShangpin()).eq(fangjian_fuwu, fangjian.getFangjianFuwu()).eq(fangjian_types, fangjian.getFangjianTypes()).eq(fangjian_number, fangjian.getFangjianNumber()).eq(fangjian_clicknum, fangjian.getFangjianClicknum());logger.info(sql语句:queryWrapper.getSqlSegment());FangjianEntity fangjianEntity fangjianService.selectOne(queryWrapper);if(.equals(fangjian.getFangjianPhoto()) || null.equals(fangjian.getFangjianPhoto())){fangjian.setFangjianPhoto(null);}if(fangjianEntitynull){fangjianService.updateById(fangjian);//根据id更新return R.ok();}else {return R.error(511,表中有相同数据);}}/*** 删除*/RequestMapping(/delete)public R delete(RequestBody Integer[] ids){logger.debug(delete:,,Controller:{},,ids:{},this.getClass().getName(),ids.toString());fangjianService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 批量上传*/RequestMapping(/batchInsert)public R save( String fileName, HttpServletRequest request){logger.debug(batchInsert方法:,,Controller:{},,fileName:{},this.getClass().getName(),fileName);Integer yonghuId Integer.valueOf(String.valueOf(request.getSession().getAttribute(userId)));SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);try {ListFangjianEntity fangjianList new ArrayList();//上传的东西MapString, ListString seachFields new HashMap();//要查询的字段Date date new Date();int lastIndexOf fileName.lastIndexOf(.);if(lastIndexOf -1){return R.error(511,该文件没有后缀);}else{String suffix fileName.substring(lastIndexOf);if(!.xls.equals(suffix)){return R.error(511,只支持后缀为xls的excel文件);}else{URL resource this.getClass().getClassLoader().getResource(static/upload/ fileName);//获取文件路径File file new File(resource.getFile());if(!file.exists()){return R.error(511,找不到上传文件请联系管理员);}else{ListListString dataList PoiUtil.poiImport(file.getPath());//读取xls文件dataList.remove(0);//删除第一行因为第一行是提示for(ListString data:dataList){//循环FangjianEntity fangjianEntity new FangjianEntity();fangjianList.add(fangjianEntity);//把要查询是否重复的字段放入map中}//查询是否重复fangjianService.insertBatch(fangjianList);return R.ok();}}}}catch (Exception e){e.printStackTrace();return R.error(511,批量插入数据异常请联系管理员);}}/*** 前端列表*/IgnoreAuthRequestMapping(/list)public R list(RequestParam MapString, Object params, HttpServletRequest request){logger.debug(list方法:,,Controller:{},,params:{},this.getClass().getName(),JSONObject.toJSONString(params));// 没有指定排序字段就默认id倒序if(StringUtil.isEmpty(String.valueOf(params.get(orderBy)))){params.put(orderBy,id);}PageUtils page fangjianService.queryPage(params);//字典表数据转换ListFangjianView list (ListFangjianView)page.getList();for(FangjianView c:list)dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段return R.ok().put(data, page);}/*** 前端详情*/RequestMapping(/detail/{id})public R detail(PathVariable(id) Long id, HttpServletRequest request){logger.debug(detail方法:,,Controller:{},,id:{},this.getClass().getName(),id);FangjianEntity fangjian fangjianService.selectById(id);if(fangjian !null){//点击数量加1fangjian.setFangjianClicknum(fangjian.getFangjianClicknum()1);fangjianService.updateById(fangjian);//entity转viewFangjianView view new FangjianView();BeanUtils.copyProperties( fangjian , view );//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put(data, view);}else {return R.error(511,查不到数据);}}/*** 前端保存*/RequestMapping(/add)public R add(RequestBody FangjianEntity fangjian, HttpServletRequest request){logger.debug(add方法:,,Controller:{},,fangjian:{},this.getClass().getName(),fangjian.toString());WrapperFangjianEntity queryWrapper new EntityWrapperFangjianEntity().eq(fangjian_name, fangjian.getFangjianName()).eq(fangjian_tese, fangjian.getFangjianTese()).eq(fangjian_peizhi, fangjian.getFangjianPeizhi()).eq(fangjian_shangpin, fangjian.getFangjianShangpin()).eq(fangjian_fuwu, fangjian.getFangjianFuwu()).eq(fangjian_types, fangjian.getFangjianTypes()).eq(fangjian_number, fangjian.getFangjianNumber()).eq(fangjian_clicknum, fangjian.getFangjianClicknum());logger.info(sql语句:queryWrapper.getSqlSegment());FangjianEntity fangjianEntity fangjianService.selectOne(queryWrapper);if(fangjianEntitynull){fangjian.setCreateTime(new Date());fangjianService.insert(fangjian);return R.ok();}else {return R.error(511,表中有相同数据);}}}参考文档 更多项目推荐:计算机毕业设计项目 如果大家有任何疑虑请在下方咨询或评论