|  |  |  | 
|---|
|  |  |  | "JOIN ( " + | 
|---|
|  |  |  | "    SELECT create_by, MAX(receive_time) AS max_time " + | 
|---|
|  |  |  | "    FROM t_order " + | 
|---|
|  |  |  | "    where receive_time is not null  and DATE(receive_time) < DATE(NOW()) - INTERVAL 30 DAY" + | 
|---|
|  |  |  | "    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); | 
|---|
|  |  |  | } | 
|---|