首页 > 数据库 >SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统(功能包含分角色,报修管理、抄表管理、车位管理、房屋管理、业主管理、投诉管理、报修统计分析等)

SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统(功能包含分角色,报修管理、抄表管理、车位管理、房屋管理、业主管理、投诉管理、报修统计分析等)

时间:2022-10-30 17:32:04浏览次数:65  
标签:报修 return 管理 springmvc code2life id import com public

(博客目录)

SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统

本系统为了解决线下物业管理小区的冗余繁杂的难题,通过整合业主和物业,将平时的业务在线化,节省了物业处理小区问题的效率。 完整源码点击头像查看个人签名

实现功能截图

登录 请添加图片描述 车位费查询 请添加图片描述 物业费查询 请添加图片描述 我的投诉列表 请添加图片描述 管理员首页 请添加图片描述 楼宇管理 请添加图片描述 房屋管理 请添加图片描述 业主管理 请添加图片描述 用户管理 请添加图片描述 车位管理 请添加图片描述 报修统计分析 请添加图片描述 报修信息管理 请添加图片描述 投诉信息管理 请添加图片描述 车位收费管理 请添加图片描述

系统功能

本系统实现了以下功能: 分普通用户和管理员 1、物业费查询 2、我的投诉列表 3、车位费 4、我的报修 管理员端 5、车位管理 6、业主管理 7、用户管理 8、报修信息管理 9、房屋管理 10、车位费管理 11、抄表管理 12、投诉信息管理 13、楼宇管理 14、添加房屋、添加楼宇 15、物业收费管理 等

使用技术

数据库:mysql 开发工具:Idea(Myeclispe、Eclipse也可以) 知识点:SSM+layui

项目结构 请添加图片描述

代码

实体类 Building.java

package com.code2life.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author kappy
 * @since 2020-11-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="Building对象", description="")
public class Building implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    private String numbers;

    private String uints;

    private String remarks;


}

Repair.java

package com.code2life.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author kappy
 * @since 2020-10-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="Repair对象", description="")
public class Repair implements Serializable {

    private static final long serialVersionUID = 1L;

    private Owner owner;
    private Repairtype type;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    private String comId;
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date comDate;
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date handleDate;

    private Integer ownerId;

    private Integer status;

    private Integer clr;

    private String remarks;


}

DAO层 BuildingMapper.java

package com.code2life.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.code2life.model.Building;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author kappy
 * @since 2020-11-08
 */
@Component("buildingDao")
public interface BuildingMapper extends BaseMapper<Building> {

    List<Building> queryBuildAll(@Param("numbers") String numbers);

    /**
     * 通过house中building_id查找building
     */
    Building queryBuildById(@Param("buildId") Integer buildId);
}

RepairMapper.java

package com.code2life.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.code2life.model.Repair;
import com.code2life.model.Tongji;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author kappy
 * @since 2020-10-28
 */
@Component("repairDao")
public interface RepairMapper extends BaseMapper<Repair> {

    List<Repair> queryRepairAll(Repair repair);

    //统计处理
    List<Tongji> queryTongji();

}

service层 BuildingServiceImpl.java

package com.code2life.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.code2life.dao.BuildingMapper;
import com.code2life.model.Building;
import com.code2life.service.IBuildingService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author kappy
 * @since 2020-11-08
 */
@Service
public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> implements IBuildingService {

    @Autowired
    private BuildingMapper buildingDao;
    @Override
    public PageInfo<Building> findBuildAll(int page, int pageSize, String numbers) {
        PageHelper.startPage(page,pageSize);
        List<Building> list=buildingDao.queryBuildAll(numbers);
        return new PageInfo<>(list);
    }

    @Override
    public IPage<Building> findListByPage(Integer page, Integer pageCount){
        IPage<Building> wherePage = new Page<>(page, pageCount);
        Building where = new Building();

        return   baseMapper.selectPage(wherePage, Wrappers.query(where));
    }

    @Override
    public int add(Building building){
        return baseMapper.insert(building);
    }

    @Override
    public int delete(Long id){
        return baseMapper.deleteById(id);
    }

    @Override
    public int updateData(Building building){
        return baseMapper.updateById(building);
    }

    @Override
    public Building findById(Long id){
        return  baseMapper.selectById(id);
    }

    @Override
    public Building queryBuildById(Integer buildId) {
        return buildingDao.queryBuildById(buildId);
    }
}

RepairServiceImpl.java

package com.code2life.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.code2life.dao.RepairMapper;
import com.code2life.model.Repair;
import com.code2life.model.Tongji;
import com.code2life.service.IRepairService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author kappy
 * @since 2020-10-28
 */
