package org.springblade.openinterface.dianxin.DataIntegration.service;

import org.springblade.community.building.entity.Building;
import org.springblade.community.car.entity.Car;
import org.springblade.community.elevator.elevator.entity.Elevator;
import org.springblade.community.enterprise.entity.Enterprise;
import org.springblade.community.houseuser.entity.Houseuser;
import org.springblade.community.parkingveh.entity.ParkingVeh;
import org.springblade.community.residential.entity.Residential;
import org.springblade.community.room.entity.Room;
import org.springblade.community.staff.entity.EnterpriseStaff;
import org.springblade.community.unit.entity.Unit;
import org.springblade.core.tool.api.R;
import org.springblade.smartapplication.facedevice.entity.FaceDevice;
import org.springblade.smartapplication.smartsmoke.entity.SmartDevice;
import org.springblade.smartapplication.vcdevice.entity.VideoCloudDevice;

import java.util.Map;

/**
 * @author lidexi
 * @date 2021/7/15 15:11
 * 数据融通-电信
 * 推送基础数据到集约平台业务接口层
 */

public interface IBaseDataPushService {
	/**
	 * 推送小区基础数据
	 * @param residential
	 * @return
	 */
	R pushResidential(Residential residential);

	/**
	 * 推送区域基础数据
	 * @param residential
	 * @return
	 */
	R pushArea(Residential residential);

	/**
	 * 推送楼栋基础数据
	 * @param building
	 * @return
	 */
	R pushBuilding(Building building);

	/**
	 * 推送单元基础数据
	 * @param unit
	 * @return
	 */
	R pushUnit(Unit unit);

	/**
	 * 推送房屋基础数据
	 * @param room
	 * @return
	 */
	R pushRoom(Room room);

	/**
	 * 推送居民基础数据
	 * @param houseuser
	 * @return
	 */
	R pushHouseuser(Houseuser houseuser);

	/**
	 * 推送 居民房屋关系 基础数据
	 * @param houseuser
	 * @return
	 */
	R pushHouseuserAndRoom(Houseuser houseuser);

	/**
	 * 推送 员工 基础数据
	 * @param enterpriseStaff
	 * @return
	 */
	R pushStaff(EnterpriseStaff enterpriseStaff);

	/**
	 * 推送 机动车 基础数据
	 * @param car
	 * @return
	 */
	R pushCar(Car car);




	R pushFaceDevice(FaceDevice faceDevice);

	R pushVideoCloudDevice(VideoCloudDevice videoCloudDevice);

	R pushIotDevice(SmartDevice smartDevice);

	R pushElevator(Elevator elevator);

	R pushParkingVeh(ParkingVeh parkingVeh);
}
