package com.ssm.manage.service;

import com.github.pagehelper.PageInfo;
import com.ssm.core.service.BaseService;
import com.ssm.manage.entity.BaseStore;
import com.ssm.manage.entity.BaseStores;
import com.ssm.manage.entity.SmsException;
import com.ssm.manage.query.StoreRequest;

import java.io.IOException;
import java.util.List;
import java.util.stream.Stream;

public interface SsmBaseStoreService extends BaseService<BaseStore> {
    int addStore(StoreRequest storeRequest, String userNum) throws SmsException;

    PageInfo<StoreRequest> selectPage(StoreRequest storeRequest);
    PageInfo<BaseStores> selectPages(StoreRequest storeRequest);
    PageInfo<BaseStores> pagesparent(StoreRequest storeRequest);
    List<BaseStores> pagesorganization(StoreRequest storeRequest);
    List<BaseStores> pagesorganizationim(StoreRequest storeRequest);
    List<BaseStores> pagesorganizationimZONDDIAN(StoreRequest storeRequest);
    List<BaseStores> pagesorganizations(StoreRequest storeRequest);
    BaseStores pagesorganizationone(StoreRequest storeRequest);

    BaseStore selectOne(StoreRequest storeRequest);

    int updateStore(StoreRequest storeRequest, String userNum) throws SmsException;

    int auditStore(StoreRequest storeRequest, String userNum) throws Exception;
    //发送短信详细
    int again(StoreRequest storeRequest) throws Exception;
    int unauditStore(StoreRequest storeRequest, String userNum) throws SmsException;

    int start(StoreRequest storeRequest, String userNum) throws SmsException;
    int stop(StoreRequest storeRequest, String userNum) throws SmsException;

    int addSms(StoreRequest storeRequest) throws SmsException;

    int auditFiled(StoreRequest storeRequest, String userNum);


    List<BaseStore> selects(BaseStore baseStore);

    int updateName(String memberName ) throws SmsException;

    List<BaseStores> getBaseStoresByChildAndParent(Long storeId);

    List<BaseStores> selectByStore(StoreRequest storeRequest);

    List<BaseStore> selectChildren(Long storeId);

    List<BaseStores> selectStoreS(List<Long> storeIds);

    List<String> selectDescription();

    List<String> selectGroup();

    List<BaseStore> selectByIds(List<Long> storeIds);

    PageInfo<BaseStore> PageResponse(StoreRequest storeRequest);
}
