💖💖作者:疯狂行者
💙💙个人简介:长期从事软件开发行业,擅长Java、微信小程序、Python、安卓Android等。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我!
💛💛想说的话:"疯狂行者"感谢大家的关注与支持!
💜💜有问题可以评论区交流~
💕 精彩专栏推荐订阅💕 👇🏻👇🏻👇🏻👇🏻
Java精彩实战项目案例
Python精彩实战项目案例
安卓Android精彩实战项目案例
一、系统功能
1.1 开发环境
- 开发语言:Java - 技术:SSM+LayUI
- 数据库:MySQL - 架构:B/S - 源码类型: Web
- 编译工具:Idea、Eclipse、MyEclipse (选其一)
- 其他:jdk1.8、Tomcat8.5 、Navicat
二、系统设计
2.1 研究思路分析
在系统流程分析当中调查分析它是比较重要的环节,因为在这个系统当中它都涉及到每个环节的业务流程,所以从Java+SSM实现的房屋预定/房屋出租管理系统的设计的整体设计上要保证各个信息的正确输入和输出以及对数据储存的完整,并结合实际的操作步骤来绘制出具体的流程图。具体流程图如下图所示:
研究思路流程图分析
2.2 系统功能结构图
系统的功能需求如下:
管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员功能来管理后台系统。主要功能有:账号管理、房屋管理;用户功能包含登录注册、房源展示、预定、收藏、我的租房信息、我租的房子、收藏的房子、房源信息管理等。
系统功能模块图
三、部分功能展示
房客租的房子
房屋详情
管理员之房源管理
用户登录页面
用户发布的房源信息
用户发布房源
用户收藏的房子
四、部分代码设计
4.1.上传文件【代码如下(示例):】
@RequestMapping("/MultipleUpload")
@ResponseBody
public Map<String, Object> upload(@RequestParam("file") List<MultipartFile> file, HttpServletRequest req) {
Map<String, Object> map = new HashMap<String,Object>();
if (!file.isEmpty() && file.size() > 0) {
for (MultipartFile f : file) {
try {
// 文件名
String filename = UUID.randomUUID()
+ f.getOriginalFilename().substring(f.getOriginalFilename().lastIndexOf("."));
// 存储虚拟路径
String localPath = req.getServletContext().getContextPath() + "/file/" + filename;
detailsPath.append(localPath+"~");
File filePath = new File(dirPath);
if (!filePath.exists()) {
filePath.mkdirs();
}
//上传
f.transferTo(new File(dirPath + filename));
} catch (Exception e) {
map.put("code", 1);
map.put("msg", "上传失败");
e.printStackTrace();
}
}
map.put("code", 0);
map.put("msg", "上传成功");
}
return map;
}
4.2.添加房源【代码如下(示例):】
@RequestMapping("/addHouseRecord")
@ResponseBody
public String addHouse(House house, HttpServletRequest request) {
if(house.getPublisher()==null||"".equals(house.getPublisher())) {
house.setPublisher("管理员");
}
Users u = (Users) request.getSession().getAttribute("loginUser");
house.setUId(u.getuID());
house.setHouseImage(simplePath);
house.setHouseDetailsImg(detailsPath.toString());
house.setHstatus(0);
int n = service.addNewHouse(house);
if(n>0) {
detailsPath.delete(0,detailsPath.length());
return "OK";
}
return "FAIL";
}
总结
💟💟如果大家有任何疑虑,可以在评论区或主页详细交流。
💟💟 精彩专栏推荐订阅下方专栏👇🏻👇🏻👇🏻👇🏻
💟💟 打卡 文章 更新 4/ 365天
Java精彩实战项目案例
Python精彩实战项目案例
安卓Android精彩实战项目案例