package com.bonus.core.account.v3.web.dto;

import cn.hutool.core.util.StrUtil;
import com.bonus.core.common.page.PageDTO;
import com.bonus.utils.LeBeanUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Data
public class AccCommonPageDTO extends PageDTO {
   @ApiModelProperty("交易订单号")
   private String accTradeId;
   @ApiModelProperty("操作开始时间")
   private LocalDateTime startDateTime;
   @ApiModelProperty("操作结束时间")
   private LocalDateTime endDateTime;
   @ApiModelProperty("查询组织id集合")
   private List<Long> orgIdList;
   @ApiModelProperty("用户类别id集合")
   private List<Integer> psnTypeList;
   @ApiModelProperty("操作类型id集合")
   private List<Integer> tradeTypeList;
   @ApiModelProperty("操作员姓名")
   private String crBy;
   @ApiModelProperty("关键字查询,人员编号,姓名,手机号")
   private String keyword;
   @ApiModelProperty("需要导出列")
   private List<String> exportCols;
   @ApiModelProperty("物理卡号")
   private String serialNum;
   @ApiModelProperty("人员id")
   private Long custId;

   public String getAccTradeId() {
      return StrUtil.isNotBlank(this.accTradeId) ? this.accTradeId : null;
   }

   public String getCrBy() {
      return LeBeanUtil.fieldLikeHandle(this.crBy);
   }


   protected boolean canEqual(final Object other) {
      return other instanceof AccCommonPageDTO;
   }


   public LocalDateTime getStartDateTime() {
      return this.startDateTime;
   }

   public LocalDateTime getEndDateTime() {
      return this.endDateTime;
   }

   public List<Long> getOrgIdList() {
      return this.orgIdList;
   }

   public List<Integer> getPsnTypeList() {
      return this.psnTypeList;
   }

   public List<Integer> getTradeTypeList() {
      return this.tradeTypeList;
   }

   public String getKeyword() {
      return this.keyword;
   }

   public List<String> getExportCols() {
      return this.exportCols;
   }

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

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

   public void setAccTradeId(final String accTradeId) {
      this.accTradeId = accTradeId;
   }

   public void setStartDateTime(final LocalDateTime startDateTime) {
      this.startDateTime = startDateTime;
   }

   public void setEndDateTime(final LocalDateTime endDateTime) {
      this.endDateTime = endDateTime;
   }

   public void setOrgIdList(final List<Long> orgIdList) {
      this.orgIdList = orgIdList;
   }

   public void setPsnTypeList(final List<Integer> psnTypeList) {
      this.psnTypeList = psnTypeList;
   }

   public void setTradeTypeList(final List<Integer> tradeTypeList) {
      this.tradeTypeList = tradeTypeList;
   }

   public void setCrBy(final String crBy) {
      this.crBy = crBy;
   }

   public void setKeyword(final String keyword) {
      this.keyword = keyword;
   }

   public void setExportCols(final List<String> exportCols) {
      this.exportCols = exportCols;
   }

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

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

}
