Cui Zhi Feng
2024-08-23 2822a346324bd5689e6d86f7e318e89c3936cb53
售后状态数量
已修改5个文件
120 ■■■■■ 文件已修改
src/main/java/com/mzl/flower/mapper/payment/OrderItemSalesMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/web/customer/SalesCustomerController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/web/payment/SalesController.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/payment/OrderItemSalesMapper.xml 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/mapper/payment/OrderItemSalesMapper.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mzl.flower.dto.request.payment.OrderItemSalesQueryDTO;
import com.mzl.flower.dto.response.payment.OrderItemSalesNewListDTO;
import com.mzl.flower.dto.response.payment.OrderStatusCountDTO;
import com.mzl.flower.entity.payment.OrderItemSales;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -17,4 +18,6 @@
    Integer getSupplierSalesCount(@Param("supplierId") Long supplierId);
    Integer getPartnerSalesCount(@Param("partnerId") Long partnerId);
    List<OrderStatusCountDTO> getSalesStatusCount(@Param("condition") OrderItemSalesQueryDTO dto);
}
src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java
@@ -9,11 +9,14 @@
import com.mzl.flower.dto.request.payment.*;
import com.mzl.flower.dto.response.payment.OrderItemSalesNewDTO;
import com.mzl.flower.dto.response.payment.OrderItemSalesNewListDTO;
import com.mzl.flower.dto.response.payment.OrderStatusCountDTO;
import com.mzl.flower.dto.response.system.CodeValueDTO;
import com.mzl.flower.entity.payment.*;
import com.mzl.flower.entity.supplier.Station;
import com.mzl.flower.mapper.payment.*;
import com.mzl.flower.mapper.supplier.StationMapper;
import com.mzl.flower.service.BaseService;
import com.mzl.flower.service.system.CodeService;
import com.mzl.flower.utils.UUIDGenerator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@@ -23,7 +26,10 @@
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Service
@@ -47,6 +53,9 @@
    @Autowired
    private StationMapper stationMapper;
    @Autowired
    private CodeService codeService;
    public String createSales(OrderItemSalesCreateDTO dto){
        Integer num = dto.getNum();
@@ -126,6 +135,35 @@
        orderItemSalesMapper.updateById(s);
    }
    public List<OrderStatusCountDTO> getSalesStatusCount(OrderItemSalesQueryDTO dto) {
        dto.setOrderStartDate(parseLocalDateTime(dto.getOrderStartDateStr()));
        dto.setOrderEndDate(parseLocalDateTime(dto.getOrderEndDateStr()));
        dto.setSalesStartDate(parseLocalDateTime(dto.getSalesStartDateStr()));
        dto.setSalesEndDate(parseLocalDateTime(dto.getSalesEndDateStr()));
        List<CodeValueDTO> ls = codeService.searchValue("ORDER_SALES_STATUS");
        List<OrderStatusCountDTO> ll = orderItemSalesMapper.getSalesStatusCount(dto);
        Map<String, Integer> llMap = new HashMap<>();
        if (ll != null && ll.size() > 0) {
            for (OrderStatusCountDTO c : ll) {
                llMap.put(c.getValue(), c.getOrderCount());
            }
        }
        List<OrderStatusCountDTO> rr = new ArrayList<>();
        for (CodeValueDTO c : ls) {
            OrderStatusCountDTO r = new OrderStatusCountDTO();
            r.setValue(c.getValue());
            r.setLabel(c.getLabel());
            Integer count = llMap.get(r.getValue());
            r.setOrderCount(count == null ? 0 : count);
            rr.add(r);
        }
        return rr;
    }
    public Page<OrderItemSalesNewListDTO> selectSalesList(Page page, OrderItemSalesQueryDTO dto){
        dto.setOrderStartDate(parseLocalDateTime(dto.getOrderStartDateStr()));
        dto.setOrderEndDate(parseLocalDateTime(dto.getOrderEndDateStr()));
src/main/java/com/mzl/flower/web/customer/SalesCustomerController.java
@@ -59,7 +59,7 @@
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "售后id", required = true, dataType = "String", paramType = "query")
    })
    public ResponseEntity<ReturnDataDTO<OrderSalesDTO>> cancelSales(String id){
    public ResponseEntity<ReturnDataDTO<?>> cancelSales(String id){
        salesService.cancelSales(id);
        return returnData(R.SUCCESS.getCode(), null);
    }
src/main/java/com/mzl/flower/web/payment/SalesController.java
@@ -8,7 +8,8 @@
import com.mzl.flower.constant.Constants;
import com.mzl.flower.dto.request.payment.*;
import com.mzl.flower.dto.response.payment.OrderItemSalesNewDTO;
import com.mzl.flower.dto.response.payment.OrderSalesListDTO;
import com.mzl.flower.dto.response.payment.OrderItemSalesNewListDTO;
import com.mzl.flower.dto.response.payment.OrderStatusCountDTO;
import com.mzl.flower.entity.payment.OrderItem;
import com.mzl.flower.service.payment.OrderItemSalesService;
import com.mzl.flower.service.payment.OrderItemSettlementService;
@@ -21,6 +22,8 @@
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/api/sales")
@@ -35,9 +38,15 @@
    @Autowired
    private OrderItemSettlementService orderItemSettlementService;
    @GetMapping("/status/count")
    @ApiOperation(value = "获取状态数量")
    public ResponseEntity<ReturnDataDTO<List<OrderStatusCountDTO>>> getSalesStatusCount(OrderItemSalesQueryDTO dto){
        return returnData(R.SUCCESS.getCode(), salesService.getSalesStatusCount(dto));
    }
    @GetMapping("/list")
    @ApiOperation(value = "查询售后列表")
    public ResponseEntity<ReturnDataDTO<Page<OrderSalesListDTO>>> selectSalesList(Page page
    public ResponseEntity<ReturnDataDTO<Page<OrderItemSalesNewListDTO>>> selectSalesList(Page page
            , OrderItemSalesQueryDTO dto){
        return returnData(R.SUCCESS.getCode(), salesService.selectSalesList(page, dto));
    }
src/main/resources/mapper/payment/OrderItemSalesMapper.xml
@@ -2,6 +2,70 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.mzl.flower.mapper.payment.OrderItemSalesMapper">
    <select id="getSalesStatusCount" resultType="com.mzl.flower.dto.response.payment.OrderStatusCountDTO">
        SELECT si.status value, count(1) orderCount
        FROM t_order_item_sales si
        join t_order_item oi on oi.id = si.order_item_id
        join t_order o on si.order_id = o.id
        WHERE oi.deleted = 0
        <if test="condition.orderId != null and condition.orderId != ''">
            AND si.order_id = #{condition.orderId}
        </if>
        <if test="condition.flowerName != null and condition.flowerName != ''">
            AND oi.flower_name LIKE concat('%', #{condition.flowerName},'%')
        </if>
        <if test="condition.orderNo != null and condition.orderNo != ''">
            AND o.order_no LIKE concat('%', #{condition.orderNo},'%')
        </if>
        <if test="condition.salesNo != null and condition.salesNo != ''">
            AND si.sales_no LIKE concat('%', #{condition.salesNo},'%')
        </if>
        <if test="condition.customer != null and condition.customer != ''">
            AND o.customer LIKE concat('%', #{condition.customer},'%')
        </if>
        <if test="condition.customerTel != null and condition.customerTel != ''">
            AND o.customer_tel LIKE concat('%', #{condition.customerTel},'%')
        </if>
        <if test="condition.supplierName != null and condition.supplierName != ''">
            AND oi.supplier_name LIKE concat('%', #{condition.supplierName},'%')
        </if>
        <if test="condition.orderStartDate != null">
            AND oi.create_time &gt;= #{condition.createStartDate}
        </if>
        <if test="condition.orderEndDate != null">
            AND oi.create_time &lt;= #{condition.createEndDate}
        </if>
        <if test="condition.salesStartDate != null">
            AND si.create_time &gt;= #{condition.createStartDate}
        </if>
        <if test="condition.salesEndDate != null">
            AND si.create_time &lt;= #{condition.createEndDate}
        </if>
        <if test="condition.status != null and condition.status != ''">
            AND si.status = #{condition.status}
        </if>
        <if test="condition.createBy != null and condition.createBy != ''">
            AND si.create_by = #{condition.createBy}
        </if>
        <if test="condition.partnerId != null">
            AND o.partner_id = #{condition.partnerId}
        </if>
        <if test="condition.supplierId != null">
            AND oi.supplier_id = #{condition.supplierId}
        </if>
        GROUP BY si.status
    </select>
    <select id="selectItemSalesList" resultType="com.mzl.flower.dto.response.payment.OrderItemSalesNewListDTO">
        SELECT si.id, s.name stationName, oi.flower_name, oi.flower_unit, oi.flower_color, oi.flower_cover
            , oi.flower_level, oi.flower_category, o.customer, o.customer_tel, o.customer_province, o.customer_city