@Service
public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> implements IRepairService {

    @Autowired
    private RepairMapper repairDao;
    @Override
    public PageInfo<Repair> findRepairAll(int page, int pagesize, Repair repair) {
        PageHelper.startPage(page,pagesize);
        List<Repair> list=repairDao.queryRepairAll(repair);
        PageInfo<Repair> pageInfo=new PageInfo(list);
        return pageInfo;
    }

    @Override
    public List<Repair> queryList() {
        return repairDao.queryRepairAll(null);
    }


    @Override
    public IPage<Repair> findListByPage(Integer page, Integer pageCount){
        IPage<Repair> wherePage = new Page<>(page, pageCount);
        Repair where = new Repair();

        return   baseMapper.selectPage(wherePage, Wrappers.query(where));
    }

    @Override
    public int add(Repair repair){
        return baseMapper.insert(repair);
    }

    @Override
    public int delete(Long id){
        return baseMapper.deleteById(id);
    }

    @Override
    public int updateData(Repair repair){
        return baseMapper.updateById(repair);
    }

    @Override
    public Repair findById(Long id){
        return  baseMapper.selectById(id);
    }

    @Override
    public List<Tongji> queryTongji() {
        return repairDao.queryTongji();
    }
}

controller层 BuildingController.java

package com.code2life.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.pagehelper.PageInfo;
import com.code2life.model.Building;
import com.code2life.service.IBuildingService;
import com.code2life.util.JsonObject;
import com.code2life.util.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author kappy
 * @since 2020-11-08
 */
@Api(tags = {""})
@RestController
@RequestMapping("/building")
public class BuildingController {

    private Logger log = LoggerFactory.getLogger(getClass());

    @Resource
    private IBuildingService buildingService;


    @RequestMapping("/queryBuildAll")
    public JsonObject queryBuildAll(@RequestParam(defaultValue = "1") Integer page,
                                    @RequestParam(defaultValue = "15") Integer limit,
                                    String numbers){
        JsonObject object=new JsonObject();
        PageInfo<Building> pageInfo= buildingService.findBuildAll(page,limit,numbers);
        object.setCode(0);
        object.setMsg("ok");
        object.setCount(pageInfo.getTotal());
        object.setData(pageInfo.getList());
        return object;
    }

    @RequestMapping("/queryBuild")
    public List<Building> queryBuild(){
        PageInfo<Building> pageInfo= buildingService.findBuildAll(1,100,null);
        return pageInfo.getList();
    }


    @ApiOperation(value = "新增")
    @RequestMapping("/add")
    public R add(@RequestBody Building building){
        int num= buildingService.add(building);
        if(num>0){
            return R.ok();
        }else{
            return R.fail("添加失败");
        }

    }

    @ApiOperation(value = "删除")
    @RequestMapping("/deleteByIds")
    public R delete(String  ids){
        List<String> list= Arrays.asList(ids.split(","));
        //遍历遍历进行删除
        for(String id:list){
            buildingService.delete(Long.parseLong(id));
        }
        return R.ok();
    }

    @ApiOperation(value = "更新")
    @RequestMapping("/update")
    public R update(@RequestBody Building building){
        int num= buildingService.updateData(building);
        if(num>0){
            return R.ok();
        }else{
            return R.fail("修改失败");
        }
    }

    @ApiOperation(value = "查询分页数据")
    @ApiImplicitParams({
        @ApiImplicitParam(name = "page", value = "页码"),
        @ApiImplicitParam(name = "pageCount", value = "每页条数")
    })
    @GetMapping()
    public IPage<Building> findListByPage(@RequestParam Integer page,
                                          @RequestParam Integer pageCount){
        return buildingService.findListByPage(page, pageCount);
    }

    @ApiOperation(value = "id查询")
    @GetMapping("{id}")
    public Building findById(@PathVariable Long id){
        return buildingService.findById(id);
    }

}

RepairController.java

package com.code2life.controller;

import com.github.pagehelper.PageInfo;
import com.code2life.model.*;
import com.code2life.service.IOwnerService;
import com.code2life.service.IRepairService;
import com.code2life.service.IRepairtypeService;
import com.code2life.util.JsonObject;
import com.code2life.util.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author kappy
 * @since 2020-10-28
 */
@Api(tags = {""})
@RestController
@RequestMapping("/repair")
public class RepairController {

    private Logger log = LoggerFactory.getLogger(getClass());

    @Resource
    private IRepairService repairService;
    @Resource
    private IRepairtypeService repairtypeService;

    @Resource
    private IOwnerService ownerService;

    @RequestMapping("/queryRepairAll")
    public JsonObject queryRepairAll(Repair repair,
                                     @RequestParam(defaultValue = "1") Integer page,
                                     @RequestParam(defaultValue = "15") Integer limit){


        PageInfo<Repair> pageInfo=repairService.findRepairAll(page,limit,repair);
        return new JsonObject(0,"ok",pageInfo.getTotal(),pageInfo.getList());

    }

    @RequestMapping("/queryRepairAll2")
    public JsonObject queryRepairAll2(Repair repair, HttpServletRequest request,
                                     @RequestParam(defaultValue = "1") Integer page,
                                      @RequestParam(defaultValue = "15") Integer limit){


        //获取当前得登录用户
        Userinfo userinfo= (Userinfo) request.getSession().getAttribute("user");
        String username=userinfo.getUsername();
        //根据username获取登录账号得业主id
        Owner owner=ownerService.queryOwnerByName(username);
        repair.setOwnerId(owner.getId());
        PageInfo<Repair> pageInfo=repairService.findRepairAll(page,limit,repair);
        return new JsonObject(0,"ok",pageInfo.getTotal(),pageInfo.getList());

    }

