cloudroam
2024-10-11 56a7e539628f35d350532e8afcb51e39d9cd0cf9
src/main/java/com/mzl/flower/web/v2/report/OrderReportController.java
@@ -5,27 +5,22 @@
import com.mzl.flower.base.BaseController;
import com.mzl.flower.base.R;
import com.mzl.flower.base.ReturnDataDTO;
import com.mzl.flower.config.exception.ValidationException;
import com.mzl.flower.dto.request.coupon.CreateCouponRecordDTO;
import com.mzl.flower.dto.request.coupon.QueryCouponRecordDTO;
import com.mzl.flower.dto.request.report.QueryOrderDTO;
import com.mzl.flower.dto.response.coupon.CouponRecordResultVO;
import com.mzl.flower.dto.response.coupon.CouponRecordVO;
import com.mzl.flower.dto.request.report.QueryPartnerOrderDTO;
import com.mzl.flower.dto.request.report.QuerySupplierDTO;
import com.mzl.flower.dto.response.report.OrderDetailReportResultVO;
import com.mzl.flower.dto.response.report.OrderReportResultVO;
import com.mzl.flower.entity.coupon.CouponRecordDO;
import com.mzl.flower.entity.coupon.CouponTemplateDO;
import com.mzl.flower.enums.CouponStatusEnum;
import com.mzl.flower.service.coupon.CouponRecordService;
import com.mzl.flower.service.coupon.CouponTemplateService2;
import com.mzl.flower.dto.response.report.OrderSupplierReportResultVO;
import com.mzl.flower.service.report.OrderReportService;
import com.mzl.flower.utils.ConverterUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
/**
@@ -44,10 +39,80 @@
    @GetMapping("/sale/page")
    @ApiOperation(value = "查询-分页", notes = "查询-分页")
    public ResponseEntity<ReturnDataDTO<Page<CouponRecordVO>>> page(
            Page page, QueryOrderDTO dto
    public ResponseEntity<ReturnDataDTO<Page<OrderReportResultVO>>> page(
            Page page,@Validated QueryOrderDTO dto
    ) {
        return returnData(R.SUCCESS.getCode(), ConverterUtil.transPage(orderReportService.getSalePage(page,dto), OrderReportResultVO.class));
    }
    @GetMapping("/sale/statis")
    @ApiOperation(value = "统计", notes = "统计")
    public ResponseEntity<ReturnDataDTO<OrderReportResultVO>> statis(@Validated QueryOrderDTO dto
    ) {
        return returnData(R.SUCCESS.getCode(), ConverterUtil.transObject(orderReportService.getSaleStatis(dto), OrderReportResultVO.class));
    }
    @GetMapping({"/sale/export"})
    @ApiOperation(value = "报告列表导出")
    public void exportSales(HttpServletResponse response,@Validated QueryOrderDTO dto){
        orderReportService.exportSalesList(response, dto);
    }
    @GetMapping("/detail/page")
    @ApiOperation(value = "查询-分页", notes = "查询-分页")
    public ResponseEntity<ReturnDataDTO<Page<OrderDetailReportResultVO>>> detail(Page page, QueryOrderDTO dto) {
        return returnData(R.SUCCESS.getCode(), orderReportService.getOrderDetailPage(page, dto));
    }
    @GetMapping("/detail/export")
    @ApiOperation(value = "订单结算明细导出")
    public void exportOrderDetail(HttpServletResponse response, QueryOrderDTO queryOrderDTO) {
        orderReportService.exportOrderDetail(response, queryOrderDTO);
    }
    @GetMapping("/partner/sale/page")
    @ApiOperation(value = "合伙人-查询-分页", notes = "合伙人-查询-分页")
    public ResponseEntity<ReturnDataDTO<Page<OrderReportResultVO>>> getPartnerPage(
            Page page,@Validated QueryPartnerOrderDTO dto
    ) {
        return returnData(R.SUCCESS.getCode(), orderReportService.getPartnerSalePage(page,dto));
    }
    @GetMapping("/partner/sale/statis")
    @ApiOperation(value = "合伙人-查询-统计", notes = "合伙人-查询-统计")
    public ResponseEntity<ReturnDataDTO<Page<OrderReportResultVO>>> getPartnerPageStatis(@Validated QueryPartnerOrderDTO dto
    ) {
        return returnData(R.SUCCESS.getCode(), orderReportService.getPartnerSaleStatis(dto));
    }
    @GetMapping({"/partner/sale/export"})
    @ApiOperation(value = "合伙人报告列表导出")
    public void partnerExportSales(HttpServletResponse response,@Validated QueryPartnerOrderDTO dto){
        orderReportService.exportPartnerSalesList(response, dto);
    }
    /**
     * 花农结算报表
     */
    @GetMapping("/supplier/page")
    @ApiOperation(value = "花农结算报表-分页", notes = "花农结算报表-分页")
    public ResponseEntity<ReturnDataDTO<Page<OrderSupplierReportResultVO>>> supplier(Page page, QuerySupplierDTO dto) {
        return returnData(R.SUCCESS.getCode(), orderReportService.getOrderSupplierPage(page, dto));
    }
    @GetMapping("/supplier/count")
    @ApiOperation(value = "花农结算报表-统计", notes = "花农结算报表-统计")
    public ResponseEntity<ReturnDataDTO<Page<OrderSupplierReportResultVO>>> supplierCount(QuerySupplierDTO dto) {
        return returnData(R.SUCCESS.getCode(), orderReportService.getOrderSupplierClout(dto));
    }
    @GetMapping({"/supplier/export"})
    @ApiOperation(value = "花农结算报表导出")
    public void supplierExports(HttpServletResponse response, QuerySupplierDTO dto) {
        orderReportService.exportSupplierList(response, dto);
    }
}