package org.dromara.work.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.work.domain.TpClient;

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



/**
 * 客户视图对象 tp_client
 *
 * @author Maosw
 * @date 2024-08-12
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TpClient.class)
public class TpClientVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

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

    /**
     * 所属用户
     */
//    @ExcelProperty(value = "所属用户")
    private Long uid;

    /**
     * 客服编号
     */
    @ExcelProperty(value = "所属客服")
    private String sname;

    /**
     * 客户编号
     */
    @ExcelProperty(value = "客户编号")
    private String code;

    /**
     * 客户姓名
     */
    @ExcelProperty(value = "客户姓名")
    private String name;

    /**
     * 电话号码
     */
    @ExcelProperty(value = "电话号码")
    private String phone;

    /**
     * 性别
     */
    @ExcelProperty(value = "性别")
    private String sex;

    /**
     * 客户类型
     */
    @ExcelProperty(value = "客户类型")
    private Long type;

    /**
     * 主营业务类型
     */
    @ExcelProperty(value = "主营业务类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "yw_type")
    private Long ywtype;

    /**
     * 状态（1=正常，2=禁用）
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=正常,2=禁用")
    private Long state;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 录入时间
     */
    @ExcelProperty(value = "录入时间")
    private Date addTime;

    /**
     * 是否删除（1=未删除，2=已删除）
     */
    @ExcelProperty(value = "是否删除", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=未删除,2=已删除")
    private Long isDel;

    /**
     * 会员到期时间
     */
    private Long vipEnd;

    /**
     * 操作人
     */
    private String addUser;

    /**
     * 会员等级
     */
    private Long vip;

    /**
     * 余额
     */
    @ExcelProperty(value = "余额")
    private BigDecimal yue;

    /**
     * 总消费
     */
//    @ExcelProperty(value = "总消费")
    private BigDecimal allPrice;

    /**
     * 改图会员
     */
    private Long gtVip;

    /**
     * 健康状态
     */
    @ExcelProperty(value = "健康状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "health_status")
    private Long health;

    /**
     * 省
     */
    @ExcelProperty(value = "省")
    private String province;

    /**
     * 市
     */
    @ExcelProperty(value = "市")
    private String city;

    /**
     * 地区
     */
    @ExcelProperty(value = "地区")
    private String area;

    /**
     * 积分
     */
    private Long integral;

    /**
     * 订单数量
     */
//    @ExcelProperty(value = "订单数量")
    private Long count;

    /**
     * 下单总额
     */
//    @ExcelProperty(value = "下单总额")
    private BigDecimal price;

    /**
     * 实付余额
     */
//    @ExcelProperty(value = "实付余额")
    private BigDecimal payPrice;

    /**
     * 未付余额
     */
//    @ExcelProperty(value = "未付余额")
    private BigDecimal noPrice;

    /**
     * 到款率
     */
//    @ExcelProperty(value = "到款率")
    private Long lv;


}
