package com.rj.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.rj.entity.LbAssessmentApply;
import jakarta.servlet.http.HttpServletResponse;

import java.util.Map;

public interface ILbAssessmentApplyService extends IService<LbAssessmentApply> {

    Map<String, Object> add(LbAssessmentApply entity);

    Map<String, Object> update(LbAssessmentApply entity);

    Map<String, Object> deleteById(String id);

    Map<String, Object> pageQuery(Integer current,
                                  Integer size,
                                  String tenantId,
                                  String applicantName,
                                  String applicantPhone,
                                  String colleagueName,
                                  String teamLeaderName,
                                  String teamBigLeaderName,
                                  String assessmentTeacherName,
                                  String moderatorName,
                                  String meetingNumber);

    /**
     * 根据自然语言申请评估信息调用大模型抽取为 {@link LbAssessmentApply}（不落库）。
     */
    Map<String, Object> parseFromAssessmentTextByLlm(String assessmentText, String tenantId);

    void exportExcel(String tenantId,
                     String applicationDatetimeStart,
                     String applicationDatetimeEnd,
                     HttpServletResponse response);

    /**
     * 根据记录ID生成评估会议通知文案。
     */
    Map<String, Object> buildAssessmentNotificationText(String tenantId, String id);

    /**
     * 根据租户ID与记录ID查询申请评估记录，将 notification_text 发送至钉钉群。
     */
    Map<String, Object> sendNotificationTextToDingTalk(String tenantId, String id);

}
