Java实战之在线租房系统的实现

网友投稿 316 2022-08-26


Java实战之在线租房系统的实现

目录介绍效果图核心代码用户控制器管理员控制层个人中心控制器

介绍

该系统有三个角色,分别是:普通用户、房屋中介、管理员。普通用户的功能:浏览房屋信息、预约看房、和中介聊天、申请成为中介等等。房屋中介的功能:发布房屋信息、和用户聊天、回复预约信息等等。管理员的功能:管理所有用户信息、管理权限信息、管理所有房屋信息、管理所有预约信息等等。

应用技术:SpringBoot + Redis + mysql + vue + SpringSecurity + JWT + ElasticSearch + WebSocket + FreeMarker + MyBatis-Plus等等

运行环境:Eclipse/IntelliJ IDEA + MySQL5.7 + Maven3.6.3(项目压缩包中自带) + JDK1.8 + Redis5.0.5(项目压缩包中自带)+ ElasticSearch6.8.0

效果图

核心代码

用户控制器

/**

* 用户控制器

*

* @author yy

*

*/

@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;

/**

* 登录

*/

@RequestMapping("/userpwd")

public String userpwd(String username, String pwd, String[] identity, HttpServletRequest request) {

HttpSession session = request.getSession();

if (username.equals("") || pwd.equals("")) {

request.setAttribute("erorr", "输入账号密码不能为空!");

return "login";

}

String tempstr = null;

try {

if (identity[0].equals("user")) {

userlist temp = new userlist();

temp.setUsercall(username);

temp.setUserpwd(pwd);

userlist userlist = userlistService.queryAllUserPwd(temp);

try {

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";

}

} catch (NullPointerException e) {

if (tempstr == null) {

request.setAttribute("erorr", "输入账号密码有误!");

return "login";

} else {

return "official";

}

}

}

if (identity[0].equals("admin")) {

adminlist temp = new adminlist();

temp.setAdminname(username);

temp.setAdminpwd(pwd);

adminlist adminlist = adminListService.findAllAdminPwd(temp);

try {

tempstr = adminlist.getAdminname();

if (tempstr != null) {

session.setAttribute("admin", tempstr);

return "BackgroundHome";

}

} catch (NullPointerException e) {

request.setAttribute("erorr", "输入账号密码有误!");

return "login";

}

}

} catch (NullPointerException e) {

request.setAttribute("erorr", "选择登录方式!");

e.printStackTrace();

return "login";

}

return "login";

}

/**

* 注册

*/

@RequestMapping("/register")

public String register(String usercall, String userpwd, String userphone, HttpServletRequest request) {

if (usercall.equals("") || userpwd.equals("") || userphone.equals("")) {

request.setAttribute("erorr", "输入账号密码不能为空!");

return "register";

}

userlist user = new userlist();

user.setUsercall(usercall);

user.setUserphone(userphone);

user.setUserpwd(userpwd);

userlistService.insert(user);

headportraitimg userimg = new headportraitimg();

userimg.setHeadportraitimgusername(usercall);

headPortraithttp://ImgService.insertuserimg(userimg);

return "login";

}

/**

* 获取手机验证码

**/

@RequestMapping("/getcode")

