源码获取:俺的博客首页 "资源" 里下载!
项目介绍
系统分为前台用户界面和后台系统管理:
前台用户界面
用户注册、用户登录、用户中心、浏览房源、房源搜索
查看房源明细、发布房源、提交合同、新闻公告、留言交流
后台系统管理
用户管理:用户列表、用户删除、用户查询
新闻管理:新闻列表、添加新闻、修改新闻、删除新闻、查询新闻
房屋管理:房屋列表、房屋删除、分页查看
留言管理:留言列表、留言删除、留言查询、留言回复列表、回复查询
租赁合同管理:合同列表、查看合同、删除合同
管理员管理:管理员管理、新增管理员、编辑管理员、删除管理员等
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7/8.0等版本均可;
技术栈
后台框架:Spring、SpringMVC、MyBatis
UI界面:JSP、jQuery
数据库:MySQL
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
用户控制层:
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/login")
public String userList() throws Exception{
return "login";
}
@RequestMapping("/logincheck")
public String login(User user,Model model,HttpSession httpSession) throws Exception{
User user1=userService.login(user);
if(user1!=null){
httpSession.setAttribute("user", user1);
if(user1.getType().equals("zuke")){
return "zuke/main";
}
else{
return "admin/main1";
}
}else{
String error="error";
model.addAttribute("error", error);
return "login";
}
}
@RequestMapping("/toindex")
public String toindex(Model model) throws Exception{
return "admin/index";
}
}
合同信息控制层:
@Controller
@RequestMapping("/hetong")
public class HetongController {
@Autowired
private HetongService hetongService;
@Autowired
private HouselistService houselistService;
@Autowired
private ApplyService applyService;
@Autowired
private ZulistService zulistService;
@Autowired
private CheckoutService checkoutService;
//新增合同信息,修改房屋列表的状态,从申请列表中删除,增添到租赁列表当中
@RequestMapping("/inserthetong")
public String inserthetong(Model model,Hetong hetong){
//新增合同信息
hetongService.inserthetong(hetong);
Hetong hetong1=hetongService.findhetong(hetong.getHouse_id());
//修改房屋列表状态
Houselist houselist=houselistService.findhouseid(hetong1.getHouse_id());
houselist.setStatus("已租赁");
houselistService.updatehousestatus(houselist);
//添加到租赁列表当中
Zulist zulist=new Zulist();
Apply apply=applyService.findbyhouse_id(hetong.getHouse_id());
zulist.setHouse_id(hetong.getHouse_id());
zulist.setUserlist_id(apply.getUserlist_id());
zulist.setContract_id(hetong1.getId());
zulist.setPrice(apply.getPrice());
zulist.setAddress(apply.getAddress());
zulistService.insertzulist(zulist);
//从申请列表中删除
applyService.deletebyhouse_id(hetong1.getHouse_id());
model.addAttribute("error", "zusuccess");
return "redirect:/zulist/findzulist.action";
}
@RequestMapping("/seehetong")
public String seehetong(String house_id,Model model){
Hetong hetong=hetongService.findhetong(house_id);
model.addAttribute("hetong", hetong);
model.addAttribute("mainPage", "hetong.jsp");
return "admin/main1";
}
@RequestMapping("/updatehetong")
public String updatehetong(String house_id,Model model){
Hetong hetong=hetongService.findhetong(house_id);
model.addAttribute("hetong", hetong);
model.addAttribute("mainPage", "updatehetong.jsp");
return "admin/main1";
}
@RequestMapping("/changehetong")
public String changehetong(Hetong hetong){
hetongService.updatehetong(hetong);
return "redirect:/zulist/findzulist.action";
}
//终止合同操作:删除合同,插入已退租列表,删除在租列表,删除房屋列表
@RequestMapping("/deletehetong")
public String deletehetong(String house_id,Model model){
hetongService.deletehetong(house_id);
Zulist zulist=zulistService.findzulist(house_id);
Checkout checkout=new Checkout();
checkout.setHouse_id(house_id);
checkout.setAddress(zulist.getAddress());
checkout.setStatus("已退租");
checkout.setUserlist_id(zulist.getUserlist_id());
checkoutService.insertcheckout(checkout);
houselistService.deletehousebyhouseid(house_id);
zulistService.deletezulist(house_id);
model.addAttribute("error", "checkoutsuccess");
return "redirect:/zulist/findzulist.action";
}
@RequestMapping("/zukeseehetong")
public String zukeseehetong(String house_id,Model model){
Hetong hetong=hetongService.findhetong(house_id);
model.addAttribute("hetong", hetong);
model.addAttribute("mainPage", "showhetong.jsp");
return "zuke/main";
}
}
处理的报障控制层:
@Controller
@RequestMapping("/wrong")
public class WrongController {
@Autowired
private SolveService solveService;
@Autowired
private UserlistService userlistService;
@Autowired
private PaidService paidService;
@Autowired
private ZulistService zulistService;
//管理员查找所有已处理的报障
@RequestMapping("/selectall")
public String selectall(Model model,QueryVo vo,@RequestParam(required=false,defaultValue="1") Integer page,
@RequestParam(required=false,defaultValue="6") Integer pageSize){
PageHelper.startPage(page, pageSize);
List<Solve> list=solveService.selectall(vo);
PageInfo<Solve> p=new PageInfo<Solve>(list);
Integer count=solveService.selectcount(vo);
model.addAttribute("solve", list);
model.addAttribute("count", count);
model.addAttribute("p", p);
model.addAttribute("mainPage", "solve.jsp");
model.addAttribute("vo", vo);
return "admin/main1";
}
//租客查找自己已处理的报障
@RequestMapping("/findmysolve")
public String findmysolve(HttpSession httpSession,Model model,QueryVo vo,@RequestParam(required=false,defaultValue="1") Integer page,
@RequestParam(required=false,defaultValue="6") Integer pageSize){
User user1= (User) httpSession.getAttribute("user");
Userlist userlist=userlistService.findhasuserlist(user1.getId());
vo.setUserlist_id(userlist.getId());
PageHelper.startPage(page, pageSize);
List<Solve> list=solveService.selectall(vo);
PageInfo<Solve> p=new PageInfo<Solve>(list);
Integer count=solveService.selectcount(vo);
model.addAttribute("solve", list);
model.addAttribute("count", count);
model.addAttribute("p", p);
model.addAttribute("mainPage", "mysolve.jsp");
model.addAttribute("vo", vo);
return "zuke/main";
}
//管理员删除已处理报障记录
@RequestMapping("/deletesolve")
public String deletesolve(Integer id){
solveService.deletesolve(id);
return "redirect:selectall.action";
}
//zuke删除自己的已处理报障记录
@RequestMapping("/zukedeletesolve")
public String zukedeletesolve(Integer id){
solveService.deletesolve(id);
return "redirect:findmypaid.action";
}
//租客跳到我要报障页面
@RequestMapping("/showaddwrong")
public String showaddwrong(HttpSession httpSession,Model model,@RequestParam(required=false,defaultValue="1") Integer page,
@RequestParam(required=false,defaultValue="6") Integer pageSize)throws Exception{
User user1= (User) httpSession.getAttribute("user");
Userlist userlist=userlistService.findhasuserlist(user1.getId());
PageHelper.startPage(page, pageSize);
List<Zulist> list=zulistService.findzulistbyuid(userlist.getId());
PageInfo<Zulist> p=new PageInfo<Zulist>(list);
model.addAttribute("zulist", list);
model.addAttribute("p", p);
model.addAttribute("mainPage", "showaddwrong.jsp");
return "zuke/main";
}
//点击报障后跳转到添加报障信息页面
@RequestMapping("/addwrong")
public String addwrong(Integer id,Model model){
Zulist zulist=paidService.findzukezulist(id);
model.addAttribute("zulist", zulist);
model.addAttribute("mainPage", "addwrong.jsp");
return "zuke/main";
}
//添加报障信息到wrong表
@RequestMapping("/insertwrong")
public String insertwrong(Wrong wrong,Model model){
solveService.insertwrong(wrong);
model.addAttribute("error","insertwrong");
return "redirect:showaddwrong.action";
}
//管理员查看所有未处理报障
@RequestMapping("/wronglist")
public String wronglist(Model model,@RequestParam(required=false,defaultValue="1") Integer page,
@RequestParam(required=false,defaultValue="6") Integer pageSize){
QueryVo vo=new QueryVo();
PageHelper.startPage(page, pageSize);
List<Wrong> list=solveService.findwrong(vo);
PageInfo<Wrong> p=new PageInfo<Wrong>(list);
model.addAttribute("wrong", list);
model.addAttribute("p", p);
model.addAttribute("mainPage", "wrong.jsp");
return "admin/main1";
}
//租客查看自己的未处理报障
@RequestMapping("/mywronglist")
public String mywronglist(Model model,HttpSession httpSession,@RequestParam(required=false,defaultValue="1") Integer page,
@RequestParam(required=false,defaultValue="6") Integer pageSize){
User user1= (User) httpSession.getAttribute("user");
Userlist userlist=userlistService.findhasuserlist(user1.getId());
QueryVo vo=new QueryVo();
vo.setUserlist_id(userlist.getId());
PageHelper.startPage(page, pageSize);
List<Wrong> list=solveService.findwrong(vo);
PageInfo<Wrong> p=new PageInfo<Wrong>(list);
model.addAttribute("p", p);
model.addAttribute("wrong",list);
model.addAttribute("mainPage", "mywrong.jsp");
return "zuke/main";
}
//管理员处理报障
@RequestMapping("/gotosolve")
public String gotosolve(Integer id,Model model){
Wrong wrong=solveService.findbyid(id);
Solve solve=new Solve();
solve.setHouse_id(wrong.getHouse_id());
solve.setAddress(wrong.getAddress());
solve.setDate(wrong.getDate());
solve.setDetail(wrong.getDetail());
solve.setName(wrong.getName());
solve.setUserlist_id(wrong.getUserlist_id());
solve.setStatus("已处理");
solveService.gotosolve(id, solve);
model.addAttribute("error", "duesucess");
return "redirect:selectall.action";
}
}
源码获取:俺的博客首页 "资源" 里下载!