package com.mzl.flower.web.v2.report; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mzl.flower.base.BaseController; import com.mzl.flower.base.R; import com.mzl.flower.base.ReturnDataDTO; import com.mzl.flower.dto.request.report.QueryOrderDTO; 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.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.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; /** * @author @TaoJie * @since 2024-09-25 */ @RestController @RequestMapping("/v2/report/order") @Api(value = "报表-订单", tags = "报表-订单") @Validated public class OrderReportController extends BaseController { @Autowired private OrderReportService orderReportService; @GetMapping("/sale/page") @ApiOperation(value = "查询-分页", notes = "查询-分页") public ResponseEntity>> 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> 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>> 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>> getPartnerPage( Page page,@Validated QueryPartnerOrderDTO dto ) { return returnData(R.SUCCESS.getCode(), orderReportService.getPartnerSalePage(page,dto)); } @GetMapping("/partner/sale/statis") @ApiOperation(value = "合伙人-查询-统计", notes = "合伙人-查询-统计") public ResponseEntity>> 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>> supplier(Page page, QuerySupplierDTO dto) { return returnData(R.SUCCESS.getCode(), orderReportService.getOrderSupplierPage(page, dto)); } @GetMapping("/supplier/count") @ApiOperation(value = "花农结算报表-统计", notes = "花农结算报表-统计") public ResponseEntity>> supplierCount(QuerySupplierDTO dto) { return returnData(R.SUCCESS.getCode(), orderReportService.getOrderSupplierClout(dto)); } @GetMapping({"/supplier/export"}) @ApiOperation(value = "花农结算报表导出") public void supplierExports(HttpServletResponse response, @Validated QuerySupplierDTO dto) { orderReportService.exportSupplierList(response, dto); } }