From af77899d830e854d01b48bc12db04b02116e5ea4 Mon Sep 17 00:00:00 2001
From: gongzuming <gongzuming>
Date: 星期四, 26 九月 2024 16:04:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master-v2' into master-v2
---
src/main/java/com/mzl/flower/web/v2/report/OrderReportController.java | 53 ++++++++
src/main/java/com/mzl/flower/service/impl/CalendarServiceImpl.java | 15 ++
src/main/java/com/mzl/flower/service/report/OrderReportService.java | 9 +
src/main/java/com/mzl/flower/dto/response/report/OrderReportCalendarBO.java | 20 +++
src/main/java/com/mzl/flower/service/impl/report/OrderReportServiceImpl.java | 36 ++++++
src/main/resources/mapper/calendar/CalendarMapper.xml | 2
src/main/resources/mapper/calendar/CalendarMapperCustom.xml | 16 ++
src/main/java/com/mzl/flower/dto/response/report/OrderReportResultVO.java | 71 +++++++++++
src/main/java/com/mzl/flower/mapper/calendar/CalendarMapperCustom.java | 24 ++++
src/main/java/com/mzl/flower/dto/response/report/OrderReportStatisVO.java | 46 +++++++
src/main/java/com/mzl/flower/service/calendar/CalendarService.java | 7 +
src/main/java/com/mzl/flower/dto/request/report/QueryOrderDTO.java | 25 ++++
src/main/java/com/mzl/flower/mapper/calendar/CalendarMapper.java | 2
src/main/resources/mapper/payment/OrderItemSalesMapper.xml | 4
14 files changed, 325 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/mzl/flower/dto/request/report/QueryOrderDTO.java b/src/main/java/com/mzl/flower/dto/request/report/QueryOrderDTO.java
new file mode 100644
index 0000000..da07577
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/request/report/QueryOrderDTO.java
@@ -0,0 +1,25 @@
+package com.mzl.flower.dto.request.report;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDate;
+
+@Data
+public class QueryOrderDTO {
+
+ @ApiModelProperty(value = "开始时间")
+ @JsonFormat(pattern="yyyy-MM-dd" ,timezone="GMT+8")
+ @DateTimeFormat
+ private LocalDate startDate;
+
+ @ApiModelProperty(value = "结束时间")
+ @JsonFormat(pattern="yyyy-MM-dd" ,timezone="GMT+8")
+ @DateTimeFormat
+ private LocalDate endDate;
+
+ @ApiModelProperty(value = "合伙人id")
+ private Long partnerId;
+}
diff --git a/src/main/java/com/mzl/flower/dto/response/report/OrderReportCalendarBO.java b/src/main/java/com/mzl/flower/dto/response/report/OrderReportCalendarBO.java
new file mode 100644
index 0000000..f3dceda
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/response/report/OrderReportCalendarBO.java
@@ -0,0 +1,20 @@
+package com.mzl.flower.dto.response.report;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class OrderReportCalendarBO {
+
+ @ApiModelProperty("日期")
+ private LocalDateTime calDate;
+
+ @ApiModelProperty("订单的开始时间")
+ private LocalDateTime startDate;
+
+ @ApiModelProperty("订单的结束时间")
+ private LocalDateTime endDate;
+
+}
diff --git a/src/main/java/com/mzl/flower/dto/response/report/OrderReportResultVO.java b/src/main/java/com/mzl/flower/dto/response/report/OrderReportResultVO.java
new file mode 100644
index 0000000..50d3d8e
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/response/report/OrderReportResultVO.java
@@ -0,0 +1,71 @@
+package com.mzl.flower.dto.response.report;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class OrderReportResultVO {
+
+ @ApiModelProperty("下单日期")
+ private String orderDate;
+
+ @ApiModelProperty("销售额")
+ private BigDecimal saleFeeAmount;
+
+ @ApiModelProperty("花农底价")
+ private BigDecimal supplierFeeAmount;
+
+ @ApiModelProperty("平台区间加价")
+ private BigDecimal platformSectionFeeAmount;
+
+ @ApiModelProperty("平台加价")
+ private BigDecimal platformFeeAmount;
+
+ @ApiModelProperty("平台区域加价")
+ private BigDecimal platformAreaFeeAmount;
+
+ @ApiModelProperty("合伙人加价")
+ private BigDecimal partnerFeeAmount;
+
+ @ApiModelProperty("合伙人区间加价")
+ private BigDecimal partnerSectionFeeAmount;
+
+ @ApiModelProperty("会员折扣")
+ private BigDecimal memberDiscountFeeAmount;
+
+ @ApiModelProperty("优惠券")
+ private BigDecimal couponFeeAmount;
+
+ @ApiModelProperty("降级扣款")
+ private BigDecimal demotionFeeAmount;
+
+ @ApiModelProperty("缺货扣款")
+ private BigDecimal stockoutFeeAmount;
+
+ @ApiModelProperty("补货扣款")
+ private BigDecimal replenishmentFeeAmount;
+
+ @ApiModelProperty("售后扣合伙人款")
+ private BigDecimal afterSalePartnerFeeAmount;
+
+ @ApiModelProperty("售后扣花农款")
+ private BigDecimal afterSaleSupplierFeeAmount;
+
+ @ApiModelProperty("售后扣平台款")
+ private BigDecimal afterSalePlatformFeeAmount;
+
+ @ApiModelProperty("总包干费")
+ private BigDecimal partnerTotalFeeAmount;
+
+ @ApiModelProperty("销售扎数")
+ private Integer saleAmount;
+
+ @ApiModelProperty("利润")
+ private BigDecimal profitFeeAmount;
+
+ @ApiModelProperty("结算状态")
+ private String settleStatus;
+
+}
diff --git a/src/main/java/com/mzl/flower/dto/response/report/OrderReportStatisVO.java b/src/main/java/com/mzl/flower/dto/response/report/OrderReportStatisVO.java
new file mode 100644
index 0000000..3772a47
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/response/report/OrderReportStatisVO.java
@@ -0,0 +1,46 @@
+package com.mzl.flower.dto.response.report;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class OrderReportStatisVO {
+
+
+
+ @ApiModelProperty("销售合计")
+ private BigDecimal saleFeeAmount;
+
+ @ApiModelProperty("底价合计")
+ private BigDecimal supplierFeeAmount;
+
+ @ApiModelProperty("平台区间加价")
+ private BigDecimal platformSectionFeeAmount;
+
+ @ApiModelProperty("平台加价")
+ private BigDecimal platformFeeAmount;
+
+ @ApiModelProperty("平台区域加价")
+ private BigDecimal platformAreaFeeAmount;
+
+ @ApiModelProperty("合伙人加价")
+ private BigDecimal partnerFeeAmount;
+
+ @ApiModelProperty("质检扣款")
+ private BigDecimal qualityFeeAmount;
+
+ @ApiModelProperty("售后扣款")
+ private BigDecimal afterSaleFeeAmount;
+
+ @ApiModelProperty("优惠合计")
+ private BigDecimal discountFeeAmount;
+
+ @ApiModelProperty("总包干费")
+ private BigDecimal partnerTotalFeeAmount;
+
+ @ApiModelProperty("销售扎数")
+ private Integer saleAmount;
+
+}
diff --git a/src/main/java/com/mzl/flower/mapper/CalendarMapper.java b/src/main/java/com/mzl/flower/mapper/calendar/CalendarMapper.java
similarity index 86%
rename from src/main/java/com/mzl/flower/mapper/CalendarMapper.java
rename to src/main/java/com/mzl/flower/mapper/calendar/CalendarMapper.java
index 194b5c5..6b62c5d 100644
--- a/src/main/java/com/mzl/flower/mapper/CalendarMapper.java
+++ b/src/main/java/com/mzl/flower/mapper/calendar/CalendarMapper.java
@@ -1,4 +1,4 @@
-package com.mzl.flower.mapper;
+package com.mzl.flower.mapper.calendar;
import com.mzl.flower.entity.CalendarDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
diff --git a/src/main/java/com/mzl/flower/mapper/calendar/CalendarMapperCustom.java b/src/main/java/com/mzl/flower/mapper/calendar/CalendarMapperCustom.java
new file mode 100644
index 0000000..f4413dd
--- /dev/null
+++ b/src/main/java/com/mzl/flower/mapper/calendar/CalendarMapperCustom.java
@@ -0,0 +1,24 @@
+package com.mzl.flower.mapper.calendar;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.dto.request.report.QueryOrderDTO;
+import com.mzl.flower.dto.response.report.OrderReportCalendarBO;
+import com.mzl.flower.entity.CalendarDO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * Mapper 接口
+ * </p>
+ *
+ * @author @TaoJie
+ * @since 2024-09-12
+ */
+public interface CalendarMapperCustom extends BaseMapper<CalendarDO> {
+
+ List<OrderReportCalendarBO> getOrderDatePage(Page page,@Param("dto") QueryOrderDTO dto);
+
+}
diff --git a/src/main/java/com/mzl/flower/service/calendar/CalendarService.java b/src/main/java/com/mzl/flower/service/calendar/CalendarService.java
index 75e5df0..9ed024a 100644
--- a/src/main/java/com/mzl/flower/service/calendar/CalendarService.java
+++ b/src/main/java/com/mzl/flower/service/calendar/CalendarService.java
@@ -1,7 +1,12 @@
package com.mzl.flower.service.calendar;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.dto.request.report.QueryOrderDTO;
+import com.mzl.flower.dto.response.report.OrderReportCalendarBO;
import com.mzl.flower.entity.CalendarDO;
import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
/**
* <p>
@@ -14,4 +19,6 @@
public interface CalendarService extends IService<CalendarDO> {
void generateCalendar(int i);
+
+ List<OrderReportCalendarBO> getOrderDatePage(Page page, QueryOrderDTO dto);
}
diff --git a/src/main/java/com/mzl/flower/service/impl/CalendarServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/CalendarServiceImpl.java
index 4dc143f..879c6f2 100644
--- a/src/main/java/com/mzl/flower/service/impl/CalendarServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/impl/CalendarServiceImpl.java
@@ -2,10 +2,15 @@
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mzl.flower.dto.request.report.QueryOrderDTO;
+import com.mzl.flower.dto.response.report.OrderReportCalendarBO;
import com.mzl.flower.entity.CalendarDO;
-import com.mzl.flower.mapper.CalendarMapper;
+import com.mzl.flower.mapper.calendar.CalendarMapper;
+import com.mzl.flower.mapper.calendar.CalendarMapperCustom;
import com.mzl.flower.service.calendar.CalendarService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
@@ -22,6 +27,9 @@
*/
@Service
public class CalendarServiceImpl extends ServiceImpl<CalendarMapper, CalendarDO> implements CalendarService {
+
+ @Autowired
+ private CalendarMapperCustom calendarMapperCustom;
@Override
public void generateCalendar(int year) {
@@ -53,4 +61,9 @@
}
}
+
+ @Override
+ public List<OrderReportCalendarBO> getOrderDatePage(Page page, QueryOrderDTO dto) {
+ return calendarMapperCustom.getOrderDatePage(page,dto);
+ }
}
diff --git a/src/main/java/com/mzl/flower/service/impl/report/OrderReportServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/report/OrderReportServiceImpl.java
new file mode 100644
index 0000000..4532d67
--- /dev/null
+++ b/src/main/java/com/mzl/flower/service/impl/report/OrderReportServiceImpl.java
@@ -0,0 +1,36 @@
+package com.mzl.flower.service.impl.report;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.dto.request.report.QueryOrderDTO;
+import com.mzl.flower.dto.response.report.OrderReportCalendarBO;
+import com.mzl.flower.dto.response.report.OrderReportResultVO;
+import com.mzl.flower.service.calendar.CalendarService;
+import com.mzl.flower.service.report.OrderReportService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Calendar;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+public class OrderReportServiceImpl implements OrderReportService {
+
+ @Autowired
+ private CalendarService calendarService;
+
+ @Override
+ public Page<OrderReportResultVO> getSalePage(Page page, QueryOrderDTO dto) {
+
+ List<OrderReportCalendarBO> calendarBOList= calendarService.getOrderDatePage(page,dto);
+
+ final List<OrderReportResultVO> list = calendarBOList.stream().map(calendarBO -> {
+ OrderReportResultVO vo=new OrderReportResultVO();
+
+ return vo;
+ }).collect(Collectors.toList());
+
+ page.setRecords(list);
+ return page;
+ }
+}
diff --git a/src/main/java/com/mzl/flower/service/report/OrderReportService.java b/src/main/java/com/mzl/flower/service/report/OrderReportService.java
new file mode 100644
index 0000000..eab2c1f
--- /dev/null
+++ b/src/main/java/com/mzl/flower/service/report/OrderReportService.java
@@ -0,0 +1,9 @@
+package com.mzl.flower.service.report;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.dto.request.report.QueryOrderDTO;
+import com.mzl.flower.dto.response.report.OrderReportResultVO;
+
+public interface OrderReportService {
+ Page<OrderReportResultVO> getSalePage(Page page, QueryOrderDTO dto);
+}
diff --git a/src/main/java/com/mzl/flower/web/v2/report/OrderReportController.java b/src/main/java/com/mzl/flower/web/v2/report/OrderReportController.java
new file mode 100644
index 0000000..71ed3c6
--- /dev/null
+++ b/src/main/java/com/mzl/flower/web/v2/report/OrderReportController.java
@@ -0,0 +1,53 @@
+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.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.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.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.*;
+
+
+/**
+* @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<ReturnDataDTO<Page<CouponRecordVO>>> page(
+ Page page, QueryOrderDTO dto
+ ) {
+ return returnData(R.SUCCESS.getCode(), ConverterUtil.transPage(orderReportService.getSalePage(page,dto), OrderReportResultVO.class));
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/resources/mapper/calendar/CalendarMapper.xml b/src/main/resources/mapper/calendar/CalendarMapper.xml
index 723947b..1b0ae55 100644
--- a/src/main/resources/mapper/calendar/CalendarMapper.xml
+++ b/src/main/resources/mapper/calendar/CalendarMapper.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.mzl.flower.mapper.CalendarMapper">
+<mapper namespace="com.mzl.flower.mapper.calendar.CalendarMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.mzl.flower.entity.CalendarDO">
diff --git a/src/main/resources/mapper/calendar/CalendarMapperCustom.xml b/src/main/resources/mapper/calendar/CalendarMapperCustom.xml
new file mode 100644
index 0000000..85914ee
--- /dev/null
+++ b/src/main/resources/mapper/calendar/CalendarMapperCustom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mzl.flower.mapper.calendar.CalendarMapperCustom">
+
+
+ <select id="getOrderDatePage" resultType="com.mzl.flower.dto.response.report.OrderReportCalendarBO">
+ select cal_date,
+ DATE_FORMAT(DATE_SUB(cal_date, INTERVAL 1 DAY), '%Y-%m-%d 17:00:00') AS start_date ,
+ DATE_FORMAT(DATE_ADD(cal_date, INTERVAL 0 DAY), '%Y-%m-%d 17:00:00') AS end_date
+ from t_calendar where cal_date >= (
+ SELECT DATE_FORMAT(MIN(create_time), '%Y-%m-%d 00:00:00') AS min_create_time
+ FROM t_order
+ ) and cal_date <=DATE_FORMAT(NOW(), '%Y-%m-%d 00:00:00')
+ order by cal_date desc
+ </select>
+</mapper>
diff --git a/src/main/resources/mapper/payment/OrderItemSalesMapper.xml b/src/main/resources/mapper/payment/OrderItemSalesMapper.xml
index 6abf279..207a856 100644
--- a/src/main/resources/mapper/payment/OrderItemSalesMapper.xml
+++ b/src/main/resources/mapper/payment/OrderItemSalesMapper.xml
@@ -147,7 +147,7 @@
</select>
<select id="getSupplierSalesCount" resultType="java.lang.Integer">
- SELECT count(1)
+ SELECT count(distinct si.order_id)
FROM t_order_item_sales si
join t_order_item oi on oi.id = si.order_item_id
WHERE oi.deleted = 0
@@ -155,7 +155,7 @@
</select>
<select id="getPartnerSalesCount" resultType="java.lang.Integer">
- SELECT count(1)
+ SELECT count(distinct si.order_id)
FROM t_order_item_sales si
join t_order o on si.order_id = o.id
WHERE o.deleted = 0
--
Gitblit v1.9.3