package com.jeesharp.business.modules.common.bizscene.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.jeesharp.framework.mybatis.core.dataobject.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 业务业态场景注册实体，映射表 {@code cfg_biz_scene}。
 * <p>供优惠券、轮播、导航等消费方统一引用场景编号与选品元数据。</p>
 *
 * @author jeesharp
 * @since 2026-07-03
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cfg_biz_scene")
@Schema(description = "业务业态场景")
public class BizScene extends BaseEntity<BizScene> {

    @Schema(description = "场景名称")
    private String sceneName;

    @Schema(description = "场景编号（租户内唯一）")
    private String sceneCode;

    /**
     * @see com.jeesharp.business.modules.common.bizscene.enums.BizSceneGroupEnum
     */
    @Schema(description = "场景分组：SCENIC/STAY/CONTENT/MALL")
    private String sceneGroup;

    @Schema(description = "默认管理端选目标 POST 分页路径")
    private String adminListUrl;

    @Schema(description = "列表搜索参数字段名")
    private String keywordField;

    @Schema(description = "列表展示名称字段")
    private String nameField;

    @Schema(description = "封面字段（可选）")
    private String coverField;

    @Schema(description = "排序")
    private Integer sort;

    /**
     * @see com.jeesharp.business.modules.common.bizscene.enums.BizSceneStatusEnum
     */
    @Schema(description = "状态：0-禁用 1-启用")
    private Integer status;

    @Schema(description = "能力标签，逗号分隔：COUPON,BANNER,NAV")
    private String capabilities;

    @Schema(description = "扩展 JSON：mobile/coupon/banner/pickers 等")
    private String extJson;
}
