文章目录
- 基于JavaSpringboot+Vue实现前后端分离房屋租赁系统
- 前言介绍:
- 功能设计:
- 功能截图:
- 代码实现:
- 获取源码:
前言介绍:
2021年处于信息科技高速发展的大背景之下。在今天,缺少手机和电脑几乎已经成为不可能的事情,人们生活中已经难以离开手机和电脑。针对增加的成本管理和操作,各大商家非常有必要建立自己的网上房屋租赁平台系统,这既可以让更多的人体验到网络所带来的方便,也有助于提高房屋的租赁。在经过几十年的高速发展后,互联网已成为最流行、最普及的媒体,每天的信息流量甚至能比得上过去十年。其以便捷的信息交换、快速的沟通速度,悄然地改变着会员的消费方式。简单、快捷、成本较低是互联网的特点,在互联网中,买家卖家不需要谋面也可以进行各种各样的交易活动,互联网商业化已经是当代经济的新趋势。 “电子商务”(电子商务或电子商务)的概念是在1996年前后在美国学术界提出的。经过数十年的经营,这个概念已经被广泛接受。B2B、C2C、C2B和B2C是电子商务的四类型型,但目前占据主流的是B2B和B2C两种。其中面向商家的管理模式称为B2B,它对商务系统的性能、安全和服务质量都要求十分严格;而直接面向消费者的模式称为B2C,也是我们所普遍接触的。到目前为止,电子商务的发展经历十余年仍然活力十足,电商应用就像雨后春笋一样冒出。
功能设计:
主要功能实现:首页、个人中心、房屋类型管理、房屋租赁管理、会员管理、订单信息管理、合同信息管理、退房评价管理、管理员管理,系统管理等基本功能
系统结构设计: 整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计
功能截图:
系统首页:在系统首页可以查看首页、房屋租赁、公告信息、个人中心、后台管理、客服中心等内容
房租租赁:在房屋租赁页面通过填写房屋名称、类型、图片、城市、地区、位置、朝向、楼层、楼号、设施、租金、押金、点击次数等信息进行提交
租赁详情:
公告信息:
个人中心:
客服管理:
订单信息:
合同信息:
后台管理员:管理员登录进入房屋租赁平台系统可以查看首页、个人中心、房屋类型管理、房屋租赁管理、会员管理、订单信息管理、合同信息管理、退房评价管理、管理员管理,系统管理等信息
房屋类型:在房屋类型管理页面中可以通过填写类型等内容进行修改
房屋租赁:
会员管理:在会员管理页面中可以查看用户名、密码、姓名、性别、头像、手机、邮箱、身份证等信息,并可根据需要对已有会员管理进行修改或删除等操作
订单管理:订单信息管理,在订单信息管理页面中可以查看订单编号、房屋名称、类型、图片、位置、朝向、楼层、楼号、租金、押金、总价格、租房日期、租房时长、信息备注、用户名、姓名、手机、身份证等信息,并可根据需要对已有订单信息管理进行修改或删除等详细操作
合同管理:合同信息管理,在合同信息管理页面中可以查看合同编号、房屋名称、类型、图片、位置、楼号、租金、押金、租房日期、租房时长、合同日期、用户名、姓名、手机、身份证等内容,并且根据需要对已有合同信息管理进行详情,修改或删除等详细操作
系统资讯:
客服轮播图等
代码实现:
/** * 房屋租赁 * 后端接口 * @author * @email * @date 2022-01-30 08:44:55 */@RestController@RequestMapping("/fangwuzulin")public class FangwuzulinController { @Autowired private FangwuzulinService fangwuzulinService; /** * 后端列表 */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,FangwuzulinEntity fangwuzulin, HttpServletRequest request){ EntityWrapper<FangwuzulinEntity> ew = new EntityWrapper<FangwuzulinEntity>(); PageUtils page = fangwuzulinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, fangwuzulin), params), params)); return R.ok().put("data", page); } /** * 前端列表 */ @IgnoreAuth @RequestMapping("/list") public R list(@RequestParam Map<String, Object> params,FangwuzulinEntity fangwuzulin, HttpServletRequest request){ EntityWrapper<FangwuzulinEntity> ew = new EntityWrapper<FangwuzulinEntity>(); PageUtils page = fangwuzulinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, fangwuzulin), params), params)); return R.ok().put("data", page); } /** * 列表 */ @RequestMapping("/lists") public R list( FangwuzulinEntity fangwuzulin){ EntityWrapper<FangwuzulinEntity> ew = new EntityWrapper<FangwuzulinEntity>(); ew.allEq(MPUtil.allEQMapPre( fangwuzulin, "fangwuzulin")); return R.ok().put("data", fangwuzulinService.selectListView(ew)); } /** * 查询 */ @RequestMapping("/query") public R query(FangwuzulinEntity fangwuzulin){ EntityWrapper< FangwuzulinEntity> ew = new EntityWrapper< FangwuzulinEntity>(); ew.allEq(MPUtil.allEQMapPre( fangwuzulin, "fangwuzulin")); FangwuzulinView fangwuzulinView = fangwuzulinService.selectView(ew); return R.ok("查询房屋租赁成功").put("data", fangwuzulinView); } /** * 后端详情 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ FangwuzulinEntity fangwuzulin = fangwuzulinService.selectById(id); fangwuzulin.setClicknum(fangwuzulin.getClicknum()+1); fangwuzulin.setClicktime(new Date()); fangwuzulinService.updateById(fangwuzulin); return R.ok().put("data", fangwuzulin); } /** * 前端详情 */ @IgnoreAuth @RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id){ FangwuzulinEntity fangwuzulin = fangwuzulinService.selectById(id); fangwuzulin.setClicknum(fangwuzulin.getClicknum()+1); fangwuzulin.setClicktime(new Date()); fangwuzulinService.updateById(fangwuzulin); return R.ok().put("data", fangwuzulin); } /** * 后端保存 */ @RequestMapping("/save") public R save(@RequestBody FangwuzulinEntity fangwuzulin, HttpServletRequest request){ fangwuzulin.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(fangwuzulin); fangwuzulinService.insert(fangwuzulin); return R.ok(); } /** * 前端保存 */ @RequestMapping("/add") public R add(@RequestBody FangwuzulinEntity fangwuzulin, HttpServletRequest request){ fangwuzulin.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(fangwuzulin); fangwuzulinService.insert(fangwuzulin); return R.ok(); } /** * 修改 */ @RequestMapping("/update") public R update(@RequestBody FangwuzulinEntity fangwuzulin, HttpServletRequest request){ //ValidatorUtils.validateEntity(fangwuzulin); fangwuzulinService.updateById(fangwuzulin);//全部更新 return R.ok(); } /** * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ fangwuzulinService.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<FangwuzulinEntity> wrapper = new EntityWrapper<FangwuzulinEntity>(); if(map.get("remindstart")!=null) { wrapper.ge(columnName, map.get("remindstart")); } if(map.get("remindend")!=null) { wrapper.le(columnName, map.get("remindend")); } int count = fangwuzulinService.selectCount(wrapper); return R.ok().put("count", count); } /** * 前端智能排序 */ @IgnoreAuth @RequestMapping("/autoSort") public R autoSort(@RequestParam Map<String, Object> params,FangwuzulinEntity fangwuzulin, HttpServletRequest request,String pre){ EntityWrapper<FangwuzulinEntity> ew = new EntityWrapper<FangwuzulinEntity>(); 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 = fangwuzulinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, fangwuzulin), params), params)); return R.ok().put("data", page); } }