package com.yuchen.saas.park.api.vo.property;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.thinkunion.park.service.common.utils.AmtUtil;
import com.yuchen.saas.park.api.enums.property.DepositStatusEnum;
import lombok.Data;

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

@Data
public class PropertyBusinessChargesListVo {

    private Long id;
    /**
     * 园区Id
     */
    private Long parkId;
    /**
     * 园区名称
     */
    private String parkName;

    private Long customerId;
    /**
     * 客户名称
     */
    private String customerName;
    /**
     * 状态
     */
    private Integer status;
    /**
     * 状态名称
     */
    private String statusName;
    public String getStatusName() {
        return DepositStatusEnum.convert(this.status).getDesc();
    }
    /**
     * 应收日期
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date receivableDate;

    @JsonIgnore
    private long noPayAmtFen;
    /**
     * 应付金额; 单位：元
     */
    private BigDecimal noPayAmt;
    public BigDecimal getNoPayAmt() {
        return AmtUtil.fenToYuan(this.noPayAmtFen);
    }

    @JsonIgnore
    private long payAmtFen;
    /**
     * 实收金额; 单位：元
     */
    private BigDecimal payAmt;
    public BigDecimal getPayAmt() {
        return AmtUtil.fenToYuan(this.payAmtFen);
    }

    /**
     * 收费时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /**
     * 收费方式 0-线上收费，1-线下收款
     */
    private Integer chargeType; // TODO tucq

    /**
     * 备注
     */
    private String payRemark;
//    /**
//     * 退款备注信息
//     */
//    private String refundRemark;

    @JsonIgnore
    private Long createUser;

    /**
     * 创建人员
     */
    private String createUserName;
    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;


}