public void getcode(String userphone, HttpServletResponse response, HttpServletRequest request) {

response.setCharacterEncoding("UTF-8");

try {

HttpSession session = request.getSession();

String code = "123456";

// String code = Code.getNum(userphone);

System.out.println(code);

session.setAttribute("code", code);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

/**

* 判断验证码输入后登陆

**/

@RequestMapping("/phonecod")

public String phonecod(String userphone, String code, HttpServletRequest request) {

HttpSession session = request.getSession();

if (userphone.equals("") || code.equals("")) {

request.setAttribute("erorr", "手机号或者验证码为空!");

return "login";

}

System.out.println(code);

if (code.equals(session.getAttribute("code"))) {

userlist user = userlistService.selectUserPhone(userphone);

if (user != null) {

String tempstr = null;

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("/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;

}

/**

* 注销

*/

@RequestMapping("/cancellation")

public String cancellation(HttpServletRequest request) {

HttpSession session = request.getSession();

session.removeAttribute("user");

System.out.println("注销成功");

return "official";

}

/**

* 申请看房

*/

@RequestMapping("/apply")

@ResponseBody

public ModelAndView apply(HttpSession session, HttpServletRequest request, String housemoney, String housecall,

String houseaddress,String housesize) {

ModelAndView mav = new ModelAndView("official");

//令牌验证

if(!new Koken().kokenid(request, session)) {

return mav;

}

mav.addObject("news", "official");

if ((String) session.getAttribute("user") == null) {

mav.addObject("apply", "请先登录!");

return mav;

}

// 查询所有数据

userlist user = userlistService.selectUserCall((String) session.getAttribute("user"));

if (user.getUsername() == null) {// 判断真实姓名是否为空

mav.addObject("apply", "请绑定真实姓名后再租赁房屋!");

return mav;

} else {

checkoutapplication coa = new checkoutapplication();

coa.setCoausername(user.getUsername());

coa.setCoauserid(user.getUserid());

coa.setCoauserphone(user.getUserphone());

coa.setCoahouseid(housecall);

coa.setCoahouseaddress(houseaddress);

coa.setCoahouseprice(Double.parseDouble(housemoney));

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;

@Resource

private FaultService faultService;

@Resource

private UserlistService userlistService;

@Resource

private LeaseimgService leaseimgService;

@Resource

private HeadPortraitImgService headPortraitImgService;

/**

* 注销

*/

@RequestMapping("/admincancel")

public String cancellation(HttpServletRequest request) {

HttpSession session = request.getSession();

session.removeAttribute("admin");

System.out.println("注销成功");

return "official";

}

@RequestMapping("/details")

public ModelAndView listCategory(@RequestParam int pn) {

ModelAndView mav = new ModelAndView("rentingdel");

// 设置分页传输

PageHelper.startPage(pn, 10);

// 查询所有数据

List list = rentwithdrawnService.selectRwState("已退租");

// 使用PageInFo封装查询结果

PageInfo pageInfo = new PageInfo(list, 5);

// 放入转发参数

mav.addObject("cs", pageInfo);

return mav;

}

@RequestMapping("/delect")

public ModelAndView delect(@RequestParam int id) {

ModelAndView mav = new ModelAndView("rentingdel");

rentwithdrawnService.deleteByPrimaryKey(id);

return mav;

}

@RequestMapping("/rentinglist")

public ModelAndView listHouseState(@RequestParam int pn) {

ModelAndView mav = new ModelAndView("rentinglist");

// 设置分页传输

PageHelper.startPage(pn, 10);

// 查询所有数据

List list = leaseinformationService.selecthousteaseWith("出租中");

// 使用PageInFo封装查询结果

PageInfo pageInfo = new PageInfo(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 list = checkoutapplicationService.selectCoaState();

// 使用PageInFo封装查询结果

PageInfo pageInfo = new PageInfo(list, 5);

// 放入转发参数

mav.addObject("cs", pageInfo);

return mav;

}

/**

* 预约看房申请

*/

@RequestMapping("/tonyizp")

public ModelAndView tonyizp(@RequestParam int id, String housecall, String name) throws ParseException {

ModelAndView mav = new ModelAndView("houseapply");

checkoutapplicationService.xgaiCoaState("已同意", id);

leaseinformation house = leaseinformationService.selectHouseCall(housecall).get(0);

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");// 设置日期格式

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;

}

@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 list = checkoutapplicationService.selectCoaState1();

// 使用PageInFo封装查询结果

PageInfo pageInfo = new PageInfo(list, 5);

// 放入转发参数

mav.addObject("cs", pageInfo);

return mav;

}

/**

* 删除退房记录

*/

@RequestMapping("/delecttzsq")

public ModelAndView delecttzsq(@RequestParam int id) {

ModelAndView mav = new ModelAndView("housedel");

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));

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 = userlistService.selectAll();

PageInfo p = new PageInfo(userlist, 3);

model.addAttribute("p", p);

return "account";

}

/**

* 删除用户信息

*/

@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";

}

/**

* 添加房源

*

* @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("")

|| housetype.equals("")) {

request.setAttribute("erro", "输入房源信息不能缺少任意一项!");

return "housingadd";

}

List list = leaseinformationService.queryAll();

for (leaseinformation leaseinformation : list) {

if (housecall.equals(leaseinformation.getHousecall())) {

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);

img.setImgroute(imgname);

leaseimgService.insert(img);

int id = leaseimgService.selectAll().get(leaseimgService.selectAll().size() - 1).getId();

leaseinformation house = new leaseinformation();

house.setHouseaddress(address);

house.setHousesize(Double.valueOf(area));

house.setHousemoney(rent);

house.setHousestate(state[0]);

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", "添加成功");

return "housingadd";

}

/**

* 分页展示房源信息

*/

@RequestMapping("/pagingselecthouse")

public String pagingselecthouse(Model model, @RequestParam(value = "pn", defaultValue = "1") Integer pn,

@RequestParam(required = false, defaultValue = "6") Integer pageSize) {

PageHelper.startPage(pn, 10);

List leaseinformation = leaseinformationService.queryAll();

PageInfo p = new PageInfo(leaseinformation, 3);

model.addAttribute("p", p);

return "housinglist";

}

/**

* 获取修改房源信息

*/

@RequestMapping("/getupdatehouse")

public String getupdatehouse(int houseid, HttpServletRequest request) {

List house = leaseinformationService.queryID(houseid);

request.setAttribute("uphouse", house);

return "houseupdate";

}

/**

* 修改房源信息

*/

@RequestMapping("/updatehouse")

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);

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 = leaseinformationService.selectAllLeasable();

PageInfo p = new PageInfo(leaseinformation, 3);

model.addAttribute("p", p);

return "recommendhouse";

}

/**

* 修改推荐信息

*/

@RequestMapping("/updaterecommend")

public String updatehouse(Integer houseid) {

leaseinformation house = leaseinformationService.queryID(houseid).get(0);

if (house.getHouserecommend().equals("未推荐")) {

house.setHouserecommend("已推荐");

} else {

house.setHouserecommend("未推荐");

}

leaseinformationService.updateByPrimaryKey(house);

return "redirect:recommendlist.do?";

}

/**

* 分页查询日程信息

*/

@RequestMapping("/schedulelist")

public String mydailylifelist(@RequestParam(value = "pn", defaultValue = "1") Integer pn, Model model) {

// 引用PageHelper分页插件

PageHelper.startPage(pn, 10);

List mydailylifes = mydailylifeService.selectAll();

PageInfo page = new PageInfo(mydailylifes, 3);

model.addAttribute("p", page);

return "schedulelist";

}

/**

* 添加日程

*/

@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);

request.setAttribute("mydailylife", mydailylife);

return "scheduleupdate";

}

