package org.ta.pddserver.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

/**
 * 物流公司回复
 */
@Data
@TableName("gd_reply")
public class GDReplyEntity {


    @TableField(value = "created")
    private String created;

    @TableField(value = "updated")
    private String updated;

    @TableField(value = "state")
    private Integer state;

    @TableField(value = "remarks")
    private String remarks;

    @TableId(value = "uid")
    private String uid;

    @TableField(value = "status")
    private Integer status;

    /**
     * 工单id
     */
    @TableField(value = "ticket_id")
    private Long ticket_id;

    /**
     * 物流单号
     */
    @TableField(value = "waybill_no")
    private String waybill_no;

    /**
     * 处理结果
     * reply_type=2时，可以给个值：“无”
     */
    @TableField(value = "handle_result")
    private String handle_result;

    /**
     * 签收状态，0:默认,1:未签收,2:已签收
     * reply_type=2时，可以给个值：0
     */
    @TableField(value = "sign_state")
    private Integer sign_state;

    /**
     * 是否赔付，0:默认,1:未赔付,2:已赔付
     * reply_type=2时，可以给个值：0
     */
    @TableField(value = "compensate_state")
    private Integer compensate_state;

    /**
     * 赔付金额(单位:分)
     * reply_type=2时，可以给个值：0
     */
    @TableField(value = "compensate_amount")
    private Integer compensate_amount;

    /**
     * 责任方，0:默认, 1:消费者,2:商家,3:快递公司,4:其他
     */
    @TableField(value = "duty")
    private Integer duty;

    /**
     * 处理人
     */
    @TableField(value = "express_dealer")
    private String express_dealer;

    /**
     * 处理人联系方式
     * 联系方式支持以下类型（联系方式格式错误，数据会推送失败）
     * 1、手机号：需符合正则，参考正则0?(13|14|15|17|18|19)[0-9]{9}
     * 2、座机：含区号、不带“-”需符合正则，参考正则
     * \\d{3}\\d{8}|\\d{4}\\d{7,8}
     * 3、官方号码：需提前沟通加白
     */
    @TableField(value = "express_dealer_contact")
    private String express_dealer_contact;

    /**
     * 回复类型，1：回复工单处理结果，2: 回复电联结果
     * 当为空时，默认值为1
     */
    @TableField(value = "reply_type")
    private Integer reply_type;

    /**
     * 电联结果，当reply_type=2时，为必填项，同时该字段的值为一个json格式的字符串，格式如下：
     * {
     * "call_result":1,
     * "call_timestamp":"1688283125000",
     * "caller_name":"小张",
     * "caller_contract":"15067188888"
     * }
     * call_result:电联结果（int,必填）
     * 取值如下：
     * 1：停机/空号
     * 2：电话占线
     * 3：无人接听
     * 4：接通后非本人
     * 5：接通但反馈没投诉过
     * call_timestamp:电联时间戳（long ,必填）
     * caller_name:回拨人姓名（String,必填）
     * caller_contract:回拨联系方式（String,必填）
     */
    @TableField(value = "reply_call_result")
    private String reply_call_result;

}
