package com.hzs.member.account.vo;

import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.system.sys.dto.ApprovalItemInfoDTO;
import com.hzs.system.sys.dto.ApprovalSendInfoDTO;
import com.hzs.system.sys.dto.LoginUser;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * 会员在线签呈
 *
 * @Description:
 * @Author: ljc
 * @Time: 2023/2/13 10:24
 * @Classname: CuMemberPetitionVo
 * @Package_name: com.hzs.member.account.vo
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CuMemberPetitionVO implements Serializable {
    private static final long serialVersionUID = -4253961060147085264L;


    /**
     * 业务编号
     */
    private String businessNo;
    /**
     * 业务类型（来源枚举）
     */
    private Integer businessType;


    /**
     * 签呈类型
     */
    private Integer signType;

    /**
     * 发起部门
     */
    private Long deptId;

    /**
     * 部门名称
     */
    private String deptStr;


    /**
     * 发起人
     */
    private Long sponsorId;
    /**
     * 发起人名称
     */
    private String sponsorName;


    /**
     * 主旨
     */
    @Transaction(transactionKey = EnumsPrefixConstants.APPROVAL_BUSINESS)
    private Integer purport;

    private String purportVal;


    /**
     * 创建日期
     */
    private String creationDate;

    /**
     * 抄送部门
     */
    private List<String> deptList;

    /**
     * 情况说明
     */
    private String description;

    /**
     * 业务诉求
     */
    @Transaction
    private List<CuMemberPetitionListVO> petitionListVoList;

    /**
     * 提现业务列表
     */
    @Transaction
    private List<CuMemberWithdrawVO> memberWithdrawList;


    /**
     * 冻结业务列表
     */
    @Transaction
    private List<CuMemberFrozenAmountVO> memberFrozenAmountVOList;

    /**
     * 部门意见
     */
    private String descriptionComments;

    /**
     * 提现批量ID
     */
    List<Long> pkIds;

    /**
     * 登录用户信息
     */
    LoginUser loginUser;


    /**
     * 配置项列表
     */
    private List<ApprovalItemInfoDTO> itemList;

    /**
     * 抄送人列表
     */
    private List<ApprovalSendInfoDTO> sendList;

    /**
     * 审批用户列表 -- 提交审核必传
     */
    private List<Long> userIdList;

    /**
     * 抄送人用户ID列表 -- 非必传
     */
    private List<Long> sendIdList;

    /**
     * 创建人
     */
    private Long pkCreat;
}
