package com.gic.haoban.manage.api.service;

import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.manage.api.dto.AuditDTO;
import com.gic.haoban.manage.api.dto.BatchAuditLogDTO;

import java.util.List;


/**
 * Created by tgs on 2020/2/9.
 */
public interface AuditApiService {
	
	Page<AuditDTO> page(Integer auditType, String search,String wxEnterpriseId,String enterpriseId,Integer auditStatus,Integer auditFlag,BasePageInfo pageInfo , String clerkId);
	
	String audit(String batchId,String auditId,String aduitName,String optStaffId);
	
	void refuse(String auditId,String auditReason,String aduitStaffId,String aduitName);
	
	int save(Integer auditType,String wxEnterpriseId,String enterpriseId,String commitStaffId,String commitStoreId,String changeField,String oldValue,String newValue);
	
	void editStoreInfo(String storeId,String changeField,String oldValue, String newValue);
	
	List<AuditDTO> listByStoreId(String storeId);

	AuditDTO findByStoreIdAndChangeField(String storeId,String changeField);

	void insert(AuditDTO audit);

	Page<AuditDTO> listByStaffId(String staffId,Integer auditType,Integer auditStatus,String enterpriseId, BasePageInfo pageInfo);

	Page<AuditDTO> pageStoreListByParams(List<String> storeIds, BasePageInfo pageInfo,
										 Integer auditType, Integer auditStatus,String wxEnterpriseId,String enterpriseId);
	
	AuditDTO findById(String auditId);

	void update(AuditDTO audit);
	
	List<BatchAuditLogDTO> listBatchLog(String batchId);
	
	AuditDTO findByBindRelatedIdAndAuditType(String clerkId,int auditType,String wxEnterpriseId, String enterpriseId);
	
	boolean judgeHavePhoneNumberOrCode(String enterpriseId,String clerkCode,String phoneNumber,String wxEnterpriseId);
	
	int getAuditCount(String wxEnterpriseId,String enterpriseId , String clerkId) ;
}
