package cn.com.ctop.common.module.service;

import cn.com.ctop.finance.payment.entity.FinancePaymentApplication;
import com.alibaba.fastjson.JSONObject;

public interface IMessageTemplate {

    String getMaterialSyncTemplate(String projectName, String accountId, String accountName, String materialName, String reason);

    /**
     * 同步成功发送消息
     *
     * @param projectName
     * @param accountId
     * @param accountName
     * @param materialName
     * @param reason
     * @return
     */
    String getMaterialSyncSucessTemplate(String projectName, String accountId, String accountName, String materialName, String reason);


    String getMaterialRejectTemplate(String productName, String projectName, String materialName, String refuseReason);

    String getFeishuMaterialSyncTemplate(String projectName, Long accountId, String accountName, String materialName, String reason);


    String getFeishuMaterialRejectTemplate(String projectName, String materialName, String refuseReason);

    String getCreativeOverRunMessage(Long accountId, Integer creativeCount, String authName);

    /**
     * 获取僵尸创意提醒通知模板
     *
     * @param
     * @return java.lang.String
     * @throws
     * @author ZHAOXA
     */
    String getZombieCreativeRemindTemplate(JSONObject obj);

    /**
     * 获取僵尸创意关停通知模板
     *
     * @param
     * @return java.lang.String
     * @throws
     * @author ZHAOXA
     */
    String getZombieCreativeShutDownTemplate(JSONObject obj);

    /**
     * 成本预警消息模板
     *
     * @param
     * @return java.lang.String
     * @throws
     * @author ZHAOXA
     */
    String getAlarmCostMessage(JSONObject cost);

    /**
     * 快手 组出价方式错误消息模板
     *
     * @param projectName
     * @param advertiserId
     * @param unitId
     * @param unit_name
     * @return
     */

    String getKuaiShouBidTypeMessage(String projectName, Long advertiserId, Long unitId, String unit_name,String msgType);


    /**
     * 快手 组出价过高消息模板
     *
     * @param projectName
     * @param advertiserId
     * @param unitId
     * @param unit_name
     * @return
     */
    String getKuaiShouBidMessage(String projectName, Long advertiserId, Long unitId, String unit_name,String msgBid);

    String getCopyCampaignMessage(String oldName, String state);

    String getTrackMessage(Long accountId, Long unitId);

    String getDuXiaoManScriptTemplate(String productName, String projectName, String materialName, String refuseReason, boolean success);

    String getDuXiaoManMaterialTemplate(String productName, String projectName, String materialName, String refuseReason, boolean success);

    String getFinancePaymentApplicationMessage(FinancePaymentApplication application);

    String getFinancePaymentApplicationFailMessage(FinancePaymentApplication application);

    String getFinancePaymentApplicationCWRechargeMessage(JSONObject data);

    String getFinancePaymentApplicationRechargeMessage(JSONObject data);

    String getFinancePaymentApplicationMJRechargeMessage(JSONObject data);

    String getRechargedSuccessfullyMessage(JSONObject data);

    String getFinancePaymentApplicationCWRechargeRefuseMessage(JSONObject data);

    String getFinancePaymentApplicationMJRechargeRefuseMessage(JSONObject data);

    String getIllegalADInfo(JSONObject data);
}
