package com.njcn.csdevice.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.csdevice.pojo.param.UserDevParam;
import com.njcn.csdevice.pojo.po.CsDeviceUserPO;
import com.njcn.csdevice.pojo.vo.DevCountVO;
import com.njcn.csdevice.pojo.vo.DevUserVO;

import java.util.List;

/**
 * 
 * Description:
 * Date: 2023/6/27  9:40【需求编号】
 *
 * @author clam
 * @version V1.0.0
 */
public interface CsDeviceUserPOService extends IService<CsDeviceUserPO>{


    Boolean add(String id);

    Boolean share(List<String> ids);

    DevCountVO devCount(String id,String time);

    String isPrimaryUser(String deviceId);

    Boolean transfer( List<String> ids,String useId);

    Boolean delete(String eid);

    Boolean cancelShare(String eid,String userId);
    /** 
    * @Description: 设备恢复
    * @Param:  
    * @return:  
    * @Author: clam
    * @Date: 2023/7/27 
    */
    Boolean recovery(String eid);

    DevUserVO queryUserById(String devId);

    /**
     * 根据设备id查询用户集合(主用户和子用户)
     * @param devId
     * @return
     */
    List<String> findUserById(String devId);

    List<String> findDevByUserId(String userId);

    void channelDevByUserId(UserDevParam param);

    List<CsDeviceUserPO> getList(UserDevParam param);

    /**
     * 新增用户设备关系表数据 新增主用户信息 && 新增已关联工程的用户的设备关系
     * @return
     */
    Boolean addRelation(UserDevParam param);
}
