//用于车牌识别设备的白名单相关的操作 #ifndef _WTYSDK_WHITE_LIST_H_ #define _WTYSDK_WHITE_LIST_H_ #if !defined(WIN32) && !defined(__stdcall) #define __stdcall #endif #ifdef __cplusplus extern "C" { #endif struct PlateInfo_t; struct plateTraffic_t; //---一些返回值错误信息定义 //typedef enum //{ // WTYSDK_WLIST_ERROR_NO_ERROR=0, //返回成功! // WTYSDK_WLIST_ERROR_GENERAL=-1, //调用底层接口库失败 // WTYSDK_WLIST_ERROR_IP_NULL=-2, //IP地址为空 // WTYSDK_WLIST_ERROR_SIZEOUTOFRANGE=-3, //每页大小超过100 // WTYSDK_WLIST_ERROR_MALLOCFAIL=-4, //申请内存失败 // WTYSDK_WLIST_ERROR_IP_ILLEGALITY=-5 , //IP地址非法 // WTYSDK_WLIST_DEVICEALREADYREGISTER=1, //设备已经注册成功 // WTYSDK_WLIST_ERROR_DATA=-11, //导入信息有误 // WTYSDK_WLIST_TIME_OUT=-12, //select超时 // WTYSDK_WLIST_SERVER_CLOSED=-13, //服务器端不存在 // WTYSDK_WLIST_WLISTSOCKET_ERROR=-21, //套接字创建失败 // WTYSDK_WLIST_CONNECT_ERROR=-22, //连接服务器失败 // WTYSDK_WLIST_SELECT_ERROR=-23, //select失败 // WTYSDK_WLIST_RECV_ERROR=-24, //接收数据返回失败 // WTYSDK_WLIST_SEND_ERROR=-25, //发送数据失败 // WTYSDK_WLIST_DATABASE_ERROR =1, //数据库操作失败 // WTYSDK_WLIST_REQ_ERROR =2, //请求包格式错误 // WTYSDK_WLIST_RECIVE_TIMEOUT =3, //接受包超时 // WTYSDK_WLIST_DATA_ERROR =4, //数据错误 // // WTYSDK_WLIST_ERROR_NOREGISTSPACE = -6, // 无注册预留空间 最多100个 mdf by zhz // WTYSDK_WLIST_ERROR_QUERYCONDITION = -7 // 查询条件出错(比如查询参数不合法) mdf by zhz //} //CLIENT_LPR_WLIST_ERROR; /* * 车牌类型宏定义 */ #define WTYSDK_PLATETYPE_UNKNOWN 0 ///未知类型 #define WTYSDK_PLATETYPE_BLUE 1 ///蓝牌 #define WTYSDK_PLATETYPE_BLACK 2 ///黑牌 #define WTYSDK_PLATETYPE_SINGLEYELLOW 3 ///单层黄牌 #define WTYSDK_PLATETYPE_DOUBLEYELLOW 4 ///双层黄牌 #define WTYSDK_PLATETYPE_JCPLATE 5 ///警车车牌 #define WTYSDK_PLATETYPE_WJPLATE 6 ///武警车牌 #define WTYSDK_PLATETYPE_INDIVIDUATION 7 ///个性化车牌 #define WTYSDK_PLATETYPE_SINGLEARMY 8 ///单层军牌 #define WTYSDK_PLATETYPE_DOUBLEARMY 9 ///双层军牌 #define WTYSDK_PLATETYPE_EMBASSY 10 ///使馆车牌 #define WTYSDK_PLATETYPE_HKOKATE 11 ///香港车牌 #define WTYSDK_PLATETYPE_TRACTOR 12 ///拖拉机 #define WTYSDK_PLATETYPE_AOMEN 13 ///澳门牌 #define WTYSDK_PLATETYPE_INTERNAL 14 ///内部牌 #define WTYSDK_PLATETYPE_MHPALTE 15 ///民航车牌 #define WTYSDK_PLATETYPE_CONSULATE 16 ///领馆车牌 /* * 车辆颜色宏定义 */ #define WTYSDK_CARCOLOR_UNKNOWN 0 ///未知类型 #define WTYSDK_CARCOLOR_BLUE 1 ///蓝色 #define WTYSDK_CARCOLOR_YELLOW 2 ///黄色 #define WTYSDK_CARCOLOR_WHITE 3 ///白色 #define WTYSDK_CARCOLOR_BLACK 4 ///黑色 #define WTYSDK_CARCOLOR_GREEN 5 ///绿色 /* * 定义用户、车辆信息结构体里面的数组大小 */ #define WTYSDK_WLIST_CUSTOMER_NAME_LEN 20 //用户名字符串长度 #define WTYSDK_WLIST_CUSTOMER_CODELEN 20 //用户编码字符串长度 #define WTYSDK_WLIST_VEHICLE_PLATE_LEN 16 //车牌字符串长度 #define WTYSDK_WLIST_VEHICLE_CODE_LEN 20 //车辆编码字符串长度 #define WTYSDK_WLIST_VEHICLE_TIME_LEN 20 //时间信息字符串长度 #define WTYSDK_WLIST_HTTP_SELECTTRAFFIC_IP_DOMAIN 50 // http 查询 ip 域名长度 #define WTYSDK_WLIST_TIME_SEG_MAX_NUM 8 //时间段字符串长度 #define WTYSDK_WLIST_PERPAGE_MAXSIZE 100 //查询或者导入每页最大值 #define WTYSDK_WLIST_PIC_SAVEPATH 100 //保存图片路径字符串长度 #define WTYSDK_WLIST_STOREMAXVALUE 30000 //白名单保存用户和车辆信息最大值 /* * 定义客户信息、用户信息、车辆通行信息结构体 */ //黑白名单记录的客户信息 typedef struct { unsigned uCustomerID; //<客户在数据库的ID,用于修改、删除操作(主键) char strName[WTYSDK_WLIST_CUSTOMER_NAME_LEN]; //<客户姓名 char strCode[WTYSDK_WLIST_CUSTOMER_CODELEN]; //<客户编码,唯一编码 char reserved[256];//保留 } WTYSDK_WLIST_CUSTOMER; //---以下一些做api函数参数的定义 // 黑白名单客户信息查询条件 typedef struct{ int UserID; //客户ID char UserName[WTYSDK_WLIST_CUSTOMER_NAME_LEN]; //客户名字 char UserSerial[WTYSDK_WLIST_CUSTOMER_CODELEN]; //客户编号 int page; //从0开始算第一页,依次类推 int pageSize; //每页查询的数目 char reserved[100]; } WTYSDK_CUSTOMERQUERYCONDITION; //黑白名单中的车辆记录 typedef struct { unsigned uVehicleID; //<车辆在数据库的ID char strPlateID[WTYSDK_WLIST_VEHICLE_PLATE_LEN]; //<车牌字符串 unsigned uCustomerID; //<客户在数据库的ID,与WTYSDK_WLIST_CUSTOMER::uCustomerID对应 unsigned bEnable; //<该记录有效标记 //unsigned bEnableTMEnable; //<是否开启生效时间 //unsigned bEnableTMOverdule; //<是否开启过期时间 char struTMCreate[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //<该记录创建时间 char struTMEnable[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //<该记录生效时间 char struTMOverdule[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //<该记录过期时间 unsigned bUsingTimeSeg; //是否使用时间段匹配0不启用1 char struTimeSeg[256]; //<周期时间段信息 int WeekTimeMatch; //是否在时间段内使用周期时间段匹配0不启用1启用 //int TimeMatch; 是否使用时间段匹配0不启用1 unsigned bAlarm; //<是否触发报警(黑名单记录) int iColor; //<车辆颜色 int iPlateType; //<车牌类型 int iBlackList; //是否黑名单 0不是 1是 char strCode[WTYSDK_WLIST_VEHICLE_CODE_LEN]; //<车辆编码 char strRemark[100]; //车辆备注说明,可以为空 char reserved[256]; //保留 } WTYSDK_WLIST_VEHICLE; //车辆 信息查询条件 typedef struct{ int PlateinfoID; //车辆ID int UserID; //用户ID char UserName[20]; //客户名字 char UserSerial[20]; //客户编号 char PlateNumber[16]; //车牌号 char CarSerial[20]; //车辆代码 int Blacklist; int conditionsflag; //查询条件设置0 根据用户ID查询 1根据用户名查询 2根据用户编码 3根据车辆ID 4根据车牌号 5根据车辆代码 6查询所有 int page; //查询页 int pageSize; //每页大小,最大值100 char reserved[256]; } WTY_SDK_VEHICLEQUERYRECORD; //车辆通行信息 typedef struct { int iTrafficId; //车辆通行ID,自增 int iVehicleID; //车辆ID int iCustomerID; //用户ID char strPlateNumber[WTYSDK_WLIST_VEHICLE_PLATE_LEN]; //车牌字符串 char strPassTime[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //车辆通过时间 int iCarSigned; //车辆标示,0外来车,1内部车 int iIsOpenSigno; //是否开启道闸, 0未抬杆,1已抬杆 char strPicSavePath[WTYSDK_WLIST_PIC_SAVEPATH]; //图片保存路径 char reserved[256]; //保留 } WTYSDK_WLIST_TRAFFIC_INFO; //Http记录信息 typedef struct { int TrafficID; ///*ID号:相机自己生成,无需客户指定 */ char PlateNumber[16]; ///*车牌号码*/ char RecDateTime[20]; ///*识别时间*/ char TransDateTime[20]; ///*发送时间*/ int FullImageSize; ///*大图大小*/ int PlateImageSize; ///*小图大小*/ int IPtype; ///*使用IP还是域名0 IP */ char IP_Domain[50]; ///*IP 或 域名*/ int Port; ///*端口*/ char Path[200]; ///*路径*/ int TransType; ///*传送方式 0 即时推送数据 1 异常数据重传*/ int state; ///*发送结果*/ int ReciveState; ///*接数据状态*/ int DoorOpen; ///*是否开闸 0 不开 1 开*/ int AbnormalID; ///*续传ID*/ char reserved[256]; //保留 } WTYSDK_WLIST_HTTP_INFO; //车辆通行信息查询条件 typedef struct { char StartTime[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //*开始时间 char EndTime[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //*结束时间 char chPlateNumber[WTYSDK_WLIST_VEHICLE_PLATE_LEN]; //*车牌号 int page; //*当前页数 int pageSize; //*每页最多查询的大小,100,大于100返回-1 int queryFlag; //*0 时间段查询 1 车牌查询 2 分页查询 char reserved[256]; } WTY_SDK_TRAFFIC_QUERYCONDITION; //Http记录查询条件 typedef struct { char StartTime[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //*开始时间 char EndTime[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //*结束时间 char chPlateNumber[WTYSDK_WLIST_VEHICLE_PLATE_LEN]; //*车牌号 char IP[16]; /*IP或者域名*/ char Domain[50];//域名 int ipOrDomain;//1 ip 2 域名 int state; /*发送结果*/ //int http_select_type;/*查询方式:1:根据ip或者域名查询 可选时间段:2:推送结果查询 可选时间段 3:发送失败重新上传 可选时间段 4:前一天没有上传成功,后一天成功的*/ int page; //*当前页数 int pageSize; //*每页最多查询的大小,100,大于100返回-1 int queryFlag; //*0 时间段查询 1 车牌查询 2 分页查询 3域名或者IP查询 4推送结果查询 5发送失败从新上传 6前一天没有成功,后一天成功 int timeIsEnabled;///使能是否启用时间段匹配 char reserved[256]; } WTY_SDK_HTTP_QUERYCONDITION; //返回的信息类型 typedef enum{ WTYSDK_WLIST_CB_TYPE_NO = 0, //无效信息 WTYSDK_WLIST_CB_TYPE_CUSTOMER, //客户信息 WTYSDK_WLIST_CB_TYPE_VEHICLE, //车辆信息 WTYSDK_WLIST_CB_TYPE_TRAFFIC, //车辆通行信息 WTYSDK_WLIST_CB_TYPE_ROWS //车辆和用户综合信息 } WTYSDK_WLIST_CB_TYPE; //车辆和用户信息 typedef struct { //int nSize; //*批量导入车牌和用户数据条数,每次最多100条 WTYSDK_WLIST_VEHICLE nCarInfo; //*批量导入车牌信息结构体数组指针 WTYSDK_WLIST_CUSTOMER nUserInfo; //*批量导入用户信息结构体数组指针 } WTYSDK_IMPORTROWS; //白名单批量导入失败标志 typedef struct { int nRow;//导入失败的条数 char Result[WTYSDK_WLIST_STOREMAXVALUE];//0 数据库存储大于上限10000条,-1 用户信心错误,-2 车辆信息错误 -3重复车牌 } WTYSDK_IMPORT_FAILDREASON; /* * @brief 白名单表、客户信息表、车辆通行信息的查询反馈结果函数 * @param [IN] type 回调函数返回的信息类型 * @param [IN] pLP 查询的车辆信息记录 * @param [IN] pCustomer 查询的客户信息记录 * @param [IN] nTotal 单次查询返回的总数 * @param [IN] pUserData 回调函数中的上下文 * @ingroup group_callback */ typedef void (*WTYSDK_WLIST_QUERY_CALLBACK)(WTYSDK_WLIST_CB_TYPE type, WTYSDK_WLIST_VEHICLE *pLP, WTYSDK_WLIST_CUSTOMER *pCustomer, WTYSDK_WLIST_TRAFFIC_INFO *pTrafficInfo, int nTotal, void *pUserData); /* * @brief HTTP的查询反馈结果函数 * @param [IN] pTrafficInfo 查询的HTTP信息记录 * @param [IN] nTotal 单次查询返回的总数 * @param [IN] pUserData 回调函数中的上下文 * @ingroup group_callback */ typedef void (*WTYSDK_WLIST_QUERY_HTTP_CALLBACK)(WTYSDK_WLIST_HTTP_INFO *pTrafficInfo,int nTotal,void *pUserData); /* * @brief 设置白名单表和客户信息表的查询结果回调 * @param [IN] func 查询结果回调函数 * @param [IN] pUserData 回调函数中的上下文 (用户传入指针) * @param [IN] pServerIp 服务器IP * @return 0表示成功,其它表示失败 * @ingroup group_database */ int __stdcall WTYSDK_WhiteListSetQueryCallBack(WTYSDK_WLIST_QUERY_CALLBACK func, void *pUserData,char *pServerIp); /* * @brief 设置HTTP查询结果回调 * @param [IN] func 查询结果回调函数 * @param [IN] pUserData 回调函数中的上下文 * @param [IN] pServerIp 服务器IP * @return 0表示成功,其它表示失败 * @ingroup group_database */ int __stdcall WTYSDK_WhiteListSetQueryHttpCallBack(WTYSDK_WLIST_QUERY_HTTP_CALLBACK func, void *pUserData,char *pServerIp); /* * @brief 获取所有客户信息记录的条数 * @param [IN] pServerIp 服务器IP * @return >=0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListGetCustomerCount(char *pServerIp); /* * @brief 查询白名单表客户信息数据,客户信息通过回调函数返回 * @param [IN] pServerIp 服务器IP * @param [IN] numbers 单次每页查询最大值100(1-100),数据多的话可以分页查询和显示 * @param [IN] nPage 查询页数,当前页数从0开始代表第一页 * @return >=0表示查询到的总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadCustomer(char *pServerIp,int numbers,int nPage); /* * @brief 获取白名单客户信息,通过ID * @param [IN] pServerIp 服务器IP * @param [IN] iCustomerId 客户信息的ID * @return >=0表示查询到的总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadCustomerById(char *pServerIp,int iCustomerId); // id唯一 /* * @brief 获取白名单客户信息,通过客户编码 * @param [IN] pServerIp 服务器IP * @param [IN] strCode 客户信息的唯一编码 * @param [IN] numbers 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1 * @param [IN] nPage 查询页数,当前页数从0开始代表第一页 * @return >=0表示查询到的总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadCustomerByCode(char *pServerIp,char* strCode,int numbers,int nPage); /* * @brief 获取白名单客户信息,通过客户名称 * @param [IN] strName 客户信息的名称 * @param [IN] pServerIp 服务器IP * @param [IN] numbers 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1 * @param [IN] nPage 查询页数,当前页数从0开始代表第一页 * @return >=0表示查询到的总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadCustomerByName(char *pServerIp,char* strName,int numbers,int nPage); /* * @brief 增加用户信息记录 * @param [IN] pServerIp 服务器IP * @param [IN] pNewCustomer 增加的用户信息的结构体 其中 uCustomerID 为自动生成 填写无用 * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListInsertCustomer(char *pServerIp,WTYSDK_WLIST_CUSTOMER pNewCustomer); /* * @brief 删除白名单客户信息,通过ID * @param [IN] pServerIp 服务器IP * @param [IN] iCustomerId 客户信息的ID * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListDeleteCustomerById(char *pServerIp,int iCustomerId); /* * @brief 删除白名单客户信息,通过用户名 * @param [IN] pServerIp 服务器IP * @param [IN] strName 客户名 * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListDeleteCustomerByName(char *pServerIp,char* strName); /* * @brief 删除白名单客户信息,通过客户编码 * @param [IN] pServerIp 服务器IP * @param [IN] strCode 客户信息的唯一编码 * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListDeleteCustomerByCode(char *pServerIp,char* strCode); /* * @brief 更新白名单客户信息,通过ID 注:id系统生成,更新时候id必须对应,不能随意填 * @param [IN] pServerIp 服务器IP * @param [IN] pNewCustomer 客户信息 * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListUpdateCustomerById(char *pServerIp,WTYSDK_WLIST_CUSTOMER pNewCustomer); /* * @brief 更新白名单客户信息,通过用户名 注:id系统生成,更新时候id必须对应,不能随意填 * @param [IN] pServerIp 服务器IP * @param [IN] pNewCustomer 客户信息 * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListUpdateCustomerByName(char *pServerIp,WTYSDK_WLIST_CUSTOMER pNewCustomer); /* * @brief 更新白名单客户信息,通过客户编码 id系统生成,更新时候id必须对应,不能随意填 此函数会忽略id,把所有用户编号相同的都改 * @param [IN] pServerIp 服务器IP * @param [IN] pNewCustomer 客户信息 * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListUpdateCustomerByCode(char *pServerIp,WTYSDK_WLIST_CUSTOMER pNewCustomer); /* * @brief 获取所有车辆通行记录的条数 * @param [IN] pServerIp 服务器IP * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListGetTrafficCount(char *pServerIp); /* * @brief 查询所有车辆通行记录 * @param [IN] pServerIp 服务器IP * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1 * @return >=0表示查询到的总数,<0表示失败 */ int __stdcall WTY_WhiteListTrafficLoad(char *pServerIp,WTY_SDK_TRAFFIC_QUERYCONDITION queryConditions); /* * @brief 通过车辆通行ID删除车辆通行信息 * @param [IN] pServerIp 服务器IP * @param [IN] tracfficId 车辆通行记录的ID * @return 0表示成功,-1表示失败 */ int __stdcall WTY_WhiteListTraffiDelete(char *pServerIp,int tracfficId); /* * @brief 清空车辆通行信息 * @param [IN] pServerIp 服务器IP * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListTraffiDeleteAll(char *pServerIp); /* * @brief 批量导出车辆通行信息 * @param [IN] pServerIp 服务器IP * @param [OUT] pExportBuf 存储查询到的记录缓冲区 * @param [OUT] nSucceedCount 存储查询成功的记录总条数 * @param [IN] nIndexTotal 想要获取到的记录总数 * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListTraffiExportAll(char *pServerIp,WTYSDK_WLIST_TRAFFIC_INFO *pExportBuf,int *nSucceedCount,int nIndexTotal); /* * @brief 获取所有车辆信息记录的条数 * @param [IN] pServerIp 服务器IP * @return >=0表示成功获取到的数目,<0表示失败 */ int __stdcall WTY_WhiteListGetVehicleCount(char *pServerIp); /* * @brief 查询白名单表车辆信息数据,客户信息通过回调函数返回 注:此函数为统查 只关注WTY_SDK_VEHICLEQUERYRECORD 内page 和pagesize * @param [IN] pServerIp 服务器IP * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1 * @return >=0表示查询到的总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadVehicle(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD queryConditions); /* * @brief 获取白名单车辆信息,通过车牌号码 注: 只关注WTY_SDK_VEHICLEQUERYRECORD 内page 和pagesize 车牌号码 查找车牌号关键字 * @param [IN] pServerIp 服务器IP * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1 * @return >=0表示成功获取车辆总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadVehicleByPlateId(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD queryConditions); /* * @brief 获取白名单车辆信息,通过车辆自增ID * @param [IN] pServerIp 服务器IP * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1 * @return >=0表示成功获取车牌总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadVehicleById(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD queryConditions); /* * @brief 获取白名单车辆信息,通过车辆编码 * @param [IN] pServerIp 服务器IP * @param [IN] strCode 车辆信息的编码 * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1 * @return >=0表示成功获取车辆总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadVehicleByCode(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD queryConditions); /* * @brief 获取白名单车辆信息,通过用户ID * @param [IN] pServerIp 服务器IP * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1 * @return >=0表示成功获取车辆总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadVehicleByUserId(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD queryConditions); /* * @brief 获取白名单车辆信息,通过车辆用户名字 * @param [IN] pServerIp 服务器IP * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1 * @return >=0表示获取到的车辆总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadVehicleByUserName(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD queryConditions); /* * @brief 获取白名单车辆信息,通过用户编码 * @param [IN] pServerIp 服务器IP * @param [IN] strCode 车辆信息的编码 * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1 * @return >=0表示获取车牌总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadVehicleByUserCode(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD queryConditions); /* * @brief 更新白名单车辆信息,通过车牌号码 * @param [IN] pServerIp 服务器IP * @param [IN] strVehicleInfo 车辆信息 * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListUpdateVehicleByPlateId(char *pServerIp,WTYSDK_WLIST_VEHICLE strVehicleInfo); /* * @brief 更新白名单车辆信息,通过车辆自增ID * @param [IN] pServerIp 服务器IP * @param [IN] strVehicleInfo 车辆信息 * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListUpdateVehicleById(char *pServerIp,WTYSDK_WLIST_VEHICLE strVehicleInfo); /* * @brief 更新白名单车辆信息,通过车辆编码 * @param [IN] pServerIp 服务器IP * @param [IN] strVehicleInfo 车辆信息 * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListUpdateVehicleByCode(char *pServerIp,WTYSDK_WLIST_VEHICLE strVehicleInfo); /* * @brief 增加白名单车辆信息 * @param [IN] pServerIp 服务器IP * @param [IN] strVehicleInfo 车辆信息 * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListInsertVehicle(char *pServerIp,WTYSDK_WLIST_VEHICLE strVehicleInfo); /* * @brief 删除白名单车辆信息,通过车牌号码 * @param [IN] pServerIp 服务器IP * @param [IN] strPlateNumber 车牌号码 * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListDeleteVehicleByPlateId(char *pServerIp,char* strPlateNumber); /* * @brief 删除白名单车辆信息,通过车辆自增ID * @param [IN] pServerIp 服务器IP * @param [IN] iVehicleId 车辆信息自增ID * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListDeleteVehicleById(char *pServerIp,int iVehicleId); /* * @brief 删除白名单车辆信息,通过车辆编码 * @param [IN] pServerIp 服务器IP * @param [IN] strVehicleCode 车辆信息编码 * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListDeleteVehicleByCode(char *pServerIp,char* strVehicleCode); /* * @brief 清空白名单车辆信息 * @param [IN] pServerIp 服务器IP * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListEmptyVehicle(char *pServerIp); /* * @brief 清空所有车辆和用户信息 * @param [IN] pServerIp 服务器IP * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListClearCustomerAndVehicles(char *pServerIp); /* * @brief 从数据库删除客户的车辆信息,通过用户ID * @param [IN] pServerIp 服务器IP * @param [IN] pServerIp 服务器IP * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListDeleteVehicleByCustomerId(char *pServerIp ,int userId); /* * @brief 从数据库删除客户以及客户的车辆信息,通过用户ID * @param [IN] pServerIp 服务器IP * @param [IN] pServerIp 服务器IP * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListDeleteVehicleAndUserByCustomerId(char *pServerIp ,int userId); /* * @brief 获取白名单客户表客户和车辆记录的条数 * @param [IN] pServerIp 服务器IP * @return >=0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListGetRowCount(char *pServerIp); /* * @brief 查询白名单表车辆信息数据,客户信息通过回调函数返回 * @param [IN] pServerIp 服务器IP * @param [IN] nQueryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1 * @return >=0表示查询到的总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadRows(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD nQueryConditions); /* * @brief 查询白名单表车辆信息数据,通过回调函数返回 * @param [IN] pServerIp 服务器IP * @param [IN] nQueryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1 * @return >=0表示查询到的总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadRowsCustomerByUserId(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD nQueryConditions); /* * @brief 查询白名单表车辆信息数据,通过回调函数返回 * @param [IN] pServerIp 服务器IP * @param [IN] nQueryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1 * @return >=0表示查询到的总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadRowsCustomerByUserCode(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD nQueryConditions); /* * @brief 查询白名单表车辆信息数据,通过回调函数返回 * @param [IN] pServerIp 服务器IP * @param [IN] nQueryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1 * @return >=0表示查询到的总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadRowsCustomerByUserName(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD nQueryConditions); /* * @brief 通过车牌查询白名单用户信息和车辆信息,通过回调函数返回 * @param [IN] pServerIp 服务器IP * @param [IN] pCarPlate 查询的车牌号 * @return >=0表示查询到的总数,<0表示失败 */ int __stdcall WTY_WhiteListLoadRowsCustomerAndCarByPlate(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD nQueryConditions); /* * @brief 批量导入白名单表车辆信息和客户信息 * @param [IN] pServerIp 服务器IP * @param [IN] nImportRows 单次导入最大值100,数据多的话可以分次导入,大于100返回-1 * @param [IN] MyBatchResult 白名单导入失败记录的位置,相应位置的Result值等于1为失败 * @param [IN] importMaxValue 单次导入最多100条 * @return >=0表示成功的总数,<0表示失败 */ // pImportRows 导入用户和车匹配信息,单次最多100条 // faildReason [out]导入结果(WTYSDK_IMPORT_FAILDREASON参数nRow表示导入错误多少条,Result数组表示每一条的执行情况) // importMaxValue [int] 表示pImportRows中单次导入的条数(比如导入10条,这参数填入10)--最大100 int __stdcall WTY_WhiteListImportRows(char *pServerIp,WTYSDK_IMPORTROWS *pImportRows,WTYSDK_IMPORT_FAILDREASON *faildReason,int importMaxValue); /* * @brief 批量导出白名单客户和车辆信息 * @param [IN] pServerIp 服务器IP * @param [OUT] nImportRows 导出的数据记录信息结构体指针,大小是结构体大小*nTotal * @param [OUT] pExportSucceed 导出成功的数目 * @param [IN] WTY_WhiteListGetRowCount 获取到的记录的总条数 * @return >=0表示成功的总数,<0表示失败 */ // pExportRows[out] 导出内容 // pExportSucceed [out] 实际成功导出多少个 // nTotal [in] 需要导出的数量(希望导出500条,就填500条) 以此来分页导出,每页最多100 int __stdcall WTY_WhiteListExportsRows(char *pServerIp,WTYSDK_IMPORTROWS *pExportRows,int *pExportSucceed,int nTotal); /* * @brief 获取所有Http数据库记录的条数 * @param [IN] pServerIp 服务器IP * @return >=0表示获取条数,<0表示失败 */ int __stdcall WTY_WhiteListGetHttpCount(char *pServerIp); /* * @brief 查询Http数据记录 * @param [IN] pServerIp 服务器IP * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1 * @return >=0表示查询到的总数,<0表示失败 */ int __stdcall WTY_WhiteListHttpLoad(char *pServerIp,WTY_SDK_HTTP_QUERYCONDITION queryConditions,int *nTotal); /* * @brief 通过Http记录ID删除Http记录 * @param [IN] pServerIp 服务器IP * @param [IN] tracfficId 车辆通行记录的ID * @return 0表示成功,-1表示失败 */ int __stdcall WTY_WhiteListHttpDelete(char *pServerIp,int tracfficId); /* * @brief 清空Http记录 * @param [IN] pServerIp 服务器IP * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListHttpDeleteAll(char *pServerIp); /* * @brief 批量导出Http记录 * @param [IN] pServerIp 服务器IP * @param [OUT] pExportBuf 存储查询到的记录缓冲区 * @param [OUT] nSucceedCount 存储查询成功的记录总条数 * @param [IN] nIndexTotal 希望导出的个数 * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListHttpExportAll(char *pServerIp,WTYSDK_WLIST_HTTP_INFO *pExportBuf,int *nSucceedCount,int nIndexTotal); /* * @brief 根据车牌查询车辆信息(用于相机traffic) * @param [IN] pServerIp 服务器IP * @param [IN] pPlate 车牌号 * @param [OUT] pVehicleInfo 车辆信息 * @return 0表示成功但未找到,1表示操作成功,<0表示失败 */ int __stdcall WTY_WhiteListTrafficRequestByPlate(char *pServerIp, char *pPlate, PlateInfo_t* pVehicleInfo); /* * @brief 写入通行量(用于相机traffic) * @param [IN] pServerIp 服务器IP * @param [IN] pTrafficInfo 要插入的通信信息 * @return 0表示成功,<0表示失败 */ int __stdcall WTY_WhiteListTrafficInsertTrafficInfo(char* pServerIp, plateTraffic_t* pTrafficInfo); #ifdef __cplusplus } #endif #endif