package shop.alien.store.service;

import shop.alien.entity.store.StoreUser;
import shop.alien.entity.store.vo.AccountLogoutCompleteResultVo;

/**
 * 商家用户与关联店铺注销状态同步
 */
public interface StoreLogoutSyncService {

    /**
     * 商家用户进入冷静期时，同步关联店铺
     */
    void applyCoolingForStoreUser(StoreUser storeUser, String logoutReason, String logoutCode);

    /**
     * 商家用户撤销注销时，同步恢复关联店铺
     */
    void revokeCoolingForStoreUser(StoreUser storeUser);

    /**
     * 商家用户冷静期结束（已注销）时，同步完成关联店铺注销
     */
    void completeLogoutForStoreUser(StoreUser storeUser, AccountLogoutCompleteResultVo result);
}
