package com.yunhai.notice.service; import java.util.List; import java.util.Map; /** * 联系组业务接口。 * 对应前端 Contacts 组接口:AddGroup/GetGroup/EditGroup/DelGroup/SetContactsTea/GetContactsTea/GetGroupTree/GetDeptRoleGroupTree/Import/Export。 */ public interface IContactsService { /** * 添加联系组。 * * @param name 组名 * @param type 类型(1 自定义组, 2 明信片) */ void addGroup(String name, Integer type); /** * 获取联系组列表(含每组人数,分页)。 * * @param page 页码(从1起) * @param count 每页条数 * @param type 类型(1 自定义组, 2 明信片) * @return Map: { list, total } */ Map getGroup(Integer page, Integer count, Integer type); /** * 编辑联系组。 * * @param id 组ID * @param name 组名 * @param type 类型 */ void editGroup(Integer id, String name, Integer type); /** * 删除联系组(支持批量,同时删除组内成员)。 * * @param ids 逗号分隔的组ID */ void delGroup(String ids); /** * 设置联系组教师(全量替换:先删后增)。 * * @param gid 组ID * @param ids 逗号分隔的用户ID */ void setContactsTea(Integer gid, String ids); /** * 获取联系组教师列表(分页)。 * * @param gid 组ID * @param page 页码 * @param count 每页条数 * @return Map: { list, total } */ Map getContactsTea(String gid, Integer page, Integer count); /** * 获取联系组树(组节点+用户节点,递归构建)。 * * @param type 类型(1 自定义组, 2 明信片) * @return 树形结构 List<Map> */ List> getGroupTree(Integer type); /** * 获取部门角色组树。 * C# 从外部API获取部门树+用户角色映射。Java版预留。 * * @return 树形结构 List<Map> */ List> getDeptRoleGroupTree(); }