package cn.iocoder.yudao.module.bpm.util;

public class OANotifyContentUtil {

    /**
     * 构建审批通知内容
     *
     * @param assigneeName 审批人姓名
     * @param applyName    申请人姓名
     * @param processName  流程名称
     * @return 通知内容
     */
    public static StringBuilder buildContentSendToAssignee(String assigneeName, String applyName, String processName) {
        StringBuilder builder = new StringBuilder();
        builder.append(assigneeName).append("：您好，").append(applyName).append("发起的")
                .append(processName).append("申请单已到您处，请及时处理。详情请在审批中心-我的待办查看，谢谢！");
        return builder;
    }

    /**
     * 构建审批驳回通知内容
     *
     * @param assigneeName 当前审批人姓名
     * @param applyName    申请人姓名
     * @param processName  流程名称
     * @return 通知内容
     */
    public static StringBuilder buildContentSendToApplyForDisagree(String assigneeName, String applyName, String processName) {
        StringBuilder builder = new StringBuilder();
        builder.append(applyName).append("：您好，您的").append(processName).append("申请单已被").append(assigneeName).append("驳回。详情请在审批中心-我的待办查看，谢谢！");
        return builder;
    }

    /**
     * 构建审批完成通知内容
     *
     * @param applyName    申请人姓名
     * @param processName  流程名称
     * @return 通知内容
     */
    public static StringBuilder buildContentSendToApplyForComplete(String applyName, String processName) {
        StringBuilder builder = new StringBuilder();
        builder.append(applyName).append("：您好，您的").append(processName).append("申请单已审批通过。详情请在审批中心-我发起的查看，谢谢！");
        return builder;
    }

    /**
     * 给会议预定人发送预定成功站内信
     *
     * @param meetingReserveEmployeeName 会议预定人姓名
     * @param meetingRoomName            会议室名称
     * @param startTime                  会议开始时间
     * @param endTime                    会议结束时间
     * @return 通知内容
     */
    public static StringBuilder buildContentSendToMeetingReserve(String meetingReserveEmployeeName, String meetingRoomName, String startTime, String endTime) {
        StringBuilder builder = new StringBuilder();
        builder.append(meetingReserveEmployeeName).append("：您好，您已成功预定[").append(meetingRoomName).append("]，会议时间：")
                .append(startTime).append("至").append(endTime).append("，请知悉！");
        return builder;
    }

    /**
     * 给会议参与人发送预定会议准备站内信
     *
     * @param employeeParticipantName 参会人姓名
     * @param startTime               会议开始时间
     * @param endTime                 会议结束时间
     * @param meetingRoomName         会议室名称
     * @param meetingName             会议名称
     * @return 通知内容
     */
    public static StringBuilder buildContentSendToMeetingParticipant(String employeeParticipantName, String startTime, String endTime, String meetingRoomName, String meetingName) {
        StringBuilder builder = new StringBuilder();
        builder.append(employeeParticipantName).append("：您好，兹定于").append(startTime).append("至").append(endTime)
                .append("在[").append(meetingRoomName).append("]召开《").append(meetingName).append("》会议，请提前做好准备按时参加。");
        return builder;
    }
}
