基于javaweb和mysql的jsp+servlet家政服务管理系统(java+jsp+struts+javascript+mysql)

私信源码获取及调试交流

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb的JSP+Servlet家政服务管理系统(java+jsp+struts+javascript+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.数据库:MySql 5.7版本;

技术栈

HTML+CSS+JavaScript+jsp+mysql

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/login.jsp 登录
		}
		JSONArray gqInfo = JSONArray.fromObject(list);
		out.print(gqInfo);
		out.flush();
		out.close();
		db.close();
		return "gqInfo";
	}
	/*
	 * 功能:显示供求信息详细内容
	 */
	public String showGQDetail() throws IOException {
		type = request.getParameter("type");
		infoID = request.getParameter("infoID");
		response.setContentType("application/json;charset=utf-8");
		response.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		List<GQInfoForm> list = new LinkedList<GQInfoForm>();
		String sql_queryInfo = "select worktime, accomm, workType, headline, content, posttime, pay, phone, type from tb_info where user_id ="+infoID+" and type ="+type;
		try {
			ResultSet rs_queryInfo = db.executeQuery(sql_queryInfo);
			logger.info("查询供求详细,执行SQL:"+sql_queryInfo);
			if(rs_queryInfo.next()) {
				GQInfoForm gqInfo = new GQInfoForm();
				gqInfo.setWorkTime(rs_queryInfo.getInt("worktime"));
				gqInfo.setWorkType(rs_queryInfo.getInt("workType"));
				gqInfo.setIsAccomm(rs_queryInfo.getInt("accomm"));
				gqInfo.setHeadLine(rs_queryInfo.getString("headline"));
				gqInfo.setContent(rs_queryInfo.getString("content"));
				gqInfo.setPostTime(rs_queryInfo.getString("posttime"));
				gqInfo.setPay(rs_queryInfo.getString("pay"));
				gqInfo.setPhone(rs_queryInfo.getString("phone"));
				gqInfo.setType(rs_queryInfo.getString("type"));
				list.add(gqInfo);
			}
		} catch (SQLException e) {
			e.printStackTrace();
			logger.info(e.getMessage());
		}
		JSONArray gqDetail = JSONArray.fromObject(list);
		g.fillRect(0, 0, width, height);
		
		//设置边框颜色
		g.setColor(Color.LIGHT_GRAY);
		//边框字体样式
		g.setFont(new Font("Arial",Font.BOLD,height-2));
		//绘制边框
		g.drawRect(0, 0, width - 1, height - 1);
		
		//绘制噪点
		Random rand = new Random();
		
		//设置噪点颜色
		g.setColor(Color.LIGHT_GRAY);
		for(int i = 0;i < codeLength * 6;i++) {
			int x = rand.nextInt(width);
			int y = rand.nextInt(height);
			//绘制1*1大小的矩形
			g.drawRect(x, y, 1, 1);
		}
		
		//绘制验证码
		int codeY = height - 10;
		//设置字体颜色和样式
		g.setColor(new Color(19,148,246));
		g.setFont(new Font("Georgia", Font.BOLD, fSize));
		for(int i = 0;i < codeLength;i++) {
			g.drawString(String.valueOf(securityCode.charAt(i)),i * 16 + 5, codeY);
		}
		//关闭资源
		g.dispose();
		
		return image;
	}
	
	/**
	 * 返回验证码图片的流格式
	 * @paramsecurityCode 验证码
	 * @return ByteArrayInputStream 图片流
	 */
	public static ByteArrayInputStream getImageAsInputStream(String securityCode) {
		BufferedImage image = createImage(securityCode);
		return convertImageToStream(image);
	}
	
	/**
	 * 将BufferedImage转换成ByteArrayInputStream
	 * @param image 图片
	 * @return ByteArrayInputStream 流
	 */
	
	public static ByteArrayInputStream convertImageToStream(BufferedImage image){
				bmDetail.setAddress(rs_employee.getString("address"));
				bmDetail.setPhone(rs_employee.getString("phone"));
				bmDetail.setProfile(rs_employee.getString("profile"));
				bmDetail.setUptime(rs_employee.getString("uptime"));
				
			}
			while(rs_cert.next()) {
				String [] cert = {
						String.valueOf(rs_cert.getInt("cert_jiankang")),
						String.valueOf(rs_cert.getInt("cert_yuesao")),
						String.valueOf(rs_cert.getInt("cert_hushi")),
						String.valueOf(rs_cert.getInt("cert_yingyangshi")),
						String.valueOf(rs_cert.getInt("cert_zaojiao")),
						String.valueOf(rs_cert.getInt("cert_jiashi")),
						String.valueOf(rs_cert.getInt("cert_chushi"))
						};
				bmDetail.setCert(cert);
			}
			while(rs_skill.next()) {
				String [] skill = {
						String.valueOf(rs_skill.getInt("skill_computer")),
						String.valueOf(rs_skill.getInt("skill_ironing")),
						String.valueOf(rs_skill.getInt("skill_handwork")),
						String.valueOf(rs_skill.getInt("skill_waiyu")),
						String.valueOf(rs_skill.getInt("skill_driving")),
						String.valueOf(rs_skill.getInt("skill_nutriology"))
				};
				bmDetail.setSkills(skill);
			}
			while(rs_lang.next()) {
				String [] lang = {
						String.valueOf(rs_lang.getInt("lang_local")),
						String.valueOf(rs_lang.getInt("lang_normal")),
						String.valueOf(rs_lang.getInt("lang_sichuan")),
						String.valueOf(rs_lang.getInt("lang_dongbei")),
						String.valueOf(rs_lang.getInt("lang_guangdong")),
						String.valueOf(rs_lang.getInt("lang_kejia")),
						String.valueOf(rs_lang.getInt("lang_minnan"))
				};
				bmDetail.setLang(lang);
			}
			while(rs_flavor.next()) {
				String [] flavor = {
						String.valueOf(rs_flavor.getInt("flavor_local")),
						String.valueOf(rs_flavor.getInt("flavor_xican")),
						String.valueOf(rs_flavor.getInt("flavor_chuancai")),
						String.valueOf(rs_flavor.getInt("flavor_yuecai")),
						String.valueOf(rs_flavor.getInt("flavor_lucai")),
						String.valueOf(rs_flavor.getInt("flavor_sucai")),
						String.valueOf(rs_flavor.getInt("flavor_zhecai")),
						String.valueOf(rs_flavor.getInt("flavor_xiangcai")),
						String.valueOf(rs_flavor.getInt("flavor_mincai")),
		//雇主消息提醒
		if(type!=null&&type.equals("employer")){
			BookBm bookBm = new BookBm();
			int gzID = bookBm.queryID(user, "tb_employer");
			try {
				String sql_contract = "select gzSigDate, endDate from tb_contract where isOutdated = '0' and gzID="+gzID;
				ResultSet rs_contract = mydb.executeQuery(sql_contract);
				if(rs_contract.next()) {
					String gzSigDate = rs_contract.getString("gzSigDate");
					if(gzSigDate==null||gzSigDate.equals("")) {
						MessageForm message = new MessageForm();
						message.setMessageForm("您已成功完成预约流程,请尽快到【服务协议】中确认信息并签署服务协议!");
						list.add(message);
					}
					String endDate = rs_contract.getString("endDate");
					Date sDate = dt.parse(dt.format(new Date()));
					Date eDate = dt.parse(endDate);
					int interval = calDate.calInterval(sDate,eDate,"D");
					MessageForm message = new MessageForm();
					message.setMessageForm("您的合同还有"+interval+"天到期,请您注意!");
					list.add(message);
					//更新过期信息标识
//					if(interval<=0) {
//						String sqlBook = "update tb_book set isOutdated = '1' where gzID ="+gzID;
//						mydb.executeUpdate(sqlBook);
//						logger.info("预约表过期,执行SQL:"+sqlBook);
//						String sqlContract = "update tb_contract set isOutdated = '1' where gzID ="+gzID;
//						mydb.executeUpdate(sqlContract);
//						logger.info("合同表过期,执行SQL:"+sqlContract);
//						String sqlAssess = "update tb_assess set isOutdated = '1' where gzID ="+gzID;
//						mydb.executeUpdate(sqlAssess);
//						logger.info("评价表过期,执行SQL:"+sqlAssess);
//					}
				}
				String sql_assess = "select svDate from tb_assess where isOutdated = '0' and gzID ="+gzID;
				ResultSet rs_assess = mydb.executeQuery(sql_assess);
				if(rs_assess.next()) {
					String svDate = rs_assess.getString("svDate");
					if(svDate==null||svDate.equals("")) {
						MessageForm message = new MessageForm();
	 * @param bmID the bmID to set
	 */
	public void setBmID(int bmID) {
		this.bmID = bmID;
	}
	/**
	 * @return the bmName
	 */
	public String getBmName() {
		return bmName;
	}
	/**
	 * @param bmName the bmName to set
	 */
	public void setBmName(String bmName) {
		this.bmName = bmName;
	}
	/**
	 * @return the gzID
	 */
	public int getGzID() {
		return gzID;
	}
	/**
	 * @param gzID the gzID to set
	 */
	public void setGzID(int gzID) {
		this.gzID = gzID;
	}
	/**
	 * @return the servType
	 */
	public String getServType() {
		return servType;
	}
	/**
	 * @param servType the servType to set
	 */
	public void setServType(String servType) {
		this.servType = servType;
	}
	/**
	 * @return the svAttitude
	 */
	public int getSvAttitude() {
		return svAttitude;
	}
				String [] cert = {
						String.valueOf(rs_cert.getInt("cert_jiankang")),
						String.valueOf(rs_cert.getInt("cert_yuesao")),
						String.valueOf(rs_cert.getInt("cert_hushi")),
						String.valueOf(rs_cert.getInt("cert_yingyangshi")),
						String.valueOf(rs_cert.getInt("cert_zaojiao")),
						String.valueOf(rs_cert.getInt("cert_jiashi")),
						String.valueOf(rs_cert.getInt("cert_chushi"))
						};
				bmDetail.setCert(cert);
			}
			while(rs_skill.next()) {
				String [] skill = {
						String.valueOf(rs_skill.getInt("skill_computer")),
						String.valueOf(rs_skill.getInt("skill_ironing")),
						String.valueOf(rs_skill.getInt("skill_handwork")),
						String.valueOf(rs_skill.getInt("skill_waiyu")),
						String.valueOf(rs_skill.getInt("skill_driving")),
						String.valueOf(rs_skill.getInt("skill_nutriology"))
				};
				bmDetail.setSkills(skill);
			}
			while(rs_lang.next()) {
				String [] lang = {
						String.valueOf(rs_lang.getInt("lang_local")),
						String.valueOf(rs_lang.getInt("lang_normal")),
						String.valueOf(rs_lang.getInt("lang_sichuan")),
						String.valueOf(rs_lang.getInt("lang_dongbei")),
						String.valueOf(rs_lang.getInt("lang_guangdong")),
						String.valueOf(rs_lang.getInt("lang_kejia")),
						String.valueOf(rs_lang.getInt("lang_minnan"))
				};
				bmDetail.setLang(lang);
			}
			while(rs_flavor.next()) {
				String [] flavor = {
						String.valueOf(rs_flavor.getInt("flavor_local")),
						String.valueOf(rs_flavor.getInt("flavor_xican")),
						String.valueOf(rs_flavor.getInt("flavor_chuancai")),
						String.valueOf(rs_flavor.getInt("flavor_yuecai")),
						String.valueOf(rs_flavor.getInt("flavor_lucai")),
						String.valueOf(rs_flavor.getInt("flavor_sucai")),
						String.valueOf(rs_flavor.getInt("flavor_zhecai")),
						String.valueOf(rs_flavor.getInt("flavor_xiangcai")),
						String.valueOf(rs_flavor.getInt("flavor_mincai")),
						String.valueOf(rs_flavor.getInt("flavor_huicai")),
				};
				bmDetail.setFlavor(flavor);
			}
			while(rs_supply.next()) {
				bmDetail.setWorktime(rs_supply.getInt("worktime"));
				bmDetail.setAccomm(rs_supply.getInt("accomm"));
				bmDetail.setWorktype(rs_supply.getInt("workType"));
	    ps4.executeUpdate();
	    ps4.close();
	    logger.info("执行SQL:"+sql_flavor);
	    //更新用户姓名
	    ps.setString(1, surname);
	    //更新用户籍贯
	    ps.setString(2, hometown);
	    //更新用户性别
	    ps.setInt(3, sex);
	    //更新用户出生年月
	    ps.setString(4, birthdate);
	    //更新用户联系方式
	    ps.setString(5, phone);
	    //更新用户婚姻状况
	    ps.setInt(6, marriage);
	    //更新用户学历
	    ps.setInt(7, education);
	    //更新用户居住地址
	    ps.setString(8, address);
	    //更新用户个人简介
	    ps.setString(9, profile);
	    //更新更新时间
	    ps.setString(10, uptime);
	    //更新用户头像
	    ps.setBinaryStream(11, fis,length);
		ps.setBinaryStream(11, fis, fis.available());
		//当前用户Id为查询对象
		ps.setInt(12, userId);
		ps.executeUpdate();
		ps.close();
		logger.info("执行SQL:"+sql_employee);
    	fis.close();
    	rs.close();
		conn.close();
    	addActionMessage("信息更新成功!");
    	logger.info("用户"+user+"更新信息成功!");
    	return SUCCESS;
		} catch (SQLException e) {
		    e.printStackTrace();
	    	addActionMessage("更新信息出现错误,请检查您当前网络连接!");
	    	logger.info(e.getMessage());
	    	return ERROR;
		}
					}
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				logger.info(e.getMessage());
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				logger.info(e.getMessage());
			}
		}
		//企业用户消息提醒
		if(type!=null&&type.equals("company")) {
			BookBm bookBm = new BookBm();
			int companyID = bookBm.queryID(user, "tb_company");
			try {
				String sqlCompany = "select companyUpTime from tb_company where id ="+companyID;
				ResultSet rsCompany = mydb.executeQuery(sqlCompany);
				if(rsCompany.next()) {
					String companyUpTime = rsCompany.getString("companyUpTime");
					if(companyUpTime==null||companyUpTime.equals("")) {
						MessageForm message = new MessageForm();
						message.setMessageForm("欢迎您注册使用本网站,现在您可以到【家政名片】中发布免费的企业名片了,它将会在我们的前台页面展示!");
						list.add(message);
					} 
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				logger.info(e.getMessage());
			}
		}
		JSONArray message = JSONArray.fromObject(list);
		out.print(message);
		out.flush();
		out.close();
		mydb.close();
		return "message";
	}

}


}
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="shortcut icon" type="images/x-icon" href="/jiazheng/images/favicon.ico" />
<link href="http://fonts.googleapis.com/css?family=Terminal+Dosis&subset=latin" rel="stylesheet" type="text/css" />
<style type="text/css">
body { margin: 0; padding: 0;}
.up { height: 120px; background-color: #2E8B57; padding: 0; margin: 0; border-bottom: solid black 4px;}
.up p { margin: 0; text-align: center; font-size: 80px;  color: white;font-family: "Terminal Dosis", sans-serif; text-shadow: 5px 5px 0 transparent, 2px 2px 0 #888eee; overflow: hidden;}
.middle { position: relative; border: 2px solid silver; height: 350px; width: 600px; margin: 0 auto; text-align: center;}
.middle tr th { text-align: center; font-size: 16px;}
.down {  position: fixed; left: 0; right: 0; bottom: 0;  margin: 0;  height: 120px; line-height: 40px; background-color: #2E8B57; border-top: solid black 4px;}
.down p { text-align: center;}
.clear { clear: both;}
</style>
<script type="text/javascript" >
//** 使.down 的div 元素始终居于页面最下方* *// 
  $(document).ready(function(){
	  var screenWidth = $(window).width();  //获取屏幕可视区域宽度
	  $(".down").width(screenWidth);  //将宽度赋值给down元素使其贯穿整个屏幕
	  var screenHeight = $(window).height(); //获取屏幕可视高度
	  var divHeight = $(".down").height() + 1; 
	  
	  $(window).scroll(function(){
		  var scrollHeight = $(document).scrollTop();  //获取滚动条滚动的高度
		  if(!window.XMLHttpRequest){
			  $(".down").css("top",screenHeight + scrollHeight - divHeight);
			  
		  }
	  })
	  //使表格居于浏览器中部位置
	  var middleHeight = $(".middle").height();
	  var upHeight = $(".up").height();
	  var downHeight = $(".down").height();
	  $(".middle").css("top",(screenHeight - upHeight - downHeight - middleHeight)/2);
  
	  
  });
</script>
<script>
//点击更新图片
$(function () {  
    //点击图片更换验证码
    $("#Verify").click(function(){
        $(this).attr("src","Security/ValidateImage?timestamp="+new Date().getTime());
    });
});
//表单验证
			int gzID = bookBm.queryID(user, "tb_employer");
			try {
				String sql_contract = "select gzSigDate, endDate from tb_contract where isOutdated = '0' and gzID="+gzID;
				ResultSet rs_contract = mydb.executeQuery(sql_contract);
				if(rs_contract.next()) {
					String gzSigDate = rs_contract.getString("gzSigDate");
					if(gzSigDate==null||gzSigDate.equals("")) {
						MessageForm message = new MessageForm();
						message.setMessageForm("您已成功完成预约流程,请尽快到【服务协议】中确认信息并签署服务协议!");
						list.add(message);
					}
					String endDate = rs_contract.getString("endDate");
					Date sDate = dt.parse(dt.format(new Date()));
					Date eDate = dt.parse(endDate);
					int interval = calDate.calInterval(sDate,eDate,"D");
					MessageForm message = new MessageForm();
					message.setMessageForm("您的合同还有"+interval+"天到期,请您注意!");
					list.add(message);
					//更新过期信息标识
//					if(interval<=0) {
//						String sqlBook = "update tb_book set isOutdated = '1' where gzID ="+gzID;
//						mydb.executeUpdate(sqlBook);
//						logger.info("预约表过期,执行SQL:"+sqlBook);
//						String sqlContract = "update tb_contract set isOutdated = '1' where gzID ="+gzID;
//						mydb.executeUpdate(sqlContract);
//						logger.info("合同表过期,执行SQL:"+sqlContract);
//						String sqlAssess = "update tb_assess set isOutdated = '1' where gzID ="+gzID;
//						mydb.executeUpdate(sqlAssess);
//						logger.info("评价表过期,执行SQL:"+sqlAssess);
//					}
				}
				String sql_assess = "select svDate from tb_assess where isOutdated = '0' and gzID ="+gzID;
				ResultSet rs_assess = mydb.executeQuery(sql_assess);
				if(rs_assess.next()) {
					String svDate = rs_assess.getString("svDate");
					if(svDate==null||svDate.equals("")) {
						MessageForm message = new MessageForm();
						message.setMessageForm("您有尚未完成的服务评价,请及时到【服务评价】中查看并完成!");
						list.add(message);
					}
				}
			} catch (SQLException e) {
		
		//设置边框颜色
		g.setColor(Color.LIGHT_GRAY);
		//边框字体样式
		g.setFont(new Font("Arial",Font.BOLD,height-2));
		//绘制边框
		g.drawRect(0, 0, width - 1, height - 1);
		
		//绘制噪点
		Random rand = new Random();
		
		//设置噪点颜色
		g.setColor(Color.LIGHT_GRAY);
		for(int i = 0;i < codeLength * 6;i++) {
			int x = rand.nextInt(width);
			int y = rand.nextInt(height);
			//绘制1*1大小的矩形
			g.drawRect(x, y, 1, 1);
		}
		
		//绘制验证码
		int codeY = height - 10;
		//设置字体颜色和样式
		g.setColor(new Color(19,148,246));
		g.setFont(new Font("Georgia", Font.BOLD, fSize));
		for(int i = 0;i < codeLength;i++) {
			g.drawString(String.valueOf(securityCode.charAt(i)),i * 16 + 5, codeY);
		}
		//关闭资源
		g.dispose();
		
		return image;
	}
	
	/**
	 * 返回验证码图片的流格式
	 * @paramsecurityCode 验证码
	 * @return ByteArrayInputStream 图片流
	 */
	public static ByteArrayInputStream getImageAsInputStream(String securityCode) {
		BufferedImage image = createImage(securityCode);
		g.setFont(new Font("Georgia", Font.BOLD, fSize));
		for(int i = 0;i < codeLength;i++) {
			g.drawString(String.valueOf(securityCode.charAt(i)),i * 16 + 5, codeY);
		}
		//关闭资源
		g.dispose();
		
		return image;
	}
	
	/**
	 * 返回验证码图片的流格式
	 * @paramsecurityCode 验证码
	 * @return ByteArrayInputStream 图片流
	 */
	public static ByteArrayInputStream getImageAsInputStream(String securityCode) {
		BufferedImage image = createImage(securityCode);
		return convertImageToStream(image);
	}
	
	/**
	 * 将BufferedImage转换成ByteArrayInputStream
	 * @param image 图片
	 * @return ByteArrayInputStream 流
	 */
	
	public static ByteArrayInputStream convertImageToStream(BufferedImage image){
	    ByteArrayOutputStream os = new ByteArrayOutputStream();
	    try {
	        ImageIO.write(image, "png", os);
	        ByteArrayInputStream input = new ByteArrayInputStream(os.toByteArray());
	        return input;
	    } catch (IOException e) {
	    }
	    return null;
	}

}
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="shortcut icon" type="images/x-icon" href="/jiazheng/images/favicon.ico" />
<link href="http://fonts.googleapis.com/css?family=Terminal+Dosis&subset=latin" rel="stylesheet" type="text/css" />
<style type="text/css">
body { margin: 0; padding: 0;}
.up { height: 120px; background-color: #2E8B57; padding: 0; margin: 0; border-bottom: solid black 4px;}
.up p { margin: 0; text-align: center; font-size: 80px;  color: white;font-family: "Terminal Dosis", sans-serif; text-shadow: 5px 5px 0 transparent, 2px 2px 0 #888eee; overflow: hidden;}
.middle { position: relative; border: 2px solid silver; height: 350px; width: 600px; margin: 0 auto; text-align: center;}
.middle tr th { text-align: center; font-size: 16px;}
.down {  position: fixed; left: 0; right: 0; bottom: 0;  margin: 0;  height: 120px; line-height: 40px; background-color: #2E8B57; border-top: solid black 4px;}
.down p { text-align: center;}
.clear { clear: both;}
			rs.close();
			mydb.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "gzBook";
	}
	/*
	 * 功能:家政阿姨选择已预约的雇主并生成服务协议
	 */
	public String bmOption() {
		//定义合同信息
		String bmName = null, gzName = null, servType = null, isAccomm = null, servDailyTime = null, beginDate = null, endDate = null, gzPay = null; 
		//查询当前用户Id
		String bmRegName = null;
		bmRegName = (String)session.get("username");
		BookBm bookBm = new BookBm();
	    int bmId = bookBm.queryID(bmRegName, "tb_employee");
		int selGzId = Integer.parseInt(request.getParameter("selectedGz"));
		//更新预约表结果
		String sql_updateOp = "update tb_book set isSuccess ='1' where bmID=" + bmId + " and gzID=" + selGzId;
		//更新预约表节点
		String sql_updateNode = "update tb_book set node ='bm' where bmID="+bmId;
		//更新阿姨工作状态
		String sql_updateBmStatus = "update tb_employee set status = '2' where id ="+bmId;
		//查询预约详细信息
		String sql_queryBook = "select bmName, gzName, servType, servDailyTime, isAccomm, startDate, endDate, gzPay from tb_book where bmID ="+bmId+" and gzID ="+selGzId+" and isSuccess ='1'";
		//更新评价表
		String sql_insertAssess = "insert into tb_assess (bmID,gzID,bmName,servType) values (?,?,?,?)";
		//更新合同表
		String sql_insertContract = "insert into tb_contract (bmID,bmName,gzID,gzName,servType,isAccomm,servDailyTime,beginDate,endDate,gzPay) values (?,?,?,?,?,?,?,?,?,?)";
		mydb.executeUpdate(sql_updateOp);
		logger.info("更新预约结果,执行SQL: "+sql_updateOp);
		mydb.executeUpdate(sql_updateNode);
		logger.info("更新预约节点,执行SQL: "+sql_updateNode);
		mydb.executeUpdate(sql_updateBmStatus);
		logger.info("更新保姆状态'在岗',执行SQL: "+sql_updateBmStatus);
//		System.out.println(selGzId);
		ResultSet rs_queryBook = mydb.executeQuery(sql_queryBook);
		logger.info("查询合同信息,执行SQL:"+sql_queryBook);
		try {
			int servTypeTemp = 0 , servDailyTimeTemp = 0, isAccommTemp = 0;
			if(rs_queryBook.next()) {
				bmName = rs_queryBook.getString("bmName");
				gzName = rs_queryBook.getString("gzName");
				servTypeTemp = rs_queryBook.getInt("servType");
				servDailyTimeTemp = rs_queryBook.getInt("servDailyTime");
				isAccommTemp = rs_queryBook.getInt("isAccomm");
				beginDate = rs_queryBook.getString("startDate");
				endDate = rs_queryBook.getString("endDate");
	public void setBirthDate(String birthDate) {
		this.birthDate = birthDate;
	}
	/**
	 * @return phone
	 */
	public String getPhone() {
		return phone;
	}
	/**
	 * @param phone
	 */
	public void setPhone(String phone) {
		this.phone = phone;
	}
	/**
	 * @return marriage
	 */
	public int getMarriage() {
		return marriage;
	}
	/**
	 * @param marriage
	 */
	public void setMarriage(int marriage) {
		this.marriage = marriage;
	}
	/**
	 * @return education
	 */
	public int getEducation() {
		return education;
	}
	/**
	 * @param education
	 */
	public void setEducation(int education) {
		this.education = education;
	}
	/**
	 * @return address
	 */
	public String getAddress() {
		return address;
	}
	/**
                String sql = "select password from " + Type + " where name ='" + userName + "' and email like '" + toAddress + "'";
                ResultSet rs = mydb.executeQuery(sql);
                if (!rs.next()) {
                    addActionMessage("数据查询失败,您的邮箱可能未注册!");
                    return INPUT;
                } else {

                    userPass = rs.getString("password");

                }
            } catch (SQLException e) {
                e.printStackTrace();
                mydb.close();
            }

            String content = userName + ",您好!您的密码为" + userPass + ",请妥善保管.";
            MailSendInfo mailInfo = new MailSendInfo();
            mailInfo.setMailServerHost(emailServerHost);
            mailInfo.setMailServerPort(emailServerPort);
            mailInfo.setValidate(true);
            mailInfo.setUserName(emailUser);
            mailInfo.setPassword(emailPass);
            mailInfo.setFromAddress(emailUser);
            mailInfo.setToAddress(toAddress);
            mailInfo.setSubject("取回密码");
            mailInfo.setContent(content);
            SimpleMailSender sms = new SimpleMailSender();

            boolean flag = sms.sendTextMail(mailInfo);

            if (flag) {
                addActionMessage("邮件发送成功,请注意查收!");
                return SUCCESS;
            } else {
                addActionMessage("您当前网络不稳定发送失败,请检查网络连接后重试!");
                return INPUT;
            }
        }
        return INPUT;

    }

    /**
     * 功能 验证用户的输入
     */
    public boolean validateGetPass() {
	 */
	public int getBmId() {
		return bmId;
	}
	/**
	 * @param bmId the bmId to set
	 */
	public void setBmId(int bmId) {
		this.bmId = bmId;
	}
	/**
	 * @return the bmName
	 */
	public String getBmName() {
		return bmName;
	}
	/**
	 * @param bmName the bmName to set
	 */
	public void setBmName(String bmName) {
		this.bmName = bmName;
	}
	/**
	 * @return the gzId
	 */
	public int getGzId() {
		return gzId;
	}
	/**
	 * @param gzId the gzId to set
	 */
	public void setGzId(int gzId) {
		this.gzId = gzId;
	}
	/**
	 * @return the gzName
	 */
	public String getGzName() {
		return gzName;
	}
	/**
	 * @param gzName the gzName to set
	 */
	public void setGzName(String gzName) {
		this.gzName = gzName;
	}
	/**
	 * @return the gzPhone
	 */
	public String getGzPhone() {
		return gzPhone;
	}
	/**
	 * @param gzPhone the gzPhone to set
	public String getBmName() {
		return bmName;
	}
	/**
	 * @param bmName the bmName to set
	 */
	public void setBmName(String bmName) {
		this.bmName = bmName;
	}
	/**
	 * @return the gzID
	 */
	public int getGzID() {
		return gzID;
	}
	/**
	 * @param gzID the gzID to set
	 */
	public void setGzID(int gzID) {
		this.gzID = gzID;
	}
	/**
	 * @return the servType
	 */
	public String getServType() {
		return servType;
	}
	/**
	 * @param servType the servType to set
	 */
	public void setServType(String servType) {
		this.servType = servType;
	}
	/**
	 * @return the svAttitude
	 */
	public int getSvAttitude() {
		return svAttitude;
	}
	/**
	 * @param svAttitude the svAttitude to set
	 */

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

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