目录
大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是 一款基于SpringBoot+Vue的房屋交易平台管理系统,项目源码请点击文章末尾联系我哦~目前有各类成品 毕设 JavaWeb SSM SpringBoot等等项目框架,源码丰富,欢迎咨询。
一、项目介绍
信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。本次开发的房屋交易平台实现了出售房屋管理、出售房屋收藏管理、出售房屋留言管理、预约出售房屋看房管理、字典管理、公告管理、用户管理、租房管理、租房收藏管理、租房留言管理、预约租房看房管理、管理员管理等功能。系统用到了关系型数据库中王者MySql作为系统的数据库,有效的对数据进行安全的存储,有效的备份,对数据可靠性方面得到了保证。并且程序也具备程序需求的所有功能,使得操作性还是安全性都大大提高,让房屋交易平台更能从理念走到现实,确确实实的让人们提升信息处理效率。
关键字:信息管理,时效性,安全性,MySql
二、开发环境
开发系统:Windows
JDK版本:Java JDK1.8(推荐)
开发工具:IDEA/MyEclipse(推荐IDEA)
数据库版本: mysql8.0(推荐)
数据库可视化工具: navicat
服务器:SpringBoot自带 apache tomcat
框架:springboot,vue
三、功能介绍
管理员管理出售房屋的数据,出售房屋管理页面见下图。此页面主要实现出售房屋的增加、修改、删除、查看的功能。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。下图就是公告信息管理页面。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。下图就是公告类型管理页面。
四、核心代码
/**
* 出售房屋留言
* 后端接口
* @author
* @email
*/
@RestController
@Controller
@RequestMapping("/chushoufangwuLiuyan")
public class ChushoufangwuLiuyanController {
private static final Logger logger = LoggerFactory.getLogger(ChushoufangwuLiuyanController.class);
@Autowired
private ChushoufangwuLiuyanService chushoufangwuLiuyanService;
@Autowired
private TokenService tokenService;
@Autowired
private DictionaryService dictionaryService;
//级联表service
@Autowired
private ChushoufangwuService chushoufangwuService;
@Autowired
private YonghuService yonghuService;
/**
* 后端列表
*/
@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(false)
return R.error(511,"永不会进入");
else if("用户".equals(role))
params.put("yonghuId",request.getSession().getAttribute("userId"));
if(params.get("orderBy")==null || params.get("orderBy")==""){
params.put("orderBy","id");
}
PageUtils page = chushoufangwuLiuyanService.queryPage(params);
//字典表数据转换
List<ChushoufangwuLiuyanView> list =(List<ChushoufangwuLiuyanView>)page.getList();
for(ChushoufangwuLiuyanView c:list){
//修改对应字典表字段
dictionaryService.dictionaryConvert(c, request);
}
return R.ok().put("data", page);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id, HttpServletRequest request){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
ChushoufangwuLiuyanEntity chushoufangwuLiuyan = chushoufangwuLiuyanService.selectById(id);
if(chushoufangwuLiuyan !=null){
//entity转view
ChushoufangwuLiuyanView view = new ChushoufangwuLiuyanView();
BeanUtils.copyProperties( chushoufangwuLiuyan , view );//把实体数据重构到view中
//级联表
ChushoufangwuEntity chushoufangwu = chushoufangwuService.selectById(chushoufangwuLiuyan.getChushoufangwuId());
if(chushoufangwu != null){
BeanUtils.copyProperties( chushoufangwu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "yonghuId"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setChushoufangwuId(chushoufangwu.getId());
view.setChushoufangwuYonghuId(chushoufangwu.getYonghuId());
}
//级联表
YonghuEntity yonghu = yonghuService.selectById(chushoufangwuLiuyan.getYonghuId());
if(yonghu != null){
BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setYonghuId(yonghu.getId());
}
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody ChushoufangwuLiuyanEntity chushoufangwuLiuyan, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,chushoufangwuLiuyan:{}",this.getClass().getName(),chushoufangwuLiuyan.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永远不会进入");
else if("用户".equals(role))
chushoufangwuLiuyan.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
chushoufangwuLiuyan.setInsertTime(new Date());
chushoufangwuLiuyan.setCreateTime(new Date());
chushoufangwuLiuyanService.insert(chushoufangwuLiuyan);
return R.ok();
}
/**
* 后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody ChushoufangwuLiuyanEntity chushoufangwuLiuyan, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,chushoufangwuLiuyan:{}",this.getClass().getName(),chushoufangwuLiuyan.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
// if(false)
// return R.error(511,"永远不会进入");
// else if("用户".equals(role))
// chushoufangwuLiuyan.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
//根据字段查询是否有相同数据
Wrapper<ChushoufangwuLiuyanEntity> queryWrapper = new EntityWrapper<ChushoufangwuLiuyanEntity>()
.eq("id",0)
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
ChushoufangwuLiuyanEntity chushoufangwuLiuyanEntity = chushoufangwuLiuyanService.selectOne(queryWrapper);
chushoufangwuLiuyan.setUpdateTime(new Date());
if(chushoufangwuLiuyanEntity==null){
chushoufangwuLiuyanService.updateById(chushoufangwuLiuyan);//根据id更新
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
chushoufangwuLiuyanService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
五、效果图
六、源码获取:
同系统在主页搜索资源可下载~