@RequestMapping("/toupdate")

public String mydailylifeupdate2(mydailylife mydailylife) {

mydailylifeService.updateByPrimaryKey(mydailylife);

return "redirect:/admin/schedulelist.do";

}

/**

* 删除日程

*/

@RequestMapping("/delmydailylife")

public String mydailylifedel(Integer id) {

mydailylifeService.deleteByPrimaryKey(id);

return "redirect:/admin/schedulelist.do";

}

// 报障

/**

* 查询待处理报障

*/

@RequestMapping("/Adminselectrepairwait")

public String selectrepairwait(String state, @RequestParam(value = "pn", defaultValue = "1") Integer pn,

Model model) {

state = "未处理";

// 引用PageHelper分页插件

PageHelper.startPage(pn, 10);

List faultlist = faultService.AdminSelectStateAll(state);

PageInfo page = new PageInfo(faultlist, 3);

model.addAttribute("p", page);

return "repairwait";

}

/**

* 已完成全部报障

*/

@RequestMapping("/Adminselectrepairdone")

public String selectrepairdone(String state, @RequestParam(value = "pn", defaultValue = "1") Integer pn,

Model model) {

state = "已处理";

// 引用PageHelper分页插件

PageHelper.startPage(pn, 10);

List faultdone = faultService.AdminSelectStateAll(state);

PageInfo page = new PageInfo(faultdone, 3);

model.addAttribute("p", page);

return "repairdone";

}

