Renting online | sistema de renting basado en Springboot+Vue para realizar la separación de front-end y back-end

Página de inicio del autor: Brújula de programación

Sobre el autor: creador de alta calidad en el campo de Java, experto en blogs de CSDN, socio de contenido de CSDN, autor invitado de Nuggets, experto en blogs de Alibaba Cloud, autor invitado de 51CTO, muchos años de experiencia en diseño de arquitectos, profesor residente del aula Tencent

Contenido principal: proyecto Java, proyecto Python, proyecto front-end, inteligencia artificial y big data, diseño de graduación, plantilla de currículum, materiales de aprendizaje, banco de preguntas de entrevistas, asistencia técnica mutua

Favoritos, likes, no se pierdan, es bueno seguir al autor

Obtenga el código fuente al final del artículo 

Número de artículo: BS-PT-105

1. Introducción ambiental

Configuración regional: Java: jdk1.8

Base de datos: Mysql: mysql5.7

Servidor de aplicaciones: Tomcat: tomcat8.5.31

Herramientas de desarrollo: IDEA o eclipse

Tecnología de desarrollo de fondo: Springboot+Mybatis

Tecnología de desarrollo frontal y posterior: Vue+ElementUI+Nodejs

2. Introducción del proyecto

Con el desarrollo de la sociedad y el avance de la ciencia y la tecnología, la tecnología de Internet se está volviendo cada vez más popular. El estilo de vida de las computadoras en red ha sido gradualmente amado por las grandes masas de personas y ha entrado gradualmente en el uso de todos los usuarios. Internet tiene las ventajas de conveniencia, alta velocidad, alta eficiencia y bajo costo. Por lo tanto, tiene sentido construir un sistema operativo que cumpla con sus propios requisitos.

Basado en los requisitos funcionales del usuario, este documento establece un sistema de arrendamiento de casas. Los módulos funcionales en el sistema son principalmente para realizar la gestión de tipo de casa centrada en las personas, la información de la casa, la gestión de visualización de citas, la gestión de información de contratos, la gestión de reparaciones de la casa, la gestión de la casa. gestión de evaluación, y debe ser la gestión del propietario, la gestión del tablero de mensajes, la gestión del sistema y otras partes funcionales; después de una investigación cuidadosa y meticulosa, una preparación y planificación cuidadosas, la prueba final es exitosa y el sistema se puede usar normalmente. Combinando el análisis del ajuste de funciones y las necesidades reales de la realización del sistema de alquiler de viviendas, se discute el uso de JSP para desarrollar el sistema de alquiler de viviendas.

2.1 Antecedentes e importancia

La gestión del sistema también se operará de forma inteligente a través de la computadora. Hay muchas gestiones y almacenamiento de datos involucrados en el sistema de alquiler de viviendas, como el centro de personas, la gestión del tipo de vivienda, la información de la vivienda, la gestión de visualización de citas, la gestión de la información del contrato, la gestión de la reparación de la vivienda, gestión de evaluación de viviendas, quiero ser una gestión de propietarios, gestión de tableros de mensajes, gestión de sistemas, etc., que plantean enormes desafíos para el trabajo de los gerentes. Frente a una gran cantidad de información, el sistema de gestión tradicional es todo a través de notas Estadísticas de información detallada se realizaba de una manera más detallada, posteriormente aparecieron las computadoras y la información en papel se contaba en la computadora a través de un software de entrada de computadora, para ello se ha desarrollado un sistema de alquiler de vivienda, se está desarrollando una plataforma de sistema de alquiler de vivienda. provisto para los usuarios, que es conveniente para que los administradores vean y mantengan, y pueden editar y mantener el contenido de la información del equipo de acuerdo con los requisitos, para los usuarios, pueden ver la información de la vivienda en cualquier momento y la información del contrato, y pueden realizar operaciones de reparación y evaluación. puede ver información de vivienda, verificar información de contrato, información de mantenimiento e información de evaluación. Los administradores pueden obtener información de datos del sistema sin salir de casa, y también pueden ahorrar mucho tiempo a los usuarios, por lo que el desarrollo del sistema de alquiler de viviendas brinda una gran comodidad para gerentes, y también es conveniente que los gerentes revisen y procesen la información del usuario.

