package com.hzs.activity.policy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.activity.policy.param.PolicyConfigParam;
import com.hzs.common.domain.policy.AcPolicyConfig;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
import com.hzs.system.sys.dto.LoginUser;
import com.hzs.common.domain.sale.ext.SaOrderExt;

/**
 * 海外政策币配置 服务类
 *
 * @author hzs
 * @since 2023-12-26
 */
public interface IAcPolicyConfigService extends IService<AcPolicyConfig> {

    /**
     * 批量新增/修改
     * @param policyConfigParam
     * @param pkCountry
     */
    void saveAll(PolicyConfigParam policyConfigParam, Integer pkCountry);

    /**
     * 提交政策币赠送签呈
     * @param param
     * @param loginUser
     */
    String policyConfigSubmit(PolicyConfigParam param, LoginUser loginUser);

    /**
     * 审批通过 处理
     * @param approvalBusinessResultDTO
     * @return
     */
    String ApprovalAgree(ApprovalBusinessResultDTO approvalBusinessResultDTO);

    /**
     * 审核驳回处理
     * @param approvalBusinessResultDTO
     */
    String ApprovalReject(ApprovalBusinessResultDTO approvalBusinessResultDTO);

    /**
     * 处理订单赠送政策币
     *
     * @param saOrderExt 订单信息
     * @return
     */
    void handleOrderPolicyActivity(SaOrderExt saOrderExt);

    /**
     * 回退订单赠送政策币
     *
     * @param saOrderExt 订单信息
     */
    void backOrderPolicyActivity(SaOrderExt saOrderExt);

}
