基于JavaSpringboot+Vue实现前后端分离房屋租赁系统_基于javaboot的房屋租赁管理系统

最后

中年危机是真实存在的,即便有技术傍身,还是难免对自己的生存能力产生质疑和焦虑,这些年职业发展,一直在寻求消除焦虑的依靠。

  • 技术要深入到什么程度?

  • 做久了技术总要转型管理?

  • 我能做什么,我想做什么?

  • 一技之长,就是深耕你的专业技能,你的专业技术。(重点)

  • 独立做事,当你的一技之长达到一定深度的时候,需要开始思考如何独立做事。(创业)

  • 拥有事业,选择一份使命,带领团队实现它。(创业)

一技之长分五个层次

  • 栈内技术 - 是指你的前端专业领域技术

  • 栈外技术 - 是指栈内技术的上下游,领域外的相关专业知识

  • 工程经验 - 是建设专业技术体系的“解决方案”

  • 带人做事 - 是对团队协作能力的要求

  • 业界发声 - 工作经验总结对外分享,与他人交流

永远不要放弃一技之长,它值得你长期信仰持有

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

主要内容包括html,css,html5,css3,JavaScript,正则表达式,函数,BOM,DOM,jQuery,AJAX,vue 等等。

客服管理:

订单信息:

合同信息:

**后台管理员:**管理员登录进入房屋租赁平台系统可以查看首页、个人中心、房屋类型管理、房屋租赁管理、会员管理、订单信息管理、合同信息管理、退房评价管理、管理员管理,系统管理等信息

**房屋类型:**在房屋类型管理页面中可以通过填写类型等内容进行修改

房屋租赁:

**会员管理:**在会员管理页面中可以查看用户名、密码、姓名、性别、头像、手机、邮箱、身份证等信息,并可根据需要对已有会员管理进行修改或删除等操作

**订单管理:**订单信息管理,在订单信息管理页面中可以查看订单编号、房屋名称、类型、图片、位置、朝向、楼层、楼号、租金、押金、总价格、租房日期、租房时长、信息备注、用户名、姓名、手机、身份证等信息,并可根据需要对已有订单信息管理进行修改或删除等详细操作


**合同管理:**合同信息管理,在合同信息管理页面中可以查看合同编号、房屋名称、类型、图片、位置、楼号、租金、押金、租房日期、租房时长、合同日期、用户名、姓名、手机、身份证等内容,并且根据需要对已有合同信息管理进行详情,修改或删除等详细操作

系统资讯:


客服轮播图等

数据设计:

将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。

表4-1 allusers表

列名数据类型长度约束
idint11NOT NULL
usernamevarchar50default NULL
pwdvarchar50default NULL
cxvarchar50default NULL

表4-2dingdanxinxi表

列名数据类型长度约束
idint11NOT NULL
addtimevarchar50default NULL
dingdanbianhaovarchar50default NULL
fangwumingchengvarchar50default NULL
leixingvarchar50default NULL
tupianvarchar50default NULL
weizhivarchar50default NULL
chaoxiangvarchar50default NULL
loucengvarchar50default NULL
louhaovarchar50default NULL
zujinvarchar50default NULL
yajinvarchar50default NULL
zongjiagevarchar50default NULL
zufangriqivarchar50default NULL
zufangshizhangvarchar50default NULL
xinxibeizhuvarchar50default NULL
yonghumingvarchar50default NULL
xingmingvarchar50default NULL
shoujivarchar50default NULL
shenfenzhengvarchar50default NULL
sfshvarchar50default NULL
shhfvarchar50default NULL

表4-3:fangwuleixing表

列名数据类型长度约束
idint11NOT NULL
addtimevarchar50default NULL
leixingvarchar50default NULL

表4-4:huiyuan表

列名数据类型长度约束
idint11NOT NULL
addtimevarchar50default NULL
yonghumingvarchar50default NULL
mimavarchar50default NULL
xingmingvarchar50default NULL
xingbievarchar50default NULL
touxiangvarchar50default NULL
shoujivarchar50default NULL
youxiangvarchar50default NULL
shenfenzhengvarchar50default NULL

代码实现:


/\*\*
 \* 房屋租赁
 \* 后端接口
 \* @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);
	}
	


### 文末

如果30岁以前,可以还不知道自己想去做什么的话,那30岁之后,真的觉得时间非常的宝贵,不能再浪费时间在一些碎片化的事情上,比如说看综艺,电视剧。一个人的黄金时间也就二,三十年,不能过得浑浑噩噩。所以花了基本上休息的时间,去不断的完善自己的知识体系,希望可以成为一个领域内的TOP。



同样是干到30岁,普通人写业务代码划水,榜样们深度学习拓宽视野晋升管理。

这也是为什么大家都说30岁是程序员的门槛,很多人迈不过去,其实各行各业都是这样都会有个坎,公司永远都缺的高级人才,只用这样才能在大风大浪过后,依然闪耀不被公司淘汰不被社会淘汰。



**269页《前端大厂面试宝典》**

包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。

**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

![](https://img-blog.csdnimg.cn/img_convert/b98713ee557d94286de8afe404cb51d1.png)



**前端面试题汇总**

![](https://img-blog.csdnimg.cn/img_convert/1d691ca297c9016828aff783a701e065.png)



**JavaScript**

![](https://img-blog.csdnimg.cn/img_convert/a489904576da281d07092f043566f6dd.png)



  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值