package cn.com.ctop.kuaishou.modules.batch.service;

import com.alibaba.fastjson.JSONObject;

import java.util.Map;

public interface IKuaiShouUpdateService {
    /**
     * 修改 广告计划预算
     *
     * @param token
     * @param advertiserId
     * @param campaignId
     * @param dayBudget
     * @return
     */
    Map<String, Object> updateCampaign(String token, Long advertiserId, Long campaignId, Long dayBudget, String loginId);


    /**
     * 修改广告组预算
     *
     * @param token
     * @param advertiserId
     * @param unitId
     * @param dayBudget
     * @return
     */
    Map<String, Object> updateUnitDayBudget(String token, Long advertiserId, Long unitId, Long dayBudget, String loginId);


    /**
     * 修改广告组出价
     *
     * @param token
     * @param advertiserId
     * @param unitId
     * @param bid
     * @return
     */

    Map<String, Object> updateUnitBid(String token, Long advertiserId, Long unitId, Long bid, String loginId);

    /**
     * 修改 广告计划状态
     *
     * @param token
     * @param advertiserId
     * @param putStatus
     * @return
     */
    Map<String, Object> updateCampaignStatus(String token, Long advertiserId, Long campaignId, int putStatus, String loginId);


    /**
     * 修改广告组状态
     *
     * @param token
     * @param advertiserId
     * @param unitId
     * @param putStatus 1-投放、2-暂停、3-删除，传其他数字非法
     * @return
     */
    Map<String, Object> updateUnitStatus(String token, Long advertiserId, Long unitId, int putStatus, String loginId);


    /**
     * 修改广告创意状态
     *
     * @param token
     * @param advertiserId
     * @param creativeId
     * @param putStatus
     * @return
     */
    Map<String, Object> updateCreativeStatus(String token, Long advertiserId, Long creativeId, int putStatus, String loginId);


    /**
     * 修改创意
     *
     * @param token
     * @param advertiserId
     * @param requestJson
     * @return
     */
    Map<String, Object> updateCreative(String token, Long advertiserId, JSONObject requestJson);


    /**
     * 修改广告计划
     *
     * @param accessToken
     * @param requestJson
     * @return
     */

    JSONObject updateCampaign(String accessToken, JSONObject requestJson);

    /**
     * 修改广告组
     *
     * @param accessToken
     * @param unitJson
     * @return
     */
    JSONObject updateUnit(String accessToken, JSONObject unitJson);

    /**
     * 修改广告创意
     *
     * @param accessToken
     * @param creativeJson
     * @return
     */
    JSONObject updateCreative(String accessToken, JSONObject creativeJson);

    /**
     * 修改深度转化出价
     *
     * @param accessToken
     * @param accountId
     * @param unitId
     * @param deepConversionBid
     * @param userId
     * @return
     */
    Map<String, Object> updateUnitDeepConversionBid(String accessToken, Long accountId, Long unitId, Long deepConversionBid, String userId);
}
