📄 manage.java
字号:
package hotel;
import cn.com.enorth.smart.*;
import java.sql.*;
import java.util.*;
import javax.activation.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
/**
* Manage类用于管理数据,包括数据的增、删、改等。
*/
public class Manage
{
//private:
static ResourceBundle res = ResourceBundle.getBundle("hotel.hotelparam");
private String mysql_cn_url = res.getString("mysql_connection_url");
private String mysql_usr = res.getString("mysql_usr");
private String mysql_psw = res.getString("mysql_psw");
private String pic_path = res.getString("pic_path");
private String pic_url = res.getString("pic_url");
private String mail_to = res.getString("send_mail_to");
private String mail_sub = res.getString("send_mail_sub");
private String mail_order_url = res.getString("send_mail_order_url");
private String smtp_host = res.getString("smtp_host");
private String smtp_port = res.getString("smtp_port");
private DataBase db=new DataBase(res.getString("mysql_connection_url"));
private Hotel m_hotel = new Hotel(); //保存提交的酒店信息
private Price m_price = new Price(); //保存价格信息
private Order m_order = new Order(); //保存订单信息
/**
* 后台浏览酒店时用于过滤的条件。
*/
private String m_browsehotel_filter = new String();
/**
* 后台浏览房价时用于过滤的条件。
*/
private String m_browseprice_filter = new String();
/**
* 后台浏览订单时用于过滤的条件。
*/
private String m_browseorder_filter = new String();
/**
* 设置当分页浏览某信息时当前的页数。
*/
private int m_curPage = 1;
/**
* 设置当分页浏览某信息时每页要显示的记录条数。
*/
private int m_pageSize = 30;
//public:
/**
* 设置分页浏览的当前页。
* @param req 通过网页提交时得到的 Request 对象,从而用getParameter("c")取得当前页。
*/
public void setCurPage(HttpServletRequest req)
{
String strCurPage = req.getParameter("page");
if(strCurPage==null && m_curPage>1)
return;
else
m_curPage=(strCurPage==null || strCurPage.equals(""))?1:Integer.parseInt(strCurPage);
}
/**
* 设置分页浏览每页记录数。
* @param pageSize 一个整型值。每页显示的记录数。
*/
public void setPageSize(int pageSize)
{
m_pageSize=pageSize;
}
//-------------------------【 用于后台管理 】-------------------------
/**
* 上传图片。
* @param req Jsp的Request对象。
* @param pctx Jsp的PageContext对象。
* @return 返回一个布尔值。图片上传成功返回true,否则返回false。
*/
public boolean uploadPic(HttpServletRequest req,PageContext pctx)
{
try
{
SmartUpload sm = new SmartUpload();sm.getRequest()
sm.initialize(pctx);
sm.upload();
cn.com.enorth.smart.File v_file = sm.getFiles().getFile(0);
if(!v_file.isMissing())
{
String fileName = req.getParameter("picid");
if(fileName==null || fileName.equals(""))
return false;
else
{
v_file.saveAs(pic_path + fileName+"."+v_file.getFileExt());
return true;
}
}
}
catch(Exception e)
{
Error(e);
}
return false;
}
//-------------------------【 用于后台管理 】-------------------------
/**
* 返回酒店标识最大值。
* @return 返回一个整形值。值为酒店标识的最大值。
*/
public int getMaxHotelId()
{
Connection cn = null;
Statement stm = null;
ResultSet rst = null;
try
{
cn=db.getMySQL(mysql_usr,mysql_psw);
stm=cn.createStatement();
rst=stm.executeQuery("select max(hotelid) from tt_hotel");
if(rst.next())
return rst.getInt(1)+1;
}
catch(Exception e)
{
Error(e);
}
finally
{
db.CloseConnection(cn);
db.CloseStatement(stm);
}
return 0;
}
//-------------------------【 用于后台管理 】-------------------------
/**
* 设置浏览酒店的过滤条件。
* @param filter 过滤条件。
*/
public void setHotelFilter(String filter)
{
m_browsehotel_filter = filter;
}
/**
* 设置浏览酒店的过滤条件。
* @param filter 过滤条件。
*/
public void setPriceFilter(String filter)
{
m_browseprice_filter = filter;
}
/**
* 设置浏览酒店的过滤条件。
* @param filter 过滤条件。
*/
public void setOrderFilter(String filter)
{
m_browseorder_filter = filter;
}
//-------------------------【 用于后台管理 】-------------------------
/**
* 浏览酒店基本信息。只包括tt_hotel表中的hotelid, cname, level, tel, fax, email, homepage, linkman。
* @return 返回一个字符串。生成HTML表格。
*/
public String browseHotel()
{
String retnStr = new String();
Connection cn = null;
Statement stm = null;
ResultSet rst = null;
int recordCount=0;
try
{
cn=db.getMySQL(mysql_usr,mysql_psw);
stm=cn.createStatement();
String sql=new String();
sql="select count(*) from tt_hotel"; //读取记录数
rst=stm.executeQuery(sql);
if(rst.next())
recordCount=rst.getInt(1);
sql="select hotelid, cname, level, tel, fax, email, homepage, linkman from tt_hotel "+(m_browsehotel_filter.equals("")?"":("where "+m_browsehotel_filter))+" order by hotelid ";
sql+="limit "+Integer.toString((m_curPage-1)*m_pageSize)+","+Integer.toString((m_curPage*m_pageSize>recordCount)?recordCount-(m_curPage-1)*m_pageSize:m_pageSize);
rst=stm.executeQuery(sql);
int curRow=0; //当前行
while(rst.next())
{
if((curRow++)%2!=0)
retnStr+="<tr bgcolor=#efefee>\n";
else
retnStr+="<tr>\n";
retnStr+="\t<td><a href=\"javascript:details("+rst.getString("hotelid")+")\">"+rst.getString("cname")+"</a></td>\n";
retnStr+="\t<td align=center>"+rst.getString("level")+"</td>\n";
retnStr+="\t<td>"+rst.getString("tel")+"</td>\n";
retnStr+="\t<td>"+rst.getString("fax")+"</td>\n";
retnStr+="\t<td>"+rst.getString("linkman")+"</td>\n";
retnStr+="\t<td>"+rst.getString("email")+"</td>\n";
retnStr+="\t<td><a href=\"http://"+rst.getString("homepage")+"\" target=_blank>"+rst.getString("homepage")+"</a></td>\n";
retnStr+="\t<td align=center><a href=\"javascript:edit("+rst.getString("hotelid")+")\">编辑</a></td>\n";
retnStr+="\t<td align=center><a href=\"javascript:deleted("+rst.getString("hotelid")+")\">删除</a></td>\n";
retnStr+="</tr>\n";
}
rst.close();
}
catch(Exception e)
{
Error(e);
}
finally
{
db.CloseConnection(cn);
db.CloseStatement(stm);
}
retnStr+="<tr align=center><td colspan=21>"+splitPage(recordCount,m_pageSize,m_curPage)+"</td></tr>\n";
return (retnStr.equals("")?getBlankRow(21):retnStr);
}
/*
* 房型标识, 酒店标识, 房型, 早餐, 中早, 西早, 门市价, 前台现付(即:散客价), 团队价,
* 价格有效期起, 价格有效期止, 加床, 陪同床, 城建费, 备注
* roomid, hotelid, roomstyle, breakfast, cbreakfast, wbreakfast, gprice, price,
* groupprice, startdate, enddate, addbed, guidebed, build, memo
*/
//-------------------------【 用于后台管理 】-------------------------
/**
* 浏览房价信息。只包括tt_price表中的全部字段及tt_hotel表中cname字段。
* @return 返回一个字符串。生成HTML表格。
*/
public String browsePrice()
{
String retnStr = new String();
Connection cn = null;
Statement stm = null;
ResultSet rst = null;
int recordCount=0;
try
{
cn=db.getMySQL(mysql_usr,mysql_psw);
stm=cn.createStatement();
String sql=new String();
sql="select count(*) from tt_price, tt_hotel b where tt_price.hotelid=b.hotelid";
rst=stm.executeQuery(sql);
if(rst.next())
recordCount=rst.getInt(1);
sql="select tt_hotel.cname, roomid, roomstyle, breakfast, gprice, price, tprice, groupprice, startdate, ";
sql+="enddate, memo from tt_price, tt_hotel where tt_price.hotelid=tt_hotel.hotelid "+(m_browseprice_filter.equals("")?"":(" and "+m_browseprice_filter))+" order by tt_hotel.cname,roomid desc,roomstyle desc ";
sql+="limit "+Integer.toString((m_curPage-1)*m_pageSize)+","+Integer.toString((m_curPage*m_pageSize>recordCount)?recordCount-(m_curPage-1)*m_pageSize:m_pageSize);
rst=stm.executeQuery(sql);
int curRow=0;//当前行
while(rst.next())
{
if((curRow++)%2!=0)
retnStr+="<tr bgcolor=#efefee>\n";
else
retnStr+="<tr>\n";
retnStr+="<td>"+rst.getString("cname")+"</td>\n";
retnStr+="<td>"+rst.getString("roomstyle")+"</td>\n";
retnStr+="<td align=center>"+(rst.getInt("breakfast")>0?"含":"不含")+"</td>\n";
retnStr+="<td align=right>"+rst.getString("gprice")+"</td>\n";
retnStr+="<td align=right>"+rst.getString("price")+"</td>\n";
retnStr+="<td align=right>"+rst.getString("tprice")+"</td>\n";
retnStr+="<td align=right>"+rst.getString("groupprice")+"</td>\n";
retnStr+="<td align=center>"+rst.getString("startdate")+" 至 "+rst.getString("enddate")+"</td>\n";
retnStr+="<td>"+rst.getString("memo")+"</td>\n";
retnStr+="\t<td align=center><a href=\"javascript:edit("+rst.getString("roomid")+")\">编辑</a></td>\n";
retnStr+="\t<td align=center><a href=\"javascript:deleted("+rst.getString("roomid")+")\">删除</a></td>\n";
retnStr+="</tr>\n";
}
rst.close();
}
catch(Exception e)
{
Error(e);
}
finally
{
db.CloseConnection(cn);
db.CloseStatement(stm);
}
retnStr+="<tr align=center><td colspan=11>"+splitPage(recordCount,m_pageSize,m_curPage)+"</td></tr>\n"; //System.out.println(retnStr);
return (retnStr.equals("")?getBlankRow(11):retnStr);
}
//-------------------------【 用于后台管理 】-------------------------
/**
* 添加酒店信息。
*/
public void insertHotel()
{
String sql = new String();
sql+="insert into tt_hotel (";
sql+="accountstyle, addbed, address, cbreakfast, city, cname, daccount, dbank, email, ename, exchangerate, fax, ";
sql+="guidebed, homepage, intr, level, linkman, paystyle, picid, raccount, rbank, tel, wbreakfast, zip ";
sql+=") values (";
sql+="'"+m_hotel.getAccountstyle()+"','"+m_hotel.getAddbed()+"','"+m_hotel.getAddress()+"','"+m_hotel.getCbreakfast()+"','";
sql+=m_hotel.getCity()+"','"+m_hotel.getCname()+"','"+m_hotel.getDaccount()+"','"+m_hotel.getDbank()+"','";
sql+=m_hotel.getEmail()+"','"+m_hotel.getEname()+"','"+m_hotel.getExchangerate()+"','";
sql+=m_hotel.getFax()+"','"+m_hotel.getGuidebed()+"','"+m_hotel.getHomepage()+"','"+m_hotel.getIntr()+"','"+m_hotel.getLevel()+"','";
sql+=m_hotel.getLinkman()+"','"+m_hotel.getPaystyle()+"','"+m_hotel.getPicid()+"','"+m_hotel.getRaccount()+"','";
sql+=m_hotel.getRbank()+"','"+m_hotel.getTel()+"','"+m_hotel.getWbreakfast()+"','"+m_hotel.getZip()+"'";
sql+=")";
insertData(sql);
}
//-------------------------【 用于后台管理 】-------------------------
/**
* 删除酒店信息
* @param hotelId 酒店标识。
*/
public void deleteHotel(int hotelId)
{
String sql=new String();
sql="delete from tt_hotel where hotelid="+Integer.toString(hotelId);
deleteData(sql);
}
//-------------------------【 用于后台管理 】-------------------------
/**
* 更新酒店信息
* @param hotelId 酒店标识。
*/
public void updateHotel(int hotelId)
{
String sql = new String();
sql+="update tt_hotel set ";
sql+="accountstyle='"+m_hotel.getAccountstyle()+"', addbed='"+m_hotel.getAddbed()+"', address='"+m_hotel.getAddress()+"', cbreakfast='"+m_hotel.getCbreakfast()+"', ";
sql+="city='"+m_hotel.getCity()+"', cname='"+m_hotel.getCname()+"', daccount='"+m_hotel.getDaccount()+"', dbank='"+m_hotel.getDbank()+"', ";
sql+="email='"+m_hotel.getEmail()+"', ename='"+m_hotel.getEname()+"', exchangerate='"+m_hotel.getExchangerate()+"', ";
sql+="fax='"+m_hotel.getFax()+"', guidebed='"+m_hotel.getGuidebed()+"', homepage='"+m_hotel.getHomepage()+"', intr='"+m_hotel.getIntr()+"', level='"+m_hotel.getLevel()+"', ";
sql+="linkman='"+m_hotel.getLinkman()+"', paystyle='"+m_hotel.getPaystyle()+"', picid='"+m_hotel.getPicid()+"', ";
sql+="raccount='"+m_hotel.getRaccount()+"', rbank='"+m_hotel.getRbank()+"', tel='"+m_hotel.getTel()+"', wbreakfast='"+m_hotel.getWbreakfast()+"', zip='"+m_hotel.getZip()+"'";
sql+=" where hotelid="+hotelId;
updateData(sql);
}
//-------------------------【 用于后台管理 】-------------------------
/**
* 更新酒店图片标识。
* @param hotelId 酒店标识。
*/
public void updateHotelPic(int hotelId)
{
String sql = new String();
sql="update tt_hotel set picid = " + hotelId + " where hotelId = " +hotelId;
updateData(sql);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -