branch_hzl
hzl 11 months ago
parent 674f050ff7
commit aedf735262

@ -13,20 +13,28 @@ import java.util.ArrayList;
@WebServlet(name = "LogInfoExcelServlet", value = "/LogInfoExcelServlet")
public class LogInfoExcelServlet extends HttpServlet {
// 处理POST请求
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
this.doGet(request, response);
}
// 处理GET请求
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
// 创建LogInfoService实例
LogInfoService service = new LogInfoServiceImpl();
// 查询所有日志信息
ArrayList<LogInfo> infoArrayList;
infoArrayList = service.query(1, service.queryLogInfoNum());
// 定义Excel表头
String[] headers = {"日志编号", "内容", "用户编号", "用户名称", "日期"};
// 定义Excel文件名
String fileName = "日志信息";
// 创建ExportExcel实例
ExportExcel<LogInfo> ee = new ExportExcel<>();
// 导出Excel
ee.exportExcel(headers, infoArrayList, fileName, response);
}
}

@ -16,35 +16,43 @@ import java.util.ArrayList;
@WebServlet(name = "LogInfoServlet", value = "/LogInfoServlet")
public class LogInfoServlet extends HttpServlet {
// 处理POST请求
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
this.doGet(request, response);
}
// 处理GET请求
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 设置请求和响应的编码格式
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
int page = Integer.parseInt(request.getParameter("page")); // 当前页码
int limit = Integer.parseInt(request.getParameter("limit")); // 每页的数据量
// 获取请求参数
int page = Integer.parseInt(request.getParameter("page"));
int limit = Integer.parseInt(request.getParameter("limit"));
int make = Integer.parseInt(request.getParameter("make"));
// 调用service
// 创建LogInfoService实例
LogInfoService service = new LogInfoServiceImpl();
// 默认输出信息
String code = "0"; //状态码
String msg = "数据查询正常"; //状态信息
String count; //数据总数
ArrayList<LogInfo> list; //数据内容
if (make == 1) { //删除
// 初始化返回结果
String code = "0";
String msg = "数据查询正常";
String count;
ArrayList<LogInfo> list;
// 如果make参数为1则删除指定logId的日志信息
if (make == 1) {
int logId = Integer.parseInt(request.getParameter("logId"));
service.deleteLogInfo(logId);
}
// 查询日志信息总数
count = String.valueOf(service.queryLogInfoNum());
// 查询指定页数的日志信息
list = service.query(page, limit);
// 将结果转换为JSON格式并返回
PrintWriter out = response.getWriter();
out.print(new Gson().toJson(new PojotoGson(code, msg, count, list)));
}

