package com.rj.service; import com.baomidou.mybatisplus.extension.service.IService; import com.rj.dto.LbFanRecursiveFetchRequest; import com.rj.dto.LbFanSimulateLoginRequest; import com.rj.entity.LbFanManagement; import java.util.Map; /** * 粉丝管理服务 */ public interface ILbFanManagementService extends IService { Map add(LbFanManagement entity); Map update(LbFanManagement entity); Map deleteByIdTenantId(String idTenantId); Map pageQuery(Integer current, Integer size, String nickname, String mobile, Integer shareNumMin, Integer shareNumMax, String createdAtStart, String createdAtEnd); /** * 按手机号列表模拟第三方登录:根据 tenantId 读取 lb_third_integration_config.login_api_path 调用接口并解析 JSON。 */ Map simulateLogin(LbFanSimulateLoginRequest request); /** * 根据租户ID和父亲手机号递归查询粉丝树形结构 * @param tenantId 租户ID * @param parentMobile 父亲手机号(可为空,为空时查询所有根节点) * @return 树形结构数据 */ Map getFanTree(String tenantId, String parentMobile); /** * 递归发现所有粉丝(包括粉丝的粉丝) * @param request 请求参数 * @return 递归发现结果 */ Map recursiveFetchFans(LbFanRecursiveFetchRequest request); }