Java项目:房屋销售管理系统(java+SSM+JSP+jQuery+Mysql)

源码获取:俺的博客首页 "资源" 里下载!

项目介绍

本项目包含管理员与买家两种角色;

管理员角色包含以下功能:

管理员登录,房源信息管理,合同信息管理,账户管理,申请看房信息管理等功能。

买家角色包含以下功能:

用户登录,用户登陆,查看房源信息,查看销售信息,查看申请信息,绑定账户等功能。

环境需要

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等版本均可;

技术栈

1. 后端:Spring+springmvc+mybatis

2. 前端:JSP+css+javascript+jQuery

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;

2. 使用IDEA/Eclipse/MyEclipse导入项目,配置tomcat;

3. 将项目中db.properties配置文件中的数据库配置改为自己的配置;

4. 运行项目,在浏览器中输入地址:http://localhost:8080/text2/

用户账号/密码: user/123456

管理员账号/密码:admin/admin

房屋信息控制器:

/**
 * 房屋信息控制器
 *
 */
 
@Controller
@RequestMapping("/leaseinformationmvc")
public class LeaseinformationController {
    @Autowired
    LeaseinformationService leaseinformationService;
        
    @RequestMapping("/details")
    public ModelAndView listCategory(@RequestParam int id){
        ModelAndView mav = new ModelAndView("details");
        List<leaseinformation> cs= leaseinformationService.allANDimg1(id);
        for (leaseinformation leaseinformation : cs) {
            System.out.println(leaseinformation.getLeaseimg().getImgroute());
        }
        // 放入转发参数
        mav.addObject("cs", cs);
        return mav;
    }
 
}

个人中心控制器:

/**
 * 个人中心控制器
 *
 */
@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<userlist> leaseuser = userlistService.selectUserNameWith(user.getUsername());
        // 使用PageInFo封装查询结果
        PageInfo<userlist> pageInfo = new PageInfo<userlist>(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<rentwithdrawn> list = rentwithdrawnService.queryAllStateName("已退租", "", user.getUsername());

        // 使用PageInFo封装查询结果
        PageInfo<rentwithdrawn> pageInfo = new PageInfo<rentwithdrawn>(list, 3);

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

    /**
     * 申请状态记录分页查询
     */
    @RequestMapping("/applicationAtatusList")
    @ResponseBody
    public Msg applicationAtatusList(@RequestParam(value = "pn") Integer pn, boolean flag, HttpSession session) {
        List<checkoutapplication> 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<checkoutapplication> pageInfo = new PageInfo<checkoutapplication>(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<rentcollection> list = rentcollectionService.queryPaidStateAll(state, user.getUsername());
        // 使用PageInFo封装查询结果
        PageInfo<rentcollection> pageInfo = new PageInfo<rentcollection>(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<rentcollection> 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<userlist> leaseuser = userlistService.selectUserNameWith(user.getUsername());
            PageInfo<userlist> pageInfo = new PageInfo<userlist>(leaseuser, 3);
            return Msg.success().add("pageInfo", pageInfo);
        }

        List<fault> list = faultService.queryAllState(str, user.getUsername());
        PageInfo<fault> pageInfo = new PageInfo<fault>(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;
    }
}

后台管理员控制层:

@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<rentwithdrawn> list = rentwithdrawnService.selectRwState("已退租");
        // 使用PageInFo封装查询结果
        PageInfo<rentwithdrawn> pageInfo = new PageInfo<rentwithdrawn>(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<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 {
        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<checkoutapplication> list = checkoutapplicationService.selectCoaState1();
        // 使用PageInFo封装查询结果
        PageInfo<checkoutapplication> pageInfo = new PageInfo<checkoutapplication>(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> userlist = userlistService.selectAll();
        PageInfo<userlist> p = new PageInfo<userlist>(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<leaseinformation> 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> leaseinformation = leaseinformationService.queryAll();
        PageInfo<leaseinformation> p = new PageInfo<leaseinformation>(leaseinformation, 3);

        model.addAttribute("p", p);
        return "housinglist";
    }

    /**
     * 获取修改房源信息
     */
    @RequestMapping("/getupdatehouse")
    public String getupdatehouse(int houseid, HttpServletRequest request) {
        List<leaseinformation> 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> leaseinformation = leaseinformationService.selectAllLeasable();
        PageInfo<leaseinformation> p = new PageInfo<leaseinformation>(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<mydailylife> mydailylifes = mydailylifeService.selectAll();
        PageInfo<mydailylife> page = new PageInfo<mydailylife>(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<fault> faultlist = faultService.AdminSelectStateAll(state);
        PageInfo<fault> page = new PageInfo<fault>(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<fault> faultdone = faultService.AdminSelectStateAll(state);
        PageInfo<fault> page = new PageInfo<fault>(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<fault> 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<fault> page = new PageInfo<fault>(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<userlist> userlists = userlistService.rentSelectAll();
        PageInfo<userlist> page = new PageInfo<userlist>(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<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("/adminselectPaidAll")
    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) {
                String Rcpaiddate = sdf.format(temp.getRcpaiddate());
                temp.setRcpaiddatetemp(Rcpaiddate);
            }
            
        }
        PageInfo<rentcollection> page = new PageInfo<rentcollection>(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;
    }
}

源码获取:俺的博客首页 "资源" 里下载!

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
网选课系统是一个非常实用的系统,可以方便学生进行选课操作,也可以方便教师进行课程管理。下面是一个基于JavaWeb的网上选课系统的设计思路: 1. 系统架构 该系统采用 B/S 架构,即浏览器/服务器架构。前端使用 HTML、CSS、JavaScript 和 JQuery,后端使用 Java+SSM 框架和 MySQL 数据库。 2. 系统功能 (1)学生模块:学生可以登录系统后进行选课操作,查看已选课程,并对已选课程进行退选操作。 (2)教师模块:教师可以登录系统后进行课程管理操作,包括添加课程、修改课程、删除课程等操作。 (3)管理员模块:管理员可以登录系统后对学生和教师进行管理,包括添加学生、添加教师、修改学生信息、修改教师信息等操作。 (4)公告管理管理员可以发布公告,学生和教师可以浏览公告。 (5)选课规则管理管理员可以设置选课规则,例如每个学生最多选择多少门课程,每门课程最多选多少人等。 3. 数据库设计 该系统需要设计以下数据库表: (1)学生表:包括学生编号、学生姓名、学生性别、学生年龄、所在班级等字段。 (2)教师表:包括教师编号、教师姓名、教师性别、所教课程、教龄等字段。 (3)课程表:包括课程编号、课程名称、授课教师、上课时间、选课人数等字段。 (4)选课记录表:包括学生编号、课程编号等字段。 (5)公告表:包括公告编号、公告内容、发布时间等字段。 4. 技术实现 该系统采用 Java+SSM 框架进行实现,其中: (1)后端技术:采用 SpringMVC 框架进行控制器的开发,采用 MyBatis 框架进行数据库操作。 (2)前端技术:采用 HTML、CSS、JavaScript 和 JQuery 进行页面布局和交互效果的实现。 (3)数据库技术:采用 MySQL 数据库进行数据存储和管理。 5. 总结 网上选课系统是一个非常实用的系统,它可以方便学生进行选课操作,也可以方便教师进行课程管理。该系统采用 B/S 架构,采用 Java+SSM 框架进行开发,实现了学生模块、教师模块、管理员模块、公告管理和选课规则管理等功能。在实现时需要注意数据库表的设计和技术实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OldWinePot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值