/**

* 报障状态修改

*/

@RequestMapping("/adminrepairwait")

public String updaterepairwait(Integer id) {

fault fault = faultService.selectByPrimaryKey(id);

String fhouseid = fault.getFhouseid();

String fhouseaddress = fault.getFhouseaddress();

Double fprice = fault.getFprice();

Date fdate = fault.getFdate();

String fcontent = fault.getFcontent();

String fusername = fault.getFusername();

String fuserid = fault.getFuserid();

String fuserphone = fault.getFuserphone();

String fstate = "已处理";

fault f = new fault(fhouseid, fhouseaddress, fprice, fdate, fcontent, fusername, fuserid, fuserphone, fstate,

id);

faultService.updateByPrimaryKey(f);

return "redirect:/admin/Adminselectrepairwait.do";

}

/**

* 报障删除

*/

@RequestMapping("/adminrepairdone")

public String delrepair(Integer id) {

faultService.deleteByPrimaryKey(id);

return "redirect:/admin/Adminselectrepairdone.do";

}

/**

* 搜索报障

*/

@RequestMapping("/repairselect")

public String repairselect(QueryVo vo, @RequestParam(value = "pn", defaultValue = "1") Integer pn, Model model) {

// 引用PageHelper分页插件

PageHelper.startPage(pn, 10);

List faultdone = faultService.repairselect(vo);

for (fault temp : faultdone) {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String date = sdf.format(temp.getFdate());

temp.setFdatetemp(date);

}

PageInfo page = new PageInfo(faultdone, 3);

model.addAttribute("p", page);

model.addAttribute("vo", vo);

return "repairdone";

}

/**

* 我要收租

*/

@RequestMapping("/adminrentshou")

public String rentshou(@RequestParam(value = "pn", defaultValue = "1") Integer pn, Model model) {

// 引用PageHelper分页插件

PageHelper.startPage(pn, 10);

List userlists = userlistService.rentSelectAll();

PageInfo page = new PageInfo(userlists, 3);

model.addAttribute("rent", page);

return "rentshou";

}

/**

* 获取收租信息

*/

@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分页插件

PageHelper.startPage(pn, 10);

List rentlists = rentcollectionService.selectPaidStateAll(rcstate);

PageInfo page = new PageInfo(rentlists, 3);

model.addAttribute("rent", page);

return "rentwait";

}

/**

* 删除租金缴纳记录

*/

@RequestMapping("/admindelrent")

public String delrent(Integer id) {

rentcollectionService.deleteByPrimaryKey(id);

return "redirect:/admin/adminselectPaidAll.do";

}

/**

* 搜索查询

*/

@RequestMapping("/adminselectPaidAll")

public String adminselectPaidAll(QueryVo vo, @RequestParam(value = "pn", defaultValue = "1") Integer pn,

Model model) {

// 引用PageHelper分页插件

PageHelper.startPage(pn, 10);

List 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) {

String Rcpaiddate = sdf.format(temp.getRcpaiddate());

temp.setRcpaiddatetemp(Rcpaiddate);

}

}

PageInfo page = new PageInfo(rentlists, 3);

model.addAttribute("rent", page);

