无关风月
2024-09-09 3181665e09951878a0b4c356df4917c3776c95e2
代码提交
7个文件已修改
1个文件已添加
128 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/ChargingListQuery.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/AccountListVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillListVO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/export/TParkingRecordExport.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/ChargingListQuery.java
@@ -1,6 +1,7 @@
package com.ruoyi.order.api.model;
import com.ruoyi.common.core.web.page.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/AccountListVO.java
@@ -14,15 +14,17 @@
@ApiModel(value = "ChargingBillListVO对象",description = "充电算帐单列表VO")
public class AccountListVO{
    @ApiModelProperty(value = "账单数量")
    private String billCount;
    private Integer billCount;
    @ApiModelProperty(value = "总入账金额")
    private BigDecimal totalAmount;
    @ApiModelProperty(value = "总支付结算金额")
    private BigDecimal paymentAmount;
    @ApiModelProperty(value = "总退款结算金额")
    private BigDecimal orderAmount;
    private BigDecimal refundAmount;
    @ApiModelProperty(value = "平台手续费")
    private BigDecimal commissionAmount;
    @ApiModelProperty(value = "分佣")
    private BigDecimal sharingAmount;
    @ApiModelProperty(value = "列表数据")
    private PageInfo<ChargingBillListVO> list;
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillListVO.java
@@ -34,7 +34,6 @@
    private BigDecimal serviceCharge;
    @ApiModelProperty(value = "平台手续费")
    private BigDecimal commissionAmount;
    @ApiModelProperty(value = "充电电流 度")
    private BigDecimal chargingCapacity;
}
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillVO.java
@@ -18,6 +18,8 @@
    private BigDecimal paymentAmount;
    @ApiModelProperty(value = "订单总金额")
    private BigDecimal orderAmount;
    @ApiModelProperty(value = "总退款金额")
    private BigDecimal refundAmount;
    @ApiModelProperty(value = "累计电费")
    private BigDecimal electrovalence;
    @ApiModelProperty(value = "累计服务费")
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
@@ -1,6 +1,8 @@
package com.ruoyi.chargingPile.controller;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.chargingPile.api.model.TParkingLot;
@@ -10,15 +12,30 @@
import com.ruoyi.chargingPile.api.vo.TParkingRecordPageInfoVO;
import com.ruoyi.chargingPile.api.vo.TParkingRecordVO;
import com.ruoyi.chargingPile.dto.ParkingRecordPageQuery;
import com.ruoyi.chargingPile.export.TParkingRecordExport;
import com.ruoyi.chargingPile.service.TParkingLotService;
import com.ruoyi.chargingPile.service.TParkingRecordService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.WebUtils;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.order.api.query.TOrderInvoiceQuery;
import com.ruoyi.order.api.vo.TOrderInvoiceVO;
import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
 * <p>
