博主介绍:专注于Java(springboot ssm 等开辟框架) vue .net php phython node.js uniapp 微信小程序 等诸多技术范畴和结业项目实战、企业信息化体系建设,从业十五余年开辟设计教学工作
☆☆☆ 出色专栏保举订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了2000+毕设题目 方便大家学习利用
感兴趣的可以先收藏起来,另有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,盼望资助更多的人
更多项目地址 介绍 翰文编程-CSDN博客
文末下方有源码获取地址
ssm405市肆租赁管理体系的设计与实现 轻松学习-java项目-java基础-java开辟-web-前端
4.2功能结构设计
为了让体系的编码可以顺利举行,特意对本体系功能举行细分设计,管理员的功能在经过细分后,设计的功能结构见下图。管理员管理房东,管理公告,管理市肆出租,租赁合划一信息。
图4.1 管理员功能结构图
房东的功能在经过细分后,设计的功能结构见下图。房东审核市肆出租订单,添加租赁合同,管理市肆出租信息。
图4.2 房东功能结构图
用户的功能在经过细分后,设计的功能结构见下图。用户租赁市肆,查看公告,查看市肆租赁订单,查看租赁合同信息。
图4.3 用户功能结构图
4.3数据库设计
一般来说,对用户举行观察,相识其需求,主要还是完乐成能上的分析设计,殊不知,设计功能时,也要展示对数据库的设计。数据库服务于程序,它可以按照设定的规则对程序的数据举行生存,因此,也可以说数据库就是程序相关数据的聚集。为了保证程序的高质量,数据库提供的数据存储服务也必要快速相应,同时数据信息也要安全正当可靠,所以设计一个数据库如许的任务也必要高度器重,并花时间和精力去积极完成。究竟这影响到后期程序的开辟和利用。试想而知,假设设计一个欠好的数据库,遇到的问题将会有:第一,面对信息处置惩罚,会有着繁琐的业务逻辑,延长事件处置惩罚时间。第二:程序编码期间,将会产生更多的代码去完成数据处置惩罚的功能,产生大量的数据冗余,而且也不方便注释代码,还会占用更多的存储空间。综上所述,设计出合理的数据库是多么的重要。
4.3.1数据库概念设计
完成此部分内容,必要通过设计展示终极的数据库概念模子,因为这是数据库设计中的关键。而这个概念模子也是在数据库设计中必不可少的E-R模子。之所以要运用E-R模子展示概念设计的内容,主要还是因为E-R模子可以更加方便的展示实体,另有实体间的关系,而且E-R模子可以更方便表达数据的意义。这将有助于数据库的设计工作。
E-R模子的建立也必要利用对应的软件,目前市场上利用频率高的是微软旗下的成员之一Visio,固然,国产的亿图软件也可以绘制E-R模子。无论是接纳哪个绘制软件,要绘制好E-R图,还是要把握E-R图的各个符号代表的意义。好比矩形常用来表实际体,对于实体的特征就利用椭圆形符号表现,像菱形如许的符号就是处于两个矩形之间,代表着实体间的接洽,而直线符号就是把矩形,椭圆,菱形这些符号举行连接。接下来就对本体系的E-R图举行展示。
(1)设计的市肆出租实体,其具备的属性见下图。
图4.4 市肆出租实体属性图
(2)设计的用户实体,其具备的属性见下图。
图4.5 用户实体属性图
(3)设计的房东实体,其具备的属性见下图。
图4.6 房东实体属性图
图4.7 合同实体属性图
图4.8 实体间关系E-R图
4.3.2 数据库物理设计
作为程序背景的支持,本数据库也必要设计数据存储的结构。而数据存储结构的设计就包罗了数据表结构的设计和创建。这里也会运用到前面设计的E-R模子来构建数据表结构。
数据表结构包罗了字段,数据类型,另有字段的取值范围等信息。而E-R模子中的实体就是一张表,实体的特征就可以作为该表中的字段,根据本程序信息存储要求,设计每个字段必要的类型,另有该字段的取值范围等。每当设计完成一张数据表,就必要及时生存在数据库里面,并对该设计的数据表准确定名,要求设置的数据表的名称尽量不要是中文,而且要方便影象。因为在程序编码阶段,通过SQL语句可以把程序里面的数据写入在各个数据表里面,而这个环节必要利用到数据表的名称。假如数据表名称是中文的话,可能会乱码并影响程序运行。下面就以表格情势展示设计的结果。
表4.1市肆出租信息表
字段
| 类型
| 空
| 默认
| 注释
| id (主键)
| int(11)
| 否
|
| 主键
| chuzu_name
| varchar(200)
| 是
| NULL
| 市肆名称
| huixing_types
| int(255)
| 是
| NULL
| 户型
| chuzu_mianji
| decimal(10,4)
| 是
| NULL
| 面积
| chuzu_money
| decimal(10,4)
| 是
| NULL
| 代价/月
| chuzu_photo
| varchar(200)
| 是
| NULL
| 图片
| chuzu_weizhi
| varchar(200)
| 是
| NULL
| 位置
| fangdong_id
| int(200)
| 是
| NULL
| 发布房东
| chuzu_types
| int(200)
| 是
| NULL
| 市肆状态
| chuzu_content
| text
| 是
| NULL
| 具体信息
| insert_time
| timestamp
| 是
| NULL
| 录入时间
| create_time
| timestamp
| 是
| NULL
| 创建时间
| 表4.2市肆出租留言信息表
字段
| 类型
| 空
| 默认
| 注释
| id (主键)
| int(11)
| 否
|
| 主键
| chuzu_id
| int(11)
| 是
| NULL
| 市肆出租id
| yonghu_id
| int(11)
| 是
| NULL
| 用户id
| chuzu_liuyan_content
| text
| 是
| NULL
| 留言内容
| reply_content
| text
| 是
| NULL
| 回复内容
| insert_time
| timestamp
| 是
| NULL
| 讨论时间
| create_time
| timestamp
| 是
| NULL
| 创建时间
|
表4.3市肆出租订单信息表
字段
| 类型
| 空
| 默认
| 注释
| id (主键)
| int(11)
| 否
|
| 主键
| chuzu_id
| int(11)
| 是
| NULL
| 市肆出租id
| yonghu_id
| int(11)
| 是
| NULL
| 用户id
| chuzu_order_day
| int(255)
| 是
| NULL
| 租赁时间/年
| shenhe_types
| int(255)
| 是
| NULL
| 审核
| chuzu_order_money
| decimal(10,4)
| 是
| NULL
| 总价
| insert_time
| timestamp
| 是
| NULL
| 订单创建时间
| create_time
| timestamp
| 是
| NULL
| 创建时间
| 表4.4房东信息表
字段
| 类型
| 空
| 默认
| 注释
| id (主键)
| int(11)
| 否
|
| 主键
| username
| varchar(200)
| 是
| NULL
| 账户
| password
| varchar(200)
| 是
| NULL
| 密码
| fangdong_name
| varchar(200)
| 是
| NULL
| 房东姓名
| sex_types
| int(11)
| 是
| NULL
| 性别
| fangdong_id_number
| varchar(200)
| 是
| NULL
| 身份证号
| fangdong_phone
| varchar(200)
| 是
| NULL
| 手机号
| fangdong_photo
| varchar(200)
| 是
| NULL
| 照片
| create_time
| timestamp
| 是
| NULL
| 创建时间
| 表4.5 合同信息表
字段
| 类型
| 空
| 默认
| 注释
| id (主键)
| int(11)
| 否
|
| 主键
| hetong_name
| varchar(255)
| 是
| NULL
| 合同名称
| yonghu_id
| int(11)
| 是
| NULL
| 签订用户
| fangdong_id
| int(11)
| 是
| NULL
| 发布房东
| hetong_file
| varchar(255)
| 是
| NULL
| 合同
| hetong_content
| text
| 是
| NULL
| 合同简介
| insert_time
| timestamp
| 是
| NULL
| 签订时间
| create_time
| timestamp
| 是
| NULL
| 创建时间
|
表4.6公告信息表
字段
| 类型
| 空
| 默认
| 注释
| id (主键)
| int(11)
| 否
|
| 主键
| news_name
| varchar(200)
| 是
| NULL
| 公告名称
| news_types
| int(11)
| 是
| NULL
| 公告类型
| news_photo
| varchar(200)
| 是
| NULL
| 公告图片
| insert_time
| timestamp
| 是
| NULL
| 公告时间
| news_content
| text
| 是
| NULL
| 公告详情
| create_time
| timestamp
| 是
| NULL
| 创建时间
| 表4.7管理员信息表
字段
| 类型
| 空
| 默认
| 注释
| id (主键)
| bigint(20)
| 否
|
| 主键
| username
| varchar(100)
| 否
|
| 用户名
| password
| varchar(100)
| 否
|
| 密码
| role
| varchar(100)
| 是
| 管理员
| 角色
| addtime
| timestamp
| 否
| CURRENT_TIMESTAMP
| 新增时间
| 表4.8 用户信息表
字段
| 类型
| 空
| 默认
| 注释
| id (主键)
| int(11)
| 否
|
| 主键
| username
| varchar(200)
| 是
| NULL
| 账户
| password
| varchar(200)
| 是
| NULL
| 密码
| yonghu_name
| varchar(200)
| 是
| NULL
| 用户姓名
| sex_types
| int(11)
| 是
| NULL
| 性别
| yonghu_id_number
| varchar(200)
| 是
| NULL
| 身份证号
| yonghu_phone
| varchar(200)
| 是
| NULL
| 手机号
| yonghu_photo
| varchar(200)
| 是
| NULL
| 照片
| create_time
| timestamp
| 是
| NULL
| 创建时间
|
第5章 体系实现
这个环节必要利用前面的设计方案,包罗对体系模块的设计,另有对程序背景的数据支持的数据库的设计等。不过这部分内容还是强调体系编码职员的开辟本领,要把前面设计的内容通过编码的情势以一个完整的,可以运行的体系出现出来。
5.1管理员功能实现
5.1.1房东管理
管理员管理房东,其运行效果见下图。在本页面,管理员可以为房东重置密码,可以修改房东的手机号,照片,姓名等信息,也可以删除房东信息。
图5.1房东管理页面
5.1.2公告管理
管理员管理公告。其运行效果见下图。公告信息的管理是管理员负责的内容,管理员必要发布公告,查询公告,修改公告信息。
图5.2 公告管理页面
5.1.3用户管理
管理员可以管理用户,其运行效果见下图。管理员能够对用户的登录密码举行重置,可以修改用户的注册信息。
图5.3 用户管理页面
5.2 房东功能实现
5.2.1市肆出租管理
房东管理市肆出租信息。其运行效果见下图。房东对必要出租的市肆信息举行登记,可以通过市肆名称查询市肆信息,可以修改市肆的状态,位置,面积,户型等信息。
图5.4 市肆出租管理页面
5.2.2市肆出租订单管理
房东管理市肆出租订单,其运行效果见下图。用户租赁市肆,该市肆的房东必要在当前模块举行出租订单的审核。
图5.5 市肆出租订单管理页面
5.2.3租赁合同管理
房东管理租赁合同,其运行效果见下图。房东在当前页面添加租赁合同信息,可以下载租赁合同文件,可以修改租赁合同的形貌信息。
图5.6 租赁合同管理页面
5.3 用户功能实现
5.3.1市肆出租
用户查看市肆出租。其运行效果见下图。用户查看出租的市肆介绍信息,可以在页面底部对出租的市肆举行留言,可以点击立即预订按钮对出租的市肆举行租赁。

图5.7 市肆出租页面
主要代码:
- /**
- * 后端列表
- */
- @RequestMapping("/page")
- public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
- logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
- String role = String.valueOf(request.getSession().getAttribute("role"));
- if(StringUtil.isEmpty(role)){
- return R.error(511,"权限为空");
- }
- else if("用户".equals(role)){
- params.put("yonghuId",request.getSession().getAttribute("userId"));
- }
- else if("房东".equals(role)){
- params.put("fangdongId",request.getSession().getAttribute("userId"));
- }
- params.put("orderBy","id");
- PageUtils page = chuzuOrderService.queryPage(params);
- //字典表数据转换
- List<ChuzuOrderView> list =(List<ChuzuOrderView>)page.getList();
- for(ChuzuOrderView c:list){
- //修改对应字典表字段
- dictionaryService.dictionaryConvert(c);
- }
- return R.ok().put("data", page);
- }
- /**
- * 后端详情
- */
- @RequestMapping("/info/{id}")
- public R info(@PathVariable("id") Long id){
- logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
- ChuzuOrderEntity chuzuOrder = chuzuOrderService.selectById(id);
- if(chuzuOrder !=null){
- //entity转view
- ChuzuOrderView view = new ChuzuOrderView();
- BeanUtils.copyProperties( chuzuOrder , view );//把实体数据重构到view中
- //级联表
- ChuzuEntity chuzu = chuzuService.selectById(chuzuOrder.getChuzuId());
- if(chuzu != null){
- BeanUtils.copyProperties( chuzu , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
- view.setChuzuId(chuzu.getId());
- }
- //级联表
- YonghuEntity yonghu = yonghuService.selectById(chuzuOrder.getYonghuId());
- if(yonghu != null){
- BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
- view.setYonghuId(yonghu.getId());
- }
- //修改对应字典表字段
- dictionaryService.dictionaryConvert(view);
- return R.ok().put("data", view);
- }else {
- return R.error(511,"查不到数据");
- }
- }
复制代码 5.3.2公告信息
用户查询公告信息,其运行效果见下图。用户通过公告名称,大概是通过公告类型可以查询公告。
图5.8 公告信息页面
5.3.3市肆出租订单
用户查看市肆出租订单。其运行效果见下图。用户在本页面查看租赁的市肆的审核情况,查看房东是否同意把市肆出租给该用户。
图5.9 市肆出租订单页面
大家点赞、收藏、关注、评论啦 其他的定礼服务 商务互助 下方接洽卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 大概私信作者
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |