
    j                     t    d dl mZmZmZ ddedee         fdZdee         fdZdede	fdZ
ded	ede	fd
ZdS )    )	query_all	query_oneexecute   limitreturnc                 *    d}t          |d| i          S )Nz
        SELECT id, zjhm, xm, alert_type, alert_level, alert_content,
               location, trigger_time, is_read, handle_status
        FROM "jcgkzx_monitor"."wcnr_alert"
        ORDER BY trigger_time DESC
        LIMIT %(limit)s
    r   r   )r   sqls     J/home/longshao/multi-rider-rag/modules/dashboard/services/alert_service.pyget_recent_alertsr      s     C S7E*+++    c                  $    d} t          |           S )Nz
        SELECT alert_type AS label, COUNT(*) AS value
        FROM "jcgkzx_monitor"."wcnr_alert"
        WHERE trigger_time >= CURRENT_DATE - INTERVAL '30 days'
        GROUP BY alert_type
        ORDER BY value DESC
    r
   )r   s    r   get_alert_count_by_typer      s    C S>>r   alert_idc                 6    d}t          |d| i          }|dk    S )Nzg
        UPDATE "jcgkzx_monitor"."wcnr_alert"
        SET is_read = TRUE
        WHERE id = %(id)s
    idr   r   )r   r   affecteds      r   mark_alert_readr      s)    C
 sT8,--Ha<r   statusc                 8    d}t          || |d          }|dk    S )Nz
        UPDATE "jcgkzx_monitor"."wcnr_alert"
        SET handle_status = %(status)s, is_read = TRUE
        WHERE id = %(id)s
    )r   r   r   r   )r   r   r   r   s       r   handle_alertr   $   s,    C
 s8v>>??Ha<r   N)r   )shared.db.kingbaser   r   r   intlistdictr   r   boolr   strr    r   r   <module>r!      s    < < < < < < < < < <, ,S ,$t* , , , ,d    c d    3        r   