El programa, la base de datos y la tecnología informática están involucrados principalmente en el sistema de alquiler de viviendas en esta tesis. Cubrir una amplia gama de conocimientos puede mejorar en gran medida la eficiencia del trabajo del personal del sistema.

2.2 Importancia de la investigación

Como los usuarios ahora tienen más y más trabajos, los datos involucrados también aumentan en consecuencia. El modo de gestión de consultas de información de vivienda tradicional se enfrenta a una gran cantidad de información de datos, y la eficiencia de proporcionar datos a los usuarios será lenta, y el tiempo de espera para los usuarios será relativamente largo, por lo que esto no puede satisfacer las necesidades de los usuarios ni proporcionar a los usuarios más información Al mismo tiempo que la información de datos efectiva, la eficiencia del trabajo para los gerentes es baja, por lo que el desarrollo del sistema de alquiler de viviendas escolares puede cambiar estas deficiencias.

En la actualidad, el sistema de alquiler de viviendas está atrayendo la atención de muchas personas. Construir un sistema de alquiler de viviendas a través de Internet puede brindar a los usuarios mejores servicios y mejorar la eficiencia laboral del personal. También puede construir mejor más regiones e información de datos para nosotros.

2.3 Contenido de la investigación

En la actualidad, muchas personas aún utilizan las herramientas de papel tradicionales como herramienta principal para la gestión de la información, mientras que la aplicación de la tecnología de red solo juega un papel auxiliar. En términos de conocimiento de las herramientas de red, el software de oficina tradicional sigue siendo la principal herramienta que usa la gente, mientras que la mayoría de las personas aún no entienden ni reconocen el software de administración de información relativamente completo y profesional. Este tema tiene como objetivo realizar varias funciones del sistema de alquiler de casas a través de la gestión de clasificación de etiquetas, etc., para lograr el sistema del sistema de alquiler de casas.

La introducción detallada se desarrollará en los siguientes seis capítulos:

El primer capítulo, la introducción, presenta los antecedentes y la importancia de la selección del tema de investigación, el estado de la investigación y presenta brevemente el contenido del capítulo de este artículo.

El segundo capítulo introduce el conocimiento técnico, se desarrolla mediante la introducción de tecnologías clave e introduce el conocimiento técnico expresado intuitivamente en el sistema.

El tercer capítulo se centra en el análisis del sistema, a partir del poderoso mercado de oferta y demanda del sistema, analiza la viabilidad del desarrollo del sistema, el proceso del sistema, el rendimiento y la función del sistema.

El cuarto capítulo presenta el esquema de diseño detallado del sistema, incluido el diseño de la estructura del sistema y el diseño de la base de datos.

El quinto capítulo, la realización del diseño del sistema, demuestra la estructura del sistema a través de la descripción detallada del diseño de funciones del sistema.

Capítulo 6, la prueba general del sistema, para juzgar si el sistema se puede ejecutar en línea.

El diseño del sistema de alquiler de casas es principalmente para satisfacer las necesidades reales de los usuarios. Por lo tanto, debe realizarse a través de Internet, por lo que debe tener una base de hardware y software. La plataforma finalmente puede lograr el propósito de respaldar la gestión inteligente de la información a través de la ciencia y la tecnología y varios métodos. Por lo tanto, debe contar con el entorno y diversos materiales necesarios para la gestión de la plataforma de aprendizaje en línea, y garantizar la realización de los tres principios de apertura, modularidad y practicidad.

La estructura del sistema de alquiler de viviendas y los módulos funcionales realizados por el sistema se muestran en la Figura 1 a continuación.

 

Convierta el diagrama ER del diseño conceptual de la base de datos en una base de datos relacional. En una base de datos relacional, la relación de datos se compone de tablas de datos, pero la estructura de la tabla se expresa en los campos de la tabla.

Tabla 4.1 tabla de información de configuración

nombre de la columna

tipo de datos

longitud

restricción

identificación

Empezando

20

CLAVE PRIMARIA

nombre

varchar

100

NULO POR DEFECTO

valor

varchar

100

NULO POR DEFECTO

Tabla 4.2 tabla de información de discutirfangwuxinxi

nombre de la columna

tipo de datos

longitud

restricción

identificación

Empezando

20

CLAVE PRIMARIA

refinanciar

Empezando

20

NULO POR DEFECTO

ID de usuario

Empezando

20

NULO POR DEFECTO

