——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Node.js≥14
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
❗没学过node.js的不要搞前后端分离项目
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot房屋租赁管理系统(java+springboot+mybaits+vue+elementui+mysql)
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
4.数据库:MySql 5.7/8.0版本均可;
5.是否Maven项目:是;
技术栈
后端:SpringBoot+Mybaits
前端:Vue + elementui
使用说明
项目运行:
使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令;
将项目中application.yml配置文件中的数据库配置改为自己的配置;
运行项目,在浏览器中输入地址:
前台地址:http://localhost:8080/springbootrpj39/front/index.html
后台地址
http://localhost:8080/springbootrpj39/admin/dist/index.html
管理员 abo 密码 abo
用户:用户1 密码: 123456
注意项目文件路径中不能含有中文、空格、特殊字符等,否则图片会上传不成功。
——————————CodeStart——————————
用户管理控制层:
@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(“/zulist”)
public class ZulistController {
@Autowired
private ZulistService zulistService;
@Autowired
private UserlistService userlistService;
//跳到增添合同的页面
@RequestMapping(“/toaddhetong”)
public String toaddhetong(Model model,String house_id){
Hetong hetong=new Hetong();
hetong.setHouse_id(house_id);
model.addAttribute(“hetong”, hetong);
model.addAttribute(“mainPage”, “addhetong.jsp”);
return “admin/main1”;
//管理员查看所有在售列表
@RequestMapping(“/findzulist”)
public String findzulist(Model model,@RequestParam(required=false,defaultValue=”1”) Integer page,
@RequestParam(required=false,defaultValue=”2”) Integer pageSize) throws Exception{
PageHelper.startPage(page, pageSize);
List
PageInfo
model.addAttribute(“p”, p);
model.addAttribute(“zulist”, zulist);
model.addAttribute(“mainPage”, “zulist.jsp”);
return “admin/main1”;
//查看我的在售列表
@RequestMapping(“/myzulist”)
public String myzulist(Model model,HttpSession httpSession,@RequestParam(required=false,defaultValue=”1”) Integer page,
@RequestParam(required=false,defaultValue=”2”) Integer pageSize) throws Exception{
User user1= (User) httpSession.getAttribute(“user”);
Userlist userlist=userlistService.findhasuserlist(user1.getId());
PageHelper.startPage(page, pageSize);
List
PageInfo
model.addAttribute(“userlistzu”, list);
model.addAttribute(“p”, p);
model.addAttribute(“mainPage”, “myzulist.jsp”);
return “zuke/main”;
退房管理控制层:
@Controller
@RequestMapping(“/applyout”)
public class ApplyoutController {
@Autowired
private ZulistService zulistService;
@Autowired
private ApplyoutService applyoutService;
@Autowired
private UserlistService userlistService;
//插入退房信息
@RequestMapping(“/insertapplyout”)
public String insertapplyout(String house_id,Model model){
Zulist zulist=zulistService.findzulist(house_id);
applyoutService.insertapplyout(zulist);
model.addAttribute(“error”, “applysuccess”);
return “redirect:/zulist/myzulist.action”;
//查看退房申请
@RequestMapping(“/findallapplyout”)
public String findallapplyout(Model model ,@RequestParam(required=false,defaultValue=”1”) Integer page,
@RequestParam(required=false,defaultValue=”2”) Integer pageSize){
PageHelper.startPage(page, pageSize);
List
PageInfo
model.addAttribute(“applyout”, applyout);
model.addAttribute(“p”, p);
model.addAttribute(“mainPage”, “applyout.jsp”);
return “admin/main1”;
//管理员拒绝退房申请
@RequestMapping(“/refuseapplyout”)
public String refuseapplyout(Model model,Integer id){
Applyout applyout=new Applyout();
applyout.setId(id);
applyout.setStatus(“已拒绝”);
applyoutService.updateapplyout(applyout);
model.addAttribute(“mainPage”, “applyout.jsp”);
return “redirect:findallapplyout.action”;
//管理员同意退房申请
@RequestMapping(“/agreeapplyout”)
public String agreeapplyout(Model model,Integer id){
applyoutService.agreeapplyout(id);
model.addAttribute(“error”, “applyoutsucess”);
return “redirect:findallapplyout.action”;
//删除申请退房列表
@RequestMapping(“/deleteapplyout”)
public String deleteapplyout(Model model,Integer id){
applyoutService.deleteapplyout(id);
model.addAttribute(“error”, “deletesucess”);
return “redirect:findallapplyout.action”;
//买家查看自己的 退房申请
@RequestMapping(“/getmyapplyout”)
public String getmyapplyout(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
PageInfo
model.addAttribute(“userlist”, list);
model.addAttribute(“p”, p);
model.addAttribute(“mainPage”, “myapplyout.jsp”);
return “zuke/main”;
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=491125130706201rb
https://javayms.pages.dev?id=491125130706201rb