陶杰
2025-01-08 ae1471f378f399f76518539ec8992e64a3673436
src/main/java/com/mzl/flower/mapper/payment/OrderMapper.java
@@ -3,14 +3,13 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mzl.flower.dto.request.payment.OrderQueryDTO;
import com.mzl.flower.dto.response.payment.OrderCheckListDTO;
import com.mzl.flower.dto.response.payment.OrderListDTO;
import com.mzl.flower.dto.response.payment.OrderStatusCountDTO;
import com.mzl.flower.dto.response.payment.SupplierNumDTO;
import com.mzl.flower.dto.response.payment.*;
import com.mzl.flower.entity.payment.Order;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@@ -36,4 +35,46 @@
    List<Order> getOrderForBill(@Param("startTime")LocalDateTime startTime
            , @Param("endTime")LocalDateTime endTime);
    Order getUserLastOrder(@Param("userId") String userId);
    List<OrderPointGoodsListDTO> getPointGoodsList(@Param("orderId") String orderId);
    @Select("SELECT t1.* " +
            "FROM t_order t1 " +
            "JOIN ( " +
            "    SELECT create_by, MAX(receive_time) AS max_time " +
            "    FROM t_order " +
            "    where receive_time is not null  " +
            "    GROUP BY create_by " +
            "    HAVING max_time < NOW() - INTERVAL 30 DAY " +
            ") t2 ON t1.create_by = t2.create_by AND t1.receive_time = t2.max_time " +
            "LEFT JOIN t_customer_info c ON t1.create_by = c.user_id ")
    List<Order> getOrderInfoByReceiveTime();
    int getFlowerCompleteNumWithinTimeRange(@Param("userId") String userId ,@Param("flowerId") Long flowerId,
                                            @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
    List<OrderListExportDTO> selectOrderExportList(@Param("condition") OrderQueryDTO dto);
    @Select("SELECT si.contact_tel " +
            "FROM t_supplier_info si " +
            "WHERE si.id IN ( " +
            "    SELECT oi.supplier_id " +
            "    FROM t_order_item oi " +
            "    JOIN t_order q ON oi.order_id = q.id " +
            "    WHERE q.deleted = 0 " +
            "        AND q.status_backend = #{Status}  " +
            "        AND q.payment_time >=  #{startTime}  " +
            "        AND q.payment_time <=  #{endTime}  " +
            "    GROUP BY oi.supplier_id " +
            ")")
    List<String> getWaitSendMessageInfoBySupplier(String Status, LocalDateTime startTime, LocalDateTime endTime);
    BigDecimal getOrderSaleAmount(@Param("startTime") LocalDateTime startTime
            , @Param("endTime") LocalDateTime endTime);
    List<Order> selectAllDateList();
    void updatePaymentCreateDate(@Param("order") Order order);
}