(博客目录)
SSM框架(spring+springmvc+mybatis)+layui+Mysql实现的停车位租赁系统
本系统为了解决停车位租赁不透明的难题,提供了一个连接租客和车位主的一个平台,通过不同角色的区分,完成了车位的科学管理,从租客查看车位信息、到车位申请、故障报修、缴费到车位主查看租客、租金查看等一体化管理。 完整源码点击头像查看个人签名
实现功能截图
登录
车主首页
申请查看车位列表
添加停车位
添加租赁合同
停车位列表
我要保障
退租申请
在租列表
已退租列表
租客列表
租客已缴租金列表
系统功能
本系统实现了以下功能: 1、登录 2、车主首页 3、停车位列表 4、添加停车位 5、在租列表 6、退租列表 7、停车位申请 8、故障报修 9、我要收租 10、租客代缴租金 11、待处理故障 12、已处理故障 等
使用技术
数据库:mysql 开发工具:Idea(Myeclispe、Eclipse也可以) 知识点:SSM(spring+springmvc+mybatis)+layUi
代码
实体类 Apply.java
package Pojo;
public class Apply {
private Integer id;
private String house_id;
private String address;
private double area;
private double price;
private Integer userlist_id;
private String status;
private Userlist userlist;
public Userlist getUserlist() {
return userlist;
}
public void setUserlist(Userlist userlist) {
this.userlist = userlist;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getHouse_id() {
return house_id;
}
public void setHouse_id(String house_id) {
this.house_id = house_id;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public double getArea() {
return area;
}
public void setArea(double area) {
this.area = area;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public Integer getUserlist_id() {
return userlist_id;
}
public void setUserlist_id(Integer userlist_id) {
this.userlist_id = userlist_id;
}
@Override
public String toString() {
return "Apply [id=" + id + ", house_id=" + house_id + ", address=" + address + ", area=" + area + ", price=" + price
+ ", userlist_id=" + userlist_id + ", status=" + status + ", userlist=" + userlist + "]";
}
}
Houselist.java
package Pojo;
public class Houselist {
private Integer id;
private String houseid;
private String address;
private double area;
private double price;
private String status;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getHouseid() {
return houseid;
}
public void setHouseid(String houseid) {
this.houseid = houseid;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public double getArea() {
return area;
}
public void setArea(double area) {
this.area = area;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
Dao层 ApplyMapper.java
package dao;
import java.util.List;
import Pojo.Apply;
import Pojo.Applyout;
public interface ApplyMapper {
void insertapply(Apply apply);
public List<Apply> findapplylist() throws Exception;
Apply findbyhouse_id(String house_id);
public void deletebyhouse_id(String house_id);
public void updateapplyout(Applyout applyout);
}
ApplyMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="dao.ApplyMapper" >
<resultMap id="ApplyUserlistResultMap" type="Pojo.Apply" >
<id column="apply_id" property="id" jdbcType="INTEGER" />
<result column="house_id" property="house_id" jdbcType="VARCHAR" />
<result column="address" property="address" jdbcType="VARCHAR" />
<result column="area" property="area" jdbcType="DOUBLE" />
<result column="price" property="price" jdbcType="DOUBLE" />
<result column="status" property="status" jdbcType="VARCHAR" />
<result column="userlist_id" property="userlist_id" jdbcType="INTEGER" />
<association property="userlist" javaType="Pojo.Userlist">
<!-- column:userlist表的主键对应的列 property:userlist对象中id属性-->
<id column="id" property="id"/>
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="idcard" property="idcard" jdbcType="VARCHAR" />
<result column="phone" property="phone" jdbcType="VARCHAR" />
<result column="user_id" property="user_id" jdbcType="INTEGER" />
</association>
</resultMap>
<insert id="insertapply" parameterType="Pojo.Apply">
insert into apply(house_id,address,price,area,status,userlist_id)
values(#{house_id},#{address},#{price},#{area},#{status},#{userlist_id})
</insert>
<select id="findapplylist" resultMap="ApplyUserlistResultMap">
SELECT
a.*,
u.*
FROM
apply a
JOIN `userlist` u ON u.id = a.userlist_id
</select>
<select id="findbyhouse_id" parameterType="string" resultType="Pojo.Apply">
select * from apply where house_id=#{house_id}
</select>
<delete id="deletebyhouse_id" parameterType="String" >
delete from apply where house_id=#{house_id}
</delete>
</mapper>
HouselistMapper.java
package dao;
import java.util.List;
import Pojo.Houselist;
import Pojo.QueryVo;
public interface HouselistMapper {
List<Houselist> selectAll();
public Integer findhouselistByVoCount(QueryVo vo);
Houselist findhouseid(String houseid);
void inserthouse(Houselist houselist);
void deletehouse(int id);
Houselist findid(int id);
Houselist findhouseidupdate(Houselist houselist);
void updatehouse(Houselist houselist);
void updatehousestatus(Houselist houselist);
public void deletehousebyhouseid(String house_id);
public void updatestatus(Houselist houselist);
}
HouselistMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="dao.HouselistMapper" >
<resultMap id="BaseResultMap" type="Pojo.Houselist" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="houseid" property="houseid" jdbcType="VARCHAR" />
<result column="area" property="area" jdbcType="DOUBLE" />
<result column="price" property="price" jdbcType="DOUBLE" />
<result column="status" property="status" jdbcType="VARCHAR" />
</resultMap>
<select id="selectAll" resultMap="BaseResultMap">
select *
from houselist
<where>
<if test="houseid!=null and houseid!=''">
and username=#{houseid}
</if>
<if test="address!=null and address!=''">
and address=#{address}
</if>
<if test="area!=null and area!=''">
and area=#{area}
</if>
<if test="price!=null and price!=''">
and price=#{price}
</if>
<if test="status!=null and status!=''">
and status=#{status}
</if>
</where>
</select>
<select id="findhouselistByVoCount" parameterType="Pojo.QueryVo" resultType="int">
select count(*)
from houselist
<where>
<if test="houseid!=null and houseid!=''">
and username=#{houseid}
</if>
<if test="address!=null and address!=''">
and address=#{address}
</if>
<if test="area!=null and area!=''">
and area=#{area}
</if>
<if test="price!=null and price!=''">
and price=#{price}
</if>
<if test="status!=null and status!=''">
and status=#{status}
</if>
</where>
</select>
<select id="findid" parameterType="Integer" resultType="Pojo.Houselist">
select * from houselist where id=#{id}
</select>
<select id="findhouseid" parameterType="String" resultType="Pojo.Houselist">
select * from houselist where houseid=#{houseid}
</select>
<select id="findhouseidupdate" parameterType="Pojo.Houselist" resultType="Pojo.Houselist">
select * from houselist where houseid=#{houseid} and id!=#{id}
</select>
<update id="updatehouse" parameterType="Pojo.Houselist">
update houselist set houseid=#{houseid},address=#{address},area=#{area},price=#{price},status=#{status}
where id=#{id}
</update>
<update id="updatehousestatus" parameterType="Pojo.Houselist">
update houselist set status=#{status}
where id=#{id}
</update>
<update id="updatestatus" parameterType="Pojo.Houselist">
update houselist set status=#{status}
where houseid=#{houseid}
</update>
<insert id="inserthouse" parameterType="Pojo.Houselist">
insert into houselist(houseid,address,area,price,status)
values(#{houseid},#{address},#{area},#{price},#{status})
</insert>
<delete id="deletehouse" parameterType="Integer" >
delete from houselist where id=#{id}
</delete>
<delete id="deletehousebyhouseid" parameterType="String" >
delete from houselist where houseid=#{houseid}
</delete>
</mapper>
service层
ApplyoutServiceImpl.java
package service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import Pojo.Applyout;
import Pojo.Checkout;
import Pojo.Houselist;
import Pojo.Zulist;
import dao.ApplyoutMapper;
import dao.CheckoutMapper;
import dao.HetongMapper;
import dao.HouselistMapper;
import dao.ZulistMapper;
@Service
@Transactional
public class ApplyoutServiceImpl implements ApplyoutService {
@Autowired
private ApplyoutMapper applyoutMapper;
@Autowired
private HouselistMapper houselistMapper;
@Autowired
private HetongMapper hetongMapper;
@Autowired
private CheckoutMapper checkoutMapper;
@Autowired
private ZulistMapper zulistMapper;
@Override
public void insertapplyout(Zulist zulist) {
Applyout applyout=new Applyout();
applyout.setHouse_id(zulist.getHouse_id());
applyout.setAddress(zulist.getAddress());
applyout.setStatus("申请中");
applyout.setUserlist_id(zulist.getUserlist_id());
applyoutMapper.insertapplyout(applyout);
}
@Override
public List<Applyout> findallapplyout() {
List<Applyout> list=applyoutMapper.findallapplyout();
return list;
}
@Override
public void updateapplyout(Applyout applyout) {
applyoutMapper.updateapplyout(applyout);
}
@Override
public void agreeapplyout(Integer id) {
Applyout applyout=applyoutMapper.findbyid(id);
houselistMapper.deletehousebyhouseid(applyout.getHouse_id());
hetongMapper.deletehetong(applyout.getHouse_id());
Checkout checkout=new Checkout();
checkout.setHouse_id(applyout.getHouse_id());
checkout.setAddress(applyout.getAddress());
checkout.setStatus("已退租");
checkout.setUserlist_id(applyout.getUserlist_id());
checkoutMapper.insertcheckout(checkout);
applyout.setStatus("已同意");
applyoutMapper.updateapplyoutbyhouse(applyout);
zulistMapper.deletezulist(applyout.getHouse_id());
}
@Override
public void deleteapplyout(Integer id) {
applyoutMapper.deleteapplyout(id);
}
}
HouselistServiceImpl.java
package service;
import java.util.List;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import Pojo.Houselist;
import Pojo.QueryVo;
import dao.HouselistMapper;
@Service
public class HouselistServiceImpl implements HouselistService {
@Autowired
private HouselistMapper houselistMapper;
@Override
public List<Houselist> selectAll() {
List<Houselist> houselist=houselistMapper.selectAll();
return houselist;
}
@Override
public Houselist findhouseid(String houseid) {
Houselist houselist=houselistMapper.findhouseid(houseid);
return houselist;
}
@Override
public void inserthouse(Houselist houselist) {
// TODO Auto-generated method stub
houselistMapper.inserthouse(houselist);
}
@Override
public void deletehouse(int id) {
// TODO Auto-generated method stub
houselistMapper.deletehouse(id);
}
@Override
public Houselist findhouseidupdate(Houselist houselist) {
Houselist list=houselistMapper.findhouseidupdate(houselist);
return list;
}
@Override
public void updatehouse(Houselist houselist) {
houselistMapper.updatehouse(houselist);
}
@Override
public Houselist findid(int id) {
Houselist list=houselistMapper.findid(id);
return list;
}
@Override
public void updatehousestatus(Houselist houselist) {
// TODO Auto-generated method stub
houselistMapper.updatehousestatus(houselist);
}
@Override
public void deletehousebyhouseid(String house_id) {
houselistMapper.deletehousebyhouseid(house_id);
}
}
controller层 ApplyController.java
package controller;
import java.util.List;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import Pojo.Apply;
import Pojo.Houselist;
import Pojo.User;
import Pojo.Userlist;
import Pojo.Zulist;
import service.ApplyService;
import service.HouselistService;
import service.UserlistService;
@Controller
public class ApplyController {
@Autowired
private UserlistService userlistService;
@Autowired
private HouselistService houselistService;
@Autowired
private ApplyService applyService;
//申请看停车位
@RequestMapping("/applycheckuserlist")
public String applycheckuserlist(HttpSession httpSession,Model model,Integer id){
User user1= (User) httpSession.getAttribute("user");
Integer user_id=user1.getId();
Userlist list=userlistService.findhasuserlist(user_id);
if(list==null){
model.addAttribute("error", "applycheck");
return "redirect:houselist.action";
}else{
Houselist houselist=houselistService.findid(id);
houselist.setStatus("已被申请");
houselistService.updatehousestatus(houselist);
Integer userlist_id=list.getId();
Apply apply=new Apply();
apply.setHouse_id(houselist.getHouseid());
apply.setAddress(houselist.getAddress());
apply.setPrice(houselist.getPrice());
apply.setArea(houselist.getArea());
apply.setStatus("申请中");
apply.setUserlist_id(userlist_id);
applyService.insertapply(apply);
model.addAttribute("error", "applysuccess");
return "redirect:houselist.action";
}
}
//管理员查看申请看停车位列表
@RequestMapping("/findapplylist")
public String findapplylist(Model model,@RequestParam(required=false,defaultValue="1") Integer page,
@RequestParam(required=false,defaultValue="2") Integer pageSize) throws Exception{
PageHelper.startPage(page, pageSize);
List<Apply> applylist=applyService.findapplylist();
PageInfo<Apply> p=new PageInfo<Apply>(applylist);
model.addAttribute("applylist",applylist);
model.addAttribute("p", p);
model.addAttribute("mainPage","applylist.jsp");
return "admin/main1";
}
@RequestMapping("/applychangehousestatus")
public String applychangehousestatus(HttpSession httpSession,Model model,String house_id)throws Exception{
User user1= (User) httpSession.getAttribute("user");
Integer user_id=user1.getId();
Userlist userlist=userlistService.findhasuserlist(user_id);
Houselist houselist=houselistService.findhouseid(house_id);
houselist.setStatus("已租赁");
houselistService.updatehousestatus(houselist);
Zulist zulist=new Zulist();
zulist.setHouse_id(house_id);
zulist.setPrice(houselist.getPrice());
zulist.setAddress(houselist.getAddress());
return "";
}
//管理员拒绝看停车位申请
@RequestMapping("/refuseapply")
public String refuseapply(String house_id,Model model){
Houselist houselist=new Houselist();
houselist.setHouseid(house_id);
houselist.setStatus("未租赁");
applyService.refuseapply(houselist);
return "redirect:findapplylist.action";
}
//租客查看自己的 看停车位申请
@RequestMapping("/getmyapply")
public String getmyapply(Model model,HttpSession httpSession,@RequestParam(required=false,defaultValue="1") Integer page,
@RequestParam(required=false,defaultValue="2") Integer pageSize){
User user1= (User) httpSession.getAttribute("user");
Userlist userlist=userlistService.findhasuserlist(user1.getId());
PageHelper.startPage(page, pageSize);
List<Userlist> list=userlistService.getmyapply(userlist.getId());
PageInfo<Userlist> p=new PageInfo<Userlist>(list);
model.addAttribute("userlist", list);
model.addAttribute("p", p);
model.addAttribute("mainPage", "myapply.jsp");
return "zuke/main";
}
}
HoustlistController.java
package controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import Pojo.Houselist;
import service.HouselistService;
@Controller
public class HoustlistController {
@Autowired
private HouselistService houselistService;
@RequestMapping("/houselist")
public String houselist(Model model ,@RequestParam(required=false,defaultValue="1") Integer page,
@RequestParam(required=false,defaultValue="10") Integer pageSize){
PageHelper.startPage(page, pageSize);
List<Houselist> houselist=houselistService.selectAll();
PageInfo<Houselist> p=new PageInfo<Houselist>(houselist);
model.addAttribute("p", p);
model.addAttribute("houselist",houselist);
model.addAttribute("mainPage","houselist.jsp");
return "zuke/main";
}
@RequestMapping("/ahouselist")
public String ahouselist(Model model ,@RequestParam(required=false,defaultValue="1") Integer page,
@RequestParam(required=false,defaultValue="10") Integer pageSize){
PageHelper.startPage(page, pageSize);
List<Houselist> houselist=houselistService.selectAll();
PageInfo<Houselist> p=new PageInfo<Houselist>(houselist);
model.addAttribute("p", p);
model.addAttribute("houselist",houselist);
model.addAttribute("mainPage","ahouselist.jsp");
return "admin/main1";
}
@RequestMapping("/addhouse")
public String addhouse(Model model ,Houselist houselist){
String houseid=houselist.getHouseid();
Houselist houselist1=houselistService.findhouseid(houseid);
if(houselist1!=null){
model.addAttribute("error","该停车位id已存在");
model.addAttribute("houselist",houselist);
model.addAttribute("mainPage","addhouse.jsp");
return "admin/main1";
}else{
model.addAttribute("error","添加成功");
houselistService.inserthouse(houselist);
model.addAttribute("houselist",houselist);
model.addAttribute("mainPage","addhouse.jsp");
return "admin/main1";
}
}
@RequestMapping("/toaddhouse")
public String toaddhoust(Model model){
model.addAttribute("mainPage","addhouse.jsp");
return "admin/main1";
}
@RequestMapping("/deletehouse")
public String deletehouse(Integer id){
houselistService.deletehouse(id);
return "redirect:ahouselist.action";
}
@RequestMapping("/toahouselist")
public String toahouselist(){
return "ahouselist.action";
}
@RequestMapping("/findid")
public String findid(Integer id,Model model){
Houselist list=houselistService.findid(id);
model.addAttribute("houselist",list);
model.addAttribute("mainPage", "changehouse.jsp");
return "admin/main1";
}
@RequestMapping("/findhouseidupdate")
public String findhouseidupdate(Houselist houselist,Model model){
Houselist list=houselistService.findhouseidupdate(houselist);
if(list!=null){
model.addAttribute("houselist",houselist);
model.addAttribute("mainPage", "changehouse.jsp");
model.addAttribute("error","该停车位id已存在");
return "admin/main1";
}
else{
houselistService.updatehouse(houselist);
model.addAttribute("houselist",houselist);
model.addAttribute("mainPage", "changehouse.jsp");
model.addAttribute("error","更新成功");
return "admin/main1";
}
}
}
写在最后
完整源码点击头像查看个人签名 觉得有用,记得一键三连哦!
标签:String,id,申请,houselist,停车位,import,model,列表,public From: https://blog.51cto.com/u_15625185/5807552