目录
一、前言
二、技术介绍
三、系统实现
四、文档参考
五、核心代码
六、源码获取
全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者
一、前言
随着房地产市场的蓬勃发展,房产销售业务日益复杂,传统的手工管理方式已难以满足现代销售管理的需求。为了提高房产销售的效率、优化客户体验并精准掌握市场动态,我们设计并实现了一个基于Java+Spring Boot+MySQL的房产销售系统。该系统集成了房源信息管理、客户资料管理、销售流程跟踪、数据分析报告等功能模块,旨在通过信息化手段实现房产销售的全面数字化管理。我们充分利用Spring Boot框架的轻量级和高效性,以及MySQL数据库的稳定性和可扩展性,力求打造一个操作简便、功能强大、安全可靠的房产销售管理平台,为房产企业的可持续发展提供坚实的技术支撑。
二、技术介绍
语言:Java
使用框架:Spring Boot
前端技术:JS、Vue 、css3
开发工具:IDEA/Eclipse
数据库:MySQL 5.7/8.0
数据库管理工具:phpstudy/Navicat
JDK版本:jdk1.8
Maven: apache-maven 3.8.1-bin
前端环境:Node.Js 12\14\16
三、系统实现
用户功能模块
用户点击进入到系统操作界面,可以对首页、个人中心、房源信息管理、交易订单管理、预约看房管理、评价管理、我的收藏管理等功能模块,个人信息:通过列表可以获取账号、姓名、性别、手机、邮箱、照片、备注并进行修改操作,如图5-1所示。
房源信息管理:通过列表可以获取房源名称、房源类型、房源户型、房源图片、所在区域、房源位置、房源面积、每米价格、总计、发布时间、销售账号、销售姓名、销售手机等信息,进行详情、购房、预约、查看评论等操作,如图5-2所示。
交易订单管理:通过列表可以获取账号、姓名、订单编号、房源名称、房源类型、房源户型、房源图片、总计、销售账号、销售姓名、交易时间、备注、是否支付等信息,进行详情、评价、删除等操作,如图5-3所示。
预约看房管理:通过列表可以获取账号、姓名、手机、房源名称、房源类型、房源户型、房源图片、预约时间、销售账号、销售姓名、销售手机、审核回复、审核状态等信息,进行详情、删除操作,如图5-4所示。
管理员功能模块
管理员通过用户名和密码、角色填写完成后进行登录,如图5-5所示。管理员登录成功后进入到系统操作界面,可以对首页、个人中心、用户管理、销售经理管理、房源信息管理、房源类型管理、房子户型管理、交易订单管理、预约看房管理、评价管理、我的收藏管理、系统管理等功能模块进行相对应操作。
用户管理:通过列表可以获取账号、姓名、性别、手机、邮箱、照片、备注等内容,可以进行详情、修改或删除等操作,如图5-6所示。
销售经理管理:通过列表可以获取销售账号、销售姓名、性别、头像、身份证、销售手机、年龄等信息,进行详情、删除或修改等操作,如图5-7所示。
房源信息管理:通过列表可以获取房源名称、房源类型、房源户型、房源图片、所在区域、房源位置、房源面积、每米价格、总计、发布时间、销售账号、销售姓名、销售手机等信息,进行详情、修改、查看评论、删除等操作,如图5-8所示。
房源类型管理:通过列表可以获取房源类型等信息,进行修改或删除操作,如图5-9所示。
房子户型管理:通过列表可以获取房子户型等信息,进行修改或删除操作,如图5-10所示。
四、文档参考
五、核心代码
@RequestMapping("users")
@RestController
public class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密码已重置为:123456");}/*** 列表*/@RequestMapping("/list")public R list( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew));}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);userService.updateById(user);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}
六、源码获取
感谢大家点赞、收藏、关注、评论啦