|  |  | 
 |  |  |             "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); | 
 |  |  | } |