package com.zcloud.service.bus;

import java.util.List;
import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;

/**
 * 说明：企业管理
 * 作者：luoxiaobao
 * 时间：2020-12-24
 * 官网：www.zcloudchina.com
 */
public interface CorpInfoService{

	/**新增
	 * @param pd
	 * @throws Exception
	 */
	public void save(PageData pd)throws Exception;
	public void saveTrial(PageData pd)throws Exception;
	/**删除
	 * @param pd
	 * @throws Exception
	 */
	public void delete(PageData pd)throws Exception;

	/**修改
	 * @param pd
	 * @throws Exception
	 */
	public void edit(PageData pd)throws Exception;
	public void editIsReceive(PageData pd)throws Exception;
	public void updateISuse(PageData pd)throws Exception;
	public void updateuse(PageData pd)throws Exception;
	public void editStatus(PageData pd)throws Exception;
	public void goStop(PageData pd)throws Exception;
	public void deleteStop(PageData pd)throws Exception;
	public void goFormal(PageData pd)throws Exception;
	public void deleteTrial(PageData pd)throws Exception;

	public PageData findBytrialId(PageData pd)throws Exception;
	public void editStartStatus(PageData pd)throws Exception;
	public void editTrialStatus(PageData pd)throws Exception;
	public void goStart(PageData pd)throws Exception;
	public void deleteStart(PageData pd)throws Exception;
	/**列表
	 * @param page
	 * @throws Exception
	 */
	public List<PageData> list(Page page)throws Exception;
	public List<PageData> usedCorpList(Page page)throws Exception;

	/**列表
	 * @param page
	 * @throws Exception
	 */
	public List<PageData> corplistPage(Page page)throws Exception;
	public List<PageData> corpstoplistPage(Page page)throws Exception;
	public List<PageData> smallAuditlistPage(Page page)throws Exception;


	/**资源库企业列表
	 * @param page
	 * @throws Exception
	 */
	public List<PageData> resList(Page page)throws Exception;

	/**列表(全部)
	 * @param pd
	 * @throws Exception
	 */
	public List<PageData> listAll(PageData pd)throws Exception;

	/**通过id获取数据
	 * @param pd
	 * @throws Exception
	 */
	public PageData findById(PageData pd)throws Exception;

	/**批量删除
	 * @param ArrayDATA_IDS
	 * @throws Exception
	 */
	public void deleteAll(String[] ArrayDATA_IDS)throws Exception;

	public PageData findByName(PageData pd);

	public List<PageData>listByCorpType(PageData pd) throws Exception;

	/**
	 * 获取所有的企业个数
	 * @param string
	 * @return
	 * @throws Exception
	 */
	public Integer findCount (String string) throws Exception;

	/**查询所有企业ID
	 * @param pd
	 * @throws Exception
	 */
	public List<PageData> getAllCorpId(PageData pd)throws Exception;

	/**修改交付信息
	 * @param pd
	 * @throws Exception
	 */
	public void editDeliver(PageData pd)throws Exception;

	/**查询所有交付企业
	 * @param pd
	 * @throws Exception
	 */
	public List<PageData> findAllUsedCorp(PageData pd)throws Exception;

	/**
	 * 实施人员管理列表
	 * @param page
	 * @return
	 */
	List<PageData> listPageForImplManagementList(Page page) throws Exception;

	/**
	 * 实施人员管理查询机构列表
	 * @param pd
	 * @return
	 */
	List<PageData> getAgencyListForImplManagement(PageData pd) throws Exception;

	/**
	 * 实施人员管理查询项目负责人列表
	 * @param pd
	 * @return
	 */
	List<PageData> getProjectLeaderListForImplManagement(PageData pd) throws Exception;

	/**
	 * 实施人员管理查询运维人员列表
	 * @param pd
	 * @return
	 */
	List<PageData> getMaintenancePersonListForImplManagement(PageData pd) throws Exception;

	/**
	 * 根据企业id查询
	 * @param pd
	 * @return
	 */
	PageData getCorpInfoByCorpInfoId(PageData pd) throws Exception;

	/**市场管理-指定人员-获取项目负责人下拉列表
	 * @throws Exception
	 */
	List<PageData> getProjectLeadersList(PageData pd) throws Exception;

	/**市场管理-指定人员-修改项目负责人
	 * @throws Exception
	 */
	void editProjectLeader(PageData pd) throws Exception;

	/**市场管理-充值-获取剩余时长和短信剩余
	 * @throws Exception
	 */
	List<PageData> getMonEditInfo(PageData pd) throws Exception;

	/**市场管理-获取会员等级列表
	 * @throws Exception
	 */
	List<PageData> getVipLevelList() throws Exception;

	/**市场管理-会员调整
	 * @throws Exception
	 */
	void editVipLevel(PageData pd) throws Exception;

	/**
	 * 更改交付日期
	 * @param pd
	 */
	void updateDeliveryDate(PageData pd) throws Exception;

	/**
	 * 根据id查询企业可新建用户数
	 * @param pd
	 * @return
	 */
	PageData findUserNumById(PageData pd);

	List<PageData> getAllList(PageData request);

	/**
	 * 市场管理-会员调整(机构)
	 * @param pd
	 * @throws Exception
	 */
	void editVipGearLevel(PageData pd) throws Exception;

	/**
	 * 停用企业-修改企业信息表
	 * @param stopCorpIds
	 */
	void stopCorp(List<String> stopCorpIds) throws Exception;

	/**
	 * 批量添加停用企业
	 * @param stopListData
	 */
	void batchGoStop(List<PageData> stopListData) throws Exception;

	/**
	 * 启用企业-修改企业信息表
	 * @param enableCorpIds
	 */
	void enableCorp(List<String> enableCorpIds) throws Exception;

	/**
	 * 批量添加停用企业
	 * @param enableListData
	 */
	void batchGoStart(List<PageData> enableListData) throws Exception;

	/**
	 * 获取企业停用记录
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	List<PageData> getDeacivateRecordList(PageData pd) throws Exception;

	/**
	 * 停用企业-修改企业停用表
	 * @param stopCorpIds
	 */
	void stopCorpInfo(List<String> stopCorpIds) throws Exception;

	/**
	 * 启用企业-修改企业停用表
	 * @param enableCorpIds
	 */
	void enableCorpInfo(List<String> enableCorpIds) throws Exception;

	/**
	 * 运维管理-移除企业停用记录
	 * @throws Exception
	 */
	void removeStopRecord(PageData pd) throws Exception;

	/**
	 * 根据企业id获取开始时间结束时间在此企业停用期间内的
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	List<PageData> getEffectDeactivateListByCorpId(PageData pd) throws Exception;
}

