首页 > 编程语言 >基于SpringBoot+Vue的房地产销售管理系统设计与实现毕设(文档+源码)

基于SpringBoot+Vue的房地产销售管理系统设计与实现毕设(文档+源码)

时间:2024-10-28 19:48:50浏览次数:9  
标签:Vue return SpringBoot request String 源码 fangchanCollection id view

        

目录

一、项目介绍

二、开发环境

三、功能介绍

四、核心代码

五、效果图

六、源码获取:


        大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是 一款基于SpringBoot+Vue的房地产销售管理系统,项目源码请点击文章末尾联系我哦~目前有各类成品 毕设 JavaWeb  SSM SpringBoot等等项目框架,源码丰富,欢迎咨询。 

一、项目介绍

社会和科技的不断进步带来更便利的生活,计算机技术也越来越平民化。二十一世纪是数据时代,各种信息经过统计分析都可以得到想要的结果,所以也可以更好的为人们工作、生活服务。房屋是生活条件的一部分,所以需求量非常大。把计算机技术和房地产销售相结合可以更符合现代、用户的要求,实现更为方便的销售房屋的方式。

本基于JAVA的房地产销售管理系统采用JAVA语言和Vue技术,框架采用Springboot,搭配Mysql数据库,运行在Idea里。本基于JAVA的房地产销售管理系统提供管理员、客户、销售经理三种角色的服务。总的功能包括房产的查询、预约、评价、购买和论坛管理等。本系统可以帮助管理员、销售经理更新房产信息和管理预约、购买信息,帮助客户实现在线的预约方式,并可以实现购买。本系统采用成熟技术开发可以完成房地产销售管理的相关工作。

关键词:在线预约;购置房产;JAVA语言;Mysql数据库;论坛管理

二、开发环境

开发系统:Windows
JDK版本:Java JDK1.8(推荐)
开发工具:IDEA/MyEclipse(推荐IDEA)
数据库版本: mysql8.0(推荐)
数据库可视化工具: navicat
服务器:SpringBoot自带 apache tomcat
框架:springboot,vue

三、功能介绍

        管理员负责客户信息的录入和管理,客户的地址、联系方式等都可以由管理员在此功能里看到。管理员可以对房产的信息进行管理、审核。本功能可以实现房产的定时更新和审核管理。管理员可以查询论坛和审核管理客户发布的帖子。管理员可以管理客户的购置房产信息,也可以查询和删除购置房产内容。管理员可以对个人的资料进行修改和管理,管理员还可以在本功能里修改密码。

        当客户登录进系统后可以修改自己的资料,可以使自己信息的保持正确性。用户可以根据房产名称搜索相对应的房产。客户可以发布帖子和查看帖子的回复信息。客户可以在线购置房产,也可以查询自己的详细购置内容。完成销售后,客户可以进行打分。

四、核心代码


/**
 * 房产收藏
 * 后端接口
 * @author
 * @email
*/
@RestController
@Controller
@RequestMapping("/fangchanCollection")
public class FangchanCollectionController {
    private static final Logger logger = LoggerFactory.getLogger(FangchanCollectionController.class);

    @Autowired
    private FangchanCollectionService fangchanCollectionService;


    @Autowired
    private TokenService tokenService;
    @Autowired
    private DictionaryService dictionaryService;

    //级联表service
    @Autowired
    private FangchanService fangchanService;
    @Autowired
    private YonghuService yonghuService;

    @Autowired
    private YuangongService yuangongService;


    /**
    * 后端列表
    */
    @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"));
        else if("销售经理".equals(role))
            params.put("yuangongId",request.getSession().getAttribute("userId"));
        if(params.get("orderBy")==null || params.get("orderBy")==""){
            params.put("orderBy","id");
        }
        PageUtils page = fangchanCollectionService.queryPage(params);

