package com.fdkankan.ucenter.service;

import com.alibaba.fastjson.JSONObject;
import com.fdkankan.ucenter.entity.*;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fdkankan.ucenter.vo.request.SceneCooperationParam;
import com.fdkankan.ucenter.vo.request.SceneParam;
import com.fdkankan.ucenter.vo.response.SceneNumVo;

import java.util.HashMap;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 
 * @since 2022-07-04
 */
public interface ISceneCooperationService extends IService<SceneCooperation> {

    Long getCooperationSceneNum(Long userId, List<Integer> sceneSourceList);
    List<SceneNumVo> getGroupCooperationSceneNum(Long userId);

    void deleteCooperationList(List<ScenePro> sceneProList, List<ScenePlus> scenePlusList,List<Long> userIds) ;
    void deleteCooperationList(List<String> numList,List<Long> userIds,String sceneType) ;

    List<SceneCooperation> saveBatchByList(List<String> numList, List<Long> userId ,String type,String sceneType);

    JSONObject sceneResourceList(SceneCooperationParam param);

    JSONObject cooperationSceneListNew(SceneParam param, String username);

    void saveCooperation(SceneCooperationParam param, String username);

    void deleteCooperation(SceneCooperationParam param, String username);

    List<SceneResource> getResourceByNum(String sceneNum);

    List<String> getNumByUserIds(List<Long> userIds);

    HashMap<String, List<User>> getByNumList(List<String> numList,String sceneType);

    List<SceneCooperation> getByNum(String num,String sceneType);

    Object cooperationSceneList(SceneParam param, String username);

    ProductOrder saveBatchCooperation(SceneCooperationParam param, String username);

     void  successAddCooperation(List<String> numList,List<Long> userIds,Long loginUserId,Long cameraId,String lang,String sceneType, List<ProductCooperation> needPay );


     ProductOrder saveCamera(SceneCooperationParam param, String username);

    void saveByRegister(User register, String registerCooperationMeshNum, String mesh);
}
