基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】

 博主介绍:专注于Java技术领域和毕业项目实战

文末获取源码联系

 精彩专栏推荐订阅 不然下次找不到哟

Java项目精品实战案例(200套)

目录

一、前言介绍

二、主要技术

三、系统设计(部分)

3.1、主要功能模块设计         

3.2、系统登录设计

四、数据库设计(部分)

五、运行截图

5.1、管理员登录

5.2、管理员功能模块

5.2.1、用户管理

5.2.2、房屋类型管理

5.2.3、房屋信息管理

5.2.4、房屋资讯

5.2.5预约看房管理

5.2.6在线签约管理

5.2.7交流论坛

5.3、用户功能模块

5.3.1、预约看房管理

5.3.2、在线签约管理

5.3.2、租赁评价管理

5.4、前台首页功能模块

5.4.1、用户登录、用户注册

5.4.2、个人中心

5.4.3、预约看房

七、代码参考

八、源码获取


一、前言介绍

在网络高速发展的时代,众多的软件被开发出来,给用户带来了很大的选择余地,而且人们越来越追求更个性的需求。在这种时代背景下,房东只能以用户为导向,所以开发租房网站是必须的。

系统采用了Java技术,将所有业务模块采用以浏览器交互的模式,选择MySQL作为系统的数据库,开发工具选择 eclipse来进行系统的设计。对系统进行测试后,改善了程序逻辑和代码。同时确保系统中所有的程序都能正常运行,所有的功能都能操作,并且该系统有很好的操作体验,实现了租房网站。

二、主要技术

技术名 作用
SpringBoot 后端框架
Vue 前端框架
MySQL 数据库

三、系统设计(部分)

3.1、主要功能模块设计         

本系统有管理员;首页、个人中心、用户管理、房屋类型管理、房屋信息管理、预约看房管理、在线签约管理、租赁评价管理、交流论坛、系统管理,用户;首页、个人中心、预约看房管理、在线签约管理、租赁评价管理、我的收藏管理,前台首页;首页、房屋信息、交流论坛、房屋资讯、个人中心、后台管理、在线客服等功能。

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第1张图片

3.2、系统登录设计

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第2张图片

四、数据库设计(部分)

数据库的功能就是对系统中所有的数据进行存储和管理。所有的数据可以在数据库中产时间的进行存储,方便用户的使用。而且所有的数据库中的数据也应该具有一定的共享性,任何的系统可以对一些数据进行使用,同时还应该保持一定的独立性,每一个数据库中的数据都有很强的安全性,可以被很好的存放到数据库,没有进行身份的验证是不能对这些数据进行查看和使用的。数据库的设计需要明确每一个实体之间的联系,系统的E-R图如下图所示::

管理员实体主要存储管理信息包括用户名、密码、角色。管理员信息属性图如图4-4所示。

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第3张图片

图4-4 管理员信息实体属性图

在线签约信息实体图如图4-5所示:

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第4张图片

五、运行截图

5.1、管理员登录

管理员输入个人的用户名、密码、角色登录系统,这时候系统的数据库就会在进行查找相关的信息,如果我们输入的用户名、密码、角色不正确,数据库就会提示出错误的信息提示,同时会提示管理员重新输入自己的用户名、密码、角色,直到账号密码输入成功后,会提登录成功的信息。网站管理员登录效果图如图5-1所示:

图5-1管理员登录界面

5.2、管理员功能模块

5.2.1、用户管理

管理员对用户管理进行详情、删除、修改操作。程序成效图如下图5-2所示:

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第5张图片

图5-2用户管理界面图

5.2.2、房屋类型管理

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第6张图片

图5-3房屋类型管理界面

5.2.3、房屋信息管理

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第7张图片

图5-4房屋信息管理界面

5.2.4、房屋资讯

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第8张图片

图5-5房屋资讯界面

5.2.5预约看房管理

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第9张图片

图5-6预约看房管理界面

5.2.6在线签约管理

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第10张图片

图5-7在线签约管理界面

5.2.7交流论坛

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第11张图片

图5-8交流论坛界面

5.3、用户功能模块

用户进入系统可以对首页、个人中心、预约看房管理、在线签约管理、租赁评价管理、我的收藏管理进行相对应操作。程序成效图如下图5-9所示:

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第12张图片

图5-9用户功能界面图

