基于javaweb+mysql的springboot小区物业管理系统(java+springboot+ssm+mysql+maven+jsp)

基于javaweb+mysql的springboot小区物业管理系统(java+springboot+ssm+mysql+maven+jsp)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SpringBoot小区物业管理系统(java+springboot+ssm+mysql+maven+jsp)

一、项目简述(+PPT演示文档)

本系统功能包括: 实现了资源管理、收费管理、支出管理、三表管理、投诉 建议、装修管理、车位管理、招商管理、物料管理、设备 管理、人事考勤、安保消防、报事报修、绿化管理、保洁 管理、权限管理等一些功能,还有一些细节功能没有实现需 要大家一起完善,提供给大家学习参考使用。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + Mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP +SpringBoot + MyBatis + Json+ Css + JavaScript + JQuery + Ajax + PageHelper+ Maven等等。

 */
@Controller
public class BillController {

	@Autowired
	private BillService billService;
	@Autowired
	private BillitemsService bitemService;
	@Autowired
	private OwnerService oService;

	private SimpleDateFormat cx = new SimpleDateFormat("yyyy-MM-dd");

	/**
	 * @category 跳转至业主未缴费展示页面
	 * @param model
	 * @return
	 */
	@RequestMapping("/unpay")
	public String unpay(Model model) {
		// SimpleDateFormat cx = new SimpleDateFormat("yyyy-MM-dd");
		String stop = cx.format(new Date());
		List<Owner> list = billService.findByOwner();
		model.addAttribute("list", list);
		model.addAttribute("start", start);
		model.addAttribute("stop", stop);
		model.addAttribute("inputname", "请输入姓名");
		return "unpay";

	}

	/**
	 * @category 通过给定时间范围展示和业主模糊姓名联合查询缴费信息
	 * @param model
	 * @param request
	 * @return
	 * @throws ParseException
	 */
	@RequestMapping("/unpaytime")
	public String unpayByTime(Model model, HttpServletRequest request, HttpSession session) throws ParseException {
		// 获取分页参数设置每页展示的个数
		int pageSize = (int) session.getAttribute("pageSize");
		// 获取分页参数设置传进来的页码是多少
		int pageNum = (int) session.getAttribute("pageNum");
		// 将字符串转换为日期对象
		Date start = cx.parse(request.getParameter("start"));
		Date stop = cx.parse(request.getParameter("stop"));
		// System.out.println(request.getParameter("start"));
		String name = request.getParameter("username");
		String a= "我的通知"+list.size();
		String b="未读"+list.size();
		List<String> list2=new ArrayList<>();
		list2.add(a);
		list2.add(b);
		return list2;
	}
	
	/**
	 * @category 通知一键已读控制器
	 * @param request
	 * @param model
	 * @return
	 */
	@RequestMapping("/allread.action")
	public String allread(HttpServletRequest request,Model model) {
		HttpSession session = request.getSession();
		Owner owner=(Owner)session.getAttribute("currentOwnerr");
		messService.updateByOid(owner.getOid());
		model.addAttribute("nomess", "暂无通知");
		model.addAttribute("readlist", null);
		return "messinfo";
	}

	/**
	 * @category 给业主发送催款通知
	 * @param oid
	 * @return
	 */
	@RequestMapping("/cuikuan.action")
	public @ResponseBody int cuikuan(int oid) {
		
		Message mess=new Message();
		mess.setMessinfo("请您及时缴纳相关费用,详情请到我的账单查看");
		mess.setOid(oid);
		mess.setStatus("未阅读");
		Date date=new Date();
		String time=cx.format(date);
		mess.setMesstime(time);
		messService.insert(mess);
		return oid;
		
	}
	
