package com.xisc.pm.app.service;

import com.xisc.pm.api.dto.PmPolicyGroupReqDTO;
import com.xisc.pm.api.dto.PmPolicyGroupResDTO;
import com.xisc.pm.domain.entity.PmPolicyGroup;
import io.choerodon.core.domain.Page;
import io.choerodon.mybatis.pagehelper.domain.PageRequest;

import java.util.List;

/**
 * 策略组表(PmPolicyGroup)应用服务
 *
 * @author 纪文桃 wentao.ji01@hand-china.com
 * @since 2024-11-08 09:38:30
 */
public interface PmPolicyGroupService {

    /**
     * 查询数据
     *
     * @param pageRequest 分页参数
     * @param dto         查询dto
     * @param tenantId    租户
     * @return
     */
    Page<PmPolicyGroup> selectList(PageRequest pageRequest, PmPolicyGroupReqDTO dto, Long tenantId);

    /**
     * 保存数据
     *
     * @param tenantId
     * @param dto
     */
    void saveData(Long tenantId, PmPolicyGroupResDTO dto);

    /**
     * 获取策略组行数据
     *
     * @param policyGroupId 策略组行id
     * @param tenantId      租户
     * @return
     */
    PmPolicyGroupResDTO lineList(Long policyGroupId, Long tenantId);

    /**
     *
     * @param tenantId 租户
     * @param pmPolicyGroupIdList 策略组id数据
     */
    void remove(Long tenantId,  List<Long> pmPolicyGroupIdList);
}