        //字典表数据转换
        List<FangchanCollectionView> list =(List<FangchanCollectionView>)page.getList();
        for(FangchanCollectionView 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);
        FangchanCollectionEntity fangchanCollection = fangchanCollectionService.selectById(id);
        if(fangchanCollection !=null){
            //entity转view
            FangchanCollectionView view = new FangchanCollectionView();
            BeanUtils.copyProperties( fangchanCollection , view );//把实体数据重构到view中

                //级联表
                FangchanEntity fangchan = fangchanService.selectById(fangchanCollection.getFangchanId());
                if(fangchan != null){
                    BeanUtils.copyProperties( fangchan , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setFangchanId(fangchan.getId());
                }
                //级联表
                YonghuEntity yonghu = yonghuService.selectById(fangchanCollection.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 FangchanCollectionEntity fangchanCollection, HttpServletRequest request){
        logger.debug("save方法:,,Controller:{},,fangchanCollection:{}",this.getClass().getName(),fangchanCollection.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(false)
            return R.error(511,"永远不会进入");
        else if("客户".equals(role))
            fangchanCollection.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));

        Wrapper<FangchanCollectionEntity> queryWrapper = new EntityWrapper<FangchanCollectionEntity>()
            .eq("fangchan_id", fangchanCollection.getFangchanId())
            .eq("yonghu_id", fangchanCollection.getYonghuId())
            .eq("fangchan_collection_types", fangchanCollection.getFangchanCollectionTypes())
            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        FangchanCollectionEntity fangchanCollectionEntity = fangchanCollectionService.selectOne(queryWrapper);
        if(fangchanCollectionEntity==null){
            fangchanCollection.setInsertTime(new Date());
            fangchanCollection.setCreateTime(new Date());
            fangchanCollectionService.insert(fangchanCollection);
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }

    /**
    * 后端修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody FangchanCollectionEntity fangchanCollection, HttpServletRequest request){
        logger.debug("update方法:,,Controller:{},,fangchanCollection:{}",this.getClass().getName(),fangchanCollection.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));
//        if(false)
//            return R.error(511,"永远不会进入");
//        else if("客户".equals(role))
//            fangchanCollection.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
        //根据字段查询是否有相同数据
        Wrapper<FangchanCollectionEntity> queryWrapper = new EntityWrapper<FangchanCollectionEntity>()
            .notIn("id",fangchanCollection.getId())
            .andNew()
            .eq("fangchan_id", fangchanCollection.getFangchanId())
            .eq("yonghu_id", fangchanCollection.getYonghuId())
            .eq("fangchan_collection_types", fangchanCollection.getFangchanCollectionTypes())
            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        FangchanCollectionEntity fangchanCollectionEntity = fangchanCollectionService.selectOne(queryWrapper);
        if(fangchanCollectionEntity==null){
            fangchanCollectionService.updateById(fangchanCollection);//根据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());
        fangchanCollectionService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

五、效果图

六、源码获取:

同系统在主页搜索资源可下载~

标签:Vue,return,SpringBoot,request,String,源码,fangchanCollection,id,view
From: https://blog.csdn.net/m0_48205251/article/details/142870691

相关文章

  • 基于SpringBoot+Vue的在线考试管理系统设计与实现毕设(文档+源码)
            目录一、项目介绍二、开发环境三、功能介绍四、核心代码五、效果图六、源码获取:        大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是一款基于SpringBoot+Vue的在线考试管理系统,项目源码请点击文章末尾联系我哦~目前有各类成品......
  • javaweb基于SSH开发简单的新闻文章管理系统源码(前台+后台) 课程设计 大作业
    作品编号:1113数据库:mysql后端技术:SSH......
  • 基于node.js+vue基于Android的新闻移动客户端的设计与实现前(开题+程序+论文)计算机毕业
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容选题背景在当今数字化时代,新闻传播方式发生了巨大变革。关于新闻移动客户端的研究,现有研究主要以新闻内容的推送、展示效果以及用户界面设计等为主。然而专门针对基......
  • 基于node.js+vue恒爱药房会员网上订购管理系统(开题+程序+论文)计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于药房会员网上订购管理系统的研究,现有研究主要以传统药房管理为主,专门针对会员网上订购管理系统的研究较少。在国内外,传统药房管理的研究成果较多,涵......
  • (开题报告)django+vue心理健康科普微信小程序的设计与实现论文+源码
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于心理健康科普方面的研究,现有研究主要以传统的网页平台或线下方式为主。在国内外,虽然有众多心理健康相关的研究成果,但专门针对心理......
  • 毕业设计:python哔哩哔哩数据可视化分析系统 B站 bilibili数据 Flask框架 Echarts可视
    毕业设计:python哔哩哔哩数据可视化分析系统B站bilibili数据Flask框架Echarts可视化(源码)✅1、项目介绍技术栈:python语言、Flask框架、Echarts可视化、MySQL数据库、词云图、HTML2、项目界面(1)系统首页—数据概况(2)B站评论弹幕分析(3)B站作者分析(4)B站视频可视化分......
  • 毕业设计:python车牌识别+车辆管理+计费系统+可视化大屏+Django框架(源码)✅
    毕业设计:python车牌识别+车辆管理+计费系统+可视化大屏+Django框架(源码)✅1、项目介绍技术栈:Python语言、Django框架、MySQL数据库、Echarts可视化、车牌识别、停车场管理、停车收费、HTML亮点功能:[1]用户管理,可增加月卡,季卡,半年卡,年卡,临时停车等;[2]可配置停车场停车......
  • 基于SpringBoot的在线购物商城系统
    引言  随着电子商务行业的蓬勃发展,消费者对在线购物体验的要求越来越高。为了满足这一需求,我们开发了一款基于SpringBoot框架的在线购物商城系统。该系统旨在提供一个高效、安全、易用的购物平台,支持商品展示、订单管理、支付结算等核心功能。通过集成第三方支付接口、......
  • ssm002学院党员管理系统(论文+源码)_kaic
     毕业设计(论文)题目:鄂尔多斯应用技术学院党员管理系统的设计与实现      摘 要互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对鄂尔多斯应用......
  • java+vue计算机毕设访客预约小程序【开题+程序+论文+源码】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着社会信息化程度的不断提升,企事业单位对访客管理的需求日益增强。传统的访客登记方式往往依赖纸质记录,不仅效率低下,还存在信息泄露和难以追溯的问......