package com.njcn.csharmonic.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
import com.njcn.csharmonic.pojo.param.PqSensitiveUserParam;
import com.njcn.csharmonic.pojo.po.PqGovernPlan;
import com.njcn.csharmonic.pojo.vo.PqSensitiveUserVo;
import com.njcn.device.biz.pojo.po.PqSensitiveUser;
import com.njcn.web.pojo.param.BaseParam;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author xy
 * @since 2025-11-17
 */
public interface IPqSensitiveUserService extends IService<PqSensitiveUser> {

    Page<PqSensitiveUserVo> getList(BaseParam param);

    List<PqSensitiveUserVo> getListByUser(BaseParam param);

    List<PqSensitiveUser> getListByIds(List<String> ids);

    boolean save(PqSensitiveUserParam pqSensitiveUserParam);

    boolean update(PqSensitiveUserParam.UpdatePqSensitiveUserParam pqSensitiveUserParam);

    /**
     * 根据敏感用户和治理方案形成树结构
     *
     * @param type 治理类型(apf→harmonic, 其他→event)
     * @return 敏感用户名称为key, 治理方案列表为value的树结构
     */
    Map<String, List<PqGovernPlan>> getUserDevTree(String type);



}
