package com.muchinfo.mtp3interface.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muchinfo.mtp3pojos.entity.Goods;
import com.muchinfo.mtp3pojos.vo.common.GoodsSelectParam;
import com.muchinfo.mtp3pojos.vo.common.GoodsSelectResult;
import com.muchinfo.mtp3pojos.vo.investor.PersonalizationDelParam;
import com.muchinfo.mtp3pojos.vo.organ.GoodsForRoleVo;
import com.muchinfo.mtp3pojos.vo.reportform.GoodsReportParam;
import com.muchinfo.mtp3pojos.vo.reportform.GoodsReportResult;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 商品表\期货合约表 Mapper 接口
 * </p>
 *
 * @author XKF
 * @since 2024-07-02
 */
@Mapper
public interface IGoodsMapper extends BaseMapper<Goods> {

    List<GoodsSelectResult> queryGoodsSelect(@Param("split") String[] split, @Param("tradeModeSplit") String[] tradeModeSplit, @Param("vo") GoodsSelectParam param);

    List<Goods> getNoTradeConfigGoods(@Param("areauserid") Long areauserid, @Param("usergroupid") Long usergroupid, @Param("marketid") Long marketid);

    List<GoodsReportResult> queryByDate(@Param("vo") GoodsReportParam param);

    List<GoodsReportResult> queryByOther(@Param("vo") GoodsReportParam param);

    List<GoodsForRoleVo> queryAreaGoodsConfig(@Param("userid") Long userid);

    List<Goods> getNoTradeConfigGoodsForAccount(@Param("vo") PersonalizationDelParam param);
}
