package shop.alien.entity.store;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 平台店铺会员卡方案（后台配置）
 */
@Data
@JsonInclude
@TableName("platform_shop_membership_plan")
@ApiModel(value = "PlatformShopMembershipPlan", description = "平台店铺会员卡方案")
public class PlatformShopMembershipPlan {

    @TableId(type = IdType.AUTO)
    @ApiModelProperty("主键")
    private Integer id;

    @TableField("plan_name")
    @ApiModelProperty("方案名称")
    private String planName;

    @TableField("duration_months")
    @ApiModelProperty("时长（月）")
    private Integer durationMonths;

    @TableField("price")
    @ApiModelProperty("价格（元）")
    private BigDecimal price;

    @TableField("description")
    @ApiModelProperty("描述")
    private String description;

    @TableField("enabled")
    @ApiModelProperty("是否上架 0否 1是")
    private Integer enabled;

    @TableField("sort_order")
    @ApiModelProperty("排序")
    private Integer sortOrder;

    @TableField("recommended")
    @ApiModelProperty("是否推荐 0否 1是")
    private Integer recommended;

    @TableField("benefit_advanced_data_analysis")
    @ApiModelProperty("高级数据分析工具 0否1是")
    private Integer benefitAdvancedDataAnalysis;

    @TableField("benefit_marketing_priority")
    @ApiModelProperty("营销活动优先参与权 0否1是")
    private Integer benefitMarketingPriority;

    @TableField("benefit_friend_coupon_manage")
    @ApiModelProperty("好友赠券管理 0否1是")
    private Integer benefitFriendCouponManage;

    @TableField("benefit_ordering_manage")
    @ApiModelProperty("点餐管理 0否1是")
    private Integer benefitOrderingManage;

    @TableField("benefit_friend_relation_manage")
    @ApiModelProperty("好友关系管理 0否1是")
    private Integer benefitFriendRelationManage;

    @TableField("benefit_comment_appeal_delete")
    @ApiModelProperty("评论申诉删除功能 0否1是")
    private Integer benefitCommentAppealDelete;

    @TableField("benefit_operating_data")
    @ApiModelProperty("经营数据 0否1是")
    private Integer benefitOperatingData;

    @TableField("benefit_operational_activity")
    @ApiModelProperty("运营活动 0否1是")
    private Integer benefitOperationalActivity;

    @TableField("benefit_weekly_homepage_slots")
    @ApiModelProperty("每周首页推广位次数")
    private Integer benefitWeeklyHomepageSlots;

    @TableField("benefit_monthly_computing_power")
    @ApiModelProperty("每月赠送算力")
    private Integer benefitMonthlyComputingPower;

    @TableField(exist = false)
    @ApiModelProperty("权益数量（分页接口回填：已开启的权益项个数，非表字段）")
    private Integer benefitCount;

    @TableLogic
    @TableField("delete_flag")
    private Integer deleteFlag;

    @TableField(value = "created_time", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;

    @TableField("created_user_id")
    private Integer createdUserId;

    @TableField(value = "updated_time", fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updatedTime;

    @TableField("updated_user_id")
    private Integer updatedUserId;
}