@ -11,8 +11,10 @@ import java.sql.SQLException;
import java.util.ArrayList;
public class LogInfoDao implements CommonDao {
// 实现CommonDao接口用于操作logInfo表
@Override
public void insertData(Object o) throws SQLException {
// 插入数据
LogInfo logInfo = (LogInfo) o;
Connection conn = DBUtil.getConnection();
@ -29,6 +31,7 @@ public class LogInfoDao implements CommonDao {
@Override
public void deleteData(Object o) throws SQLException {
// 删除数据
LogInfo logInfo = (LogInfo) o;
Connection conn = DBUtil.getConnection();
@ -43,10 +46,12 @@ public class LogInfoDao implements CommonDao {
@Override
public void updateData(Object o) throws SQLException {
// 更新数据
}
@Override
public int queryDataNum() throws SQLException {
// 查询数据数量
Connection conn = DBUtil.getConnection();
String sql = "select count(*) from logInfo;";
@ -66,6 +71,7 @@ public class LogInfoDao implements CommonDao {
@Override
public ArrayList query(int start, int length) throws SQLException {
// 查询数据
Connection conn = DBUtil.getConnection();
String sql = "select * from logInfo limit ?, ?;";
@ -91,10 +97,12 @@ public class LogInfoDao implements CommonDao {
@Override
public Object query(Object o) throws SQLException {
// 查询数据
return null;
}
public ArrayList queryName(int loginId) throws SQLException {
// 根据loginId查询数据
Connection conn = DBUtil.getConnection();
String sql = "SELECT * FROM logInfo WHERE loginId = ?";
PreparedStatement ps = conn.prepareStatement(sql);

@ -5,20 +5,28 @@ import java.util.Date;
public class LogInfo {
// 日志ID
private int logId;
// 日志名称
private String logName;
// 登录ID
private int loginId;
// 登录名称
private String loginName;
// 日志日期
private String logDate;
// 日期对象
private Date date;
// 日期格式化对象
private SimpleDateFormat dateFormat;
// 无参构造器
public LogInfo() {
super();
}
@ -26,6 +34,7 @@ public class LogInfo {
/**
*
*/
// 有参构造器传入日志名称、登录ID、登录名称
public LogInfo(String logName, int loginId, String loginName) {
this.logName = logName;
this.loginId = loginId;
@ -35,6 +44,7 @@ public class LogInfo {
logDate = dateFormat.format(date);
}
// 有参构造器传入日志ID、日志名称、登录ID、登录名称、日志日期
public LogInfo(int logId, String logName, int loginId, String loginName, String logDate) {
this.logId = logId;
this.logName = logName;
@ -43,46 +53,57 @@ public class LogInfo {
this.logDate = logDate;
}
// 获取日志ID
public int getLogId() {
return logId;
}
// 设置日志ID
public void setLogId(int logId) {
this.logId = logId;
}
// 获取日志名称
public String getLogName() {
return logName;
}
// 设置日志名称
public void setLogName(String logName) {
this.logName = logName;
}
// 获取登录ID
public int getLoginId() {
return loginId;
}
// 设置登录ID
public void setLoginId(int loginId) {
this.loginId = loginId;
}
// 获取日志日期
public String getLogDate() {
return logDate;
}
// 设置日志日期
public void setLogDate(String logDate) {
this.logDate = logDate;
}
// 获取登录名称
public String getLoginName() {
return loginName;
}
// 设置登录名称
public void setLoginName(String loginName) {
this.loginName = loginName;
}
// 重写toString方法
@Override
public String toString() {
return "LogInfo{" +

@ -4,16 +4,22 @@ import com.inks.hb.logInfo.pojo.LogInfo;
import java.util.ArrayList;
// 定义一个LogInfoService接口用于操作LogInfo对象
public interface LogInfoService {
// 插入一条LogInfo记录
int insertLogInfo(LogInfo logInfo);
// 根据logId删除一条LogInfo记录
int deleteLogInfo(int logId);
// 根据page和limit查询LogInfo记录
ArrayList query(int page, int limit);
// 查询LogInfo记录的总数
int queryLogInfoNum();
// 根据loginId删除LogInfo记录
int deleteByName(int loginId);
}

@ -8,6 +8,7 @@ import java.util.ArrayList;
public class LogInfoServiceImpl implements LogInfoService {
//实例化LogInfoDao
private LogInfoDao dao = new LogInfoDao();
/**
@ -21,6 +22,7 @@ public class LogInfoServiceImpl implements LogInfoService {
int check = 0;
try {
//调用dao的insertData方法插入数据
dao.insertData(logInfo);
} catch (SQLException e) {
e.printStackTrace();
@ -38,10 +40,12 @@ public class LogInfoServiceImpl implements LogInfoService {
@Override
public int deleteLogInfo(int logId) {
//创建LogInfo对象
LogInfo logInfo = new LogInfo();
logInfo.setLogId(logId);
try {
//调用dao的deleteData方法删除数据
dao.deleteData(logInfo);
} catch (SQLException e) {
e.printStackTrace();

@ -20,7 +20,9 @@ public class InsertLoginServlet extends HttpServlet {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 设置请求编码格式
request.setCharacterEncoding("utf-8");
// 设置响应编码格式
response.setContentType("application/json; charset=utf-8");
// 获取前端传递的json数据
@ -31,9 +33,11 @@ public class InsertLoginServlet extends HttpServlet {
Gson gson = new Gson();
Login login = gson.fromJson(json, Login.class);
// 调用service层的方法插入数据
LoginService service = new LoginServiceImpl();
int code = service.insertLogin(login);
// 将结果返回给前端
PrintWriter out = response.getWriter();
out.print(gson.toJson(code));
}

@ -13,21 +13,29 @@ import java.util.ArrayList;
@WebServlet(name = "LoginExcelServlet", value = "/LoginExcelServlet")
public class LoginExcelServlet extends HttpServlet {
// 处理POST请求
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
this.doGet(request, response);
}
// 处理GET请求
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
// 创建LoginService实例
LoginService service = new LoginServiceImpl();
// 查询所有用户信息
ArrayList<Login> infoArrayList;
infoArrayList = service.query(1, service.queryLoginNum());
// 定义Excel表头
String[] headers = {"用户ID", "用户登录名", "用户密码", "用户昵称", "用户权限"};
// 定义Excel文件名
String fileName = "用户信息";
// 创建ExportExcel实例
ExportExcel<Login> ee = new ExportExcel<>();
// 导出Excel
ee.exportExcel(headers, infoArrayList, fileName, response);
}
}

@ -17,38 +17,51 @@ import java.util.ArrayList;
@WebServlet(name = "LoginTableServlet", value = "/LoginTableServlet")
public class LoginTableServlet extends HttpServlet {
// 处理POST请求
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
this.doGet(request, response);
}
// 处理GET请求
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 设置请求编码为utf-8
request.setCharacterEncoding("utf-8");
// 设置响应编码为utf-8
response.setContentType("text/html;charset=utf-8");
// 获取响应输出流
PrintWriter out = response.getWriter();
int page = Integer.parseInt(request.getParameter("page")); // 当前页码
int limit = Integer.parseInt(request.getParameter("limit")); // 每页的数据量
int make = Integer.parseInt(request.getParameter("make")); //状态标志
// 获取请求参数
int page = Integer.parseInt(request.getParameter("page"));
int limit = Integer.parseInt(request.getParameter("limit"));
int make = Integer.parseInt(request.getParameter("make"));
// 创建LoginService实例
LoginService service = new LoginServiceImpl();
String code = "0"; //状态码
String msg = "数据查询正常"; //状态信息
String count; //数据总数
ArrayList list; //数据内容
// 初始化返回结果
String code = "0";
String msg = "数据查询正常";
String count;
ArrayList list;
if (make == 4) { //删除
// 如果make参数为4则删除对应的登录信息
if (make == 4) {
int loginId = Integer.parseInt(request.getParameter("loginId"));
new LogInfoServiceImpl().deleteByName(loginId);
service.deleteLogin(loginId);
}
// 查询登录信息
list = service.query(page, limit);
// 查询登录信息总数
count = String.valueOf(service.queryLoginNum());
// 将查询结果封装为PojotoGson对象
PojotoGson pojotoGson = new PojotoGson(code, msg, count, list);
// 使用Gson将PojotoGson对象转换为json字符串
Gson gson = new Gson();
out.print(gson.toJson(pojotoGson));
}

@ -1,5 +1,5 @@
package com.inks.hb.login.controller;
//1
import com.google.gson.Gson;
import com.inks.hb.login.pojo.Login;
import com.inks.hb.login.service.LoginService;
@ -26,6 +26,7 @@ public class QueryLoginInfoServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 设置请求和响应的编码格式
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
@ -38,7 +39,9 @@ public class QueryLoginInfoServlet extends HttpServlet {
String loginName = (String) session.getAttribute("LoginName");
try {
// 根据登录名查询login对象
Login login = service.queryLogin(loginName);
// 将login对象转换为json格式
Gson gson = new Gson();
out.print(gson.toJson(login));
} catch (SQLException e) {

@ -35,26 +35,38 @@ public class QueryLoginNameServlet extends HttpServlet {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
// 调用service
// 创建登录服务对象
LoginService service = new LoginServiceImpl();
// 创建MD5对象
MD5 md5 = new MD5();
// 获得姓名
// 获取用户登录名和密码
String loginName = request.getParameter("loginName");
String loginPwd = md5.getMD5(request.getParameter("loginPwd")); //转成MD5存储
try {
// 根据用户登录名和密码查询登录结果
int check = service.queryByName(loginName, loginPwd);
if (check == 1) { // 设置session
// 获取session对象
HttpSession session = request.getSession();
// 将登录名存入session
session.setAttribute("LoginName", loginName);
// 根据登录名查询登录信息
Login login = service.queryLogin(loginName);
//写入登录记录
// 创建日志信息对象
LogInfo logInfo = new LogInfo("登录", login.getLoginId(), login.getLoginName());
// 创建日志服务对象
LogInfoService logInfoService = new LogInfoServiceImpl();
// 插入日志信息
logInfoService.insertLogInfo(logInfo);
}
// 创建Gson对象
Gson gson = new Gson();
// 将登录结果以json格式返回
out.print(gson.toJson(check));
} catch (SQLException e) {
e.printStackTrace();

@ -21,6 +21,7 @@ public class UpdatePwdServlet extends HttpServlet {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 设置请求和响应的编码格式
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
@ -37,16 +38,21 @@ public class UpdatePwdServlet extends HttpServlet {
int check = -1;
try {
// 根据姓名查询用户信息
login = service.queryLogin(loginName);
System.out.println(login);
// 更新密码
login.setLoginPwd(loginPwd);
System.out.println(login);
// 更新用户信息
check = service.updateLogin(login);
System.out.println(check);
// 查询更新后的用户信息
System.out.println(service.queryLogin(loginName));
} catch (SQLException e) {
e.printStackTrace();
}
// 将更新结果转换为json格式输出
Gson gson = new Gson();
out.print(gson.toJson(check));
}

@ -10,15 +10,21 @@ import java.io.PrintWriter;
@WebServlet(name = "UploadFileServlet", value = "/UploadFileServlet")
public class UploadFileServlet extends HttpServlet {
// 处理POST请求
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 设置请求编码为utf-8
request.setCharacterEncoding("utf-8");
// 设置响应编码为utf-8
response.setContentType("text/html;charset=utf-8");
// 获取响应输出流
PrintWriter out = response.getWriter();
}
// 处理GET请求
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 调用doPost方法处理GET请求
this.doPost(request, response);
}
}

@ -12,120 +12,173 @@ import java.util.ArrayList;
public class LoginDao implements CommonDao {
// 插入数据
@Override
public void insertData(Object o) throws SQLException {
// 将传入的对象转换为Login对象
Login login = (Login) o;
// 获取数据库连接
Connection conn = DBUtil.getConnection();
// 定义插入数据的SQL语句
String sql = "INSERT INTO login (loginName, loginPwd, loginNickName, loginAdmin) VALUE (?,?,?,?)";
// 创建PreparedStatement对象
PreparedStatement pstmt = conn.prepareStatement(sql);
// 设置SQL语句中的参数
pstmt.setString(1, login.getLoginName());
pstmt.setString(2, login.getLoginPwd());
pstmt.setString(3, login.getLoginNickName());
pstmt.setInt(4, login.getLoginAdmin());
// 执行SQL语句
pstmt.executeUpdate();
// 关闭PreparedStatement对象
pstmt.close();
}
// 删除数据
@Override
public void deleteData(Object o) throws SQLException {
// 将传入的对象转换为Login对象
Login login = (Login) o;
// 获取数据库连接
Connection conn = DBUtil.getConnection();
// 定义删除数据的SQL语句
String sql = "DELETE FROM login WHERE loginId = ?";
// 创建PreparedStatement对象
PreparedStatement pstmt = conn.prepareStatement(sql);
// 设置SQL语句中的参数
pstmt.setInt(1, login.getLoginId());
// 执行SQL语句
pstmt.executeUpdate();
// 关闭PreparedStatement对象
pstmt.close();
}
// 更新数据
@Override
public void updateData(Object o) throws SQLException {
// 将传入的对象转换为Login对象
Login login = (Login) o;
// 获取数据库连接
Connection conn = DBUtil.getConnection();
// 定义更新数据的SQL语句
String sql = "UPDATE login SET loginName = ? ,loginPwd = ?,loginNickName = ?,loginAdmin = ? WHERE loginId = ?";
// 创建PreparedStatement对象
PreparedStatement pstmt = conn.prepareStatement(sql);
// 设置SQL语句中的参数
pstmt.setString(1, login.getLoginName());
pstmt.setString(2, login.getLoginPwd());
pstmt.setString(3, login.getLoginNickName());
pstmt.setInt(4, login.getLoginAdmin());
pstmt.setInt(5, login.getLoginId());
// 执行SQL语句
pstmt.executeUpdate();
// 关闭PreparedStatement对象
pstmt.close();
}
// 查询数据数量
@Override
public int queryDataNum() throws SQLException {
// 获取数据库连接
Connection conn = DBUtil.getConnection();
// 定义查询数据数量的SQL语句
String sql = "select count(*) from login;";
// 创建PreparedStatement对象
PreparedStatement pstmt = conn.prepareStatement(sql);
// 执行SQL语句返回结果集
ResultSet rs = pstmt.executeQuery();
int num;
// 如果结果集中有数据,则获取数据数量
if (rs.next()) num = rs.getInt("count(*)");
else num = 0;
// 关闭结果集和PreparedStatement对象
rs.close();
pstmt.close();
// 返回数据数量
return num;
}
// 查询数据
@Override
public ArrayList query(int start, int length) throws SQLException {
// 获取数据库连接
Connection conn = DBUtil.getConnection();
// 定义查询数据的SQL语句
String sql = "select * from login limit ?, ?;";
// 创建PreparedStatement对象
PreparedStatement pstmt = conn.prepareStatement(sql);
// 设置SQL语句中的参数
pstmt.setInt(1, start - 1);
pstmt.setInt(2, length);
// 执行SQL语句返回结果集
ResultSet rs = pstmt.executeQuery();
// 创建ArrayList对象用于存储查询结果
ArrayList<Login> list = new ArrayList<>();
Login login;
// 遍历结果集将每条数据转换为Login对象并添加到ArrayList中
while (rs.next()) {
login = new Login(rs.getInt(1), rs.getString(2),
rs.getString(3), rs.getString(4), rs.getInt(5));
list.add(login);
}
// 关闭结果集和PreparedStatement对象
rs.close();
pstmt.close();
// 返回ArrayList对象
return list;
}
// 根据条件查询数据
@Override
public Object query(Object o) throws SQLException {
// 将传入的对象转换为Login对象
Login login = (Login) o;
// 获取数据库连接
Connection conn = DBUtil.getConnection();
// 定义查询数据的SQL语句
String sql = "SELECT * FROM login WHERE loginName = ?";
// 创建PreparedStatement对象
PreparedStatement pstmt = conn.prepareStatement(sql);
// 设置SQL语句中的参数
pstmt.setString(1, login.getLoginName());
// 执行SQL语句返回结果集
ResultSet rs = pstmt.executeQuery();
// 创建Login对象用于存储查询结果
Login loginer = new Login();
// 如果结果集中有数据则将数据转换为Login对象
if (rs.next()) {
loginer = new Login(rs.getInt(1), rs.getString(2),
rs.getString(3), rs.getString(4), rs.getInt(5));
}
// 关闭结果集和PreparedStatement对象
rs.close();
pstmt.close();
// 返回Login对象
return loginer;
}
}

@ -5,15 +5,15 @@ package com.inks.hb.login.pojo;
*/
public class Login {
private int loginId; //用户ID
private int loginId;
private String loginName; //用户登录名
private String loginName;
private String loginPwd; //用户密码
private String loginPwd;
private String loginNickName; //用户昵称
private String loginNickName;
private int loginAdmin; //用户权限
private int loginAdmin;
public Login() {
super();
@ -43,42 +43,52 @@ public class Login {
this.loginAdmin = loginAdmin;
}
// 获取loginId
public int getLoginId() {
return loginId;
}
// 设置loginId
public void setLoginId(int loginId) {
this.loginId = loginId;
}
// 获取loginName
public String getLoginName() {
return loginName;
}
// 设置loginName
public void setLoginName(String loginName) {
this.loginName = loginName;
}
// 获取loginPwd
public String getLoginPwd() {
return loginPwd;
}
// 设置loginPwd
public void setLoginPwd(String loginPwd) {
this.loginPwd = loginPwd;
}
// 获取loginNickName
public String getLoginNickName() {
return loginNickName;
}
// 设置loginNickName
public void setLoginNickName(String loginNickName) {
this.loginNickName = loginNickName;
}
// 获取loginAdmin
public int getLoginAdmin() {
return loginAdmin;
}
// 设置loginAdmin
public void setLoginAdmin(int loginAdmin) {
this.loginAdmin = loginAdmin;
}

@ -9,13 +9,17 @@ import java.util.ArrayList;
public class LoginServiceImpl implements LoginService {
//实例化LoginDao
private LoginDao dao = new LoginDao();
//实例化MD5
private MD5 md5 = new MD5();
@Override
public int queryByName(String name, String pwd) throws SQLException {
//创建Login对象用于查询
Login loginQuery = new Login(name, pwd);
//查询Login对象
Login login = (Login) dao.query(loginQuery);
int check = 0; //密码错误
if (login.getLoginId() == 0)
@ -29,9 +33,12 @@ public class LoginServiceImpl implements LoginService {
@Override
public Login queryLogin(String name) throws SQLException {
//创建Login对象用于查询
Login loginQuery = new Login();
//设置查询条件
loginQuery.setLoginName(name);
//查询Login对象
return (Login) dao.query(loginQuery);
}
@ -43,6 +50,7 @@ public class LoginServiceImpl implements LoginService {
login.setLoginPwd(md5.getMD5(pwd));
try {
//插入Login对象
dao.insertData(login);
} catch (SQLException e) {
return -1;
@ -52,10 +60,13 @@ public class LoginServiceImpl implements LoginService {
@Override
public int deleteLogin(int loginId) {
//创建Login对象用于删除
Login login = new Login();
//设置删除条件
login.setLoginId(loginId);
try {
//删除Login对象
dao.deleteData(login);
} catch (SQLException e) {
e.printStackTrace();
@ -67,10 +78,12 @@ public class LoginServiceImpl implements LoginService {
@Override
public int updateLogin(Login login) {
//密码转MD5加密存储
String pwd = login.getLoginPwd();
login.setLoginPwd(md5.getMD5(pwd));
try {
//更新Login对象
dao.updateData(login);
} catch (SQLException e) {
e.printStackTrace();

@ -50,7 +50,7 @@ public class InsertAndUpdateServlet extends HttpServlet {
int discount;
try { //对折扣值为空的处理
try {
discount = Integer.parseInt(request.getParameter("discount")); //13
} catch (NumberFormatException e) {
discount = 0;
@ -58,17 +58,15 @@ public class InsertAndUpdateServlet extends HttpServlet {
OrderInfo orderInfo = new OrderInfo(orderId, orderName, orderPhone, orderIDcard, typeId, arrireDate, leaveDate, orderState, checkNum, roomId, price, checkPrice, discount, discountReason, addBed, addBedPrice, orderMoney, remark, operatorId);
int code = -1; //返回的状态
int code = -1;
if (make == 1) { //1.新增
if (make == 1) {
code = service.insertOrderInfo(orderInfo);
} else if (make == 2) { //修改
} else if (make == 2) {
code = service.updateOrderInfo(orderInfo);
}
//make=1 -> 1:插入成功 0存在同名项 -1:插入失败
//make=2 -> 1:修改成功 -1;修改失败
Gson gson = new Gson();
out.print(gson.toJson(code));
}

@ -16,22 +16,31 @@ import java.util.ArrayList;
@WebServlet(name = "OrderInfoExcelServlet", value = "/OrderInfoExcelServlet")
public class OrderInfoExcelServlet extends HttpServlet {
// 处理POST请求
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
this.doGet(request, response);
}
// 处理GET请求
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
// 创建OrderInfoService实例
OrderInfoService service = new OrderInfoServiceImpl();
// 创建RoomTypeService实例
RoomTypeService roomTypeService = new RoomTypeServiceImpl();
// 查询所有订单信息
ArrayList<OrderInfo> infoArrayList = service.query(1, service.queryOrderInfoNum());
ArrayList<OrderToTable> list = new ArrayList<>(); //转成可使用
// 创建一个ArrayList用于存储OrderToTable对象
ArrayList<OrderToTable> list = new ArrayList<>();
// 创建OrderToTable对象
OrderToTable toTable;
for (OrderInfo orderInfo : infoArrayList) { //转换成前端界面可接收的类型 主要是转 房间类型 和操作员
// 遍历订单信息列表
for (OrderInfo orderInfo : infoArrayList) {
// 将订单信息转换为OrderToTable对象
toTable = new OrderToTable(orderInfo.getOrderId(), orderInfo.getOrderName(), orderInfo.getOrderPhone()
, orderInfo.getOrderIDcard(), orderInfo.getArrireDate(), orderInfo.getLeaveDate()
, roomTypeService.query(orderInfo.getTypeId().getTypeId()).getTypeName()
@ -39,13 +48,18 @@ public class OrderInfoExcelServlet extends HttpServlet {
, orderInfo.getDiscount(), orderInfo.getDiscountReason(), orderInfo.getAddBed()
, orderInfo.getAddBedPrice(), orderInfo.getOrderMoney(), orderInfo.getOrderState()
, orderInfo.getRemark(), orderInfo.getOperatorId().getLoginName());
// 将OrderToTable对象添加到列表中
list.add(toTable);
}
// 定义Excel表头
String[] headers = {"预订单号", "预定人", "联系电话", "身份证", "抵店时间", "离店时间", "房间类型", "入住人数", "客房价格", "入住价格", "折扣", "折扣原因", "是否加床", "加床价格", "预收款", "单据状态", "备注", "操作员"};
// 定义Excel文件名
String fileName = "预订单信息";
// 创建ExportExcel实例
ExportExcel<OrderToTable> ee = new ExportExcel<>();
// 导出Excel文件
ee.exportExcel(headers, list, fileName, response);
}
}

@ -49,7 +49,7 @@ public class OrderInfoServlet extends HttpServlet {
String orderId; //预定单号
String select; //查询值
//获取对应状态属性
//获取对应状态shuxing
if (make == 1 || make == 2) { //1和2这部分完全是相同的
select = request.getParameter("select");
list = service.queryOrder(make, select);

@ -21,6 +21,7 @@ public class QueryOrderInfoServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 设置请求和响应的编码格式
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
@ -28,8 +29,10 @@ public class QueryOrderInfoServlet extends HttpServlet {
// 获取值
String orderId = request.getParameter("orderId");
// 根据订单id查询订单信息
OrderInfo orderInfo = new OrderInfoServiceImpl().query(orderId);
// 将订单信息转换为表格形式
OrderToTable toTable = new OrderToTable(orderInfo.getOrderId(), orderInfo.getOrderName(), orderInfo.getOrderPhone()
, orderInfo.getOrderIDcard(), orderInfo.getArrireDate(), orderInfo.getLeaveDate()
, new RoomTypeServiceImpl().query(orderInfo.getTypeId().getTypeId()).getTypeId()
@ -38,6 +41,7 @@ public class QueryOrderInfoServlet extends HttpServlet {
, orderInfo.getAddBedPrice(), orderInfo.getOrderMoney(), orderInfo.getOrderState()
, orderInfo.getRemark(), orderInfo.getOperatorId().getLoginName());
// 将表格形式转换为json格式
Gson gson = new Gson();
out.print(gson.toJson(toTable));
}

@ -3,10 +3,7 @@ package com.inks.hb.orderinfo.pojo;
import com.inks.hb.login.pojo.Login;
import com.inks.hb.roomtype.pojo.RoomType;
/**
*
*
*/
public class OrderInfo {
private String orderId; //预订单号->直接获取时间戳?存进去 1

@ -1,11 +1,6 @@
package com.inks.hb.orderinfo.pojo;
/**
*
* String
*
*
*/
public class OrderToTable {
private String orderId; //预订单号->直接获取时间戳?存进去 1

@ -6,12 +6,7 @@ import java.util.ArrayList;
public interface OrderInfoService {
/**
*
*
* @param orderInfo
* @return -1 0 1
*/
int insertOrderInfo(OrderInfo orderInfo);
//删除

@ -10,15 +10,20 @@ import java.util.ArrayList;
public class OrderInfoServiceImpl implements OrderInfoService {
//实例化OrderInfoDao
private OrderInfoDao dao = new OrderInfoDao();
//插入订单信息
@Override
public int insertOrderInfo(OrderInfo orderInfo) {
try {
//获取订单号
String orderId = orderInfo.getOrderId();
//查询订单号是否重复
if (queryRepeat(orderId, orderId) != 1)
return 0;
//插入订单信息
dao.insertData(orderInfo);
} catch (SQLException e) {
System.out.println(e.getErrorCode() + e.getMessage());
@ -27,12 +32,14 @@ public class OrderInfoServiceImpl implements OrderInfoService {
return 1;
}
//删除订单信息
@Override
public int deleteOrderInfo(String orderId) {
OrderInfo orderInfo = new OrderInfo();
orderInfo.setOrderId(orderId);
try {
//删除订单信息
dao.deleteData(orderInfo);
} catch (SQLException e) {
System.out.println(e.getErrorCode() + e.getMessage());
@ -41,9 +48,11 @@ public class OrderInfoServiceImpl implements OrderInfoService {
return 1;
}
//更新订单信息
@Override
public int updateOrderInfo(OrderInfo orderInfo) {
try {
//更新订单信息
dao.updateData(orderInfo);
} catch (SQLException e) {
System.out.println(e.getErrorCode() + e.getMessage());
@ -53,12 +62,14 @@ public class OrderInfoServiceImpl implements OrderInfoService {
return 1;
}
//查询订单信息
@Override
public OrderInfo query(String orderId) {
OrderInfo orderInfo = new OrderInfo();
orderInfo.setOrderId(orderId);
try {
//查询订单信息
return (OrderInfo) dao.query(orderInfo);
} catch (SQLException e) {
System.out.println(e.getErrorCode() + e.getMessage());
@ -66,6 +77,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
}
}
//分页查询订单信息
@Override
public ArrayList query(int page, int limit) {
int start = (page * limit) - limit + 1; //每一页的起始位置
@ -74,6 +86,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
start = 1; //但是理论上page和limit是由table表格生成的参数
try {
//分页查询订单信息
return dao.query(start, limit);
} catch (SQLException e) {
System.out.println(e.getErrorCode() + e.getMessage());
@ -81,9 +94,11 @@ public class OrderInfoServiceImpl implements OrderInfoService {
}
}
//查询订单信息数量
@Override
public int queryOrderInfoNum() {
try {
//查询订单信息数量
return dao.queryDataNum();
} catch (SQLException e) {
System.out.println(e.getErrorCode() + e.getMessage());
@ -91,6 +106,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
}
}
//根据条件查询订单信息
@Override
public ArrayList queryOrder(int make, String select) {
@ -105,6 +121,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
}
try {
//根据条件查询订单信息
return dao.queryOrder(make, select);
} catch (SQLException e) {
System.out.println(e.getErrorCode() + e.getMessage());
@ -112,12 +129,14 @@ public class OrderInfoServiceImpl implements OrderInfoService {
}
}
//查询订单信息是否重复
@Override
public int queryRepeat(String newName, String oldName) {
OrderInfo orderInfoQuery = new OrderInfo();
orderInfoQuery.setOrderId(newName);
OrderInfo orderInfo;
try {
//查询订单信息
orderInfo = (OrderInfo) dao.query(orderInfoQuery);
if (!orderInfo.isNull()) {
if (orderInfo.getOrderId().equals(oldName))

@ -34,7 +34,6 @@ public class InsertRoomTypeServlet extends HttpServlet {
Gson gson = new Gson();
RoomType roomType = gson.fromJson(json, RoomType.class);
//主键ID没有想好暂时就用时间吧
Date day = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyMMddHHmmss");
roomType.setTypeId("RT" + df.format(day));

@ -19,6 +19,7 @@ public class QueryRoomTypeNameServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 设置请求和响应的编码格式
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
@ -26,6 +27,7 @@ public class QueryRoomTypeNameServlet extends HttpServlet {
// 调用service
RoomTypeService service = new RoomTypeServiceImpl();
// 获取请求参数
String newName = request.getParameter("new"); //获得姓名
String oldName = request.getParameter("old");

@ -13,22 +13,31 @@ import java.util.ArrayList;
@WebServlet(name = "RoomInfoExcelServlet", value = "/RoomInfoExcelServlet")
public class RoomInfoExcelServlet extends HttpServlet {
// 处理POST请求
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
this.doGet(request, response);
}
// 处理GET请求
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
// 创建RoomTypeService实例
RoomTypeService service = new RoomTypeServiceImpl();
// 定义一个RoomType类型的ArrayList
ArrayList<RoomType> infoArrayList = null;
// 调用service的query方法查询房间类型信息
infoArrayList = service.query(1, service.queryRoomTypeNum());
// 定义Excel表头
String[] headers = {"类型编号", "类型名称", "价格", "拼房价格", "可超预定数", "是否可拼房"};
// 定义Excel文件名
String fileName = "房间类型信息";
// 创建ExportExcel实例
ExportExcel<RoomType> ee = new ExportExcel<>();
// 调用exportExcel方法导出Excel文件
ee.exportExcel(headers, infoArrayList, fileName, response);
}
}

@ -14,10 +14,7 @@ import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
/**
*
* make 0 1 2 3 4
*/
@WebServlet(name = "RoomTypeServlet", value = "/RoomTypeServlet")
public class RoomTypeServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {

@ -1,5 +1,5 @@
package com.inks.hb.roomtype.controller;
//
import com.google.gson.Gson;
import com.inks.hb.roomtype.service.RoomTypeService;
import com.inks.hb.roomtype.service.RoomTypeServiceImpl;

@ -10,11 +10,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
/**
* DAO
* public RoomType queryName(String typeName) throws SQLException
*
*/
public class RoomTypeDao implements CommonDao {
@Override

@ -1,11 +1,6 @@
package com.inks.hb.roomtype.pojo;
/**
* 2017.11.23 --------
* isNullsetNullisNull
*
* ------------
*/
public class RoomType {
private String typeId; //类型编号

@ -4,10 +4,6 @@ import com.inks.hb.roomtype.pojo.RoomType;
import java.util.ArrayList;
/**
*
* SQL-1
*/
public interface RoomTypeService {
//增添

@ -13,55 +13,75 @@ import java.util.ArrayList;
*/
public class RoomTypeServiceImpl implements RoomTypeService {
// 实例化RoomTypeDao对象
private RoomTypeDao dao = new RoomTypeDao();
@Override
public int insertRoomType(RoomType roomType) {
try {
// 获取房间类型名称
String name = roomType.getTypeName();
// 查询房间类型名称是否重复
if (queryRepeat(name, name) != 1)
return 0;
// 插入房间类型数据
dao.insertData(roomType);
} catch (SQLException e) {
// 打印异常信息
System.out.println(e.getErrorCode() + e.getMessage());
// 返回-1表示插入失败
return -1;
}
// 返回1表示插入成功
return 1;
}
@Override
public int deleteRoomType(String typeId) {
// 创建一个RoomType对象
RoomType roomType = new RoomType();
// 设置RoomType对象的typeId属性
roomType.setTypeId(typeId);
try {
// 调用dao的deleteData方法删除RoomType对象
dao.deleteData(roomType);
} catch (SQLException e) {
// 如果发生SQLException异常打印异常信息
System.out.println(e.getErrorCode() + e.getMessage());
// 返回-1表示删除失败
return -1;
}
// 返回1表示删除成功
return 1;
}
@Override
public int updateRoomType(RoomType roomType) {
try {
// 调用dao的updateData方法更新RoomType对象
dao.updateData(roomType);
} catch (SQLException e) {
// 如果发生SQLException异常打印异常信息
System.out.println(e.getErrorCode() + e.getMessage());
// 返回-1表示更新失败
return -1;
}
// 返回1表示更新成功
return 1;
}
@Override
public RoomType query(String typeId) {
//根据typeId查询RoomType
RoomType roomType = new RoomType();
roomType.setTypeId(typeId);
try {
//调用dao的query方法查询RoomType
return (RoomType) dao.query(roomType);
} catch (SQLException e) {
//捕获异常并打印错误信息
System.out.println(e.getErrorCode() + e.getMessage());
return null;
}
@ -69,14 +89,17 @@ public class RoomTypeServiceImpl implements RoomTypeService {
@Override
public ArrayList query(int page, int limit) {
//根据page和limit查询RoomType
int start = (page * limit) - limit + 1; //每一页的起始位置
if (start < 1) //小于1的话会触发一个错误
start = 1; //但是理论上page和limit是由table表格生成的参数
try {
//调用dao的query方法查询RoomType
return dao.query(start, limit);
} catch (SQLException e) {
//捕获异常并打印错误信息
System.out.println(e.getErrorCode() + e.getMessage());
return null;
}
@ -86,8 +109,10 @@ public class RoomTypeServiceImpl implements RoomTypeService {
public int queryRoomTypeNum() {
try {
//查询数据库中房间类型的数量
return dao.queryDataNum();
} catch (SQLException e) {
//打印错误信息
System.out.println(e.getErrorCode() + e.getMessage());
return -1;
}
@ -98,14 +123,19 @@ public class RoomTypeServiceImpl implements RoomTypeService {
RoomType roomType;
try {
//查询数据库中是否存在与newName相同的房间类型
roomType = dao.queryName(newName);
if (!roomType.isNull()) {//表示存在同名项
//如果newName与oldName相同则返回2
if (roomType.getTypeName().equals(oldName))
return 2; //表示存在同名项,但是是与传递来的相同
//如果newName与oldName不同则返回0
return 0;
} else
//如果数据库中不存在与newName相同的房间类型则返回1
return 1;
} catch (SQLException e) {
//打印错误信息
System.out.println(e.getErrorCode() + e.getMessage());
return -1;
}

Loading…
Cancel
Save