package com.ytpm.middle.dao;

import com.ytpm.middle.view.AppUserHourVO;
import com.ytpm.risk.model.YtRiskConfig;
import com.ytpm.risk.model.YtRiskTemplate;
import com.ytpm.risk.model.YtRiskTemplateConfig;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;

import java.util.List;

@Mapper
public interface RiskMapper {
    /**
     * 新增配置项
     */
    void insertConfigItem(YtRiskConfig config);

    /**
     * 新增模版配置项
     */
    void insertTempConfig(YtRiskTemplateConfig templateConfig);

    /**
     * 新增风控配置
     */
    void insertTemplate(YtRiskTemplate template);

    /**
     * 根据应用查询风控配置
     */
    YtRiskTemplate getTemplateByAppId(@Param("appId") String appId);

    /**
     * 查询风控数
     */
    int countBanned(@Param("appId")String appId, @Param("type")int type);

    /**
     * 分时统计风控数
     */
    List<AppUserHourVO> countBannedHour(@Param("appId")String appId, @Param("type")int type);

    /**
     * 风控配置关联应用
     */
    void relativeApp(@Param("appId")String appId,@Param("appName")String appName,
                     @Param("templateId")String templateId,
                     @Param("nickName")String nickName, @Param("userId")String userId);

    List<YtRiskTemplate> selectByAppId(@Param("appId") String appId);
}
