package org.dromara.zhishu.domain.vo;

import org.dromara.zhishu.domain.ShopDetail;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * 商品详情视图对象 t_shop_detail
 *
 * @author yxy
 * @date 2025-03-13
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ShopDetail.class)
public class ShopDetailVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 店铺id
     */
    @ExcelProperty(value = "店铺id")
    private Long shopId;

    /**
     * 物流运费模板id
     */
    @ExcelProperty(value = "物流运费模板id")
    private Long templateId;

    /**
     * 高价
     */
    @ExcelProperty(value = "高价")
    private Long highPrice;

    /**
     * 低价
     */
    @ExcelProperty(value = "低价")
    private Long lowPrice;

    /**
     * 销售模板id
     */
    @ExcelProperty(value = "销售模板id")
    private Long saleTemplateId;

    /**
     * 是否开启7天无理由  0关闭 1开启
     */
    @ExcelProperty(value = "是否开启7天无理由  0关闭 1开启", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "t_open_or_close")
    private String sevenDays;

    /**
     * 是否开始二手  0关闭  1开启
     */
    @ExcelProperty(value = "是否开始二手  0关闭  1开启", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "t_open_or_close")
    private String isSecondHand;

    /**
     * 轮播数量开启  0关闭 1开启
     */
    @ExcelProperty(value = "轮播数量开启  0关闭 1开启", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "t_open_or_close")
    private String carouselNum;

    /**
     * 是否开启详情图  0关闭 1开启
     */
    @ExcelProperty(value = "是否开启详情图  0关闭 1开启", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "t_open_or_close")
    private String isDetailsImg;

    /**
     * 是否开启目录详情  0关闭 1开启
     */
    @ExcelProperty(value = "是否开启目录详情  0关闭 1开启", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "t_open_or_close")
    private String isCatalogueDetails;

    /**
     * 是否开启信息图片 0关闭 1开启
     */
    @ExcelProperty(value = "是否开启信息图片 0关闭 1开启", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "t_open_or_close")
    private String isInformationImg;

    /**
     * 标题前缀
     */
    @ExcelProperty(value = "标题前缀")
    private String titlePrefix;

    /**
     * 标题后缀
     */
    @ExcelProperty(value = "标题后缀")
    private String titleSuffix;

    /**
     * 标题过滤
     */
    @ExcelProperty(value = "标题过滤")
    private String titleFilter;

    /**
     * 货号前缀
     */
    @ExcelProperty(value = "货号前缀")
    private String itemNumberPrefix;

    /**
     * 标题组成
     */
    @ExcelProperty(value = "标题组成")
    private String titleConsistOf;

    /**
     * 间隔字符  0无间隔 1空格
     */
    @ExcelProperty(value = "间隔字符  0无间隔 1空格", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "t_space_character")
    private String spaceCharacter;

    /**
     * 是否开启自动截断  0关闭 1开启
     */
    @ExcelProperty(value = "是否开启自动截断  0关闭 1开启", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "t_open_or_close")
    private String autoTruncation;

    /**
     * 我的设置
     */
    @ExcelProperty(value = "我的设置")
    private String mySetUp;

    /**
     * 系统设置
     */
    @ExcelProperty(value = "系统设置")
    private String systemSetUp;

    /**
     * 过滤套装 0否 1是
     */
    @ExcelProperty(value = "过滤套装 0否 1是", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "t_yes_no")
    private String filterSuit;

    /**
     * 删除保护 0关闭  1开启
     */
    @ExcelProperty(value = "删除保护 0关闭  1开启", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "t_open_or_close")
    private String isDelProtect;

    /**
     * 下架保护 0关闭 1开启
     */
    @ExcelProperty(value = "下架保护 0关闭 1开启", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "t_open_or_close")
    private String isRemoveProtect;

    /**
     * 图书定价 0关闭 1开启
     */
    @ExcelProperty(value = "图书定价 0关闭 1开启", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "t_open_or_close")
    private String bootPrice;

    /**
     * 自有图片 0关闭 1开启
     */
    @ExcelProperty(value = "自有图片 0关闭 1开启", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "t_open_or_close")
    private String ownPictures;

    /**
     * 默认库存
     */
    @ExcelProperty(value = "默认库存")
    private Long stockDeff;

    /**
     * 两件折扣
     */
    @ExcelProperty(value = "两件折扣")
    private Long twoDiscount;

    /**
     * 是否预售 0非预售 1定时预售 2 时段预售
     */
    @ExcelProperty(value = "是否预售 0非预售 1定时预售 2 时段预售")
    private String presale;

    /**
     * 假一赔十 0 关闭 1开启
     */
    @ExcelProperty(value = "假一赔十 0 关闭 1开启")
    private String fake;

    /**
     * 发货时间 0 24小时  1 48小时
     */
    @ExcelProperty(value = "发货时间 0 24小时  1 48小时")
    private String deliveryTime;

    /**
     * 白底图 0关闭 1开启
     */
    @ExcelProperty(value = "白底图 0关闭 1开启")
    private String whitePicture;

    /**
     * 水印位置  0全部  1第一张
     */
    @ExcelProperty(value = "水印位置  0全部  1第一张")
    private String watermarkPosition;

    /**
     * 无图过滤 0关闭 1开启
     */
    @ExcelProperty(value = "无图过滤 0关闭 1开启")
    private String filtering;

    /**
     * 最低价定价 0关闭 1开启
     */
    @ExcelProperty(value = "最低价定价 0关闭 1开启")
    private String lowerPrice;

    /**
     * 最低定价折扣
     */
    @ExcelProperty(value = "最低定价折扣")
    private String lowerPriceDiscount;

    /**
     * 拼单模板id
     */
    @ExcelProperty(value = "拼单模板id")
    private Long spellTemplateId;

    /**
     * 发布地区类型
     */
    private String districtType;

    /**
     * 常驻地区id
     */
    private String districtId;

    /**
     * 默认品相
     */
    private Long conditionDef;

    /**
     * 品相描述
     */
    private String conditionDes;

    /**
     * 推荐语
     */
    private String recommend;

    /**
     * 是否包邮
     */
    private String isParcel;

    /**
     * 图书模板
     */
    private String bookTemplate;

    /**
     * 图书重量
     */
    private BigDecimal bookWeight;

    /**
     *  标准本数
     */
    private BigDecimal standardNumber;

    /**
     * 开启
     */
    private String openRepeat;

    /**
     * 是否自动上传  0 否 1 是
     */
    private String autoAdd;

    /**
     * 是否开启咸鱼擦亮
     */
    private String openPolish;

    /**
     * 商品详情
     */
    private String context;

    /**
     * 擦亮方式 0擦亮原商品 1发布新商品
     */
    private String polishType;

    /**
     * 闲鱼店铺发布品类 0 图书  1 其他
     */
    private String publishType;

    /**
     * 闲鱼类目ID
     */
    private String categoryId;

    /**
     * 频率
     */
    private int frequency;

    /**
     * 自动发布的仓库id列表
     */
    private List<Long> warehouseList;

    /**
     * 进销存自动发布的仓库id列表
     */
    private List<String> mappingList;
}