    @RequestMapping("/queryAll")
    public List<Repairtype> queryAll(){
       return repairtypeService.findList();
    }


    @RequestMapping("/deleteByIds")
    public R deleteByIds(String ids){
       List<String> list= Arrays.asList(ids.split(","));
       for(String id:list){
           repairService.delete(Long.parseLong(id));
       }

       return R.ok();
    }

    @ApiOperation(value = "新增")
    @RequestMapping("/add")
    public R add(@RequestBody Repair repair,HttpServletRequest request)
    {
        System.out.println("-------111--------");
        System.out.println(repair);
        System.out.println("---------------");
        //获取当前得登录用户
        Userinfo userinfo= (Userinfo) request.getSession().getAttribute("user");
        String username=userinfo.getUsername();

        //根据username获取登录账号得业主id
        Owner owner=ownerService.queryOwnerByName(username);
        repair.setOwnerId(owner.getId());
        repair.setStatus(0);
        repair.setComDate(new Date());
        System.out.println("-------222--------");
        System.out.println(repair);
        System.out.println("---------------");
        int num=repairService.add(repair);
        if(num>0){
            return  R.ok();
        }
        return R.fail("新增失败");
    }

    @ApiOperation(value = "更新")
    @RequestMapping("/update")
    public R update(Integer id){
         Repair repair=new Repair();
         repair.setId(id);
         repair.setStatus(1);
         repair.setHandleDate(new Date());
         int num=repairService.updateData(repair);
         return R.ok();
    }

    /**
     * 统计分析
     */
    @RequestMapping("/queryTongJi")
    public List<Tongji> queryTongji(){
        return repairService.queryTongji();
    }



}

写在最后

完整源码点击头像查看个人签名 得有用,记得一键三连哦!

标签:报修,return,管理,springmvc,code2life,id,import,com,public
From: https://blog.51cto.com/u_15625185/5807550

相关文章

  • SSM框架(spring+springmvc+mybatis)+layui+Mysql实现的停车位租赁系统(功能包含注册登
    (博客目录)SSM框架(spring+springmvc+mybatis)+layui+Mysql实现的停车位租赁系统本系统为了解决停车位租赁不透明的难题,提供了一个连接租客和车位主的一个平台,通过不同角......
  • SSM框架(spring+springmvc+mybatis)+layui+Mysql实现的医院在线预约挂号管理系统(功能
    (博客目录)SSM框架(spring+springmvc+mybatis)+layui+Mysql实现的医院在线预约挂号管理系统本系统为了患者线下预约挂号难的问题,打通医院和患者之间的一个渠道,通过在线透......
  • 云原生之旅 - 5)Kubernetes时代的包管理工具 Helm
    前言上一篇文章[基础设施即代码使用Terraform创建Kubernetes] 教会了你如何在Cloud上面建Kubernetes资源,那么本篇来讲一下如何在Kubernetes上面部署应用。大家都知......
  • 包管理
    1软件包依赖关系Debian系统通过其控制文件字段中的版本化二进制依赖声明机制来提供一致的二进制软件包集合。下面有一些它们的简单定义。“依赖”绝对的依赖,所有在......
  • 删掉Win11 22h2文件管理器中的 “主文件夹”
    Win1122h2升级后,文件管理器左侧多了一个"主文件夹"的链接,没啥用还占位置,之前一直较忙没有管它,今天研究了一下,可以通过注册表干掉它:WindowsRegistryEditorVersion5.......
  • SpringMVC源码-DispatcherServlet初始化
    web容器启动后会实例化Servlet,会执行Servlet的init方法且只会执行一次。后续调用doService处理客户请求。DispatcherServlet的构造方法publicDispatcherServlet(){ su......
  • 10.用户资料管理(查询和修改)
    用户资料管理(查询和修改)一、查询/***根据用户id查询UserInfo1.请求路径:/users2.请求参数:请求头的Authorization:token(必须),用户id:userID(非必须)3.响应数据:UserIn......
  • K8S入门篇-权限控制管理
    一、RBAC-基于角色的权限控制  范例1:聚合的权限 Aggregate创建一个clusterrolekind:ClusterRoleapiVersion:rbac.authorization.k8s.io/v1metadata:name:......
  • 分区内存管理分区选择法
    1.分区内存管理:把主存分为一段一段的,每一段的空间要比一页小很多,这种方法在空间利用率上比业式管理高很多,但有另外一个缺点:一个程序片段可能会被分为几十段,这样很多时间就......
  • HCIA-ICT实战基础09-远程接入安全管理
    HCIA-ICT实战基础-远程接入安全管理目录AAA概述AAA配置实现telnet原理与配置Stelnet(华为ssh的另一种称呼)配置1AAA概述1.1基本概念AAA是Authentication(认证)、......