package com.hzs.activity.add.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.activity.add.dto.AcAddUpgradeRecordDTO;
import com.hzs.activity.add.param.AcAddUpgradeParam;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.domain.activity.add.AcAddUpgradeConfig;
import com.hzs.common.domain.sale.order.SaOrderItems;
import com.hzs.sale.order.param.OrderParam;
import com.hzs.sale.order.param.OrderReturn;
import com.hzs.system.config.dto.GradeDTO;

import java.util.List;

/**
 * <p>
 * 加购升级配置表 服务类
 * </p>
 *
 * @author bd
 * @since 2025-10-13
 */
public interface IAcAddUpgradeConfigService extends IService<AcAddUpgradeConfig> {

    String onLinePetition(AcAddUpgradeParam acAddUpgradeParam);

    AjaxResult getDetail(Integer pkId);

    /**
     * 判断是否满足加购升级（显示使用）
     *
     * @param orderParam
     * @param orderReturn
     */
    void handleAddUpgrade(OrderParam orderParam, OrderReturn orderReturn);

    /**
     * 判断是否满足加购升级（入库使用）
     *
     * @param specialArea
     * @param orderItemsList
     * @param pkGrade
     * @return
     */
    AcAddUpgradeRecordDTO handleAddUpgrade(Integer specialArea, List<SaOrderItems> orderItemsList, Integer pkGrade);

}
