package com.yonge.cooleshow.biz.dal.entity;

import com.yonge.cooleshow.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * @Description: 结算回调
 * @Author: cy
 * @Date: 2022/5/10
 */
@ApiModel(value = "user_withdrawal_callback-结算回调")
public class UserWithdrawalCallback extends BaseEntity {
    @ApiModelProperty(value = "众薪平台唯一订单号")
    private String orderNo;

    @ApiModelProperty(value = "商户号")
    private String outMemberNo;

    @ApiModelProperty(value = "商户唯一订单号")
    private String outerOrderNo;

    @ApiModelProperty(value = "个人附加费（单位为：分）")
    private Integer additionalCharge;

    @ApiModelProperty(value = "实发金额（单位为：分，范围：1~10000000000）")
    private Integer actualAmount;

    @ApiModelProperty(value = "企业附加费（单位为：分）")
    private Integer companyCharge;

    @ApiModelProperty(value = "公司服务费汇总=企业个税+企业附加费+企业服务费（单位为：分）")
    private Integer companyServiceFee;

    @ApiModelProperty(value = "企业承担个税（单位为：分）")
    private Integer companyTax;

    @ApiModelProperty(value = "企业服务费（单位为：分）")
    private Integer serviceCharge;

    @ApiModelProperty(value = "个人承担个税（单位为：分）")
    private Integer taxFee;

    @ApiModelProperty(value = "个人服务费汇总=个人个税+个人附加费（单位为：分）")
    private Integer personServiceFee;

    @ApiModelProperty(value = "应发金额（单位为：分，范围：1~10000000000）")
    private Integer predictAmount;

    @ApiModelProperty(value = "发放类型（0：个人经营所得）")
    private String salaryType;

    @ApiModelProperty(value = "交易状态（0：交易中；1：交易成功；2：交易失败）")
    private String status;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "完成时间")
    private Date endTime;

    @ApiModelProperty(value = "支付失败时返回")
    private String errorCode;

    @ApiModelProperty(value = "支付失败时返回")
    private String errorMsg;

    @ApiModelProperty(value = "收款方电话")
    private String mobile;

    @ApiModelProperty(value = "收款方身份证号")
    private String certificateNo;

    @ApiModelProperty(value = "收款方姓名（银行预留姓名等）")
    private String name;

    @ApiModelProperty(value = "卡属性:(C:对私)")
    private String cardAttribute;

    @ApiModelProperty(value = "卡类型：DC借记卡")
    private String cardType;

    @ApiModelProperty(value = "收款方账号（银行卡号/支付宝账号/open_id）以实际业务为准")
    private String payAccount;

    @ApiModelProperty(value = "支付类型（1：银行卡，2：支付宝,4:微信）以实际业务为准")
    private String payType;

    @ApiModelProperty(value = "项目名称")
    private String projectName;

    @ApiModelProperty(value = "备注（扩展字段）只针对测试环境：只要参数合规都会返回交易成功，如果想要模拟交易失败，该字段值中含有“失败”二字即会失败。")
    private String remark;

    @ApiModelProperty(value = "接口名称: bpotop.zx.pay.order")
    private String service;

    @ApiModelProperty(value = "签名类型：RSA")
    private String signType;

    @ApiModelProperty(value = "回调地址")
    private String notifyUrl;

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getOutMemberNo() {
        return outMemberNo;
    }

    public void setOutMemberNo(String outMemberNo) {
        this.outMemberNo = outMemberNo;
    }

    public String getOuterOrderNo() {
        return outerOrderNo;
    }

    public void setOuterOrderNo(String outerOrderNo) {
        this.outerOrderNo = outerOrderNo;
    }

    public Integer getAdditionalCharge() {
        return additionalCharge;
    }

    public void setAdditionalCharge(Integer additionalCharge) {
        this.additionalCharge = additionalCharge;
    }

    public Integer getActualAmount() {
        return actualAmount;
    }

    public void setActualAmount(Integer actualAmount) {
        this.actualAmount = actualAmount;
    }

    public Integer getCompanyCharge() {
        return companyCharge;
    }

    public void setCompanyCharge(Integer companyCharge) {
        this.companyCharge = companyCharge;
    }

    public Integer getCompanyServiceFee() {
        return companyServiceFee;
    }

    public void setCompanyServiceFee(Integer companyServiceFee) {
        this.companyServiceFee = companyServiceFee;
    }

    public Integer getCompanyTax() {
        return companyTax;
    }

    public void setCompanyTax(Integer companyTax) {
        this.companyTax = companyTax;
    }

    public Integer getServiceCharge() {
        return serviceCharge;
    }

    public void setServiceCharge(Integer serviceCharge) {
        this.serviceCharge = serviceCharge;
    }

    public Integer getTaxFee() {
        return taxFee;
    }

    public void setTaxFee(Integer taxFee) {
        this.taxFee = taxFee;
    }

    public Integer getPersonServiceFee() {
        return personServiceFee;
    }

    public void setPersonServiceFee(Integer personServiceFee) {
        this.personServiceFee = personServiceFee;
    }

    public Integer getPredictAmount() {
        return predictAmount;
    }

    public void setPredictAmount(Integer predictAmount) {
        this.predictAmount = predictAmount;
    }

    public String getSalaryType() {
        return salaryType;
    }

    public void setSalaryType(String salaryType) {
        this.salaryType = salaryType;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getErrorCode() {
        return errorCode;
    }

    public void setErrorCode(String errorCode) {
        this.errorCode = errorCode;
    }

    public String getErrorMsg() {
        return errorMsg;
    }

    public void setErrorMsg(String errorMsg) {
        this.errorMsg = errorMsg;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getCertificateNo() {
        return certificateNo;
    }

    public void setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCardAttribute() {
        return cardAttribute;
    }

    public void setCardAttribute(String cardAttribute) {
        this.cardAttribute = cardAttribute;
    }

    public String getCardType() {
        return cardType;
    }

    public void setCardType(String cardType) {
        this.cardType = cardType;
    }

    public String getPayAccount() {
        return payAccount;
    }

    public void setPayAccount(String payAccount) {
        this.payAccount = payAccount;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getService() {
        return service;
    }

    public void setService(String service) {
        this.service = service;
    }

    public String getSignType() {
        return signType;
    }

    public void setSignType(String signType) {
        this.signType = signType;
    }

    public String getNotifyUrl() {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }
}