package org.qinan.safetyeval.domain.gateway;

import org.qinan.safetyeval.domain.entity.OrgInfoEntity;
import org.qinan.safetyeval.domain.query.OrgInfoQuery;
import org.qinan.safetyeval.domain.query.PageResult;

/**
 * 机构信息Gateway接口（Domain层定义）
 *
 * @author safety-eval
 */
public interface OrgInfoGateway {

    OrgInfoEntity save(OrgInfoEntity entity);

    OrgInfoEntity get(Long id);

    OrgInfoEntity getByCreditCode(String creditCode);

    OrgInfoEntity modify(OrgInfoEntity entity);

    void delete(Long id);

    void updateState(Long id, Integer state);

    PageResult<OrgInfoEntity> page(OrgInfoQuery query);

    OrgInfoEntity getInfo();

    void resetPassword(Long id);
}