@@ -58,7 +75,50 @@
    public R<TParkingRecordPageInfoVO> pageList(@RequestBody ParkingRecordQuery query) {
        return R.ok(parkingRecordService.pageList(query));
    }
    @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "导出")
    @PutMapping("/export")
    public void export(@RequestBody ParkingRecordQuery query)
    {
        List<TParkingRecordVO> records = parkingRecordService.pageList(query).getParkingRecordVOS().getRecords();
        List<TParkingRecordExport> orderInvoiceExports = new ArrayList<>();
        for (TParkingRecordVO orderInvoiceVO : records) {
            TParkingRecordExport orderInvoiceExport = new TParkingRecordExport();
            BeanUtils.copyProperties(orderInvoiceVO,orderInvoiceExport);
            if (orderInvoiceVO.getFreeDuration()!=null){
                orderInvoiceExport.setParkingDuration(orderInvoiceVO.getParkingDuration()-orderInvoiceVO.getFreeDuration());
            }else{
                orderInvoiceExport.setParkingDuration(orderInvoiceVO.getParkingDuration());
            }
            if (orderInvoiceVO.getTimeoutAmount()!=null){
                orderInvoiceExport.setAmount(orderInvoiceVO.getOrderAmount().subtract(orderInvoiceVO.getTimeoutAmount()));
            }else{
                orderInvoiceExport.setAmount(orderInvoiceVO.getOrderAmount());
            }
            orderInvoiceExports.add(orderInvoiceExport);
        }
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TParkingRecordExport.class, orderInvoiceExports);
        HttpServletResponse response = WebUtils.response();
        response.setContentType("application/vnd.ms-excel");
        response.setCharacterEncoding("utf-8");
        ServletOutputStream outputStream = null;
        try {
            String fileName = URLEncoder.encode("停车记录.xls", "utf-8");
            response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
            response.setContentType("application/vnd.ms-excel;charset=UTF-8");
            response.setHeader("Pragma", "no-cache");
            response.setHeader("Cache-Control", "no-cache");
            outputStream = response.getOutputStream();
            workbook.write(outputStream);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                outputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "详情")
    @GetMapping(value = "/detail")
    public R<TParkingRecord> detail(Long id) {
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/export/TParkingRecordExport.java
New file
@@ -0,0 +1,41 @@
package com.ruoyi.chargingPile.export;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@ApiModel(value = "导出充电算帐单-导出")
public class TParkingRecordExport implements Serializable {
    @Excel(name = "账单编号",width = 30)
    private String code;
    @Excel(name  = "站点名称",width = 30)
    private String siteName;
    @Excel(name  = "出场时间",width = 30)
    private String outParkingTime;
    @Excel(name  = "进场时间",width = 30)
    private String inParkingTime;
    @Excel(name = "车牌号",width = 30)
    private String licensePlate;
    @Excel(name = "车辆颜色",width = 30)
    private String vehicleColor;
    @Excel(name  = "总费用",width = 30)
    private BigDecimal orderAmount;
    @Excel(name  = "超时占位费",width = 30)
    private BigDecimal timeoutAmount;
    @Excel(name  = "停车费",width = 30)
    private BigDecimal amount;
    @Excel(name  = "免费时长(分钟)",width = 30)
    private Integer freeDuration;
    @Excel(name  = "停车总时长(分钟)",width = 30)
    private Integer parkingDuration;
    @Excel(name  = "收费时长(分钟)",width = 30)
    private Integer payDuration;
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
@@ -72,6 +72,17 @@
    public R<AccountListVO> accountBillList(@RequestBody ChargingListQuery dto) {
        AccountListVO accountListVO = new AccountListVO();
        ChargingBillVO res = chargingBillService.chargingBillList(dto);
        dto.setPageCurr(1);
        dto.setPageSize(99999999);
        ChargingBillVO res1 = chargingBillService.chargingBillList(dto);
        List<ChargingBillListVO> records = res1.getList().getRecords();
        accountListVO.setBillCount(records.size());
        accountListVO.setTotalAmount(res1.getPaymentAmount().subtract(res1.getRefundAmount()).subtract(res1.getCommissionAmount()).subtract(res1.getSharingAmount()));
        accountListVO.setPaymentAmount(res1.getPaymentAmount());
        accountListVO.setRefundAmount(res1.getRefundAmount());
        accountListVO.setCommissionAmount(res1.getCommissionAmount());
        accountListVO.setSharingAmount(res1.getSharingAmount());
        accountListVO.setList(res.getList());
        return R.ok(accountListVO);
    }
    @PostMapping(value = "/chargingBillList")
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
@@ -80,6 +80,7 @@
        BigDecimal sharingAmountTotal = new BigDecimal("0");
        BigDecimal chargingCapacityTotal = new BigDecimal("0");
        BigDecimal discountTotal = new BigDecimal("0");
        BigDecimal refundAmount = new BigDecimal("0");
        int orderCount = 0;
        for (ChargingBillListVO chargingBillListVO : list) {
            String temp = "";
@@ -243,6 +244,9 @@
                electrovalence = electrovalence.add(tChargingOrder.getElectrovalence());
                electrovalenceTotal = electrovalenceTotal.add(tChargingOrder.getElectrovalence());
                }
                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus() == 2){
                    refundAmount = refundAmount.add(tChargingOrder.getRefundAmount());
                }
                // 累加累计服务费
                if (tChargingOrder.getServiceCharge()!=null){
                serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge());