package com.jeesharp.business.modules.mall.service;

import com.jeesharp.business.modules.mall.entity.MallSpecValue;
import com.jeesharp.business.modules.mall.vo.MallSpecValueQueryVO;
import com.jeesharp.framework.mybatis.core.service.BaseInterface;

import java.util.List;

/**
 * 规格值领域服务接口。
 *
 * @author jeesharp
 * @since 2026-05-07
 */
public interface MallSpecValueService extends BaseInterface<MallSpecValue, MallSpecValueQueryVO> {

    void createSpecValue(MallSpecValue entity);

    void updateSpecValue(MallSpecValue entity);

    /**
     * 当前登录租户下、指定规格维度已启用的规格值（发品下拉）。
     */
    List<MallSpecValue> listEnabledForPublish(String specId);

    /**
     * 发品页创建或获取规格值（同租户 + 同维度 + 同文案去重）。
     */
    MallSpecValue createOrGetForPublish(String specId, String specValue);

    /**
     * 按主键批量查询当前登录租户下的规格值（保存校验用）。
     */
    List<MallSpecValue> listByIdsForCurrentTenant(List<String> ids);
}
