package com.hzs.member.self.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.web.domain.BaseApprovalEntity;
import com.hzs.member.account.dto.MemberAmountDTO;
import lombok.Data;

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

/**
 * <p>
 * 自助服务日志表VO
 * </p>
 *
 * @author hzs
 * @since 2023-04-17
 */
@Data
public class SelfModifyAddressDTO extends BaseApprovalEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long pkId;

    /**
     * 会员主键
     */
    private Long pkMember;

    /**
     * 审批业务类型来源于  枚举： EApprovalBusiness
     */
    private Integer editType;

    /**
     * 原值
     */
    private String oldValue;

    /**
     * 新值
     */
    private String newValue;

    /**
     * 业务单号
     */
    private String businessNo;

    /**
     * 审核状态  0 待审核  1 审核通过   2 审核驳回  枚举 ： EModifyRecordStatus
     */
    private Integer approveStatus;

    /**
     * 审核次数
     */
    private Integer approveNumber;

    /**
     * 支付业务类型来源于枚举
     */
    private Integer editTypePay;

    /**
     * 扣费金额
     */
    private BigDecimal singleAmount;


    /**
     * 订单编号
     */
    private String orderCode;
    /**
     * 订单id
     */
    private Long pkOrder;

    /**
     * 创建人ID
     */
    private Long pkCreator;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;

    /**
     * 修改人ID
     */
    private Long pkModified;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modifiedTime;

    /**
     * 逻辑删除 (0=未删除，1已删除)
     */
    private Integer delFlag;

    /**
     * 国家
     */
    private Integer pkCountry;

    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;
    /**
     * 收货地址ID
     */
    private Long pkReceiving;
    /**
     * 收货人
     */
    private String recName;
    /**
     * 手机
     */
    private String recPhone;

    /**
     * 收货省
     */
    private Integer recProvince;
    /**
     * 收货市
     */
    private Integer recCity;
    /**
     * 收货县
     */
    private Integer recCounty;
    /**
     * 详细地址
     */
    private String recAddress;

    /**
     * 会员手续费
     */
    List<MemberAmountDTO> memberAmountDTOList;
    /**
     * 错误信息
     */
    private String errorMsg;
    /**
     * 业务涉及会员ID列表 -- 提交审核必传
     */
    private Set<Long> pkMemberList;
    /**
     * 旧邮费
     */
    private BigDecimal oldPostage;
    /**
     * 新邮费
     */
    private BigDecimal newPostage;
    /**
     * 邮费
     */
    private BigDecimal postage;
    /**
     * 备注
     */
    private String selfRemark;
    /**
     * 扣款币种类型
     */
    private Integer pkAccount;
    /**
     * 扣款币种翻译key
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_ACC)
    private Integer pkAccountKey;
    /**
     * 扣款币种翻译
     */
    private String pkAccountKeyVal;



}