	@RequestMapping("/sendmess")
	public @ResponseBody List<String> sendmess(HttpServletRequest request,String message,Integer oid){
		//System.out.println(oid);
		//System.out.println(message);
		String oname=ownerService.findById(oid).getOname();
		Date date=new Date();
	@RequestMapping("/findCleanBymdate")
	public String findCleanBymdate(Model model,String cltime) {
		List<Clean>list2 = cleanService.findCleanBymdate(cltime);
		model.addAttribute("clist", list2);
		return "showclean";
	}
	/**
	 * 删除一个住户
	 */
	@RequestMapping("/deleteclen")
	public String deleteone(int clid) {
		cleanService.deleteByPrimaryKey(clid);
		return "redirect:cleanact1.action";
	}

	/**
	 * 根据id  完成时间   提交时间 模糊查询
	 * @param model
	 * @param md
	 * @return
	 */
	@RequestMapping("/findclean1")
	public String findclean(Model model,String cleanname) {
		System.out.println("+++++++++++++");
		System.out.println(cleanname);
		List<Clean>list3 = cleanService.findMainClean(cleanname);
		model.addAttribute("clist", list3);
		
		return "showclean";
	}
}

			}

			/**
			 * 根据id  完成时间   提交时间 模糊查询
			 * @param model
			 * @param md
			 * @return
			 */
			@RequestMapping("/findMain2")
			public String findMain(Model model,String mds) {
				System.out.println("+++++++++++++");
				System.out.println(mds);
				List<Owner>list3 = ownerService.findMain(mds);
				model.addAttribute("list", list3);
				
				return "list2";
			}
}

	 */

	@RequestMapping("/signin")
	public String signin() {
		return "regist";
	}
	/**
	 */
	@RequestMapping("/ownermain")
	public String ownermain() {
		return "ownermain";
	}
	@RequestMapping("/savepingfen")
	public boolean savepingfen(String ff) {
		boolean f =  sessionContentService.gorgeous(ff);
		return f;
	}
	/**
	 * 添加住户信息
	 */

	@RequestMapping("/ownerbuycar")
	public String ownerbuycar(Model model) {
		Carport carport = new Carport();
		List<Carport> list = carportService.findCarByState("未使用");
		for (Carport carport2 : list) {
			carport.setDuration(carport2.getDuration());
		}
		int count = list.size();
		List<Carport> list1 = new ArrayList<Carport>();
		list1 = carportService.findCarByArea("A");
		model.addAttribute("A", list1);
		list1 = carportService.findCarByArea("B");
		model.addAttribute("B", list1);
		list1 = carportService.findCarByArea("C");
		model.addAttribute("C", list1);
		list1 = carportService.findCarByArea("D");
		model.addAttribute("D", list1);
		model.addAttribute("count", count);
	 * @param model
	 * @param request
	 * @return
	 * @throws ParseException
	 */
	@RequestMapping("/unpaytime")
	public String unpayByTime(Model model, HttpServletRequest request, HttpSession session) throws ParseException {
		// 获取分页参数设置每页展示的个数
		int pageSize = (int) session.getAttribute("pageSize");
		// 获取分页参数设置传进来的页码是多少
		int pageNum = (int) session.getAttribute("pageNum");
		// 将字符串转换为日期对象
		Date start = cx.parse(request.getParameter("start"));
		Date stop = cx.parse(request.getParameter("stop"));
		// System.out.println(request.getParameter("start"));
		String name = request.getParameter("username");
		// System.out.println(name);
		// 账单的时间用于和stop和start比较
		Date billdate;
		// 开始时间戳
		long startTime = start.getTime();
		// 结束时间戳
		long stopTime = stop.getTime();
		long billtime;
		// 用该list给owner对象的billlist设值
		List<Bill> billlist = new ArrayList<>();
		// 查找所有
		List<Owner> list1 = billService.findByOwner();
		List<Owner> list = new ArrayList<>();
		// 生成要返回的list
		for (int i = 0; i < list1.size(); i++) {
			double total = 0;
			// 循环遍历得到的所有owner对象
			for (int j = 0; j < list1.get(i).getBill().size(); j++) {
				//获得owner单个订单的时间戳
				billdate = cx.parse(list1.get(i).getBill().get(j).getBilltime());
				billtime = billdate.getTime();
				//判断订单的时间戳是否在指定的范围内,并且该owner的姓名要包含指定的字符串
				try {
					if (billtime >= startTime && billtime <= stopTime && list1.get(i).getOname().contains(name)) {
						// 如果满足上述条件,则将该条订单信息添加到billlist中
						billlist.add(list1.get(i).getBill().get(j));
						// 计算总价
						total += list1.get(i).getBill().get(j).getBillitem().getBillitemmoney();
					}
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			// 如果该业主有未缴纳的账单,给该业主对象设置未缴纳账单,并将该对象放入要传给前端的list中
			if (billlist.size() > 0) {
	}

	/**
	 * @category ajax搜索
	 * @param name
	 * @return
	 */
	@RequestMapping("/showname")
	public @ResponseBody List<Owner> showname(String name) {
		System.out.println("进来了");
		List<Owner> list1 = oService.selectByExample();
		List<Owner> list = new ArrayList<>();
		for (int i = 0; i < list1.size(); i++) {
			if (list1.get(i).getOname().contains(name)) {

				list.add(list1.get(i));
			}
		}
		return list;
	}

	@SuppressWarnings("unchecked")
	@RequestMapping("/unpayfy")
	public String unpayfy(Model model, HttpSession session, int pageSize, int pageNum, String type,
			HttpServletRequest request) {
		System.out.println(pageNum);
		String stop;
		String start;
		// SimpleDateFormat cx = new SimpleDateFormat("yyyy-MM-dd");
		if (session.getAttribute("stop") != null) {
			stop = (String) session.getAttribute("stop");
		} else {
			stop = cx.format(new Date());
		}
		if (session.getAttribute("start") != null) {
			start = (String) session.getAttribute("start");
		} else {
		}

		List<Owner> list1 = new ArrayList<>();
		if (session.getAttribute("findList") != null) {

			list1 = (List<Owner>) session.getAttribute("findList");
		} else {
			list1 = billService.findByOwner();
		}
		System.out.println(pageSize);
		System.out.println(str);
		if (str.equals("z")) {
			++pageNum;
		} else if (str.equals("j")) {
			--pageNum;
		}
		session.setAttribute("pageSize", pageSize);
		PageRequest pageQuery = new PageRequest();
		pageQuery.setPageNum(pageNum);
		pageQuery.setPageSize(pageSize);
		PageResult pageResult = clerkService.findPage(pageQuery);
		model.addAttribute("pageResult", pageResult);
		return "clerklist";

	}

	// 分页模糊查询
	@RequestMapping("/clerkselectlike")
	public String ClerkSelectLike(String like, int pageSize, int pageNum, Model model, String str,
			HttpSession session) {
		System.out.println("进来了");
		System.out.println(pageSize);
		System.out.println(str);
		System.out.println(like);
		if (str.equals("z")) {
			++pageNum;
		} else if (str.equals("j")) {
			--pageNum;
		}
		session.setAttribute("like",like);
		session.setAttribute("pageSize", pageSize);
		PageRequest pageQuery = new PageRequest();
		pageQuery.setPageNum(pageNum);
		pageQuery.setPageSize(pageSize);
		PageResult pageResult = clerkService.findPageByLike(like, pageQuery);
		model.addAttribute("pageResult", pageResult);
		return "clerklist2";
	}

	@RequestMapping("/clerkselectlike1")
	public String clerkselectlike1( String like,int pageSize, Model model, HttpSession session) {
		System.out.println("进来了");
		System.out.println(pageSize);
		PageRequest pageQuery = new PageRequest();
		pageQuery.setPageNum(1);
		pageQuery.setPageSize(pageSize);
			// 使用重定向,返回登录界面
			return "redirect:afforestact1.action";
		} else {
			return "css";
		}
	}
	/**
	 * 删除一个住户
	 */
	@RequestMapping("/deleteaff")
	public String deleteone(int afid) {
		afforestService.deleteByPrimaryKey(afid);
		return "redirect:afforestact1.action";
	}
	/**
	 * 根据id  完成时间   提交时间 模糊查询
	 * @param model
	 * @param md
	 * @return
	 */
	@RequestMapping("/findaffor")
	public String findclean(Model model,String affname) {
		System.out.println("+++++++++++++");
		System.out.println(affname);
		List<Afforest>list3 = afforestService.findMainAfforest(affname);
		model.addAttribute("aflist", list3);
		
		return "showafforest";
	}
}

/**
	@RequestMapping("/jingbiao")
	public String jingbiao(Model model) {
		List<Bidding> list = biddingService.findAll();
		model.addAttribute("biddinglist", list);
		return "jingbiao";
	}

	@RequestMapping("/deletemyjingbiao")
	public String deletemyjingbiao(int tid) {
		System.out.println("deletemyjingbiao:" + tid);
		tenderService.deleteTenderOne(tid);
		return "redirect:jingbiao.action";
	}

	/**
	 * 通过audit字段查找list
	 */
	@RequestMapping("/auditingbyaudit")
	public String auditingbyaudit(Model model, String audit) {
		List<Tender> list = tenderService.findByAudit(audit);
		model.addAttribute("adornShowList", list);
		return "audit";
	}

	@RequestMapping("/auditingbyliftstate")
	public String auditingbyliftstate(Model model, int liftstate) {
		List<Tender> list = tenderService.findByLiftstate(liftstate);
		model.addAttribute("adornShowList", list);
		return "audit";
	}

	/**
	 * 拒绝竞标控制
	 */
	@RequestMapping("/refuse")
	public String refuse(int tid, String remaker) {
		System.out.println("refuse:" + remaker);
		tenderService.refuse(tid, remaker);
		return "redirect:biddinging.action";
	}
	/**
	 * 竞标通过
			 * 
			 * response.getWriter().write(url); // 直接将完整的表单html输出到页面
			 * response.getWriter().flush(); response.getWriter().close();
			 */

		} catch (AlipayApiException e) {
			e.printStackTrace();
		}
	
		 response.setContentType("text/html;charset=" + AlipayConfig.charset);
		 response.getWriter().write(url);// 直接将完整的表单html输出到页面
		 response.getWriter().flush();
		 response.getWriter().close();
	}

	/**
	 * 同步跳转
	 *
	 * @param request
	 * @throws Exception
	 */
	
	@RequestMapping("/returnUrl")
	public String returnUrl(HttpServletRequest request) throws Exception {
		System.out.println("----------------------------------");
		ModelAndView mav = new ModelAndView();

		// 获取支付宝GET过来反馈信息(官方固定代码)
		Map<String, String> params = new HashMap<String, String>();
		Map<String, String[]> requestParams = request.getParameterMap();
		for (Iterator<String> iter = requestParams.keySet().iterator(); iter.hasNext();) {
			String name = (String) iter.next();
			String[] values = (String[]) requestParams.get(name);
			String valueStr = "";
			for (int i = 0; i < values.length; i++) {
				valueStr = (i == values.length - 1) ? valueStr + values[i] : valueStr + values[i] + ",";
			}
			params.put(name, valueStr);
		}
		boolean signVerified = AlipaySignature.rsaCheckV1(params, AlipayConfig.alipay_public_key, AlipayConfig.charset,
				AlipayConfig.sign_type); // 调用SDK验证签名

		// 返回界面
		if (signVerified) {
			System.out.println("前往支付成功页面");
			mav.setViewName("gohome");
			return "error";
		}
		
	}

	/**
	 * 支付宝服务器异步通知
	 *
	 * @param request
	 * @throws Exception
	 */
	@ResponseBody
	@RequestMapping("/notifyUrl")
	public void notifyUrl(HttpServletRequest request) throws Exception {
		// 获取支付宝GET过来反馈信息
		Map<String, String> params = new HashMap<String, String>();
		Map<String, String[]> requestParams = request.getParameterMap();
		for (Iterator<String> iter = requestParams.keySet().iterator(); iter.hasNext();) {
			String name = (String) iter.next();
			String[] values = (String[]) requestParams.get(name);
			String valueStr = "";
			for (int i = 0; i < values.length; i++) {
				valueStr = (i == values.length - 1) ? valueStr + values[i] : valueStr + values[i] + ",";
			}
			params.put(name, valueStr);
		}

		boolean signVerified = AlipaySignature.rsaCheckV1(params, AlipayConfig.alipay_public_key, AlipayConfig.charset,
				AlipayConfig.sign_type); // 调用SDK验证签名
		System.out.println(signVerified);
		if (signVerified) { // 验证成功 更新订单信息
			System.out.println("异步通知成功");
			// 商户订单号
			String out_trade_no = request.getParameter("out_trade_no");
			// 交易状态
			String trade_status = request.getParameter("trade_status");
			System.out.println(trade_status);
			// 修改订单的支付状态为已付款
			
			billService.updateBillStatus(out_trade_no);	
		} else {
			System.out.println("异步通知失败");
		}

	}

}

		boolean flag = facilityService.delete(facilityids);
		return "redirect:facilityselectall.action";
	}

	// 进入更新职员页面
	@RequestMapping("/facilityupdate")
	public String FacilityUpdate(int facilityid, Model model) {
		System.out.println(facilityid + "我进来了!!!!!!");
		Facility facility = facilityService.find(facilityid);
		model.addAttribute("facility", facility);
		return "updatefacility";
	}

	// 更新页面提交数据返回查找控制器
	@RequestMapping("/facilityupdatesave")
	public String ClerkUpdate(Facility facility) {
		boolean flag = facilityService.update(facility);
		return "redirect:facilityselectall.action";
	}
}

