package com.palmnest.service.estateserve;

import com.palmnest.application.bean.AppResultDto;
import com.palmnest.application.dto.CommonDto;
import com.palmnest.application.dto.input.EmigrationInputDto;
import com.palmnest.application.dto.output.EmigSettleOutPutDto;
import com.palmnest.application.dto.output.EmigSumIndexDto;
import com.palmnest.application.dto.output.EmigrationDto;
import com.palmnest.model.EnterpriseInfo;
import com.palmnest.model.emig.EmigrationSettle;
import com.palmnest.service.GenericManager;

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

public interface EmigrationManager extends GenericManager<EnterpriseInfo, Integer> {

	public AppResultDto getFloorVirList(String floorIds) throws Exception;

	public EnterpriseInfo saveEnterInfo(EmigrationInputDto emigInputDto, int userId, String newWay) throws Exception;

	public Map<String, Object> getEmigInfoByVirId(String virId) throws Exception;

	public EmigrationDto getEnterInfo(int id, String userId) throws Exception;

	public EmigrationSettle getEmigrationSettle(int emigId) throws Exception;

	public EmigrationSettle saveEmigraSettle(double amount, String settleImage, String emigId, String userId) throws Exception;

	public List<CommonDto> getVirListByReman(int userId) throws Exception;

	/**
	 * 企业 入驻/迁出 待处理总数
	 *
	 * @param userName
	 * @param orgIds
	 * @return
	 */
	public EmigSumIndexDto findIndex(String userName, String orgIds);

	public EmigSettleOutPutDto updateSettle(int emigId, double amount, String userId, String fileUrl) throws Exception;

	public String sendWechat(String enterId, EmigSettleOutPutDto dto) throws Exception;

	public boolean checkHasUnhandleOrder(int virId) throws Exception;
}
