package com.gic.haoban.manage.api.service.hm;

import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.hm.HmGroupDTO;
import com.gic.haoban.manage.api.dto.hm.HmGroupQueryDTO;

import java.util.List;

/**
 * @Author MUSI
 * @Date 2022/7/1 2:35 PM
 * @Description 活码分组相关
 * @Version
 **/
public interface HmGroupApiService {

    /**
     * 保存 活码分组配置
     *
     * @param hmGroupDTO
     * @return
     */
    ServiceResponse<Long> saveOrUpdateHmGroupSetting(HmGroupDTO hmGroupDTO);

    /**
     * 条件查询活码分组信息
     *
     * @param groupQueryDTO
     * @return
     */
    ServiceResponse<Page<HmGroupDTO>> queryHmGroupSettingList(HmGroupQueryDTO groupQueryDTO);


    /**
     * 删除活码分组
     *
     * @param groupDTO
     * @return
     */
    ServiceResponse<Boolean> deleteGroupSetting(HmGroupDTO groupDTO);

    /**
     * 分组总引用次数
     * @param enterpriseId
     * @param wxEnterpriseId
     * @return
     */
    ServiceResponse<Integer> queryGroupTotalReferCount(String clerkId, String enterpriseId, String wxEnterpriseId);

    /**
     * 查询单个分组信息
     * @param groupId
     * @return
     */
    ServiceResponse<HmGroupDTO> queryGroupDetail(Long groupId);

    /**
     * 根据名称查询groupName
     * @param groupName
     * @param enterpriseId
     * @return
     */
    ServiceResponse<List<HmGroupDTO>> queryGroupListByName(String wxEnterpriseId, String enterpriseId, String groupName);
}