package com.ifish.service;

import org.springframework.web.multipart.MultipartFile;

import com.ifish.entity.CameraUserId;
import com.ifish.entity.Device;
import com.ifish.entity.DeviceUser;
import com.ifish.entity.QuestionsFeedback;
import com.ifish.entity.ShopsInfo;
import com.ifish.entity.User;

/** 
 * @ClassName: BaseService 
 * @Description: TODO 
 * @author ggw
 *  
 */
public interface BaseService {
	
	//获取手机验证码
	@Deprecated
	public Object getSecurityCode(String phoneNumber,String sendType);
	
	//发送手机验证码
	@Deprecated
	public Object sendSecurityCode(String phoneNumber,String smsSign,String smsTemplate);
	
	//更新用户信息
	@Deprecated
	public Object updateInfo(User user);
	
	//原密码验证后更新用户密码
	public Object updatePwd(User user,String oldPassword);
	
	//短信验证后重置密码
	public Object resetPassword(User user);
		
	//登录验证
	@Deprecated
	public Object login(User user);

	//保存用户
	@Deprecated
	public Object save(User user);
	
	//根据ID查用户
	public User findById(Integer userId);
	
	//绑定设备
	@Deprecated
	public Object bindDevice(User user,String madAddress);
	
	//绑定摄像头
	public Object bindCamera(Integer userId,String cameraId);
	
	//激活摄像头
	public Object activeCamera(String activeCode,String cameraId);
	
	//设备和摄像头关联
	public Object deviceBindCamera1(Integer userId,Integer deviceId,String cameraId);
	
	//设备和摄像头关联
	public Object deviceBindCamera(Integer deviceId,String cameraId);
	
	//获取单个设备信息
	public Object getSingleDeviceInf(DeviceUser deviceUser);
	
	//修改设备信息
	public Object update(DeviceUser deviceUser);
	
	//修改摄像头信息
	public Object update(CameraUserId id,String showName);
	
	//修改设备信息
	public Object updateCustomIcon(DeviceUser deviceUser);
	
	//删除绑定的设备
	public Object deleteDeviceUser(DeviceUser deviceUser);
	
	//删除绑定的摄像头
	public Object deleteCameraUser(Integer userId,String cameraId);
	
	//删除设备和摄像头关联
	public Object deleteDeviceCamera(Integer deviceId,String cameraId);
	
	//扫一扫分享设备
	@Deprecated
	public Object shareDeviceByQrCode(Integer userId,Integer deviceId);
	
	//获取最新版本信息
	public Object getNewestVersionInf(String phoneType);
	
	//上传头像
	@Deprecated
	public Object uploadFile(User user,MultipartFile fileUpload);
	
	//新增问题反馈
	@Deprecated
	public Object saveQuestionsFeedback(QuestionsFeedback feedback);
	
	//获取换水提醒信息
	public Object getRemindWaterInf(Integer deviceId);
	
	//设置换水提醒
	public Object setRemindWaterInf(Device device);
	
	//保存商家信息
	public Object saveShopsInfo(ShopsInfo shopsInfo,MultipartFile file1,MultipartFile file2,MultipartFile file3);
	
	//审核失败后修改商家信息
	public Object updateShopsInfo(ShopsInfo shopsInfo,MultipartFile file1,MultipartFile file2,MultipartFile file3);
	
	//审核成功后修改商家信息
	public Object updateBaseShopsInfo(ShopsInfo shopsInfo,MultipartFile file4);
	
	//获取审核状态
	public Object getShopsStatus(Integer shopsId);
	
	//选择商家
	public Object choiceShops(String phoneNumber,Integer userId);
	
	//关闭看护摄像头
	public Object onoffLook(String cameraId,Integer userId,String status);
	
	//生成看护报告
	public Object lookReport(Integer userId,String index1,String index2,String index3,String suggestion,MultipartFile fileUpload);
	
	//发送看护报告给用户
	@Deprecated
	public Object sendReport(Integer userId,String fileName);
	
	//发送看护报告给用户
	public Object sendReport(Integer userId,String fileName,Integer reportId);
	
	//发送看护报告给用户
	public Object getLookReportById(Integer reportId);
	
}
