package com.bonus.canteen.core.device.manage.controller.deprecated.vo;

import com.bonus.canteen.core.common.encrypt.LeNiuDecryptDataProcess;
import com.bonus.canteen.core.common.encrypt.LeNiuDecryptField;
import com.bonus.canteen.core.common.utils.SysUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

@ApiModel("安卓设备人员信息返回")
@LeNiuDecryptDataProcess
@Data
public class CustInfoAzVo {
   private String updateId;
   private String faceId;
   @ApiModelProperty("卡序列号 物理卡号")
   private String serialNum;
   @ApiModelProperty("人员id")
   private Long custId;
   @ApiModelProperty("人员编号")
   private String custNum;
   @ApiModelProperty("人员姓名")
   @LeNiuDecryptField
   private String custName;
   @ApiModelProperty("人员照片")
   private String custPhotoUrl;
   @ApiModelProperty("机构全称")
   private String department;
   @ApiModelProperty("支付宝openid")
   private String aliopenid;
   @ApiModelProperty("人员状态 1-正常 2-注销")
   private Integer custState;
   @ApiModelProperty("卡类型")
   private Integer cardType;
   @ApiModelProperty("卡状态 1-正常 4-挂失")
   private Integer cardStatus;
   @ApiModelProperty("账户状态 1正常  2冻结  3销户")
   private Integer accStatus;
   @ApiModelProperty("支付宝签约号")
   private String alipayContractNum;
   @ApiModelProperty("更新时间")
   private LocalDateTime uptime;

   public String getFaceId() {
      return String.format("%024d", this.getCustId());
   }

   public String getCustPhotoUrl() {
      return SysUtil.getCutFileUrl(this.custPhotoUrl);
   }

   public String getUpdateId() {
      return this.updateId;
   }

   public String getSerialNum() {
      return this.serialNum;
   }

   public Long getCustId() {
      return this.custId;
   }

   public String getCustNum() {
      return this.custNum;
   }

   public String getCustName() {
      return this.custName;
   }

   public String getDepartment() {
      return this.department;
   }

   public String getAliopenid() {
      return this.aliopenid;
   }

   public Integer getCustState() {
      return this.custState;
   }

   public Integer getCardType() {
      return this.cardType;
   }

   public Integer getCardStatus() {
      return this.cardStatus;
   }

   public Integer getAccStatus() {
      return this.accStatus;
   }

   public String getAlipayContractNum() {
      return this.alipayContractNum;
   }

   public LocalDateTime getUptime() {
      return this.uptime;
   }

   public CustInfoAzVo setUpdateId(final String updateId) {
      this.updateId = updateId;
      return this;
   }

   public CustInfoAzVo setFaceId(final String faceId) {
      this.faceId = faceId;
      return this;
   }

   public CustInfoAzVo setSerialNum(final String serialNum) {
      this.serialNum = serialNum;
      return this;
   }

   public CustInfoAzVo setCustId(final Long custId) {
      this.custId = custId;
      return this;
   }

   public CustInfoAzVo setCustNum(final String custNum) {
      this.custNum = custNum;
      return this;
   }

   public CustInfoAzVo setCustName(final String custName) {
      this.custName = custName;
      return this;
   }

   public CustInfoAzVo setCustPhotoUrl(final String custPhotoUrl) {
      this.custPhotoUrl = custPhotoUrl;
      return this;
   }

   public CustInfoAzVo setDepartment(final String department) {
      this.department = department;
      return this;
   }

   public CustInfoAzVo setAliopenid(final String aliopenid) {
      this.aliopenid = aliopenid;
      return this;
   }

   public CustInfoAzVo setCustState(final Integer custState) {
      this.custState = custState;
      return this;
   }

   public CustInfoAzVo setCardType(final Integer cardType) {
      this.cardType = cardType;
      return this;
   }

   public CustInfoAzVo setCardStatus(final Integer cardStatus) {
      this.cardStatus = cardStatus;
      return this;
   }

   public CustInfoAzVo setAccStatus(final Integer accStatus) {
      this.accStatus = accStatus;
      return this;
   }

   public CustInfoAzVo setAlipayContractNum(final String alipayContractNum) {
      this.alipayContractNum = alipayContractNum;
      return this;
   }

   public CustInfoAzVo setUptime(final LocalDateTime uptime) {
      this.uptime = uptime;
      return this;
   }


}