@Controller
public class ComplainController {
	@Autowired
	ComplainService complainService;
	ComplainExample complainExample = new ComplainExample() ;
	@RequestMapping("/main")
	public String test() {
		return "main";
	}
	
	/**
	 * 全部投诉信息
	 */
	@RequestMapping("/complain")
	public String complain(Model model) {
		List<Complain> list =complainService.findAll();
		model.addAttribute("complainlist", list);
		HousenumberExample example=new HousenumberExample();
		List<Housenumber> list=hService.selectByExample(example);
		List<Housenumber> list1=new ArrayList<Housenumber>();
		if(type.equals("a")) {
			model.addAttribute("list", list);
			model.addAttribute("can", "a");
			return  "house";
		}
		else if(type.equals("x")) {
			for (int i = 0; i < list.size(); i++) {
				if(list.get(i).getStatus().equals("闲置")) {
					list1.add(list.get(i));
				}
			}
			model.addAttribute("can", "x");
			model.addAttribute("list", list1);
			return  "house";
		}
		else if(type.equals("y")) {
			for (int i = 0; i < list.size(); i++) {
				if(list.get(i).getStatus().equals("已出售")) {
					list1.add(list.get(i));
				}
			}
			model.addAttribute("can", "y");
			model.addAttribute("list", list1);
			return  "house";
		}	
		return "mian";
	}
	
