赞
踩
随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于房产销售系统当然也不能排除在外,随着网络技术的不断成熟,带动了房产销售系统,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。这种个性化的平台特别注重交互协调与管理的相互配合,激发了管理人员的创造性与主动性,对房产销售系统而言非常有利。
本系统采用的数据库是Mysql,使用SpringBoot框架开发,运行环境使用Tomcat服务器,idea是本系统的开发平台。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SpringBoot
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序vue/爬虫/c#/asp.net
5.1用户功能模块
用户点击进入到系统操作界面,可以对首页、个人中心、房源信息管理、交易订单管理、预约看房管理、评价管理、我的收藏管理等功能模块,个人信息:通过列表可以获取账号、姓名、性别、手机、邮箱、照片、备注并进行修改操作,如图5-1所示。
图5-1个人信息界面图
房源信息管理:通过列表可以获取房源名称、房源类型、房源户型、房源图片、所在区域、房源位置、房源面积、每米价格、总计、发布时间、销售账号、销售姓名、销售手机等信息,进行详情、购房、预约、查看评论等操作,如图5-2所示。
图5-2房源信息管理界面图
交易订单管理:通过列表可以获取账号、姓名、订单编号、房源名称、房源类型、房源户型、房源图片、总计、销售账号、销售姓名、交易时间、备注、是否支付等信息,进行详情、评价、删除等操作,如图5-3所示。
图5-3交易订单管理界面图
预约看房管理:通过列表可以获取账号、姓名、手机、房源名称、房源类型、房源户型、房源图片、预约时间、销售账号、销售姓名、销售手机、审核回复、审核状态等信息,进行详情、删除操作,如图5-4所示。
图5-4预约看房管理界面图
5.2管理员功能模块
管理员通过用户名和密码、角色填写完成后进行登录,如图5-5所示。管理员登录成功后进入到系统操作界面,可以对首页、个人中心、用户管理、销售经理管理、房源信息管理、房源类型管理、房子户型管理、交易订单管理、预约看房管理、评价管理、我的收藏管理、系统管理等功能模块进行相对应操作。
用户管理:通过列表可以获取账号、姓名、性别、手机、邮箱、照片、备注等内容,可以进行详情、修改或删除等操作,如图5-6所示。
图5-5管理员登录界面图
图5-6用户管理界面图
销售经理管理:通过列表可以获取销售账号、销售姓名、性别、头像、身份证、销售手机、年龄等信息,进行详情、删除或修改等操作,如图5-7所示。
图5-7销售经理管理界面图
房源信息管理:通过列表可以获取房源名称、房源类型、房源户型、房源图片、所在区域、房源位置、房源面积、每米价格、总计、发布时间、销售账号、销售姓名、销售手机等信息,进行详情、修改、查看评论、删除等操作,如图5-8所示。
图5-8房源信息管理界面图
房源类型管理:通过列表可以获取房源类型等信息,进行修改或删除操作,如图5-9所示。
图5-9房源类型管理界面图
房子户型管理:通过列表可以获取房子户型等信息,进行修改或删除操作,如图5-10所示。
图5-10房子户型管理界面图
交易订单管理:通过列表可以获取账号、姓名、订单编号、房源名称、房源类型、房源户型、房源图片、总计、销售账号、销售姓名、交易时间、备注、是否支付等信息,进行详情、修改或删除操作,如图5-11所示。
图5-11交易订单管理界面图
5.3销售经理功能模块
销售经理点击进入到系统操作界面,可以对首页、个人中心、房源信息管理、交易订单管理、预约看房管理、评价管理等功能模块,房源信息管理:通过列表可以获取房源名称、房源类型、房源户型、房源图片、所在区域、房源位置、房源面积、每米价格、总计、发布时间、销售账号、销售姓名、销售手机等信息并进行详情、修改、查看评论删除等操作,如图5-12所示。
图5-12房源信息管理界面图
预约看房管理:通过列表可以获取账号、姓名、手机、房源名称、房源类型、房源户型、房源图片、预约时间、销售账号、销售姓名、销售手机、审核回复、审核状态等信息,进行详情、修改、删除操作,如图5-13所示。
图5-13预约看房管理界面图
5.4前台首页功能模块
房产销售系统,在前台首页可以查看首页、房源信息、个人中心、后台管理等内容,如图5-14所示。
图5-14前台首页功能界面图
房源信息,在房源信息页面通过填写房源名称、房源类型、房源户型、房源图片、所在区域、房源位置、房源面积、每米价格、总计、发布时间、销售账号、销售姓名、销售手机等信息进行购房、预约及点我收藏等操作,如图5-15所示。
图5-15房源信息界面图
个人中心,在个人中心页面通过填写账号、密码、姓名、性别、手机、邮箱、照片、备注等信息进行更新信息等操作,如图5-16所示。
图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.JiaoyidingdanEntity; import com.entity.view.JiaoyidingdanView; import com.service.JiaoyidingdanService; 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 */ @RestController @RequestMapping("/jiaoyidingdan") public class JiaoyidingdanController { @Autowired private JiaoyidingdanService jiaoyidingdanService; /** * 后端列表 */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,JiaoyidingdanEntity jiaoyidingdan, HttpServletRequest request){ String tableName = request.getSession().getAttribute("tableName").toString(); if(tableName.equals("yonghu")) { jiaoyidingdan.setZhanghao((String)request.getSession().getAttribute("username")); } if(tableName.equals("xiaoshoujingli")) { jiaoyidingdan.setXiaoshouzhanghao((String)request.getSession().getAttribute("username")); } EntityWrapper<JiaoyidingdanEntity> ew = new EntityWrapper<JiaoyidingdanEntity>(); PageUtils page = jiaoyidingdanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiaoyidingdan), params), params)); return R.ok().put("data", page); } /** * 前端列表 */ @RequestMapping("/list") public R list(@RequestParam Map<String, Object> params,JiaoyidingdanEntity jiaoyidingdan, HttpServletRequest request){ EntityWrapper<JiaoyidingdanEntity> ew = new EntityWrapper<JiaoyidingdanEntity>(); PageUtils page = jiaoyidingdanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiaoyidingdan), params), params)); return R.ok().put("data", page); } /** * 列表 */ @RequestMapping("/lists") public R list( JiaoyidingdanEntity jiaoyidingdan){ EntityWrapper<JiaoyidingdanEntity> ew = new EntityWrapper<JiaoyidingdanEntity>(); ew.allEq(MPUtil.allEQMapPre( jiaoyidingdan, "jiaoyidingdan")); return R.ok().put("data", jiaoyidingdanService.selectListView(ew)); } /** * 查询 */ @RequestMapping("/query") public R query(JiaoyidingdanEntity jiaoyidingdan){ EntityWrapper< JiaoyidingdanEntity> ew = new EntityWrapper< JiaoyidingdanEntity>(); ew.allEq(MPUtil.allEQMapPre( jiaoyidingdan, "jiaoyidingdan")); JiaoyidingdanView jiaoyidingdanView = jiaoyidingdanService.selectView(ew); return R.ok("查询交易订单成功").put("data", jiaoyidingdanView); } /** * 后端详情 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ JiaoyidingdanEntity jiaoyidingdan = jiaoyidingdanService.selectById(id); return R.ok().put("data", jiaoyidingdan); } /** * 前端详情 */ @RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id){ JiaoyidingdanEntity jiaoyidingdan = jiaoyidingdanService.selectById(id); return R.ok().put("data", jiaoyidingdan); } /** * 后端保存 */ @RequestMapping("/save") public R save(@RequestBody JiaoyidingdanEntity jiaoyidingdan, HttpServletRequest request){ jiaoyidingdan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(jiaoyidingdan); jiaoyidingdanService.insert(jiaoyidingdan); return R.ok(); } /** * 前端保存 */ @RequestMapping("/add") public R add(@RequestBody JiaoyidingdanEntity jiaoyidingdan, HttpServletRequest request){ jiaoyidingdan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(jiaoyidingdan); jiaoyidingdanService.insert(jiaoyidingdan); return R.ok(); } /** * 修改 */ @RequestMapping("/update") public R update(@RequestBody JiaoyidingdanEntity jiaoyidingdan, HttpServletRequest request){ //ValidatorUtils.validateEntity(jiaoyidingdan); jiaoyidingdanService.updateById(jiaoyidingdan);//全部更新 return R.ok(); } /** * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ jiaoyidingdanService.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<JiaoyidingdanEntity> wrapper = new EntityWrapper<JiaoyidingdanEntity>(); 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("zhanghao", (String)request.getSession().getAttribute("username")); } if(tableName.equals("xiaoshoujingli")) { wrapper.eq("xiaoshouzhanghao", (String)request.getSession().getAttribute("username")); } int count = jiaoyidingdanService.selectCount(wrapper); return R.ok().put("count", count); } }
目 录
第一章 绪 论 1
1.1背景及意义 1
1.2国内外研究概况 2
1.3 研究的内容 2
第二章 关键技术的研究 3
2.1 相关技术 3
2.2 Java技术 3
2.3 ECLIPSE 开发环境 4
2.4 Tomcat介绍 4
2.5 Spring Boot框架 5
第三章 系统分析 5
3.1 系统设计目标 6
3.2 系统可行性分析 6
3.3 系统功能分析和描述 7
3.4系统UML用例分析 8
3.4.1管理员用例 9
3.4.2用户用例 9
3.5系统流程分析 10
3.5.1添加信息流程 11
3.5.2操作流程 12
3.5.3删除信息流程 13
第四章 系统设计 14
4.1 系统体系结构 15
4.2 数据库设计原则 16
4.3 数据表 17
第五章 系统实现 18
5.1用户功能模块 18
5.2管理员功能模块 19
5.3销售经理功能模块 19
5.4前台首页功能模块 19
第六章 系统测试 20
6.1测试定义及目的 21
6.2性能测试 22
6.3测试模块 23
6.4测试结果 24
总 结 26
致 谢 27
参考文献 28
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。