package com.cool.store.dto.tp;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.cool.store.annotation.DictField;
import lombok.Data;

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

/**
 * <p>
 * 十二分制-积分流水导出DTO
 * </p>
 *
 * @author wangff
 * @since 2025/11/10
 */
@Data
public class TpScoreJournalExportDTO {

    @ExcelProperty(value = "流水号", order = 1)
    @ColumnWidth(30)
    private String journalNo;

    @ExcelProperty(value = "门店编码", order = 2)
    @ColumnWidth(20)
    private String storeNum;

    @ExcelProperty(value = "门店名称", order = 3)
    @ColumnWidth(30)
    private String storeName;

    @ExcelProperty(value = "加盟品牌", order = 4)
    @ColumnWidth(15)
    private String joinBrandName;

    @ExcelProperty(value = "加盟模式", order = 5)
    @ColumnWidth(15)
    private String joinModelName;

    @ExcelProperty(value = "门店类型", order = 6)
    @ColumnWidth(15)
    private String storeTypeName;

    @ExcelProperty(value = "发生分值", order = 7)
    @ColumnWidth(15)
    private String occurScore;

    @ExcelProperty(value = "发生日期", order = 8)
    @ColumnWidth(20)
    private String occurDate;

    @ExcelProperty(value = "发生前分值", order = 9)
    @ColumnWidth(15)
    private BigDecimal occurBeforeScore;

    @ExcelProperty(value = "发生后分值", order = 10)
    @ColumnWidth(15)
    private BigDecimal occurAfterScore;

    @ExcelProperty(value = "单据类型", order = 11)
    @ColumnWidth(20)
    private String applyTypeName;

    @ExcelProperty(value = "来源单号", order = 12)
    @ColumnWidth(30)
    private String applyNo;

    @ExcelIgnore
    private String projectCategory;

    @ExcelProperty(value = "项目大类", order = 13)
    @ColumnWidth(20)
    @DictField
    private String projectCategoryName;

    @ExcelIgnore
    private String projectName;

    @ExcelProperty(value = "项目名称", order = 14)
    @ColumnWidth(30)
    @DictField
    private String projectNameName;

    @ExcelProperty(value = "规则编码", order = 15)
    @ColumnWidth(20)
    private String ruleNo;

    @ExcelProperty(value = "规则项目描述", order = 16)
    @ColumnWidth(30)
    private String remark;
}