SpringBoot+Vue实现前后端分离的大学生在线租房平台的设计与实现

博主主页:一季春秋
博主简介:专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。
主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Python、小程序、安卓app、大数据等设计与开发

🍅文末获取联系🍅

目录

一、项目介绍 

二、项目主要技术 

三、功能结构设计

四、系统实现

4.1 房屋管理

4.2 报修管理

4.3 房屋管理

4.4 房屋

4.5 报修

4.6 房屋租赁 

五、实现代码


一、项目介绍 

该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。

大学生在线租房平台管理系统按照操作主体分为管理员和用户。管理员的功能包括报修管理、报修评价管理、字典管理、房东管理、房屋管理、房屋收藏管理、房屋留言管理、房屋租赁管理、租房论坛管理、公告信息管理、留言板管理、用户管理、管理员管理。用户的功能等。 

二、项目主要技术 

开发语言:Java

使用框架:spring boot

前端技术:Vue 、css、element-ui、js

开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code

数据库:MySQL 5.7/8.0

数据库管理工具:phpstudy/Navicat

JDK版本:jdk1.8

Maven: apache-maven 3.8.1-bin

三、功能结构设计

下图即为设计的管理员功能结构,管理员权限操作的功能包括管理公告,管理大学生在线租房平台信息,包括房屋管理,培训管理,报修管理,薪资管理等,可以管理公告。 

四、系统实现

4.1 房屋管理

4.2 报修管理

4.3 房屋管理

4.4 房屋

 

4.5 报修

4.6 房屋租赁 

五、实现代码

/**
 * 房屋租赁
 * 后端接口
 * @author
 * @email
*/
@RestController
@Controller
@RequestMapping("/fangwuYuyue")
public class FangwuYuyueController {
    private static final Logger logger = LoggerFactory.getLogger(FangwuYuyueController.class);

    private static final String TABLE_NAME = "fangwuYuyue";

    @Autowired
    private FangwuYuyueService fangwuYuyueService;


    @Autowired
    private TokenService tokenService;

    @Autowired
    private BaoxiuService baoxiuService;//报修
    @Autowired
    private BaoxiuCommentbackService baoxiuCommentbackService;//报修评价
    @Autowired
    private DictionaryService dictionaryService;//字典
    @Autowired
    private FangdongService fangdongService;//房东
    @Autowired
    private FangwuService fangwuService;//房屋
    @Autowired
    private FangwuCollectionService fangwuCollectionService;//房屋收藏
    @Autowired
    private FangwuLiuyanService fangwuLiuyanService;//房屋留言
    @Autowired
    private ForumService forumService;//租房论坛
    @Autowired
    private GonggaoService gonggaoService;//公告信息
    @Autowired
    private LiuyanService liuyanService;//留言板
    @Autowired
    private YonghuService yonghuService;//用户
    @Autowired
    private UsersService usersService;//管理员


    /**
    * 后端列表
    */
    @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("fangdongId",request.getSession().getAttribute("userId"));
        CommonUtil.checkMap(params);
        PageUtils page = fangwuYuyueService.queryPage(params);

        //字典表数据转换
        List<FangwuYuyueView> list =(List<FangwuYuyueView>)page.getList();
        for(FangwuYuyueView 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);
        FangwuYuyueEntity fangwuYuyue = fangwuYuyueService.selectById(id);
        if(fangwuYuyue !=null){
            //entity转view
            FangwuYuyueView view = new FangwuYuyueView();
            BeanUtils.copyProperties( fangwuYuyue , view );//把实体数据重构到view中
            //级联表 房屋
            //级联表
            FangwuEntity fangwu = fangwuService.selectById(fangwuYuyue.getFangwuId());
            if(fangwu != null){
            BeanUtils.copyProperties( fangwu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "username", "password", "newMoney", "yonghuId"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表
            view.setFangwuId(fangwu.getId());
            }
            //级联表 用户
            //级联表
            YonghuEntity yonghu = yonghuService.selectById(fangwuYuyue.getYonghuId());
            if(yonghu != null){
            BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "username", "password", "newMoney", "yonghuId"});//把级联的数据添加到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 FangwuYuyueEntity fangwuYuyue, HttpServletRequest request){
        logger.debug("save方法:,,Controller:{},,fangwuYuyue:{}",this.getClass().getName(),fangwuYuyue.toString());

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

        Wrapper<FangwuYuyueEntity> queryWrapper = new EntityWrapper<FangwuYuyueEntity>()
            .eq("fangwu_id", fangwuYuyue.getFangwuId())
            .eq("yonghu_id", fangwuYuyue.getYonghuId())
            .in("fangwu_yuyue_yesno_types", new Integer[]{1,2})
            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        FangwuYuyueEntity fangwuYuyueEntity = fangwuYuyueService.selectOne(queryWrapper);
//        if(fangwuYuyueEntity==null){
            fangwuYuyue.setInsertTime(new Date());
            fangwuYuyue.setFangwuYuyueYesnoTypes(1);
            fangwuYuyue.setCreateTime(new Date());
            fangwuYuyueService.insert(fangwuYuyue);
            return R.ok();
//        }else {
//            if(fangwuYuyueEntity.getFangwuYuyueYesnoTypes()==1)
//                return R.error(511,"有相同的待审核的数据");
//            else if(fangwuYuyueEntity.getFangwuYuyueYesnoTypes()==2)
//                return R.error(511,"有相同的审核通过的数据");
//            else
//                return R.error(511,"表中有相同数据");
//        }
    }

    /**
    * 后端修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody FangwuYuyueEntity fangwuYuyue, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {
        logger.debug("update方法:,,Controller:{},,fangwuYuyue:{}",this.getClass().getName(),fangwuYuyue.toString());
        FangwuYuyueEntity oldFangwuYuyueEntity = fangwuYuyueService.selectById(fangwuYuyue.getId());//查询原先数据

        String role = String.valueOf(request.getSession().getAttribute("role"));
//        if(false)
//            return R.error(511,"永远不会进入");
//        else if("用户".equals(role))
//            fangwuYuyue.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
        if("".equals(fangwuYuyue.getFangwuYuyueText()) || "null".equals(fangwuYuyue.getFangwuYuyueText())){
                fangwuYuyue.setFangwuYuyueText(null);
        }
        if("".equals(fangwuYuyue.getFangwuYuyueFile()) || "null".equals(fangwuYuyue.getFangwuYuyueFile())){
                fangwuYuyue.setFangwuYuyueFile(null);
        }
        if("".equals(fangwuYuyue.getFangwuYuyueYesnoText()) || "null".equals(fangwuYuyue.getFangwuYuyueYesnoText())){
                fangwuYuyue.setFangwuYuyueYesnoText(null);
        }

            fangwuYuyueService.updateById(fangwuYuyue);//根据id更新
            return R.ok();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一季春秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值