WTYSDK_WhiteList.h 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717
  1. //用于车牌识别设备的白名单相关的操作
  2. #ifndef _WTYSDK_WHITE_LIST_H_
  3. #define _WTYSDK_WHITE_LIST_H_
  4. #if !defined(WIN32) && !defined(__stdcall)
  5. #define __stdcall
  6. #endif
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10. struct PlateInfo_t;
  11. struct plateTraffic_t;
  12. //---一些返回值错误信息定义
  13. //typedef enum
  14. //{
  15. // WTYSDK_WLIST_ERROR_NO_ERROR=0, //返回成功!
  16. // WTYSDK_WLIST_ERROR_GENERAL=-1, //调用底层接口库失败
  17. // WTYSDK_WLIST_ERROR_IP_NULL=-2, //IP地址为空
  18. // WTYSDK_WLIST_ERROR_SIZEOUTOFRANGE=-3, //每页大小超过100
  19. // WTYSDK_WLIST_ERROR_MALLOCFAIL=-4, //申请内存失败
  20. // WTYSDK_WLIST_ERROR_IP_ILLEGALITY=-5 , //IP地址非法
  21. // WTYSDK_WLIST_DEVICEALREADYREGISTER=1, //设备已经注册成功
  22. // WTYSDK_WLIST_ERROR_DATA=-11, //导入信息有误
  23. // WTYSDK_WLIST_TIME_OUT=-12, //select超时
  24. // WTYSDK_WLIST_SERVER_CLOSED=-13, //服务器端不存在
  25. // WTYSDK_WLIST_WLISTSOCKET_ERROR=-21, //套接字创建失败
  26. // WTYSDK_WLIST_CONNECT_ERROR=-22, //连接服务器失败
  27. // WTYSDK_WLIST_SELECT_ERROR=-23, //select失败
  28. // WTYSDK_WLIST_RECV_ERROR=-24, //接收数据返回失败
  29. // WTYSDK_WLIST_SEND_ERROR=-25, //发送数据失败
  30. // WTYSDK_WLIST_DATABASE_ERROR =1, //数据库操作失败
  31. // WTYSDK_WLIST_REQ_ERROR =2, //请求包格式错误
  32. // WTYSDK_WLIST_RECIVE_TIMEOUT =3, //接受包超时
  33. // WTYSDK_WLIST_DATA_ERROR =4, //数据错误
  34. //
  35. // WTYSDK_WLIST_ERROR_NOREGISTSPACE = -6, // 无注册预留空间 最多100个 mdf by zhz
  36. // WTYSDK_WLIST_ERROR_QUERYCONDITION = -7 // 查询条件出错(比如查询参数不合法) mdf by zhz
  37. //}
  38. //CLIENT_LPR_WLIST_ERROR;
  39. /*
  40. * 车牌类型宏定义
  41. */
  42. #define WTYSDK_PLATETYPE_UNKNOWN 0 ///未知类型
  43. #define WTYSDK_PLATETYPE_BLUE 1 ///蓝牌
  44. #define WTYSDK_PLATETYPE_BLACK 2 ///黑牌
  45. #define WTYSDK_PLATETYPE_SINGLEYELLOW 3 ///单层黄牌
  46. #define WTYSDK_PLATETYPE_DOUBLEYELLOW 4 ///双层黄牌
  47. #define WTYSDK_PLATETYPE_JCPLATE 5 ///警车车牌
  48. #define WTYSDK_PLATETYPE_WJPLATE 6 ///武警车牌
  49. #define WTYSDK_PLATETYPE_INDIVIDUATION 7 ///个性化车牌
  50. #define WTYSDK_PLATETYPE_SINGLEARMY 8 ///单层军牌
  51. #define WTYSDK_PLATETYPE_DOUBLEARMY 9 ///双层军牌
  52. #define WTYSDK_PLATETYPE_EMBASSY 10 ///使馆车牌
  53. #define WTYSDK_PLATETYPE_HKOKATE 11 ///香港车牌
  54. #define WTYSDK_PLATETYPE_TRACTOR 12 ///拖拉机
  55. #define WTYSDK_PLATETYPE_AOMEN 13 ///澳门牌
  56. #define WTYSDK_PLATETYPE_INTERNAL 14 ///内部牌
  57. #define WTYSDK_PLATETYPE_MHPALTE 15 ///民航车牌
  58. #define WTYSDK_PLATETYPE_CONSULATE 16 ///领馆车牌
  59. /*
  60. * 车辆颜色宏定义
  61. */
  62. #define WTYSDK_CARCOLOR_UNKNOWN 0 ///未知类型
  63. #define WTYSDK_CARCOLOR_BLUE 1 ///蓝色
  64. #define WTYSDK_CARCOLOR_YELLOW 2 ///黄色
  65. #define WTYSDK_CARCOLOR_WHITE 3 ///白色
  66. #define WTYSDK_CARCOLOR_BLACK 4 ///黑色
  67. #define WTYSDK_CARCOLOR_GREEN 5 ///绿色
  68. /*
  69. * 定义用户、车辆信息结构体里面的数组大小
  70. */
  71. #define WTYSDK_WLIST_CUSTOMER_NAME_LEN 20 //用户名字符串长度
  72. #define WTYSDK_WLIST_CUSTOMER_CODELEN 20 //用户编码字符串长度
  73. #define WTYSDK_WLIST_VEHICLE_PLATE_LEN 16 //车牌字符串长度
  74. #define WTYSDK_WLIST_VEHICLE_CODE_LEN 20 //车辆编码字符串长度
  75. #define WTYSDK_WLIST_VEHICLE_TIME_LEN 20 //时间信息字符串长度
  76. #define WTYSDK_WLIST_HTTP_SELECTTRAFFIC_IP_DOMAIN 50 // http 查询 ip 域名长度
  77. #define WTYSDK_WLIST_TIME_SEG_MAX_NUM 8 //时间段字符串长度
  78. #define WTYSDK_WLIST_PERPAGE_MAXSIZE 100 //查询或者导入每页最大值
  79. #define WTYSDK_WLIST_PIC_SAVEPATH 100 //保存图片路径字符串长度
  80. #define WTYSDK_WLIST_STOREMAXVALUE 30000 //白名单保存用户和车辆信息最大值
  81. /*
  82. * 定义客户信息、用户信息、车辆通行信息结构体
  83. */
  84. //黑白名单记录的客户信息
  85. typedef struct
  86. {
  87. unsigned uCustomerID; //<客户在数据库的ID,用于修改、删除操作(主键)
  88. char strName[WTYSDK_WLIST_CUSTOMER_NAME_LEN]; //<客户姓名
  89. char strCode[WTYSDK_WLIST_CUSTOMER_CODELEN]; //<客户编码,唯一编码
  90. char reserved[256];//保留
  91. }
  92. WTYSDK_WLIST_CUSTOMER;
  93. //---以下一些做api函数参数的定义
  94. // 黑白名单客户信息查询条件
  95. typedef struct{
  96. int UserID; //客户ID
  97. char UserName[WTYSDK_WLIST_CUSTOMER_NAME_LEN]; //客户名字
  98. char UserSerial[WTYSDK_WLIST_CUSTOMER_CODELEN]; //客户编号
  99. int page; //从0开始算第一页,依次类推
  100. int pageSize; //每页查询的数目
  101. char reserved[100];
  102. }
  103. WTYSDK_CUSTOMERQUERYCONDITION;
  104. //黑白名单中的车辆记录
  105. typedef struct
  106. {
  107. unsigned uVehicleID; //<车辆在数据库的ID
  108. char strPlateID[WTYSDK_WLIST_VEHICLE_PLATE_LEN]; //<车牌字符串
  109. unsigned uCustomerID; //<客户在数据库的ID,与WTYSDK_WLIST_CUSTOMER::uCustomerID对应
  110. unsigned bEnable; //<该记录有效标记
  111. //unsigned bEnableTMEnable; //<是否开启生效时间
  112. //unsigned bEnableTMOverdule; //<是否开启过期时间
  113. char struTMCreate[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //<该记录创建时间
  114. char struTMEnable[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //<该记录生效时间
  115. char struTMOverdule[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //<该记录过期时间
  116. unsigned bUsingTimeSeg; //是否使用时间段匹配0不启用1
  117. char struTimeSeg[256]; //<周期时间段信息
  118. int WeekTimeMatch; //是否在时间段内使用周期时间段匹配0不启用1启用
  119. //int TimeMatch; 是否使用时间段匹配0不启用1
  120. unsigned bAlarm; //<是否触发报警(黑名单记录)
  121. int iColor; //<车辆颜色
  122. int iPlateType; //<车牌类型
  123. int iBlackList; //是否黑名单 0不是 1是
  124. char strCode[WTYSDK_WLIST_VEHICLE_CODE_LEN]; //<车辆编码
  125. char strRemark[100]; //车辆备注说明,可以为空
  126. char reserved[256]; //保留
  127. }
  128. WTYSDK_WLIST_VEHICLE;
  129. //车辆 信息查询条件
  130. typedef struct{
  131. int PlateinfoID; //车辆ID
  132. int UserID; //用户ID
  133. char UserName[20]; //客户名字
  134. char UserSerial[20]; //客户编号
  135. char PlateNumber[16]; //车牌号
  136. char CarSerial[20]; //车辆代码
  137. int Blacklist;
  138. int conditionsflag; //查询条件设置0 根据用户ID查询 1根据用户名查询 2根据用户编码 3根据车辆ID 4根据车牌号 5根据车辆代码 6查询所有
  139. int page; //查询页
  140. int pageSize; //每页大小,最大值100
  141. char reserved[256];
  142. }
  143. WTY_SDK_VEHICLEQUERYRECORD;
  144. //车辆通行信息
  145. typedef struct
  146. {
  147. int iTrafficId; //车辆通行ID,自增
  148. int iVehicleID; //车辆ID
  149. int iCustomerID; //用户ID
  150. char strPlateNumber[WTYSDK_WLIST_VEHICLE_PLATE_LEN]; //车牌字符串
  151. char strPassTime[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //车辆通过时间
  152. int iCarSigned; //车辆标示,0外来车,1内部车
  153. int iIsOpenSigno; //是否开启道闸, 0未抬杆,1已抬杆
  154. char strPicSavePath[WTYSDK_WLIST_PIC_SAVEPATH]; //图片保存路径
  155. char reserved[256]; //保留
  156. }
  157. WTYSDK_WLIST_TRAFFIC_INFO;
  158. //Http记录信息
  159. typedef struct
  160. {
  161. int TrafficID; ///*ID号:相机自己生成,无需客户指定 */
  162. char PlateNumber[16]; ///*车牌号码*/
  163. char RecDateTime[20]; ///*识别时间*/
  164. char TransDateTime[20]; ///*发送时间*/
  165. int FullImageSize; ///*大图大小*/
  166. int PlateImageSize; ///*小图大小*/
  167. int IPtype; ///*使用IP还是域名0 IP */
  168. char IP_Domain[50]; ///*IP 或 域名*/
  169. int Port; ///*端口*/
  170. char Path[200]; ///*路径*/
  171. int TransType; ///*传送方式 0 即时推送数据 1 异常数据重传*/
  172. int state; ///*发送结果*/
  173. int ReciveState; ///*接数据状态*/
  174. int DoorOpen; ///*是否开闸 0 不开 1 开*/
  175. int AbnormalID; ///*续传ID*/
  176. char reserved[256]; //保留
  177. }
  178. WTYSDK_WLIST_HTTP_INFO;
  179. //车辆通行信息查询条件
  180. typedef struct
  181. {
  182. char StartTime[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //*开始时间
  183. char EndTime[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //*结束时间
  184. char chPlateNumber[WTYSDK_WLIST_VEHICLE_PLATE_LEN]; //*车牌号
  185. int page; //*当前页数
  186. int pageSize; //*每页最多查询的大小,100,大于100返回-1
  187. int queryFlag; //*0 时间段查询 1 车牌查询 2 分页查询
  188. char reserved[256];
  189. }
  190. WTY_SDK_TRAFFIC_QUERYCONDITION;
  191. //Http记录查询条件
  192. typedef struct
  193. {
  194. char StartTime[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //*开始时间
  195. char EndTime[WTYSDK_WLIST_VEHICLE_TIME_LEN]; //*结束时间
  196. char chPlateNumber[WTYSDK_WLIST_VEHICLE_PLATE_LEN]; //*车牌号
  197. char IP[16]; /*IP或者域名*/
  198. char Domain[50];//域名
  199. int ipOrDomain;//1 ip 2 域名
  200. int state; /*发送结果*/
  201. //int http_select_type;/*查询方式:1:根据ip或者域名查询 可选时间段:2:推送结果查询 可选时间段 3:发送失败重新上传 可选时间段 4:前一天没有上传成功,后一天成功的*/
  202. int page; //*当前页数
  203. int pageSize; //*每页最多查询的大小,100,大于100返回-1
  204. int queryFlag; //*0 时间段查询 1 车牌查询 2 分页查询 3域名或者IP查询 4推送结果查询 5发送失败从新上传 6前一天没有成功,后一天成功
  205. int timeIsEnabled;///使能是否启用时间段匹配
  206. char reserved[256];
  207. }
  208. WTY_SDK_HTTP_QUERYCONDITION;
  209. //返回的信息类型
  210. typedef enum{
  211. WTYSDK_WLIST_CB_TYPE_NO = 0, //无效信息
  212. WTYSDK_WLIST_CB_TYPE_CUSTOMER, //客户信息
  213. WTYSDK_WLIST_CB_TYPE_VEHICLE, //车辆信息
  214. WTYSDK_WLIST_CB_TYPE_TRAFFIC, //车辆通行信息
  215. WTYSDK_WLIST_CB_TYPE_ROWS //车辆和用户综合信息
  216. }
  217. WTYSDK_WLIST_CB_TYPE;
  218. //车辆和用户信息
  219. typedef struct
  220. {
  221. //int nSize; //*批量导入车牌和用户数据条数,每次最多100条
  222. WTYSDK_WLIST_VEHICLE nCarInfo; //*批量导入车牌信息结构体数组指针
  223. WTYSDK_WLIST_CUSTOMER nUserInfo; //*批量导入用户信息结构体数组指针
  224. }
  225. WTYSDK_IMPORTROWS;
  226. //白名单批量导入失败标志
  227. typedef struct
  228. {
  229. int nRow;//导入失败的条数
  230. char Result[WTYSDK_WLIST_STOREMAXVALUE];//0 数据库存储大于上限10000条,-1 用户信心错误,-2 车辆信息错误 -3重复车牌
  231. }
  232. WTYSDK_IMPORT_FAILDREASON;
  233. /*
  234. * @brief 白名单表、客户信息表、车辆通行信息的查询反馈结果函数
  235. * @param [IN] type 回调函数返回的信息类型
  236. * @param [IN] pLP 查询的车辆信息记录
  237. * @param [IN] pCustomer 查询的客户信息记录
  238. * @param [IN] nTotal 单次查询返回的总数
  239. * @param [IN] pUserData 回调函数中的上下文
  240. * @ingroup group_callback
  241. */
  242. typedef void (*WTYSDK_WLIST_QUERY_CALLBACK)(WTYSDK_WLIST_CB_TYPE type, WTYSDK_WLIST_VEHICLE *pLP,
  243. WTYSDK_WLIST_CUSTOMER *pCustomer,
  244. WTYSDK_WLIST_TRAFFIC_INFO *pTrafficInfo,
  245. int nTotal,
  246. void *pUserData);
  247. /*
  248. * @brief HTTP的查询反馈结果函数
  249. * @param [IN] pTrafficInfo 查询的HTTP信息记录
  250. * @param [IN] nTotal 单次查询返回的总数
  251. * @param [IN] pUserData 回调函数中的上下文
  252. * @ingroup group_callback
  253. */
  254. typedef void (*WTYSDK_WLIST_QUERY_HTTP_CALLBACK)(WTYSDK_WLIST_HTTP_INFO *pTrafficInfo,int nTotal,void *pUserData);
  255. /*
  256. * @brief 设置白名单表和客户信息表的查询结果回调
  257. * @param [IN] func 查询结果回调函数
  258. * @param [IN] pUserData 回调函数中的上下文 (用户传入指针)
  259. * @param [IN] pServerIp 服务器IP
  260. * @return 0表示成功,其它表示失败
  261. * @ingroup group_database
  262. */
  263. int __stdcall WTYSDK_WhiteListSetQueryCallBack(WTYSDK_WLIST_QUERY_CALLBACK func, void *pUserData,char *pServerIp);
  264. /*
  265. * @brief 设置HTTP查询结果回调
  266. * @param [IN] func 查询结果回调函数
  267. * @param [IN] pUserData 回调函数中的上下文
  268. * @param [IN] pServerIp 服务器IP
  269. * @return 0表示成功,其它表示失败
  270. * @ingroup group_database
  271. */
  272. int __stdcall WTYSDK_WhiteListSetQueryHttpCallBack(WTYSDK_WLIST_QUERY_HTTP_CALLBACK func, void *pUserData,char *pServerIp);
  273. /*
  274. * @brief 获取所有客户信息记录的条数
  275. * @param [IN] pServerIp 服务器IP
  276. * @return >=0表示成功,<0表示失败
  277. */
  278. int __stdcall WTY_WhiteListGetCustomerCount(char *pServerIp);
  279. /*
  280. * @brief 查询白名单表客户信息数据,客户信息通过回调函数返回
  281. * @param [IN] pServerIp 服务器IP
  282. * @param [IN] numbers 单次每页查询最大值100(1-100),数据多的话可以分页查询和显示
  283. * @param [IN] nPage 查询页数,当前页数从0开始代表第一页
  284. * @return >=0表示查询到的总数,<0表示失败
  285. */
  286. int __stdcall WTY_WhiteListLoadCustomer(char *pServerIp,int numbers,int nPage);
  287. /*
  288. * @brief 获取白名单客户信息,通过ID
  289. * @param [IN] pServerIp 服务器IP
  290. * @param [IN] iCustomerId 客户信息的ID
  291. * @return >=0表示查询到的总数,<0表示失败
  292. */
  293. int __stdcall WTY_WhiteListLoadCustomerById(char *pServerIp,int iCustomerId); // id唯一
  294. /*
  295. * @brief 获取白名单客户信息,通过客户编码
  296. * @param [IN] pServerIp 服务器IP
  297. * @param [IN] strCode 客户信息的唯一编码
  298. * @param [IN] numbers 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1
  299. * @param [IN] nPage 查询页数,当前页数从0开始代表第一页
  300. * @return >=0表示查询到的总数,<0表示失败
  301. */
  302. int __stdcall WTY_WhiteListLoadCustomerByCode(char *pServerIp,char* strCode,int numbers,int nPage);
  303. /*
  304. * @brief 获取白名单客户信息,通过客户名称
  305. * @param [IN] strName 客户信息的名称
  306. * @param [IN] pServerIp 服务器IP
  307. * @param [IN] numbers 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1
  308. * @param [IN] nPage 查询页数,当前页数从0开始代表第一页
  309. * @return >=0表示查询到的总数,<0表示失败
  310. */
  311. int __stdcall WTY_WhiteListLoadCustomerByName(char *pServerIp,char* strName,int numbers,int nPage);
  312. /*
  313. * @brief 增加用户信息记录
  314. * @param [IN] pServerIp 服务器IP
  315. * @param [IN] pNewCustomer 增加的用户信息的结构体 其中 uCustomerID 为自动生成 填写无用
  316. * @return 0表示成功,<0表示失败
  317. */
  318. int __stdcall WTY_WhiteListInsertCustomer(char *pServerIp,WTYSDK_WLIST_CUSTOMER pNewCustomer);
  319. /*
  320. * @brief 删除白名单客户信息,通过ID
  321. * @param [IN] pServerIp 服务器IP
  322. * @param [IN] iCustomerId 客户信息的ID
  323. * @return 0表示成功,<0表示失败
  324. */
  325. int __stdcall WTY_WhiteListDeleteCustomerById(char *pServerIp,int iCustomerId);
  326. /*
  327. * @brief 删除白名单客户信息,通过用户名
  328. * @param [IN] pServerIp 服务器IP
  329. * @param [IN] strName 客户名
  330. * @return 0表示成功,<0表示失败
  331. */
  332. int __stdcall WTY_WhiteListDeleteCustomerByName(char *pServerIp,char* strName);
  333. /*
  334. * @brief 删除白名单客户信息,通过客户编码
  335. * @param [IN] pServerIp 服务器IP
  336. * @param [IN] strCode 客户信息的唯一编码
  337. * @return 0表示成功,<0表示失败
  338. */
  339. int __stdcall WTY_WhiteListDeleteCustomerByCode(char *pServerIp,char* strCode);
  340. /*
  341. * @brief 更新白名单客户信息,通过ID 注:id系统生成,更新时候id必须对应,不能随意填
  342. * @param [IN] pServerIp 服务器IP
  343. * @param [IN] pNewCustomer 客户信息
  344. * @return 0表示成功,<0表示失败
  345. */
  346. int __stdcall WTY_WhiteListUpdateCustomerById(char *pServerIp,WTYSDK_WLIST_CUSTOMER pNewCustomer);
  347. /*
  348. * @brief 更新白名单客户信息,通过用户名 注:id系统生成,更新时候id必须对应,不能随意填
  349. * @param [IN] pServerIp 服务器IP
  350. * @param [IN] pNewCustomer 客户信息
  351. * @return 0表示成功,<0表示失败
  352. */
  353. int __stdcall WTY_WhiteListUpdateCustomerByName(char *pServerIp,WTYSDK_WLIST_CUSTOMER pNewCustomer);
  354. /*
  355. * @brief 更新白名单客户信息,通过客户编码 id系统生成,更新时候id必须对应,不能随意填 此函数会忽略id,把所有用户编号相同的都改
  356. * @param [IN] pServerIp 服务器IP
  357. * @param [IN] pNewCustomer 客户信息
  358. * @return 0表示成功,<0表示失败
  359. */
  360. int __stdcall WTY_WhiteListUpdateCustomerByCode(char *pServerIp,WTYSDK_WLIST_CUSTOMER pNewCustomer);
  361. /*
  362. * @brief 获取所有车辆通行记录的条数
  363. * @param [IN] pServerIp 服务器IP
  364. * @return 0表示成功,<0表示失败
  365. */
  366. int __stdcall WTY_WhiteListGetTrafficCount(char *pServerIp);
  367. /*
  368. * @brief 查询所有车辆通行记录
  369. * @param [IN] pServerIp 服务器IP
  370. * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1
  371. * @return >=0表示查询到的总数,<0表示失败
  372. */
  373. int __stdcall WTY_WhiteListTrafficLoad(char *pServerIp,WTY_SDK_TRAFFIC_QUERYCONDITION queryConditions);
  374. /*
  375. * @brief 通过车辆通行ID删除车辆通行信息
  376. * @param [IN] pServerIp 服务器IP
  377. * @param [IN] tracfficId 车辆通行记录的ID
  378. * @return 0表示成功,-1表示失败
  379. */
  380. int __stdcall WTY_WhiteListTraffiDelete(char *pServerIp,int tracfficId);
  381. /*
  382. * @brief 清空车辆通行信息
  383. * @param [IN] pServerIp 服务器IP
  384. * @return 0表示成功,<0表示失败
  385. */
  386. int __stdcall WTY_WhiteListTraffiDeleteAll(char *pServerIp);
  387. /*
  388. * @brief 批量导出车辆通行信息
  389. * @param [IN] pServerIp 服务器IP
  390. * @param [OUT] pExportBuf 存储查询到的记录缓冲区
  391. * @param [OUT] nSucceedCount 存储查询成功的记录总条数
  392. * @param [IN] nIndexTotal 想要获取到的记录总数
  393. * @return 0表示成功,<0表示失败
  394. */
  395. int __stdcall WTY_WhiteListTraffiExportAll(char *pServerIp,WTYSDK_WLIST_TRAFFIC_INFO *pExportBuf,int *nSucceedCount,int nIndexTotal);
  396. /*
  397. * @brief 获取所有车辆信息记录的条数
  398. * @param [IN] pServerIp 服务器IP
  399. * @return >=0表示成功获取到的数目,<0表示失败
  400. */
  401. int __stdcall WTY_WhiteListGetVehicleCount(char *pServerIp);
  402. /*
  403. * @brief 查询白名单表车辆信息数据,客户信息通过回调函数返回 注:此函数为统查 只关注WTY_SDK_VEHICLEQUERYRECORD 内page 和pagesize
  404. * @param [IN] pServerIp 服务器IP
  405. * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1
  406. * @return >=0表示查询到的总数,<0表示失败
  407. */
  408. int __stdcall WTY_WhiteListLoadVehicle(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD queryConditions);
  409. /*
  410. * @brief 获取白名单车辆信息,通过车牌号码 注: 只关注WTY_SDK_VEHICLEQUERYRECORD 内page 和pagesize 车牌号码 查找车牌号关键字
  411. * @param [IN] pServerIp 服务器IP
  412. * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1
  413. * @return >=0表示成功获取车辆总数,<0表示失败
  414. */
  415. int __stdcall WTY_WhiteListLoadVehicleByPlateId(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD queryConditions);
  416. /*
  417. * @brief 获取白名单车辆信息,通过车辆自增ID
  418. * @param [IN] pServerIp 服务器IP
  419. * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1
  420. * @return >=0表示成功获取车牌总数,<0表示失败
  421. */
  422. int __stdcall WTY_WhiteListLoadVehicleById(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD queryConditions);
  423. /*
  424. * @brief 获取白名单车辆信息,通过车辆编码
  425. * @param [IN] pServerIp 服务器IP
  426. * @param [IN] strCode 车辆信息的编码
  427. * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1
  428. * @return >=0表示成功获取车辆总数,<0表示失败
  429. */
  430. int __stdcall WTY_WhiteListLoadVehicleByCode(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD queryConditions);
  431. /*
  432. * @brief 获取白名单车辆信息,通过用户ID
  433. * @param [IN] pServerIp 服务器IP
  434. * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1
  435. * @return >=0表示成功获取车辆总数,<0表示失败
  436. */
  437. int __stdcall WTY_WhiteListLoadVehicleByUserId(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD queryConditions);
  438. /*
  439. * @brief 获取白名单车辆信息,通过车辆用户名字
  440. * @param [IN] pServerIp 服务器IP
  441. * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1
  442. * @return >=0表示获取到的车辆总数,<0表示失败
  443. */
  444. int __stdcall WTY_WhiteListLoadVehicleByUserName(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD queryConditions);
  445. /*
  446. * @brief 获取白名单车辆信息,通过用户编码
  447. * @param [IN] pServerIp 服务器IP
  448. * @param [IN] strCode 车辆信息的编码
  449. * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1
  450. * @return >=0表示获取车牌总数,<0表示失败
  451. */
  452. int __stdcall WTY_WhiteListLoadVehicleByUserCode(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD queryConditions);
  453. /*
  454. * @brief 更新白名单车辆信息,通过车牌号码
  455. * @param [IN] pServerIp 服务器IP
  456. * @param [IN] strVehicleInfo 车辆信息
  457. * @return 0表示成功,<0表示失败
  458. */
  459. int __stdcall WTY_WhiteListUpdateVehicleByPlateId(char *pServerIp,WTYSDK_WLIST_VEHICLE strVehicleInfo);
  460. /*
  461. * @brief 更新白名单车辆信息,通过车辆自增ID
  462. * @param [IN] pServerIp 服务器IP
  463. * @param [IN] strVehicleInfo 车辆信息
  464. * @return 0表示成功,<0表示失败
  465. */
  466. int __stdcall WTY_WhiteListUpdateVehicleById(char *pServerIp,WTYSDK_WLIST_VEHICLE strVehicleInfo);
  467. /*
  468. * @brief 更新白名单车辆信息,通过车辆编码
  469. * @param [IN] pServerIp 服务器IP
  470. * @param [IN] strVehicleInfo 车辆信息
  471. * @return 0表示成功,<0表示失败
  472. */
  473. int __stdcall WTY_WhiteListUpdateVehicleByCode(char *pServerIp,WTYSDK_WLIST_VEHICLE strVehicleInfo);
  474. /*
  475. * @brief 增加白名单车辆信息
  476. * @param [IN] pServerIp 服务器IP
  477. * @param [IN] strVehicleInfo 车辆信息
  478. * @return 0表示成功,<0表示失败
  479. */
  480. int __stdcall WTY_WhiteListInsertVehicle(char *pServerIp,WTYSDK_WLIST_VEHICLE strVehicleInfo);
  481. /*
  482. * @brief 删除白名单车辆信息,通过车牌号码
  483. * @param [IN] pServerIp 服务器IP
  484. * @param [IN] strPlateNumber 车牌号码
  485. * @return 0表示成功,<0表示失败
  486. */
  487. int __stdcall WTY_WhiteListDeleteVehicleByPlateId(char *pServerIp,char* strPlateNumber);
  488. /*
  489. * @brief 删除白名单车辆信息,通过车辆自增ID
  490. * @param [IN] pServerIp 服务器IP
  491. * @param [IN] iVehicleId 车辆信息自增ID
  492. * @return 0表示成功,<0表示失败
  493. */
  494. int __stdcall WTY_WhiteListDeleteVehicleById(char *pServerIp,int iVehicleId);
  495. /*
  496. * @brief 删除白名单车辆信息,通过车辆编码
  497. * @param [IN] pServerIp 服务器IP
  498. * @param [IN] strVehicleCode 车辆信息编码
  499. * @return 0表示成功,<0表示失败
  500. */
  501. int __stdcall WTY_WhiteListDeleteVehicleByCode(char *pServerIp,char* strVehicleCode);
  502. /*
  503. * @brief 清空白名单车辆信息
  504. * @param [IN] pServerIp 服务器IP
  505. * @return 0表示成功,<0表示失败
  506. */
  507. int __stdcall WTY_WhiteListEmptyVehicle(char *pServerIp);
  508. /*
  509. * @brief 清空所有车辆和用户信息
  510. * @param [IN] pServerIp 服务器IP
  511. * @return 0表示成功,<0表示失败
  512. */
  513. int __stdcall WTY_WhiteListClearCustomerAndVehicles(char *pServerIp);
  514. /*
  515. * @brief 从数据库删除客户的车辆信息,通过用户ID
  516. * @param [IN] pServerIp 服务器IP
  517. * @param [IN] pServerIp 服务器IP
  518. * @return 0表示成功,<0表示失败
  519. */
  520. int __stdcall WTY_WhiteListDeleteVehicleByCustomerId(char *pServerIp ,int userId);
  521. /*
  522. * @brief 从数据库删除客户以及客户的车辆信息,通过用户ID
  523. * @param [IN] pServerIp 服务器IP
  524. * @param [IN] pServerIp 服务器IP
  525. * @return 0表示成功,<0表示失败
  526. */
  527. int __stdcall WTY_WhiteListDeleteVehicleAndUserByCustomerId(char *pServerIp ,int userId);
  528. /*
  529. * @brief 获取白名单客户表客户和车辆记录的条数
  530. * @param [IN] pServerIp 服务器IP
  531. * @return >=0表示成功,<0表示失败
  532. */
  533. int __stdcall WTY_WhiteListGetRowCount(char *pServerIp);
  534. /*
  535. * @brief 查询白名单表车辆信息数据,客户信息通过回调函数返回
  536. * @param [IN] pServerIp 服务器IP
  537. * @param [IN] nQueryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1
  538. * @return >=0表示查询到的总数,<0表示失败
  539. */
  540. int __stdcall WTY_WhiteListLoadRows(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD nQueryConditions);
  541. /*
  542. * @brief 查询白名单表车辆信息数据,通过回调函数返回
  543. * @param [IN] pServerIp 服务器IP
  544. * @param [IN] nQueryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1
  545. * @return >=0表示查询到的总数,<0表示失败
  546. */
  547. int __stdcall WTY_WhiteListLoadRowsCustomerByUserId(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD nQueryConditions);
  548. /*
  549. * @brief 查询白名单表车辆信息数据,通过回调函数返回
  550. * @param [IN] pServerIp 服务器IP
  551. * @param [IN] nQueryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1
  552. * @return >=0表示查询到的总数,<0表示失败
  553. */
  554. int __stdcall WTY_WhiteListLoadRowsCustomerByUserCode(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD nQueryConditions);
  555. /*
  556. * @brief 查询白名单表车辆信息数据,通过回调函数返回
  557. * @param [IN] pServerIp 服务器IP
  558. * @param [IN] nQueryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1
  559. * @return >=0表示查询到的总数,<0表示失败
  560. */
  561. int __stdcall WTY_WhiteListLoadRowsCustomerByUserName(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD nQueryConditions);
  562. /*
  563. * @brief 通过车牌查询白名单用户信息和车辆信息,通过回调函数返回
  564. * @param [IN] pServerIp 服务器IP
  565. * @param [IN] pCarPlate 查询的车牌号
  566. * @return >=0表示查询到的总数,<0表示失败
  567. */
  568. int __stdcall WTY_WhiteListLoadRowsCustomerAndCarByPlate(char *pServerIp,WTY_SDK_VEHICLEQUERYRECORD nQueryConditions);
  569. /*
  570. * @brief 批量导入白名单表车辆信息和客户信息
  571. * @param [IN] pServerIp 服务器IP
  572. * @param [IN] nImportRows 单次导入最大值100,数据多的话可以分次导入,大于100返回-1
  573. * @param [IN] MyBatchResult 白名单导入失败记录的位置,相应位置的Result值等于1为失败
  574. * @param [IN] importMaxValue 单次导入最多100条
  575. * @return >=0表示成功的总数,<0表示失败
  576. */
  577. // pImportRows 导入用户和车匹配信息,单次最多100条
  578. // faildReason [out]导入结果(WTYSDK_IMPORT_FAILDREASON参数nRow表示导入错误多少条,Result数组表示每一条的执行情况)
  579. // importMaxValue [int] 表示pImportRows中单次导入的条数(比如导入10条,这参数填入10)--最大100
  580. int __stdcall WTY_WhiteListImportRows(char *pServerIp,WTYSDK_IMPORTROWS *pImportRows,WTYSDK_IMPORT_FAILDREASON *faildReason,int importMaxValue);
  581. /*
  582. * @brief 批量导出白名单客户和车辆信息
  583. * @param [IN] pServerIp 服务器IP
  584. * @param [OUT] nImportRows 导出的数据记录信息结构体指针,大小是结构体大小*nTotal
  585. * @param [OUT] pExportSucceed 导出成功的数目
  586. * @param [IN] WTY_WhiteListGetRowCount 获取到的记录的总条数
  587. * @return >=0表示成功的总数,<0表示失败
  588. */
  589. // pExportRows[out] 导出内容
  590. // pExportSucceed [out] 实际成功导出多少个
  591. // nTotal [in] 需要导出的数量(希望导出500条,就填500条) 以此来分页导出,每页最多100
  592. int __stdcall WTY_WhiteListExportsRows(char *pServerIp,WTYSDK_IMPORTROWS *pExportRows,int *pExportSucceed,int nTotal);
  593. /*
  594. * @brief 获取所有Http数据库记录的条数
  595. * @param [IN] pServerIp 服务器IP
  596. * @return >=0表示获取条数,<0表示失败
  597. */
  598. int __stdcall WTY_WhiteListGetHttpCount(char *pServerIp);
  599. /*
  600. * @brief 查询Http数据记录
  601. * @param [IN] pServerIp 服务器IP
  602. * @param [IN] queryConditions 单次每页查询最大值100,数据多的话可以分页查询和显示,大于100返回-1
  603. * @return >=0表示查询到的总数,<0表示失败
  604. */
  605. int __stdcall WTY_WhiteListHttpLoad(char *pServerIp,WTY_SDK_HTTP_QUERYCONDITION queryConditions,int *nTotal);
  606. /*
  607. * @brief 通过Http记录ID删除Http记录
  608. * @param [IN] pServerIp 服务器IP
  609. * @param [IN] tracfficId 车辆通行记录的ID
  610. * @return 0表示成功,-1表示失败
  611. */
  612. int __stdcall WTY_WhiteListHttpDelete(char *pServerIp,int tracfficId);
  613. /*
  614. * @brief 清空Http记录
  615. * @param [IN] pServerIp 服务器IP
  616. * @return 0表示成功,<0表示失败
  617. */
  618. int __stdcall WTY_WhiteListHttpDeleteAll(char *pServerIp);
  619. /*
  620. * @brief 批量导出Http记录
  621. * @param [IN] pServerIp 服务器IP
  622. * @param [OUT] pExportBuf 存储查询到的记录缓冲区
  623. * @param [OUT] nSucceedCount 存储查询成功的记录总条数
  624. * @param [IN] nIndexTotal 希望导出的个数
  625. * @return 0表示成功,<0表示失败
  626. */
  627. int __stdcall WTY_WhiteListHttpExportAll(char *pServerIp,WTYSDK_WLIST_HTTP_INFO *pExportBuf,int *nSucceedCount,int nIndexTotal);
  628. /*
  629. * @brief 根据车牌查询车辆信息(用于相机traffic)
  630. * @param [IN] pServerIp 服务器IP
  631. * @param [IN] pPlate 车牌号
  632. * @param [OUT] pVehicleInfo 车辆信息
  633. * @return 0表示成功但未找到,1表示操作成功,<0表示失败
  634. */
  635. int __stdcall WTY_WhiteListTrafficRequestByPlate(char *pServerIp, char *pPlate, PlateInfo_t* pVehicleInfo);
  636. /*
  637. * @brief 写入通行量(用于相机traffic)
  638. * @param [IN] pServerIp 服务器IP
  639. * @param [IN] pTrafficInfo 要插入的通信信息
  640. * @return 0表示成功,<0表示失败
  641. */
  642. int __stdcall WTY_WhiteListTrafficInsertTrafficInfo(char* pServerIp, plateTraffic_t* pTrafficInfo);
  643. #ifdef __cplusplus
  644. }
  645. #endif
  646. #endif