package com.hrs.service;

import com.hrs.model.entity.Collection;
import java.util.List;

/**   
* Copyright: Copyright (c) 2026 chinasofti
* 
* @ClassName: CollectionService.java
* @Description: 收藏业务逻辑接口
*
* @version: v1.0.0
* @author: 黄红
* @date: 2026年4月13日 上午10:00:51 
*
* Modification History:
* Date         Author          Version            Description
*---------------------------------------------------------*
* 2026年4月13日     黄红           v1.0.0               新建文件
*/
public interface CollectionService {

    /**
     * 添加收藏
     * @param tenantId 租客ID
     * @param houseId 房源ID
     * @return 添加结果
     */
    CollectionResult addCollection(Long tenantId, Long houseId);

    /**
     * 取消收藏（通过收藏ID）
     */
    boolean deleteCollectionById(Long collectionId, Long tenantId);

    /**
     * 取消收藏（通过房源ID）
     */
    boolean deleteCollectionByHouseId(Long houseId, Long tenantId);

    /**
     * 获取租客的收藏列表（带房源详情）
     */
    List<Collection> getTenantCollections(Long tenantId);

    /**
     * 检查是否已收藏
     */
    boolean isCollected(Long tenantId, Long houseId);

    /**
     * 获取收藏数量
     */
    int getCollectionCount(Long tenantId);

    /**
     * 收藏操作结果类
     */
    class CollectionResult {
        private boolean success;
        private String message;
        private boolean exists;

        public boolean isSuccess() { return success; }
        public void setSuccess(boolean success) { this.success = success; }
        public String getMessage() { return message; }
        public void setMessage(String message) { this.message = message; }
        public boolean isExists() { return exists; }
        public void setExists(boolean exists) { this.exists = exists; }
    }
}
