package com.yiqi.activity.service;

import java.math.BigDecimal;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yiqi.activity.domain.ActivityApplyOrg;
import com.yiqi.activity.domain.ActivityInfo;
import com.yiqi.activity.domain.dto.ActivityRechargeDTO;
import com.yiqi.activity.domain.dto.weapp.WeAppActivityCouponQueryDTO;
import com.yiqi.activity.domain.dto.weapp.WeAppActivityDiscountQueryDTO;
import com.yiqi.activity.domain.dto.weapp.WeAppActivityRechargeQueryDTO;
import com.yiqi.activity.domain.vo.weapp.WeAppActivityCouponQueryVO;
import com.yiqi.activity.domain.vo.weapp.WeAppActivityDiscountQueryVO;
import com.yiqi.activity.domain.vo.weapp.WeAppActivityRechargeQueryVO;

/**
 * 活动明细Service接口
 *
 * @author xiaohei
 * @date 2023-09-08
 */
public interface IActivityInfoService extends IService<ActivityInfo> {
    /**
     * 查询活动明细
     *
     * @param id 活动明细主键
     * @return 活动明细
     */
    public ActivityInfo selectActivityInfoById(Long id);

    /**
     * 查询活动明细列表
     *
     * @param activityInfo 活动明细
     * @return 活动明细集合
     */
    public List<ActivityInfo> selectActivityInfoList(ActivityInfo activityInfo);

    /**
     * 新增活动明细
     *
     * @param activityInfo 活动明细
     * @return 结果
     */
    public int insertActivityInfo(ActivityInfo activityInfo);

    /**
     * 修改活动明细
     *
     * @param activityInfo 活动明细
     * @return 结果
     */
    public int updateActivityInfo(ActivityInfo activityInfo);

    /**
     * 批量删除活动明细
     *
     * @param ids 需要删除的活动明细主键集合
     * @return 结果
     */
    public int deleteActivityInfoByIds(Long[] ids,String activityType);

    /**
     * 删除活动明细信息
     *
     * @param id 活动明细主键
     * @return 结果
     */
    public int deleteActivityInfoById(Long id,String activityType);


    /**
     * 修改活动明细状态
     *
     * @param activityInfo 活动明细
     * @return 结果
     */
    public int updateActivityInfoStatus(ActivityInfo activityInfo);

    List<WeAppActivityCouponQueryVO> selectActivityCouponList(WeAppActivityCouponQueryDTO weAppActivityCouponQueryDTO);
    List<WeAppActivityDiscountQueryVO> selectActivityDiscountList(WeAppActivityDiscountQueryDTO weAppActivityDiscountQueryDTO);
    List<WeAppActivityRechargeQueryVO> selectActivityRechargeList(WeAppActivityRechargeQueryDTO weAppActivityRechargeQueryDTO);

}
