houxiao
2017-03-14 0e895739857973ab5ecb76504ef67965b57e8281
添加接口描述 sql

git-svn-id: http://192.168.1.226/svn/proxy@151 454eff88-639b-444f-9e54-f578c98de674
2个文件已修改
71 ■■■■■ 已修改文件
VisitFace/document/erdb api接口描述.txt 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/document/erdb.vpp 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/document/erdb api½Ó¿ÚÃèÊö.txt
@@ -83,7 +83,7 @@
Request:
{
    registerCompanyID : 123, // è‹¥ä¸º-1则只搜索VisitFaceDB
    imgs : [ "image base64" ] // å¯¹åº”多个人的人脸图像
    imgs : [ "image base64" ] // å¯¹åº”多个人的人脸图像 # ä½¿ç”¨http form post
}
Response:
[
@@ -91,16 +91,33 @@
        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简要信息
@@ -157,6 +174,48 @@
    }
]
参考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:
VisitFace/document/erdb.vpp
Binary files differ