5.3.1预约看房管理

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第13张图片

图5-10预约看房管理界面

5.3.2在线签约管理

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第14张图片

图5-11在线签约管理界面

5.3.2租赁评价管理

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第15张图片

图5-12租赁评价管理界面

5.4、前台首页功能模块

 租房网站,在租房网站可以查看首页、房屋信息、交流论坛、房屋资讯、个人中心、后台管理、在线客服等内容,如图5-13所示。

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第16张图片

图5-13系统首页界面图

5.4.1、用户登录、用户注册

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第17张图片

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第18张图片

图5-14用户登录、用户注册界面图

5.4.2、个人中心

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第19张图片

图5-15个人中心界面图

5.4.3、预约看房

基于Java+SpringBoot+vue的租房网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】_第20张图片

图5-16预约看房界面图

七、代码参考

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.ChatEntity;
import com.entity.view.ChatView;

import com.service.ChatService;
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-11 14:12:56
 */
@RestController
@RequestMapping("/chat")
public class ChatController {
    @Autowired
    private ChatService chatService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map params,ChatEntity chat,
		HttpServletRequest request){
    	if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
    		chat.setUserid((Long)request.getSession().getAttribute("userId"));
    	}
        EntityWrapper ew = new EntityWrapper();
		PageUtils page = chatService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chat), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map params,ChatEntity chat, HttpServletRequest request){
    	if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
    		chat.setUserid((Long)request.getSession().getAttribute("userId"));
    	}
        EntityWrapper ew = new EntityWrapper();
		PageUtils page = chatService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chat), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( ChatEntity chat){
       	EntityWrapper ew = new EntityWrapper();
      	ew.allEq(MPUtil.allEQMapPre( chat, "chat")); 
        return R.ok().put("data", chatService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ChatEntity chat){
        EntityWrapper< ChatEntity> ew = new EntityWrapper< ChatEntity>();
 		ew.allEq(MPUtil.allEQMapPre( chat, "chat")); 
		ChatView chatView =  chatService.selectView(ew);
		return R.ok("查询在线客服成功").put("data", chatView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ChatEntity chat = chatService.selectById(id);
        return R.ok().put("data", chat);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ChatEntity chat = chatService.selectById(id);
        return R.ok().put("data", chat);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody ChatEntity chat, HttpServletRequest request){
    	chat.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(chat);
    	if(StringUtils.isNotBlank(chat.getAsk())) {
			chatService.updateForSet("isreply=0", new EntityWrapper().eq("userid", request.getSession().getAttribute("userId")));
    		chat.setUserid((Long)request.getSession().getAttribute("userId"));
    		chat.setIsreply(1);
    	}
    	if(StringUtils.isNotBlank(chat.getReply())) {
    		chatService.updateForSet("isreply=0", new EntityWrapper().eq("userid", chat.getUserid()));
    		chat.setAdminid((Long)request.getSession().getAttribute("userId"));
    	}
        chatService.insert(chat);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ChatEntity chat, HttpServletRequest request){
    	chat.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(chat);
    	chat.setUserid((Long)request.getSession().getAttribute("userId"));
    	if(StringUtils.isNotBlank(chat.getAsk())) {
			chatService.updateForSet("isreply=0", new EntityWrapper().eq("userid", request.getSession().getAttribute("userId")));
    		chat.setUserid((Long)request.getSession().getAttribute("userId"));
    		chat.setIsreply(1);
    	}
    	if(StringUtils.isNotBlank(chat.getReply())) {
    		chatService.updateForSet("isreply=0", new EntityWrapper().eq("userid", chat.getUserid()));
    		chat.setAdminid((Long)request.getSession().getAttribute("userId"));
    	}
        chatService.insert(chat);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody ChatEntity chat, HttpServletRequest request){
        //ValidatorUtils.validateEntity(chat);
        chatService.updateById(chat);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        chatService.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 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 wrapper = new EntityWrapper();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = chatService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

八、源码获取

大家点赞、收藏、关注、评论啦 、查看文章结尾获取联系方式

精彩专栏推荐订阅:下方专栏

Java项目精品实战案例(200套)

私信我即可打包获取200多个项目源码+论文+演示视频~

​​​

你可能感兴趣的:(java毕业设计,java,spring,boot,vue.js,java毕业设计项目实战,租房网站)