Tabla 4.3 tabla de información de discutirwoyaodangfangzhu

nombre de la columna

tipo de datos

longitud

restricción

identificación

Empezando

20

CLAVE PRIMARIA

refinanciar

Empezando

20

NULO POR DEFECTO

ID de usuario

Empezando

20

NULO POR DEFECTO

Tabla 4.4 tabla de información fangwubaoxiu

nombre de la columna

tipo de datos

longitud

restricción

identificación

Empezando

20

CLAVE PRIMARIA

hetongbianhao

varchar

200

NULO POR DEFECTO

fangwumingcheng

varchar

200

NULO POR DEFECTO

fangwuleixing

varchar

200

NULO POR DEFECTO

xiaoqu

varchar

200

NULO POR DEFECTO

baoxiumingcheng`

varchar

200

NULO POR DEFECTO

Leixing

varchar

200

NULO POR DEFECTO

baoxiuneirong

varchar

200

NULO POR DEFECTO

tupián

varchar

200

NULO POR DEFECTO

fangzhuzhanghao

varchar

200

NULO POR DEFECTO

fangzhuxingming

varchar

200

NULO POR DEFECTO

yonghuming

varchar

200

NULO POR DEFECTO

lianxidianhua

varchar

200

NULO POR DEFECTO

sfsh

varchar

200

NULO POR DEFECTO

Tabla 4.5 Tabla de información de fangwuleixing

nombre de la columna

tipo de datos

longitud

restricción

identificación

Empezando

20

CLAVE PRIMARIA

fangwuleixing

Empezando

20

NULO POR DEFECTO

Tabla 4.6 Tabla de información fangwupingjia

nombre de la columna

tipo de datos

longitud

restricción

hetongbianhao

varchar

11

NULO POR DEFECTO

fangwumingcheng

varchar

200

NULO POR DEFECTO

fangwuleixing

varchar

200

NULO POR DEFECTO

xiaoqu

varchar

200

NULO POR DEFECTO

pingfen

varchar

200

NULO POR DEFECTO

fangzhuzhanghao

varchar

200

NULO POR DEFECTO

yonghuming

varchar

200

NULO POR DEFECTO

lianxidianhua

varchar

200

NULO POR DEFECTO

sfsh

varchar

200

NULO POR DEFECTO

Tabla 4.7 tabla de información fangzhu

nombre de la columna

tipo de datos

longitud

restricción

identificación

Empezando

200

CLAVE PRIMARIA

fangzhuzhanghao

varchar

200

NULO POR DEFECTO

mima

varchar

200

NULO POR DEFECTO

fangzhuxingming

varchar

200

NULO POR DEFECTO

xingbie

varchar

200

NULO POR DEFECTO

toxiang

varchar

200

NULO POR DEFECTO

shouji

varchar

200

NULO POR DEFECTO

shenfenzheng

varchar

200

NULO POR DEFECTO

Tabla 4.8 tabla de información de mensajes

nombre de la columna

tipo de datos

longitud

restricción

identificación

Empezando

11

NULO POR DEFECTO

ID de usuario

nombre de usuario

200

NULO POR DEFECTO

nombre de usuario

varchar

200

NULO POR DEFECTO

Tabla 4.9 tabla de información de noticias

nombre de la columna

tipo de datos

longitud

restricción

identificación

Empezando

20

CLAVE PRIMARIA

título

varchar

200

NULO POR DEFECTO

imagen

varchar

200

NULO POR DEFECTO

Tres, pantalla del sistema

Inicio de sesión de usuario

 

Después de que el administrador inicie sesión correctamente, ingrese a la página de antecedentes, puede ver el centro personal, la gestión del tipo de casa, la información de la casa, la gestión de visualización de citas, la gestión de la información del contrato, la gestión de reparación de la casa, la gestión de evaluación de la casa, Quiero ser una gestión de propietario, gestión de tableros de mensajes, gestión del sistema y otros módulos funcionales para las operaciones correspondientes.

Gestión de propietarios: a través de la lista, puede obtener nombre de usuario, contraseña, nombre, avatar, género, ocupación, información de contacto, número de identificación, ver información de usuario o modificar y eliminar operaciones, y también puede agregar información de usuario agregando nuevas operaciones, como se muestra en la figura Mostrar.

 Gestión de tipo de casa: puede ver el tipo de casa a través de la lista, ver detalles o modificar, eliminar operaciones y agregar información de tipo agregando otras nuevas, como se muestra en la figura

 Gestión de información de vivienda: a través de la lista de información de vivienda, puede ver el nombre de la vivienda, el tipo de vivienda, la imagen de la vivienda, el método de alquiler, el piso frontal, el área, el estado de la vivienda, la comunidad, la dirección detallada, el precio del alquiler mensual, el depósito, las instalaciones de la vivienda, la fecha de lanzamiento , número de cuenta de vivienda, nombre del propietario y otra información para ver los detalles o modificar o eliminar, y puede responder a la información en línea o agregar nueva información de la casa al ver los comentarios, como se muestra en la figura.

 Gestión de la información del anuncio: a través de la lista, puede obtener información detallada, como el título, la introducción y la imagen de la información del anuncio para modificar o eliminar, y puede agregar información del anuncio agregando información del anuncio, como se muestra en la figura.

 预约看房管理:通过列表可以获取预约编号、房屋名称、房屋类型、房屋状态、小区、月租价格、押金、租用月数、预约时间、用户名、姓名、身份证、联系电话、房主账号、房主姓名、审核回复、审核状态等信息,进行审核或删除操作,如图所示。

 我要当房东信息:通过列表可以查看房屋名称、房屋类型、图片、租赁方式、小区、月租价格、用户名、房屋详情、朝向楼层、面积、发布日期、联系电话等信息,进行查看详情或修改、删除操作或进行审核操作,如图所示。

 房主登录后的主要功能:不再一 一展示

 租房用户注册登录后的主要功能:不再一 一展示 

个人中心操作界面:

 

四,核心代码展示

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.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.FangwubaoxiuEntity;
import com.entity.view.FangwubaoxiuView;

import com.service.FangwubaoxiuService;
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 2023-03-04 18:46:21
 */
@RestController
@RequestMapping("/fangwubaoxiu")
public class FangwubaoxiuController {
    @Autowired
    private FangwubaoxiuService fangwubaoxiuService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,FangwubaoxiuEntity fangwubaoxiu, HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("fangzhu")) {
			fangwubaoxiu.setFangzhuzhanghao((String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("yonghu")) {
			fangwubaoxiu.setYonghuming((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<FangwubaoxiuEntity> ew = new EntityWrapper<FangwubaoxiuEntity>();
		PageUtils page = fangwubaoxiuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, fangwubaoxiu), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,FangwubaoxiuEntity fangwubaoxiu, HttpServletRequest request){
        EntityWrapper<FangwubaoxiuEntity> ew = new EntityWrapper<FangwubaoxiuEntity>();
		PageUtils page = fangwubaoxiuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, fangwubaoxiu), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( FangwubaoxiuEntity fangwubaoxiu){
       	EntityWrapper<FangwubaoxiuEntity> ew = new EntityWrapper<FangwubaoxiuEntity>();
      	ew.allEq(MPUtil.allEQMapPre( fangwubaoxiu, "fangwubaoxiu")); 
        return R.ok().put("data", fangwubaoxiuService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(FangwubaoxiuEntity fangwubaoxiu){
        EntityWrapper< FangwubaoxiuEntity> ew = new EntityWrapper< FangwubaoxiuEntity>();
 		ew.allEq(MPUtil.allEQMapPre( fangwubaoxiu, "fangwubaoxiu")); 
		FangwubaoxiuView fangwubaoxiuView =  fangwubaoxiuService.selectView(ew);
		return R.ok("查询房屋报修成功").put("data", fangwubaoxiuView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        FangwubaoxiuEntity fangwubaoxiu = fangwubaoxiuService.selectById(id);
        return R.ok().put("data", fangwubaoxiu);
    }

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



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody FangwubaoxiuEntity fangwubaoxiu, HttpServletRequest request){
    	fangwubaoxiu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(fangwubaoxiu);
        fangwubaoxiuService.insert(fangwubaoxiu);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody FangwubaoxiuEntity fangwubaoxiu, HttpServletRequest request){
    	fangwubaoxiu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(fangwubaoxiu);
        fangwubaoxiuService.insert(fangwubaoxiu);
        return R.ok();
    }

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

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

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("fangzhu")) {
			wrapper.eq("fangzhuzhanghao", (String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("yonghu")) {
			wrapper.eq("yonghuming", (String)request.getSession().getAttribute("username"));
		}

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


}

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.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.HetongxinxiEntity;
import com.entity.view.HetongxinxiView;

import com.service.HetongxinxiService;
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 2023-03-04 18:46:21
 */
@RestController
@RequestMapping("/hetongxinxi")
public class HetongxinxiController {
    @Autowired
    private HetongxinxiService hetongxinxiService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,HetongxinxiEntity hetongxinxi, HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			hetongxinxi.setYonghuming((String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("fangzhu")) {
			hetongxinxi.setFangzhuzhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<HetongxinxiEntity> ew = new EntityWrapper<HetongxinxiEntity>();
		PageUtils page = hetongxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, hetongxinxi), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,HetongxinxiEntity hetongxinxi, HttpServletRequest request){
        EntityWrapper<HetongxinxiEntity> ew = new EntityWrapper<HetongxinxiEntity>();
		PageUtils page = hetongxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, hetongxinxi), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( HetongxinxiEntity hetongxinxi){
       	EntityWrapper<HetongxinxiEntity> ew = new EntityWrapper<HetongxinxiEntity>();
      	ew.allEq(MPUtil.allEQMapPre( hetongxinxi, "hetongxinxi")); 
        return R.ok().put("data", hetongxinxiService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(HetongxinxiEntity hetongxinxi){
        EntityWrapper< HetongxinxiEntity> ew = new EntityWrapper< HetongxinxiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( hetongxinxi, "hetongxinxi")); 
		HetongxinxiView hetongxinxiView =  hetongxinxiService.selectView(ew);
		return R.ok("查询合同信息成功").put("data", hetongxinxiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        HetongxinxiEntity hetongxinxi = hetongxinxiService.selectById(id);
        return R.ok().put("data", hetongxinxi);
    }

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



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody HetongxinxiEntity hetongxinxi, HttpServletRequest request){
    	hetongxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(hetongxinxi);
        hetongxinxiService.insert(hetongxinxi);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody HetongxinxiEntity hetongxinxi, HttpServletRequest request){
    	hetongxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(hetongxinxi);
        hetongxinxiService.insert(hetongxinxi);
        return R.ok();
    }

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

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

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			wrapper.eq("yonghuming", (String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("fangzhu")) {
			wrapper.eq("fangzhuzhanghao", (String)request.getSession().getAttribute("username"));
		}

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


}

五,项目总结

房屋租赁系统的整体功能模块的实现,主要是对自己在大学这几年时间所学内容的一个测试,对于系统,主要是通过现在智能化的房屋租赁系统进行开始系统的实现,管理员根据问题信息进行科研成果信息及留言信息管理等操作,并且可以根据需求进行数据信息的增加修改删除等操作,完美的解决了当下房屋租赁系统中所遇到的问题。

经过一个学期的毕业设计的实现完成已接近尾声,到目前为止,当我回想起整个学期的系统开发日,收获颇丰。毕业设计的主要任务是建立一个智能化的房屋租赁系统的信息系统,主要使用JSP和Mysql数据库的开发工具,对系统的每个功能模块进行相对应的操作,最后,系统调试结果表明系统基本可以满足功能要求。

房屋租赁系统的开发对我大学学习的改进有很大帮助。它使我能够学习计算机知识的相关技术方面问题及与人交往的沟通交流方面,让我意识到无论我们做什么,我们都需要坚持不懈,努力工作,只有这样尝试了并且坚持去做了,我们才可以成功,才可以获得成功的喜悦,如果没有尝试,只是想,那连成功的机会都没有,实际操作进行做了,才会越来越近的靠近成功,随着道路一路向前,未来的路是美好的。

Para la realización del sistema de alquiler de viviendas, es la primera vez que realizo el diseño de un sistema de gestión. Durante el proceso de diseño del proyecto, superé varias dificultades, y frente a estas dificultades, las enfrenté activamente, traté de resolver los problemas y dominé mejor el conocimiento teórico y la capacidad práctica práctica, a partir del desarrollo de la sistema Cuando se completó el diseño, había completado un sistema de gestión de plataforma más completo, mejor y más seguro, que también me dio una gran sensación de logro y me hizo tener más confianza en mi vida futura.

Supongo que te gusta

Origin blog.csdn.net/whirlwind526/article/details/131259097
Recomendado
Clasificación