这些代码不知道什么意思,初学者。

public Map list(HttpServletRequest request) {
PageInfo pageInfo = WebUtils.newPageInfo(request);
WaybillInfo waybillInfo = WebUtils.newObject(WaybillInfo.class,
"waybill", request);

    UserInfo userInfo = UserInfo.get();
    waybillInfo.setOwner(userInfo.getUserNo());
    List<String> roleList = roleUserMapper.queryList(userInfo.getUserNo());
    waybillInfo.setRoleList(roleList);

    List<WaybillInfo> waybillList = waybillMapper.list(waybillInfo,
            pageInfo);
    List<WaybillInfo> footerList = new ArrayList<WaybillInfo>();
    // 总运费 汇总 求余
    double sumttlfee = 0;
    double avettlfee = 0;

    // 申请金额 汇总 求余
    double sumappfncamt = 0;
    double aveappfncamt = 0;
    for (int i = 0; i < waybillList.size(); i++) {
        sumttlfee += Double.parseDouble(waybillList.get(i).getTtlfee());
        sumappfncamt += Double.parseDouble(waybillList.get(i)
                .getAppfncamt());
    }
    avettlfee = sumttlfee / waybillList.size();
    aveappfncamt = sumappfncamt / waybillList.size();

    WaybillInfo waybillInfo2 = new WaybillInfo();
    // 平均值
    waybillInfo2.setTtlfee(String.format("%.2f", avettlfee));
    waybillInfo2.setAppfncamt(String.format("%.2f", aveappfncamt));
    waybillInfo2.setMile("平均价格:");
    // 总和
    WaybillInfo waybillInfo3 = new WaybillInfo();
    waybillInfo3.setTtlfee(String.format("%.2f", sumttlfee));
    waybillInfo3.setAppfncamt(String.format("%.2f", sumappfncamt));
    waybillInfo3.setMile("总价格:");

    footerList.add(waybillInfo2);
    footerList.add(waybillInfo3);

    // 返回结果
    Map<String, Object> result = new HashMap<String, Object>();
    result.put("rows", waybillList);
    result.put("total", pageInfo.getTotalCount());
    result.put("footer", footerList);
    return result;
}

//拿到分页的东西
PageInfo pageInfo = WebUtils.newPageInfo(request);
// 应该支付对象
WaybillInfo waybillInfo = WebUtils.newObject(WaybillInfo.class,
"waybill", request);
// 用户信息
UserInfo userInfo = UserInfo.get();
// 设置用户的编号
waybillInfo.setOwner(userInfo.getUserNo());
// 根据用户的编码拿到用户的角色
List roleList = roleUserMapper.queryList(userInfo.getUserNo());
// 支付设置用户的角色
waybillInfo.setRoleList(roleList);
// 根据支付账号的信息,分页的分页拿到支付的集合
List waybillList = waybillMapper.list(waybillInfo,
pageInfo);

    // 总运费 汇总 求余
    double sumttlfee = 0;
    double avettlfee = 0;

    // 申请金额 汇总 求余
    double sumappfncamt = 0;
    double aveappfncamt = 0;
    // 根据每条支付信息的费用拿到总运费 以及申请金额
    for (int i = 0; i < waybillList.size(); i++) {
        sumttlfee += Double.parseDouble(waybillList.get(i).getTtlfee());
        sumappfncamt += Double.parseDouble(waybillList.get(i)
                .getAppfncamt());
    }
    // 平均每条运费=总运费/所有的支付条数
    avettlfee = sumttlfee / waybillList.size();
    // 平均每条申请金额=总运费/所有的支付条数
    aveappfncamt = sumappfncamt / waybillList.size();

    // /新建 对象 放求的数据
    WaybillInfo waybillInfo2 = new WaybillInfo();
    // 平均值
    waybillInfo2.setTtlfee(String.format("%.2f", avettlfee));
    waybillInfo2.setAppfncamt(String.format("%.2f", aveappfncamt));
    waybillInfo2.setMile("平均价格:");
    // 总和
    WaybillInfo waybillInfo3 = new WaybillInfo();
    waybillInfo3.setTtlfee(String.format("%.2f", sumttlfee));
    waybillInfo3.setAppfncamt(String.format("%.2f", sumappfncamt));
    waybillInfo3.setMile("总价格:");

    // 把刚才整的对象放到这个集合中
    List<WaybillInfo> footerList = new ArrayList<WaybillInfo>();

    footerList.add(waybillInfo2);
    footerList.add(waybillInfo3);

    // 返回结果
    Map<String, Object> result = new HashMap<String, Object>();
    result.put("rows", waybillList);
    result.put("total", pageInfo.getTotalCount());
    result.put("footer", footerList);
    return result;