package com.iailab.netsdk.lib.structure;

import com.iailab.netsdk.lib.NetSDKLib;

/**
 * @author 291189
 * @description 事件类型 EVENT_IVS_USERMANAGER_FOR_TWSDK (用户信息上报事件)对应的数据块描述信息
 * @origin autoTool
 * @date 2023/07/28 14:34:03
 */
public class NET_DEV_EVENT_USERMANAGER_FOR_TWSDK_INFO extends
		NetSDKLib.SdkStructure {
	/**
	 * 通道号
	 */
	public int nChannelID;
	/**
	 * 0:脉冲
	 */
	public int nAction;
	/**
	 * 事件发生的时间
	 */
	public NET_TIME_EX stuUTC = new NET_TIME_EX();
	/**
	 * 扩展协议字段
	 */
	public NET_EVENT_INFO_EXTEND stuEventInfoEx = new NET_EVENT_INFO_EXTEND();
	/**
	 * 用户ID
	 */
	public byte[] szUserID = new byte[9];
	/**
	 * 字节对齐
	 */
	public byte[] szReserved1 = new byte[7];
	/**
	 * 用户名
	 */
	public byte[] szUserName = new byte[64];
	/**
	 * 用户类型
	 * 0: 为普通用户
	 * 1: 为黑名单用户(黑名单会报黑名单事件AccessControlBlacklist)
	 * 2: 为来宾用户
	 * 3: 为巡逻用户
	 * 4: 为VIP用户
	 * 5: 伤障用户
	 */
	public int nUserType;
	/**
	 * 使用次数
	 */
	public int nUseTime;
	/**
	 * 用户权限 0:未知 1: 管理员 2: 普通用户
	 */
	public int nAuthority;
	/**
	 * 有效的的时间段数目
	 */
	public int nTimeSectionNum;
	/**
	 * 时段
	 */
	public int[] nTimeSections = new int[64];
	/**
	 * 有效期
	 */
	public NET_TIME stuValidTo = new NET_TIME();
	/**
	 * 假日计划
	 */
	public int[] nSpecialDaysSchedule = new int[64];
	/**
	 * 假日计划表示数量
	 */
	public int nSpecialDaysScheduleNum;
	/**
	 * 消息类型 0: 未知 1: 人员新增消息 2: 人员修改消息 3:人员删除消息(删除时仅UserID有效)
	 */
	public int nType;
	/**
	 * 密码
	 */
	public byte[] szPassword = new byte[9];
	/**
	 * 字节对齐
	 */
	public byte[] szReserved2 = new byte[7];
	/**
	 * 特征值
	 */
	public BYTE_2048[] szFaceList = new BYTE_2048[5];
	/**
	 * 特征值数量
	 */
	public int nFaceListNum;
	/**
	 * 卡片数量
	 */
	public int nCardListNum;
	/**
	 * 卡片
	 */
	public BYTE_32[] szCardList = new BYTE_32[5];
	/**
	 * 信息
	 */
	public BYTE_256[] szFingerList = new BYTE_256[5];
	/**
	 * 信息数量
	 */
	public int nFingerListNum;
	/**
	 * 是否删除所有用户(true:删除所有用户数据,其余字段无效)
	 */
	public int bDelAllUser;
	/**
	 * 有效期开始时间
	 */
	public NET_TIME stuValidFrom = new NET_TIME();
	/**
	 * 设备序列号
	 */
	public byte[] szSN = new byte[32];
	/**
	 * 用户总数量
	 */
	public int nUserCount;
	/**
	 * 信息总数量
	 */
	public int nFingerCount;
	/**
	 * 目标总数量
	 */
	public int nFaceCount;
	/**
	 * 卡片总数量
	 */
	public int nCardCount;
	/**
	 * 用户信息图片信息
	 */
	public NET_USERMANAGER_IMAGE_INFO[] stuImageInfo = new NET_USERMANAGER_IMAGE_INFO[5];
	/**
	 * 用户信息图片信息个数
	 */
	public int nImageInfoCount;
	/**
	 * 预留字节
	 */
	public byte[] szReserved = new byte[572];

	public NET_DEV_EVENT_USERMANAGER_FOR_TWSDK_INFO() {
		for (int i = 0; i < stuImageInfo.length; i++) {
			stuImageInfo[i] = new NET_USERMANAGER_IMAGE_INFO();
		}

		for(int i=0;i<szFaceList.length;i++){
			szFaceList[i]=new BYTE_2048();
		}

		for(int i=0;i<szCardList.length;i++){
			szCardList[i]=new BYTE_32();
		}

		for(int i=0;i<szFingerList.length;i++){
			szFingerList[i]=new BYTE_256();
		}

	}
}