基于javaweb+jsp的房屋租赁管理系统(java+SSM+Layui+Maven+Mysql+Jsp)
一、项目简述
功能包括:
房屋租赁管理系统是一款方便快捷,易操作的租房和各种物业收费的管理系统,该系统官网包含着用户和管理员分类登录,减少了为使用管理员系统的开支,用户分别支持手机网上或电脑网页快捷的查找可出租的房子,并在网上在线支付,并还包含有故障报修,缴租提醒,极大符合现代人们不想出门又快捷办事的需求,管理员也只需在网上提醒用户缴费即可,并有着查看用户信息,查看报障,租金信息,合同信息,日常提醒,添加删除或修改房屋的功能。
二、项目运行
环境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
*/
@RequestMapping("/adminrentselect")
public String rentadd(String housecall, Model model) {
userlist userlist = userlistService.selectUserCallWith(housecall);
model.addAttribute("addrent", userlist);
return "rentadd";
}
/**
* 添加代缴租金
*/
@RequestMapping("/adminrentadd")
public String rentaddwait(rentcollection rentcollection) {
rentcollectionService.insert(rentcollection);
return "redirect:/admin/adminrentshou.do";
}
/**
* 代缴租金
*/
@RequestMapping("/adminrentwait")
public String rentwait(String rcstate, @RequestParam(value = "pn", defaultValue = "1") Integer pn, Model model) {
rcstate = "未缴纳";
// 引用PageHelper分页插件
if (houseid >= 0) {
int id = leaseinformationService.queryID(houseid).get(0).getId();
leaseinformationService.deleteByPrimaryKey(houseid);
leaseimgService.deleteByPrimaryKey(id);
}
return "redirect:pagingselecthouse.do";
}
/*
* 推荐房屋列表
*/
@RequestMapping("/recommendlist")
public String recommendlist(Model model, @RequestParam(value = "pn", defaultValue = "1") Integer pn,
@RequestParam(required = false, defaultValue = "6") Integer pageSize) {
return mav;
}
/**
* 退房申请
*/
@RequestMapping("/tzshenqing")
public ModelAndView tzshenqing(@RequestParam int pn) {
ModelAndView mav = new ModelAndView("housedel");
// 设置分页传输
PageHelper.startPage(pn, 10);
// 查询所有数据
List<checkoutapplication> list = checkoutapplicationService.selectCoaState1();
// 使用PageInFo封装查询结果
PageInfo<checkoutapplication> pageInfo = new PageInfo<checkoutapplication>(list, 5);
// 放入转发参数
mav.addObject("cs", pageInfo);
return mav;
}
/**
* 删除退房记录
public String delethouse(int houseid, HttpServletRequest request) {
if (houseid >= 0) {
int id = leaseinformationService.queryID(houseid).get(0).getId();
leaseinformationService.deleteByPrimaryKey(houseid);
leaseimgService.deleteByPrimaryKey(id);
}
return "redirect:pagingselecthouse.do";
}
/*
* 推荐房屋列表
*/
@RequestMapping("/recommendlist")
public String recommendlist(Model model, @RequestParam(value = "pn", defaultValue = "1") Integer pn,
@RequestParam(required = false, defaultValue = "6") Integer pageSize) {
PageHelper.startPage(pn, 10);
List<leaseinformation> leaseinformation = leaseinformationService.selectAllLeasable();
PageInfo<leaseinformation> p = new PageInfo<leaseinformation>(leaseinformation, 3);
model.addAttribute("p", p);
return "recommendhouse";
}
/**
* 修改推荐信息
*/
@RequestMapping("/updaterecommend")
}
/**
* 代缴租金
*/
@RequestMapping("/adminrentwait")
public String rentwait(String rcstate, @RequestParam(value = "pn", defaultValue = "1") Integer pn, Model model) {
rcstate = "未缴纳";
// 引用PageHelper分页插件
PageHelper.startPage(pn, 10);
List<rentcollection> rentlists = rentcollectionService.selectPaidStateAll(rcstate);
PageInfo<rentcollection> page = new PageInfo<rentcollection>(rentlists, 3);
model.addAttribute("rent", page);
return "rentwait";
}
/**
* 删除租金缴纳记录
*/
@RequestMapping("/admindelrent")
public String delrent(Integer id) {
rentcollectionService.deleteByPrimaryKey(id);
return "redirect:/admin/adminselectPaidAll.do";
}
* 修改密码
*/
@RequestMapping("/updatepwd")
public String updatepwd(String code, String userphone, String userpwd, HttpServletRequest request) {
if (code.equals("") || userphone.equals("") || userpwd.equals("")) {
request.setAttribute("erorr", "手机号,验证码,新密码不能为空!");
return "updatepwd";
}
HttpSession session = request.getSession();
if (code.equals(session.getAttribute("code"))) {
userlist userlist = userlistService.selectUserPhone(userphone);
userlist.setUserpwd(userpwd);
userlistService.updatepwd(userlist);
return "login";
}
return userpwd;
}
/**
* 注销
*/
@Resource
private LeaseinformationService leaseinformationService;
@Resource
private CheckoutapplicationService checkoutapplicationService;
@Resource
private MydailylifeService mydailylifeService;
@Resource
private RentcollectionService rentcollectionService;
@Resource
private FaultService faultService;
@Resource
private UserlistService userlistService;
house.setHousecall(housecall);
//获取当前时间和一个月后的时间
Date date = new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String HouseStartingDate=sdf.format(date);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, 30);
String HouseClosingDate=sdf.format(cal.getTime());
house.setHousestartingdate(date);
house.setHouseclosingdate(cal.getTime());
house.setHousestartingdatetemp(HouseStartingDate);
house.setHouseclosingdatetemp(HouseClosingDate);
house.setId(id);
house.setHousetype(housetype);
house.setHouserecommend("未设置");
leaseinformationService.addHouse(house);
request.setAttribute("sessce", "添加成功");
*/
@Controller
@RequestMapping("/userlistmvc")
public class UserListController {
private static final long serialVersionUID = -884689940866074733L;
@Resource
private UserlistService userlistService;
@Resource
private AdminListService adminListService;
@Resource
private HeadPortraitImgService headPortraitImgService;
@Resource
private CheckoutapplicationService checkoutapplicationService;
/**
coa.setCoahousesize(Double.parseDouble(housesize));
coa.setCoastate("看房申请中");
String temp=checkoutapplicationService.insertApply(coa);
mav.addObject("apply", temp);
}
return mav;
}
}
管理员控制层:
@Controller
@RequestMapping("/admin")
public class Adminfunctioncontroller {
@Resource
private RentwithdrawnService rentwithdrawnService;
@Resource
private LeaseinformationService leaseinformationService;
@Resource
private CheckoutapplicationService checkoutapplicationService;
@Resource
private MydailylifeService mydailylifeService;
@Resource
private RentcollectionService rentcollectionService;
/**
* 添加日程
*/
@RequestMapping("/addmydailylife")
public String mydailylifeadd(mydailylife mydailylife) {
mydailylifeService.insert(mydailylife);
return "redirect:/admin/schedulelist.do";
}
/**
* 修改日程
*/
@RequestMapping("/updatemydailylife")
public String mydailylifeupdate1(Integer id, HttpServletRequest request) {
mydailylife mydailylife = mydailylifeService.selectByPrimaryKey(id);
* 添加房源
*
* @throws IOException
* @throws IllegalStateException
*/
@RequestMapping("/addhouse")
public String addhouse(String housecall, String address, String area, String rent, String housetype, String[] state,
@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request)
throws IllegalStateException, IOException {
if (housecall.equals("") || address.equals("") || area.equals("") || rent.equals("") || state.equals("")
userlist userlist = userlistService.selectUserPhone(userphone);
tempstr = userlist.getUsercall();
if (tempstr != null) {
session.setAttribute("user", tempstr);
headportraitimg headportraitimg = headPortraitImgService.selectheadportrait(tempstr);
if (headportraitimg.getHeadportraitimgaddress() != null) {
session.setAttribute("headportraitimg", headportraitimg.getHeadportraitimgaddress());
}
return "official";
}
} else {
request.setAttribute("erorr", "该手机号未注册!");
return "login";
}
} else {
request.setAttribute("erorr", "验证码错误!");
return "login";
}
return "login";
}
/**
}
/**
* 删除用户信息
*/
@RequestMapping("/deletuser")
public String deletuser(int id,String username,HttpServletRequest request) {
userlistService.updateJointTabledelete(username);
headPortraitImgService.deletuserimg(userlistService.selectUserId(id).getUsercall());
userlistService.deleteByPrimaryKey(id);
return "redirect:pagingselectuser.do";
request.setAttribute("erro", "该房源编号已存在");
return "housingadd";
}
}
String path = "";
String imgname = "";
if (!file.isEmpty()) {
// 生成uuid作为文件名称
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
// 获得文件类型(可以判断如果不是图片,禁止上传)
String contentType = file.getContentType();
// 获得文件后缀名称
String imageName = contentType.substring(contentType.indexOf("/") + 1);
path = "C://Users/Rain/Desktop/ssm_leaseOfHouses/WebContent/leaseimg/" + uuid + "." + imageName;
file.transferTo(new File(path));
imgname = uuid + "." + imageName;
}
leaseimg img = new leaseimg();
img.setImgname(address);
return mav;
}
/**
* 同意退房
*/
@RequestMapping("/checkoutmvc")
public ModelAndView checkoutmvc(@RequestParam int id,String housecall) {
ModelAndView mav = new ModelAndView("housedel");
String news=checkoutapplicationService.updateState("已同意", id);
if(news.equals("同意退租成功!")) {
ModelAndView mav = new ModelAndView("rentinglist");
// 设置分页传输
PageHelper.startPage(pn, 10);
// 查询所有数据
List<leaseinformation> list = leaseinformationService.selecthousteaseWith("出租中");
// 使用PageInFo封装查询结果
PageInfo<leaseinformation> pageInfo = new PageInfo<leaseinformation>(list, 5);
// 放入转发参数
mav.addObject("cs", pageInfo);
return mav;
}
@RequestMapping("/delectcontract")
public ModelAndView delectcontract(@RequestParam int id) {
ModelAndView mav = new ModelAndView("rentinglist");
leaseinformationService.updacontract(id);
return mav;
}
/**
* 看房申请列表
*/
@RequestMapping("/houseapply")
public ModelAndView kanfansqing(@RequestParam int pn) {
ModelAndView mav = new ModelAndView("houseapply");
// 设置分页传输
PageHelper.startPage(pn, 10);
// 查询所有数据
List<checkoutapplication> list = checkoutapplicationService.selectCoaState();
// 使用PageInFo封装查询结果
PageInfo<checkoutapplication> pageInfo = new PageInfo<checkoutapplication>(list, 5);
// 放入转发参数
mav.addObject("cs", pageInfo);
return mav;
}
/**
* 预约看房申请
*/
@RequestMapping("/tonyizp")
public ModelAndView tonyizp(@RequestParam int id, String housecall, String name) throws ParseException {
/**
* 拒绝退房
*/
@RequestMapping("/refusemvc")
public ModelAndView refusemvc(@RequestParam int id) {
ModelAndView mav = new ModelAndView("housedel");
System.out.println(checkoutapplicationService.updateState("已拒绝", id));
return mav;
}
/**
* 分页查找所有用户
*/
@RequestMapping("/pagingselectuser")
public String pagingselectuser(Model model, @RequestParam(value = "pn", defaultValue = "1") Integer pn,
@RequestParam(required = false, defaultValue = "6") Integer pageSize) {
PageHelper.startPage(pn, 10);
List<userlist> userlist = userlistService.selectAll();
PageInfo<userlist> p = new PageInfo<userlist>(userlist, 3);
model.addAttribute("p", p);
return "account";
}
/**
public String adminselectPaidAll(QueryVo vo, @RequestParam(value = "pn", defaultValue = "1") Integer pn,
Model model) {
// 引用PageHelper分页插件
PageHelper.startPage(pn, 10);
List<rentcollection> rentlists = rentcollectionService.selectPaidAll(vo);
for (rentcollection temp : rentlists) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date = sdf.format(temp.getRcdate());
temp.setRcdatetemp(date);
if(temp.getRcpaiddate()!=null) {
}
@RequestMapping("/jujzp")
public ModelAndView jujzp(@RequestParam int id) {
ModelAndView mav = new ModelAndView("houseapply");
checkoutapplicationService.xgaiCoaState("已拒绝", id);
return mav;
}
/**
* 退房申请
*/
@RequestMapping("/tzshenqing")
public ModelAndView tzshenqing(@RequestParam int pn) {
ModelAndView mav = new ModelAndView("housedel");
// 设置分页传输
PageHelper.startPage(pn, 10);
// 查询所有数据
List<checkoutapplication> list = checkoutapplicationService.selectCoaState1();
// 使用PageInFo封装查询结果
PageInfo<checkoutapplication> pageInfo = new PageInfo<checkoutapplication>(list, 5);
// 放入转发参数
mav.addObject("cs", pageInfo);
public String updatehouse(Integer houseid, String housetype, String address, String area, String rent, String state,
HttpServletRequest request) {
leaseinformation house = leaseinformationService.queryID(houseid).get(0);
request.removeAttribute("uphouse");
house.setHouseaddress(address);
house.setHousemoney(rent);
house.setHousetype(housetype);
house.setHousesize(Double.valueOf(area));
house.setHousestate(state);
house.setHouseid(houseid);
leaseinformationService.updateByPrimaryKey(house);
request.setAttribute("sessce", "修改成功");
request.setAttribute("newhouse", house);
return "houseupdate";
}
/**
* 删除房源信息
*/
@RequestMapping("/delethouse")
public String delethouse(int houseid, HttpServletRequest request) {
if (houseid >= 0) {
int id = leaseinformationService.queryID(houseid).get(0).getId();
leaseinformationService.deleteByPrimaryKey(houseid);
*/
@RequestMapping("/houseapply")
public ModelAndView kanfansqing(@RequestParam int pn) {
ModelAndView mav = new ModelAndView("houseapply");
// 设置分页传输
PageHelper.startPage(pn, 10);
// 查询所有数据
List<checkoutapplication> list = checkoutapplicationService.selectCoaState();
// 使用PageInFo封装查询结果
PageInfo<checkoutapplication> pageInfo = new PageInfo<checkoutapplication>(list, 5);
// 放入转发参数
mav.addObject("cs", pageInfo);
return mav;
}
/**
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, 30);// 计算30天后的时间
String t1 = df.format(new Date());
String t2 = df.format(c.getTime());
// 格式转换date格式
Date date1 = df.parse(t1);
Date date2 = df.parse(t2);
house.setHousestartingdate(date1);
house.setHouseclosingdate(date2);
house.setHousestate("出租中");
house.setUsername(name);
leaseinformationService.updateByPrimaryKey(house);
return mav;
leaseinformationService.updateByPrimaryKey(house);
request.setAttribute("sessce", "修改成功");
request.setAttribute("newhouse", house);
return "houseupdate";
}
/**
* 删除房源信息
*/
@RequestMapping("/delethouse")
public String delethouse(int houseid, HttpServletRequest request) {
if (houseid >= 0) {
int id = leaseinformationService.queryID(houseid).get(0).getId();
leaseinformationService.deleteByPrimaryKey(houseid);
leaseimgService.deleteByPrimaryKey(id);
}
return "redirect:pagingselecthouse.do";
checkoutapplicationService.deleteByPrimaryKey(id);
return mav;
}
/**
* 同意退房
*/
@RequestMapping("/checkoutmvc")
public ModelAndView checkoutmvc(@RequestParam int id,String housecall) {
ModelAndView mav = new ModelAndView("housedel");
String news=checkoutapplicationService.updateState("已同意", id);
if(news.equals("同意退租成功!")) {
System.out.println(news);
System.out.println(leaseinformationService.updateCancelForeignKey(housecall));
}
return mav;
}
/**
* 拒绝退房
*/
@RequestMapping("/refusemvc")
public ModelAndView refusemvc(@RequestParam int id) {
ModelAndView mav = new ModelAndView("housedel");
System.out.println(checkoutapplicationService.updateState("已拒绝", id));