package com.zcloud.mapper.dsno2.corp;

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

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

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

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

	PageData findBytrialId(PageData pd);
	void editStartStatus(PageData pd);
	void editTrialStatus(PageData pd);
	void goStart(PageData pd);
	void deleteStart(PageData pd);

	/**列表
	 * @param page
	 * @throws Exception
	 */
	List<PageData> datalistPage(Page page);

	List<PageData> usedCorplistPage(Page page);

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


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

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

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

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

	PageData findByName(PageData pd);

	List<PageData>listByCorpType (PageData pd);

	Integer findCount (String string);

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


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

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

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

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

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

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

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

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

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

	List<PageData> getAllList(PageData request);

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

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

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

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

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

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

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

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

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

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