	/**
	 * @category 跳转到更新房屋信息页面
	 * @param model
	 * @param homeid
	 * @return
	 */
	@RequestMapping("/updatehouse")
	public String updatehouse(Model model,@RequestParam ("homeid") int homeid) {
		Housenumber house=hService.selectByPrimaryKey(homeid);
		model.addAttribute("house", house);
		return "updatehouse";
	@RequestMapping("/savejingbianman")
	public String savejingbianman(int bid, Tender tender, Model model, HttpSession session) {
		biddingService.updateOne(bid);
		try {
			Thread.sleep(1000);
			tenderService.addOne(tender);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		session.setAttribute("userTel", tender.getTel());
		return "redirect:jingbiao.action";
	}

	@RequestMapping("/jingbiao")
	public String jingbiao(Model model) {
		List<Bidding> list = biddingService.findAll();
		model.addAttribute("biddinglist", list);
		return "jingbiao";
	}

	@RequestMapping("/deletemyjingbiao")
	public String deletemyjingbiao(int tid) {
		System.out.println("deletemyjingbiao:" + tid);
		tenderService.deleteTenderOne(tid);
		return "redirect:jingbiao.action";
	}

	/**
	 * 通过audit字段查找list
	 */
	@RequestMapping("/auditingbyaudit")
	public String auditingbyaudit(Model model, String audit) {
		List<Tender> list = tenderService.findByAudit(audit);
		model.addAttribute("adornShowList", list);
		return "audit";
	}

	@RequestMapping("/auditingbyliftstate")
	public String auditingbyliftstate(Model model, int liftstate) {
		List<Tender> list = tenderService.findByLiftstate(liftstate);
		model.addAttribute("adornShowList", list);
		return "audit";
	}

@Controller
public class OwnerController {

	@Autowired
	OwnerService ownerService;
	@Autowired
	private MessageService messService;
	@Autowired
	CarportService carportService;
	@Autowired
	SessionContentService sessionContentService;
	private BillService billService;

	// 登录控制器
	@RequestMapping("/login")
	public String login() {
		return "login";
	}

	// 登录判断控制器
	@RequestMapping("/loginjudge")
	public String loginjudge(@RequestParam("otel") String otel, @RequestParam("opass") String opass, Model model,
			HttpServletRequest request, String captcha) {
		String session1 = request.getSession().getAttribute("simpleCaptcha").toString();
		if (captcha.equals(session1)) {
			Owner owner = ownerService.findOwnerTel(otel, opass);

@Controller
public class ComplainController {
	@Autowired
	ComplainService complainService;
	ComplainExample complainExample = new ComplainExample() ;
	@RequestMapping("/main")
	public String test() {
		return "main";
	}
	
	/**
	 * 全部投诉信息
	 */
	@RequestMapping("/complain")
	public String complain(Model model) {
		List<Complain> list =complainService.findAll();
		model.addAttribute("complainlist", list);
		return "complain";
	}
	/**
	 * 业主跳转添加投诉页面
	 */
	@RequestMapping("/addcomplaint")
	public String addcomplaint() {
		return "addonecomplain";
	}
	/**
	 * 添加投诉到数据库
	 */
	@RequestMapping("/savecomplain")
	public String savecomplain(Complain complain) {
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
		Date date = new Date();
		String d = format.format(date);
		complain.setStatedate(d);
		complainService.addOne(complain);
		return "addonecomplain";
	}
	/**
	 * 分类投诉信息
	 */
	@RequestMapping("/complainstate")
	public String complainstate(Model model,String state) {
	@RequestMapping("/findpage2")
	public String findPage2(Model model, HttpSession session) {
		System.out.println("进来了");
		int pageSize = (int) session.getAttribute("pageSize");
		System.out.println(pageSize);
		PageRequest pageQuery = new PageRequest();
		pageQuery.setPageNum(1);
		pageQuery.setPageSize(pageSize);
		session.setAttribute("pageSize", pageSize);
		PageResult pageResult = clerkService.findPage(pageQuery);
		model.addAttribute("pageResult", pageResult);
		return "clerklist";

	}
}

/**
 * @category 商铺控制器
 *
 */
@Controller
public class BiddingController {
	@Autowired
	BiddingService biddingService;
	@Autowired
	TenderService tenderService;

	@RequestMapping("/savestorebid")
	public String addOne(Model model, Bidding bidding, double price) {
		double price1 = bidding.getArea() * price;
		Timestamp d = new Timestamp(System.currentTimeMillis());

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值