package com.nis.web.dao.basics;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.nis.domain.basics.AsnGroupInfo;
import com.nis.domain.basics.AsnIpCfg;
import com.nis.web.dao.CrudDao;
import com.nis.web.dao.MyBatisDao;
@MyBatisDao
public interface AsnGroupInfoDao extends CrudDao<AsnGroupInfo> {
List<AsnGroupInfo> findAsnGroupInfoList(AsnGroupInfo policyGroupInfo);
AsnGroupInfo getById(long id);
AsnGroupInfo getByGroupId(int groupId);
AsnGroupInfo getInfoByAsnNo(AsnGroupInfo policyGroupInfo);
Integer getGroupIdByOrganization(String organization);
AsnGroupInfo getGroupInfo(AsnGroupInfo policyGroupInfo);
AsnGroupInfo getGroupInfoByName(AsnGroupInfo policyGroupInfo);
int updateValid(AsnGroupInfo policyGroupInfo);
Integer getGroupIdByName(@Param("organization")String organization,@Param("country")String country);
AsnGroupInfo getGroupIdByNameAndASNId(@Param("organization")String organization,@Param("country")String country,@Param("asnId")Long asnId);
List<AsnGroupInfo> getConfigGroupInfoByGroupId(Integer groupId);
List<AsnGroupInfo> getConfigGroupInfoByName(@Param("organization")String organization);
List<AsnGroupInfo> getValidConfigGroupInfoByName(@Param("organization")String organization);
int getCountGroupInfoByName(@Param("organization")String organization);
void insertBatch(List<AsnGroupInfo> policyGroupInfos);
List<AsnGroupInfo> findAsnGroupInfos();
Long getCount();
void modifyIssuedIp(AsnGroupInfo info);
List<AsnGroupInfo> findAsnGroupInfoByAsnGroup(AsnGroupInfo asnGroupInfo);
void updateIsUsedAndIsValid(@Param("groupIds")List groupIds,@Param("isUsed")Integer isUsed,@Param("isValid")Integer isValid);
List<AsnGroupInfo> findAsnGroupInfoByGroupIds(@Param("groupIds")List groupIds,@Param("isUsed")Integer isUsed);
}