/*
 * Copyright (c) 2018-2999 广州亚米信息科技有限公司 All rights reserved.
 *
 * https://www.gz-yami.com/
 *
 */

package com.yami.shop.groupbuy.comment.dao;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yami.shop.bean.model.Product;
import com.yami.shop.common.util.PageParam;
import com.yami.shop.groupbuy.comment.api.dto.ApiGroupActivityDto;
import com.yami.shop.groupbuy.comment.dto.GroupActivityDto;
import com.yami.shop.groupbuy.comment.model.GroupActivity;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

import java.util.Date;
import java.util.List;

/**
 * 拼团活动表
 *
 * @author LGH
 * @date 2019-08-27 17:55:57
 */
public interface GroupActivityMapper extends BaseMapper<GroupActivity> {

    /**
     * 获取分页数据
     *
     * @param page             分页对象
     * @param groupActivityDto 查询数据
     * @return 分页对象
     */
    IPage<GroupActivityDto> getGroupActivityPage(PageParam<GroupActivityDto> page, @Param("groupActivityDto") GroupActivityDto groupActivityDto);

    /**
     * 获取拼团活动信息
     *
     * @param groupActivityId 拼团活动ID
     * @param prodId          商品ID
     * @return Api活动对象
     */
    ApiGroupActivityDto getApiGroupActivityInfo(@Param("groupActivityId") Long groupActivityId, @Param("prodId") Long prodId);

    /**
     * 更新活动为已删除状态
     */
    void updateToDelete(@Param("groupActivityId") Long groupActivityId);

    /**
     * 获取拼团物品列表
     *
     * @param date 当前时间
     */
    List<Product> getActivityFinishProduct(@Param("newDate") Date date);

    /**
     * 更新活动状态
     */
    int updateStatus(@Param("activityId") Long activityId, @Param("status") Integer status);

    void changeProdTypeByGroupActivityIdList(@Param("groupActivityIds") List<Long> groupActivityIds);

    void changeGroupActivityStatusByGroupActivityIdList(@Param("groupActivityIds") List<Long> groupActivityIds);

}