model.addAttribute("vo", vo);

return "rentdone";

}

/**

* 查看合同

*/

@RequestMapping("/viewcontractadmin")

public ModelAndView viewcontractadmin(String username, String userid, String houseaddress,

String housestartingdatetemp, String houseclosingdatetemp, String housemoney, String userphone,

String houseid, HttpServletRequest request, HttpSession session) {

ModelAndView mav = new ModelAndView("rentinglist");

String arraytemp[] = { username, userid, houseaddress, housestartingdatetemp, houseclosingdatetemp, housemoney,

userphone, houseid };

System.out.println(Arrays.toString(arraytemp));

String temp = arraytemp[7] + "pdf.pdf";

File filetemp = new File("C://Users/Rain/Desktop/ssm_leaseOfHouses/WebContent/contract/pdf/" + temp);

if (!filetemp.exists()) {

System.out.println(new DocumentConversion().DocumentGeneration(arraytemp));

new DocumentConversion().PdfGeneration(arraytemp[7]);

filetemp = new File("C://Users/Rain/Desktop/ssm_leaseOfHouses/WebContent/contract/pdf/" + temp);

}

String pdf = filetemp.getName();

// 放入转发参数

mav.addObject("pdftemp", pdf);

return mav;

}

}

个人中心控制器

/**

* 个人中心控制器

*

* @author yy

*

*/

@Controller

@RequestMapping("/personacentermvc")

