package org.dromara.work.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.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.TpClientStaff;
import org.dromara.work.domain.TpOrder;

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


/**
 * 客服订单管理视图对象 tp_order
 *
 * @author Maosw
 * @date 2024-08-12
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TpOrder.class)
public class CustomerOrderVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

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

    /**
     * 订单编号
     */
    @ExcelProperty(value = "订单编号")
    private String orderId;

    /**
     * 课程名称
     */
    @ExcelProperty(value = "课程名称")
    private String title;

    /**
     * 客户名称
     */
    @ExcelProperty(value = "客户名称")
    private String cname;

    /**
     * 性别
     */
    /*@ExcelProperty(value = "性别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_user_sex")*/
    @ExcelProperty(value = "性别")
    private String sex;

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

    /**
     * 年龄
     */
    @ExcelProperty(value = "年龄")
    private Integer age;

    /**
     * 公司
     */
    @ExcelProperty(value = "公司")
    private String company;

    /**
     * 职务
     */
    @ExcelProperty(value = "职务")
    private String job;

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

    /**
     * 报名人数
     */
    @ExcelProperty(value = "报名人数")
    private Integer bmNum;

    /**
     * 到场人数
     */
    @ExcelProperty(value = "到场人数")
    private Integer dcNum;

    /**
     * 是否住宿
     */
    @ExcelProperty(value = "是否住宿", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "zhusu_type")
    private Long num;

    /**
     * 学习目标
     */
    @ExcelProperty(value = "学习目标")
    private String goal;

    /**
     * 最大痛点
     */
    @ExcelProperty(value = "最大痛点")
    private String painSpot;

    /**
     * 介绍人
     */
    @ExcelProperty(value = "介绍人")
    private String referrer;

    /**
     * 订单微信
     */
    @ExcelProperty(value = "订单微信")
    private String wname;

    /**
     * 订单类型
     */
    @ExcelProperty(value = "订单类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "order_type")
    private Long type;

    /**
     * 总费用
     */
    @ExcelProperty(value = "总费用")
    private BigDecimal price;

    /**
     * 支付状态（1=待支付，2=未付清，3=已支付）
     */
    @ExcelProperty(value = "支付状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=待支付,2=未付清,3=已支付")
    private Long payState;

    /**
     * 已付款
     */
    @ExcelProperty(value = "已付款")
    private BigDecimal payPrice;

    /**
     * 尾款
     */
    @ExcelProperty(value = "尾款")
    private BigDecimal endPrice;

    /**
     * 讲师
     */
    @ExcelProperty(value = "讲师")
    private String bname;

    /**
     * 招生顾问
     */
    @ExcelProperty(value = "招生顾问")
    private String sname;

    /**
     * 下单时间
     */
    @ExcelProperty(value = "下单时间")
    private Date addTime;

    /**
     * 已付比例
     */
    @ExcelProperty(value = "已付比例")
    private String bili;

    /**
     * 开课时间
     */
    @ExcelProperty(value = "开课时间")
    private Date dtTime;

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

    /**
     * 订单微信
     */
//    @ExcelProperty(value = "订单微信")
    private Long wid;
    /**
     * 订单客户
     */
//    @ExcelProperty(value = "订单客户")
    private Long kid;

    private Long skid;

    /**
     * 订单风格
     */
//    @ExcelProperty(value = "订单风格")
    private Long style;

    /**
     * 订单空间
     */
//    @ExcelProperty(value = "订单空间")
    private String space;

    /**
     * 订单品质
     */
//    @ExcelProperty(value = "订单品质")
    private Long quality;

    /**
     * 状态(1录入订单，2上传小图，3上传大图，4已完成,5已评价)
     */
//    @ExcelProperty(value = "状态(1录入订单，2上传小图，3上传大图，4已完成,5已评价)")
    private Long state;

    /**
     * 接待客服
     */
//    @ExcelProperty(value = "接待客服")
    private Long sid;

    /**
     * 分图员名称
     */
//    @ExcelProperty(value = "分图员名称")
    private String fname;


    /**
     * 客户对象
     */
    private TpClientVo clientVo;

    /**
     * 客户对象
     */
    private TpClientStaffVo clientStaffVo;


    /**
     * 分图人员
     */
//    @ExcelProperty(value = "分图人员")
    private Long fid;

    /**
     * 表现师编号
     */
//    @ExcelProperty(value = "表现师编号")
    private String bid;

    /**
     * 定金
     */
//    @ExcelProperty(value = "定金")
    private BigDecimal djPrice;

    /**
     * 技术备注
     */
//    @ExcelProperty(value = "技术备注")
    private String jsRemark;

    /**
     * 定金支付时间
     */
//    @ExcelProperty(value = "定金支付时间")
    private Date djpTime;

    /**
     * 尾款支付时间
     */
//    @ExcelProperty(value = "尾款支付时间")
    private Date endpTime;

    /**
     * 完成时间
     */
//    @ExcelProperty(value = "完成时间")
    private Date finishTime;

    /**
     * 拆单价格
     */
//    @ExcelProperty(value = "拆单价格")
    private BigDecimal cdPrice;


    /**
     * 客户已付款
     */
//    @ExcelProperty(value = "客户已付款")
    private BigDecimal khpay;

    /**
     * 是否拆单（1=否，2=是）
     */
//    @ExcelProperty(value = "是否拆单", converter = ExcelDictConvert.class)
//    @ExcelDictFormat(readConverterExp = "1==否，2=是")
    private Long isCd;

    /**
     * 客服已付款
     */
//    @ExcelProperty(value = "客服已付款")
    private BigDecimal kfpay;

    /**
     * 改价金额
     */
    private BigDecimal gjPrice;

    /**
     * 改价已支付金额
     */
    private BigDecimal gpay;

}
