|
|
|
@ -1,58 +1,67 @@
|
|
|
|
|
package com.cn.servlet;
|
|
|
|
|
package com.cn.servlet; // 定义Servlet所在的包名
|
|
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.io.IOException; // 导入IOException,用于处理输入输出异常
|
|
|
|
|
import java.util.ArrayList; // 导入ArrayList,用于创建动态数组
|
|
|
|
|
import java.util.List; // 导入List接口,用于操作列表集合
|
|
|
|
|
|
|
|
|
|
import javax.servlet.ServletException;
|
|
|
|
|
import javax.servlet.http.HttpServlet;
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
import javax.servlet.ServletException; // 导入ServletException,用于处理Servlet运行时的异常
|
|
|
|
|
import javax.servlet.http.HttpServlet; // 导入HttpServlet,是所有HTTP servlet的父类
|
|
|
|
|
import javax.servlet.http.HttpServletRequest; // 导入HttpServletRequest,代表客户端的请求信息
|
|
|
|
|
import javax.servlet.http.HttpServletResponse; // 导入HttpServletResponse,代表服务器对客户端的响应信息
|
|
|
|
|
|
|
|
|
|
import com.cn.domain.Prep;
|
|
|
|
|
import com.cn.service.PrepService;
|
|
|
|
|
import com.cn.service.impl.PrepServiceImpl;
|
|
|
|
|
import com.cn.domain.Prep; // 导入Prep类,该类定义了订单的数据结构
|
|
|
|
|
import com.cn.service.PrepService; // 导入PrepService接口,该接口定义了订单服务的方法
|
|
|
|
|
import com.cn.service.impl.PrepServiceImpl; // 导入PrepService接口的实现类,用于具体的订单业务操作
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* @ClassName: CountPrepServlet
|
|
|
|
|
* @Description: 管理来员 销售统计
|
|
|
|
|
* @author: ljy
|
|
|
|
|
* @date: 2019年11月16日 下午4:38:07
|
|
|
|
|
* CountPrepServlet类,用于处理管理员销售统计的请求。
|
|
|
|
|
* @ClassName: CountPrepServlet 类名:CountPrepServlet
|
|
|
|
|
* @Description: 管理员销售统计
|
|
|
|
|
* @author: ljy Servlet的作者
|
|
|
|
|
* @date: 2019年11月16日 下午4:38:07 Servlet创建的日期和时间
|
|
|
|
|
*/
|
|
|
|
|
public class CountPrepServlet extends HttpServlet {
|
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
|
|
|
|
|
|
private PrepService prepService = new PrepServiceImpl();
|
|
|
|
|
private static final long serialVersionUID = 1L; // 用于序列化
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* prepService成员变量,用于访问订单数据。
|
|
|
|
|
*/
|
|
|
|
|
private PrepService prepService = new PrepServiceImpl(); // 注入PrepService实现类
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 处理GET请求的方法,用于展示销售统计信息。
|
|
|
|
|
* @param request HttpServletRequest对象,包含客户端的请求信息
|
|
|
|
|
* @param response HttpServletResponse对象,包含服务器对客户端的响应信息
|
|
|
|
|
* @throws ServletException 抛出Servlet异常
|
|
|
|
|
* @throws IOException 抛出输入输出异常
|
|
|
|
|
*/
|
|
|
|
|
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
|
|
|
|
|
|
|
|
|
// 所有订单
|
|
|
|
|
List<Prep> list = prepService.getAll();
|
|
|
|
|
// 已付款的订单
|
|
|
|
|
List<Prep> preps = new ArrayList<Prep>();
|
|
|
|
|
// 获取所有订单信息
|
|
|
|
|
List<Prep> list = prepService.getAll(); // 调用PrepService的getAll方法获取所有订单
|
|
|
|
|
// 创建已付款订单列表
|
|
|
|
|
List<Prep> preps = new ArrayList<Prep>(); // 使用ArrayList存储已付款订单
|
|
|
|
|
|
|
|
|
|
// 遍历所有订单,筛选出已付款的订单
|
|
|
|
|
for(Prep prep : list) {
|
|
|
|
|
if(prep.isWay()) {
|
|
|
|
|
preps.add(prep);
|
|
|
|
|
if(prep.isWay()) { // 如果订单已付款(prep.isWay()返回true)
|
|
|
|
|
preps.add(prep); // 将已付款订单添加到列表中
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 统计
|
|
|
|
|
Integer prepNumber = preps.size(); // 有效订单数
|
|
|
|
|
Integer prepPrice = 0; // 总销售额
|
|
|
|
|
// 统计已付款订单数和总销售额
|
|
|
|
|
Integer prepNumber = preps.size(); // 有效订单数,即已付款订单的数量
|
|
|
|
|
Integer prepPrice = 0; // 总销售额,初始化为0
|
|
|
|
|
for(Prep prep : preps) {
|
|
|
|
|
prepPrice += prep.getPrice();
|
|
|
|
|
prepPrice += prep.getPrice(); // 累加每个已付款订单的价格
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
request.setAttribute("prepNumber", prepNumber);
|
|
|
|
|
request.setAttribute("prepPrice", prepPrice);
|
|
|
|
|
// 将统计结果设置到请求中,以便在JSP页面中使用
|
|
|
|
|
request.setAttribute("prepNumber", prepNumber); // 设置有效订单数属性
|
|
|
|
|
request.setAttribute("prepPrice", prepPrice); // 设置总销售额属性
|
|
|
|
|
// 转发请求到销售统计页面
|
|
|
|
|
request.getRequestDispatcher("pages/admin/right/countPrep.jsp").forward(request, response);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|