| | |
| | |
|
| | | enum ImageTypeID
|
| | | {
|
| | | Face1 = 1, // æ£é¢ç
§ç1
|
| | | Face2 = 2, // æ£é¢ç
§ç2
|
| | | FaceLSide = 2, // ï¼ä¸»ä½è§å¯ï¼<=45度ï¼å·¦ä¾§è¸ç
§ç
|
| | | FaceRSide = 3, // ï¼ä¸»ä½è§å¯ï¼<=45度ï¼å³ä¾§è¸ç
§ç
|
| | | FaceTSide = 4, // ï¼ä¸»ä½è§å¯ï¼<=45度ï¼é¡¶ä¾§è¸ç
§ç
|
| | | FaceBSide = 5, // ï¼ä¸»ä½è§å¯ï¼<=45度ï¼åºä¾§è¸ç
§ç
|
| | | FaceUploaded = 2, // ä¸ä¼ ç
§ç
|
| | | Icon, // 徿
|
| | | IdentificationCard, // 身份è¯ç
§ç
|
| | | BusinessCard, // åçç
§ç
|
| | | OtherCard,
|
| | | Face1 = 1, // æ£é¢ç
§ç1ï¼åæ¾å°EmployeeFace/VisitFace表ï¼
|
| | | Face2 = 2, // æ£é¢ç
§ç2ï¼åæ¾å°EmployeeFace/VisitFace表ï¼
|
| | | FaceLSide, // ï¼ä¸»ä½è§å¯ï¼<=45度ï¼å·¦ä¾§è¸ç
§çï¼åæ¾å°EmployeeFace/VisitFace表ï¼
|
| | | FaceRSide, // ï¼ä¸»ä½è§å¯ï¼<=45度ï¼å³ä¾§è¸ç
§çï¼åæ¾å°EmployeeFace/VisitFace表ï¼
|
| | | FaceTSide, // ï¼ä¸»ä½è§å¯ï¼<=45度ï¼é¡¶ä¾§è¸ç
§çï¼åæ¾å°EmployeeFace/VisitFace表ï¼
|
| | | FaceBSide, // ï¼ä¸»ä½è§å¯ï¼<=45度ï¼åºä¾§è¸ç
§çï¼åæ¾å°EmployeeFace/VisitFace表ï¼
|
| | | FaceUploaded, // ä¸ä¼ ç
§çï¼åæ¾å°EmployeeFace/VisitFace表ï¼
|
| | | Icon, // 徿 ï¼åæ¾å°Image表ï¼
|
| | | IdentificationCard, // 身份è¯ç
§çï¼åæ¾å°Image表ï¼
|
| | | BusinessCard, // åçç
§çï¼åæ¾å°Image表ï¼
|
| | | OtherCard, // å
¶ä»è¯ä»¶ï¼åæ¾å°Image表ï¼
|
| | | }
|
| | |
|
| | | 1.2. StatusID
|
| | |
| | | Request:
|
| | | {
|
| | | registerCompanyID : 123, // è¥ä¸º-1ååªæç´¢VisitFaceDB
|
| | | imgs : [ "image base64" ] // 对åºå¤ä¸ªäººç人è¸å¾å
|
| | | imgs : [ "image base64" ] // 对åºå¤ä¸ªäººç人è¸å¾å # 使ç¨http form post
|
| | | }
|
| | | Response:
|
| | | [
|
| | |
| | | registerCompanyID : 123, //æ¾ä¸å°è¿åVisitDBFaceIDï¼æ¤é¡¹ä¸º-1
|
| | | faceID : 1,
|
| | | isVisitDBFaceID : false, // <dbid=-1, faceid!=-1> : true, <dbid!=-1, faceid!=-1> : false
|
| | | srcImgIdx : 1,
|
| | | srcImgPosX : 123,
|
| | | srcImgPosY : 456,
|
| | | srcImgPosW : 123,
|
| | | srcImgPosH : 456
|
| | | imgUrl : "",
|
| | | imgType : ""
|
| | | },
|
| | | {
|
| | | faceID : -1, // æç´¢æ ç»æ <dbid=-1, faceid=-1>
|
| | | }
|
| | | ]
|
| | |
|
| | | a)æ¥æ¶imgsäºè¿å¶æ°æ®
|
| | | b)转åå°äººè¸è¯å«æå¡(registerCompanyID, imgs)
|
| | | c)æ¥æ¶è¯å«ç»æï¼<dbid, faceid>ï¼å
¶ä¸<0,0>è¡¨ç¤ºæªæ¾å°ç»æï¼<0,N>表示å¨è®¿å®¢æ°æ®åºä¸æ¾å°äººè¸ï¼<N,M>表示å¨Nå
¬å¸ä¸å¹é
人è¸M
|
| | | d) 对äºå个人è¸ç»æï¼
|
| | | if <0,0>
|
| | | {
|
| | | // æç´¢æ ç»æ
|
| | | }
|
| | | else if (dbid == 0 && faceid != 0)
|
| | | { // 访客
|
| | | // select * from VisitFace where faceid="$faceid";
|
| | | // select * from Person where |
| | | }
|
| | | else if (dbid != 0 && faceid != 0)
|
| | | { // åå·¥
|
| | | // select * from EmployeeFace where RegisterCompanyID="$dbid" and faceid="$faceid";
|
| | | // select * from Person where |
| | | }
|
| | | |
| | |
|
| | | 1.4. äººè¸æ»ä½ä¿¡æ¯æ¥è¯¢
|
| | | éè¿faceIDè·å¾Personç®è¦ä¿¡æ¯
|
| | |
| | | }
|
| | | ]
|
| | |
|
| | |
|
| | | åèa)b)c)d)
|
| | | e) 对äºå个人è¸ç»æï¼
|
| | | // "$person.id"
|
| | | select CompanyID from Place where placeID="$placeID"
|
| | | isChecking = select * CheckingCompany where CompanyID = "$CompanyID" and PersonID="$PersonID"
|
| | | if (visitStatusID == ç¾å°) // å
¥å£æå头
|
| | | {
|
| | | if (isChecking)
|
| | | checking(PersonID, placeID);
|
| | | return person current status
|
| | | else
|
| | | return person status not changed;
|
| | | }
|
| | | else if (visitStatusID == ç¾é/ç¾ç¦») // åºå£æå头
|
| | | {
|
| | | if (isChecking)
|
| | | unchecking(PersonID, placeID);
|
| | | return person current status
|
| | | else
|
| | | unvisit(PersonID, placeID);
|
| | | }
|
| | | |
| | | checking:
|
| | | noNeedInsertNewRecord = select * from Checking where StatusID = "$NewStatusID" and statusDt + 5second > now() and PersonID = "$PersonID" and PlaceID="$PlaceID"
|
| | | if (!noNeedInsertNewRecord)
|
| | | {
|
| | | insert into Checking(...);
|
| | | }
|
| | | |
| | | unvisit
|
| | | noNeedInsertNewRecord = ...
|
| | | if (!noNeedInsertNewRecord)
|
| | | {
|
| | | // get last visit event
|
| | | select * from Visit where VisitorPersonID="$PersonID" and CompanyID="$CompanyID" order by startTime desc limit 1
|
| | | |
| | | insert into Visiting
|
| | | update Visit LastStatusID, lastTime
|
| | | }
|
| | |
|
| | |
|
| | | 1.7. æ¥è¯¢äººåæ¥è®¿/ç¾å°ç¶æ
|
| | | éè¦æ¯ææ¹éæ¥è¯¢
|
| | | Request:
|
| | |
| | | name : "",
|
| | | companyName : "",
|
| | | // ...
|
| | | imgIdentity : "image base64"
|
| | | }
|
| | | Response:
|
| | | {
|
| | |
| | | personID : 123
|
| | | }
|
| | |
|
| | | 2.4. 注å人è¸
|
| | | a) find by name, (IdentityTypeID, identity), phone ... from Person
|
| | | b) if Person exists return error
|
| | | c) else insert into Person
|
| | | d) companyID = (select * from or insert Company where name = "$companyName")
|
| | |
|
| | | 2.4. 注å访客人è¸(visit face register)
|
| | | Request:
|
| | | {
|
| | | registerCompanyID : 123,
|
| | | personID : 123,
|
| | | imgs : [ "image base64" ] // 对åºä¸ä¸ªäººçè¥å¹²ä¸ªäººè¸å¾å
|
| | | imgs : { ImageTypeID : "image base64" } // 对åºä¸ä¸ªäººçè¥å¹²ä¸ªäººè¸å¾å
|
| | | }
|
| | | Response:
|
| | | {
|
| | | faceIDs : [ 123 ]
|
| | | }
|
| | |
|
| | | a)select exists(*) from person where id="$personID"
|
| | | b)if not exists return error
|
| | | c)ä¿åimgIdentity/Iconçå°æä»¶åå¨ï¼å¹¶æå
¥Image表ï¼ä¿å人è¸å¾å°VisitFaceï¼VisitFace.imagePath = ä¿åimgså°æä»¶åå¨
|
| | | d)è°ç¨äººè¸è¯å«æå¡[faceids]=(registerCompanyID, dbid=0, img)
|
| | | e)å¯¹äºæ¯ä¸ä¸ªfaceidï¼insert into VisitFace ("$FaceID", $PersonID, "$VisitFace.imagePath")
|
| | |
|
| | | 3. æ¥è®¿ç»è®°
|
| | | 3.1. è·å¾æ¥è®¿äººåå表
|
| | | è¿åæå§å缩åååºçç»æ
|
| | | Request:
|
| | | {
|
| | | companyID : 123, // è®¾å¤æå¨å¦æ ¡ID
|
| | | companyID : 123, // è®¾å¤æå¨å¦æ ¡IDï¼0表示ææå
¬å¸ï¼ä»
ä¾ç®¡çæ¥å£ä½¿ç¨
|
| | | beginPage : 0,
|
| | | endPage : 0
|
| | | }
|
| | |
| | | [
|
| | | {
|
| | | personID : 123,
|
| | | RegisterCompanyID : 123,
|
| | | name : "aaa",
|
| | | img : "image url" // éå符串表示使ç¨é»è®¤å¾æ
|
| | | }
|
| | | ]
|
| | |
|
| | | set @companyID =1;
|
| | | select vs.person_id, vs.register_company_id, pe.name, img.image_type, img.image_path
|
| | | from visit_stat vs join person pe
|
| | | on (@companyID=0 or vs.register_company_id = @companyID) and (vs.person_id = pe.id)
|
| | | left outer join Image img
|
| | | on (pe.id = img.person_id and img.image_type=8) -- icon
|
| | | limit ...
|
| | |
|
| | | 3.2. è·å¾è¢«è®¿äººåå表
|
| | | è¿åæå§å缩åååºçç»æ
|
| | |
| | | Response:
|
| | | æå/éè¯¯ç»æ
|
| | |
|
| | | insert or update VisitStat
|
| | |
|
| | | 3.5. è·å¾æè®¿äºç±é项å表
|
| | | Request:
|
| | | {
|