public class PersonacenterController {

@Resource

private RentwithdrawnService rentwithdrawnService;

@Resource

private UserlistService userlistService;

@Resource

private LeaseinformationService leaseinformationService;

@Resource

private CheckoutapplicationService checkoutapplicationService;

@Resource

private RentcollectionService rentcollectionService;

@Resource

private FaultService faultService;

@Resource

private HeadPortraitImgService headPortraitImgService;

/**

* 个人信息切换页面

*/

@RequestMapping("/personal_switch")

public void temp(String txt, HttpServletResponse response) throws IOException {

response.setCharacterEncoding("UTF-8");

switch (txt) {

case "租赁信息":

response.getWriter().print("/jsp/personalInformation/information.jsp");

break;

case "我的申请":

response.getWriter().print("/jsp/personalInformation/myapplication.jsp");

break;

case "代缴租金":

response.getWriter().print("/jsp/personalInformation/rentpayment.jsp");

break;

case "报障模块":

response.getWriter().print("/jsp/personalInformation/faultreportingmodule.jsp");

break;

case "其他操作":

response.getWriter().print("/jsp/personalInformation/otheroperations.jsp");

break;

}

}

/**

* 我的租赁分页查询

*/

@RequestMapping("/myRentalList")

@ResponseBody

public Msg myRentalList(@RequestParam(value = "pn") Integer pn, HttpSession session) {

// 查询所有数据

userlist user = userlistService.selectUserCall((String) session.getAttribute("user"));

// 设置分页传输

PageHelper.startPage(pn, 8);

List leaseuser = userlistService.selectUserNameWith(user.getUsername());

// 使用PageInFo封装查询结果

PageInfo pageInfo = new PageInfo(leaseuser, 3);

return Msg.success().add("pageInfo", pageInfo);

}

/**

* 已退租赁记录分页查询

*/

@RequestMapping("/refundedLeaseList")

@ResponseBody

public Msg refundedLeaseList(@RequestParam(value = "pn") Integer pn, HttpSession session) {

// 查询所有数据

userlist user = userlistService.selectUserCall((String) session.getAttribute("user"));

// 设置分页传输

PageHelper.startPage(pn, 8);

List list = rentwithdrawnService.queryAllStateName("已退租", "", user.getUsername());

// 使用PageInFo封装查询结果

PageInfo pageInfo = new PageInfo(list, 3);

return Msg.success().add("pageInfo", pageInfo);

}

/**

* 申请状态记录分页查询

*/

@RequestMapping("/applicationAtatusList")

@ResponseBody

public Msg applicationAtatusList(@RequestParam(value = "pn") Integer pn, boolean flag, HttpSession session) {

List list = null;

userlist user = userlistService.selectUserCall((String) session.getAttribute("user"));

// 设置分页传输

PageHelper.startPage(pn, 8);

// 查询所有数据

if (flag) {

list = checkoutapplicationService.selectStateAll("看房申请中", "退房申请中", "", user.getUsername());

} else {

list = checkoutapplicationService.selectStateAll("已拒绝", "已同意", "已取消", user.getUsername());

}

// 使用PageInFo封装查询结果

PageInfo pageInfo = new PageInfo(list, 3);

return Msg.success().add("pageInfo", pageInfo);

}

/**

* 代缴租金分页查询

*/

@RequestMapping("/rentpaymentList")

@ResponseBody

public Msg rentpaymentList(@RequestParam(value = "pn") Integer pn, String state, HttpSession session) {

userlist user = userlistService.selectUserCall((String) session.getAttribute("user"));

// 设置分页传输

PageHelper.startPage(pn, 8);

List list = rentcollectionService.queryPaidStateAll(state, user.getUsername());

// 使用PageInFo封装查询结果

PageInfo pageInfo = new PageInfo(list, 3);

return Msg.success().add("pageInfo", pageInfo);

}

/**

* 缴纳租金

*/

@RequestMapping("/payrentmvc")

public ModelAndView payrentmvc(String rchousemoney,Integer rcid,String token,HttpServletRequest request,HttpSession session) {

ModelAndView mav = new ModelAndView("personacenter");

//令牌验证

if(!new Koken().kokenid(request, session)) {

return mav;

}

Warning news = rentcollectionService.updateState(rcid);

System.out.println(news.getWarningContent());

// 放入转发参数

mav.addObject("news", news);

return mav;

}

/**

* 已缴纳租金删除记录

*/

@RequestMapping("/paidrent")

public ModelAndView paidrent(Integer rcid,HttpServletRequest request,HttpSession session) {

ModelAndView mav = new ModelAndView("personacenter");

//令牌验证

if(!new Koken().kokenid(request, session)) {

return mav;

}

Warning news = rentcollectionService.deleteByPrimaryKey(rcid);

System.out.println(news.getWarningContent());

// 放入转发参数

mav.addObject("news", news);

return mav;

}

/**

* 共缴费费用

*/

@RequestMapping("/copaymentfee")

@ResponseBody

public Msg copaymentfee(String state, HttpSession session) {

userlist user = userlistService.selectUserCall((String) session.getAttribute("user"));

List list = rentcollectionService.queryPaidStateAll(state, user.getUsername());

int num = 0;

for (rentcollection temp : list) {

num += Float.parseFloat(temp.getRchousemoney());

}

return Msg.success().add("num", num);

}

/**

* 报障分页查询

*/

@RequestMapping("/repairList")

@ResponseBody

public Msg repairList(@RequestParam(value = "pn") Integer pn, String str, HttpSession session) {

// 使用PageInFo封装查询结果

userlist user = userlistService.selectUserCall((String) session.getAttribute("user"));

// 设置分页传输

PageHelper.startPage(pn, 8);

if (str.equals("我要报障")) {

List leaseuser = userlistService.selectUserNameWith(user.getUsername());

PageInfo pageInfo = new PageInfo(leaseuser, 3);

return Msg.success().add("pageInfo", pageInfo);

}

List list = faultService.queryAllState(str, user.getUsername());

PageInfo pageInfo = new PageInfo(list, 3);

return Msg.success().add("pageInfo", pageInfo);

}

/**

* 报障提交内容

*

* @throws ParseException

*/

@RequestMapping("/contentofthereport")

public ModelAndView contentofthereport(String date, String housecall, String contentofthe,String token,HttpServletRequest request,HttpSession session) throws ParseException {

ModelAndView mav = new ModelAndView("personacenter");

//令牌验证

if(!new Koken().kokenid(request, session)) {

return mav;

}

userlist user = userlistService.selectUserCallWith(housecall);

fault fault = new fault();

fault.setFhouseid(housecall);

fault.setFhouseaddress(user.getLeaseinformation().getHouseaddress());

fault.setFprice(Double.parseDouble(user.getLeaseinformation().getHousemoney()));

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");

Date t1 = sdf.parse(date);

fault.setFdate(t1);

fault.setFdatetemp(date);

fault.setFcontent(contentofthe);

fault.setFusername(user.getUsername());

fault.setFuserid(user.getUserid());

fault.setFuserphone(user.getUserphone());

fault.setFstate("未处理");

Warning news = faultService.insert(fault);

System.out.println(news.getWarningContent());

// 放入转发参数

mav.addObject("news", news);

return mav;

}

/**

* 报障删除记录

*/

@RequestMapping("/deleterepair")

public ModelAndView deleterepair(Integer fid,String token,HttpServletRequest request,HttpSession session) {

ModelAndView mav = new ModelAndView("personacenter");

//令牌验证

if(!new Koken().kokenid(request, session)) {

return mav;

}

Warning news = faultService.deleteByPrimaryKey(fid);

System.out.println(news.getWarningContent());

// 放入转发参数

mav.addObject("news", news);

return mav;

}

/**

* 头像上传 用户真实姓名,身份证号,手机号上传

*

* @throws FileNotFoundException

*/

@RequestMapping("/file")

public ModelAndView file(String username,String userid,String userphone,HttpServletRequest request,HttpSession session,@RequestParam MultipartFile file) throws Exception {

System.out.println(username);

ModelAndView mav = new ModelAndView("personacenter");

userlist usere=userlistService.selectUserName(username);

if (usere==null) {

session.setAttribute("modifyerro",null);

System.out.println("可修改");

}else {

Warning news=new Warning(2, "修改失败!该姓名用户已注册");

mav.addObject("news", news);

return mav;

}

//令牌验证

if(!new Koken().kokenid(request, session)) {

return mav;

}

// 获取文件的名称

String fName = file.getOriginalFilename();

System.out.println(fName);

if (!fName.equals("")) {

// 保存图片的目录

String path = "C://Users/Rain/Desktop/ssm_leaseOfHouses/WebContent/headPortraitImg";

File filepath = new File(path);

// 如果目录不存在,创建

if (!filepath.exists()) {

filepath.mkdir();

}

File f = new File(path, fName);

// 更改用户头像

headportraitimg headportraitimg = new headportraitimg();

String user = (String) session.getAttribute("user");

headportraitimg.setHeadportraitimgusername(user);

headportraitimg.setHeadportraitimgaddress(fName);

// 图片路径上传到数据库

headPortraitImgService.updatauserimg(headportraitimg);

// 更换头像

session.setAttribute("headportraitimg", headportraitimg.getHeadportraitimgaddress());

// 上传文件

file.transferTo(f);

}

userlist user = userlistService.selectUserCall((String) session.getAttribute("user"));

//暂时储存需要修改的真实姓名

String rcusernametemp=user.getUsername();

//判断,如有真实姓名联表修改,则添加

if(user.getUsername()==null||"".equals(user.getUsername())) {

// 上传真实姓名,身份证,手机号

userlist userlist = new userlist();

userlist.setUsercall((String) session.getAttribute("user"));

userlist.setUsername(username);

userlist.setUserid(userid);

userlist.setUserphone(userphone);

Warning news = userlistService.updateByPrimaryCall(userlist);

System.out.println(news.getWarningContent());

// 放入转发参数

mav.addObject("news", news);

}else {

// 修改真实姓名,身份证,手机号

userlist userlist = new userlist();

userlist.setUsername(username);

userlist.setUserid(userid);

userlist.setUserphone(userphone);

userlist.setUsernametemp(user.getUsername());

Warning news = userlistService.updateJointTableName(userlist);

//修改租金真实姓名

System.out.println(rentcollectionService.updateUserName(username,rcusernametemp));

System.out.println(news.getWarningContent());

// 放入转发参数

mav.addObject("news", news);

}

return mav;

}

/**

* 删除已退租记录

*/

@RequestMapping("/deleterentrefund")

public ModelAndView deleterentrefund(Integer rwid,String token,HttpServletRequest request,HttpSession session) {

ModelAndView mav = new ModelAndView("personacenter");

//令牌验证

if(!new Koken().kokenid(request, session)) {

return mav;

}

Warning news = rentwithdrawnService.deleteByPrimaryKey(rwid);

System.out.println(news.getWarningContent());

// 放入转发参数

mav.addObject("news", news);

return mav;

}

/**

* 查看合同

*/

@RequestMapping("/viewcontract")

public ModelAndView viewcontract(String username, String userid, String houseaddress, String housestartingdatetemp,

String houseclosingdatetemp, String housemoney, String userphone, String houseid,HttpServletRequest request,HttpSession session) {

ModelAndView mav = new ModelAndView("personacenter");

String arraytemp[] = { username, userid, houseaddress, housestartingdatetemp, houseclosingdatetemp, housemoney,

userphone, houseid };

String temp = (arraytemp[0]+arraytemp[7]) + "pdf.pdf";

File filetemp = new File("C://Users/Rain/Desktop/ssm_leaseOfHouses/WebContent/contract/pdf/" + temp);

if (!filetemp.exists()) {

// System.out.println(new DocumentConversion().DocumentGeneration(arraytemp));

new DocumentConversion().PdfGeneration((arraytemp[0]+arraytemp[7]));

filetemp = new File("C://Users/Rain/Desktop/ssm_leaseOfHouses/WebContent/contract/pdf/" + temp);

}

String pdf = filetemp.getName();

// 放入转发参数

mav.addObject("pdftemp", pdf);

return mav;

}

/**

* 终止合同

*/

@RequestMapping("/termination")

public ModelAndView termination(String call,String token,HttpServletRequest request,HttpSession session) {

ModelAndView mav = new ModelAndView("personacenter");

//令牌验证

if(!new Koken().kokenid(request, session)) {

return mav;

}

userlist leaseuser = userlistService.selectUserCallWith(call);

Warning news = checkoutapplicationService.insert(leaseuser);

// 放入转发参数

mav.addObject("news", news);

return mav;

}

/**

* 终止申请

*/

@RequestMapping("/stopapplying")

public ModelAndView stopapplying(String call,String token,HttpServletRequest request,HttpSession session) {

ModelAndView mav = new ModelAndView("personacenter");

//令牌验证

if(!new Koken().kokenid(request, session)) {

return mav;

}

Warning news = checkoutapplicationService.updateCallState("已取消", call);

System.out.println(news.getWarningContent());

// 放入转发参数

mav.addObject("news", news);

return mav;

}

/**

* 删除申请记录

*/

@RequestMapping("/deleterecord")

public ModelAndView deleterecord(Integer coaid,String token,HttpServletRequest request,HttpSession session) {

ModelAndView mav = new ModelAndView("personacenter");

//令牌验证

if(!new Koken().kokenid(request, session)) {

return mav;

}

Warning news = checkoutapplicationService.deleteByPrimaryKey(coaid);

System.out.println(news.getWarningContent());

// 放入转发参数

mav.addObject("news", news);

return mav;

}

}

以上就是java实战之在线租房系统的实现的详细内容,更多关于Java租房系统的的资料请关注我们其它相关文章!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:零基础-Python从门到精通(系列)(Python从入门)
下一篇:莫烦PyTorch学习笔记(六)——批处理(pytorch训练代码)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~