From 59ec75d7d8cdacfae7b0f157993cd217743ae563 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期四, 30 三月 2017 16:47:14 +0800 Subject: [PATCH] --- VisitFace/document/erdb api接口描述.txt | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 154 insertions(+), 16 deletions(-) diff --git "a/VisitFace/document/erdb api\346\216\245\345\217\243\346\217\217\350\277\260.txt" "b/VisitFace/document/erdb api\346\216\245\345\217\243\346\217\217\350\277\260.txt" index 8611faf..1424f8d 100644 --- "a/VisitFace/document/erdb api\346\216\245\345\217\243\346\217\217\350\277\260.txt" +++ "b/VisitFace/document/erdb api\346\216\245\345\217\243\346\217\217\350\277\260.txt" @@ -29,27 +29,70 @@ } ] +enum StatusID +{ +鏅�氳瀹� +榛戝悕鍗� +鏁欏笀 +瀛︾敓 +棰嗗骞查儴 +} select ID, distinct label from VisitorType where RegisterCompanyID = 0 or RegisterCompanyID = "$companyID" 1.2. ImageTypeID +Request: +{ +} +Response: +[ + { + ID : "label" + } +] enum ImageTypeID { - Face = 1, // 鐓х墖 - FaceUploaded = 2, // 涓婁紶鐓х墖 - Icon, // 鍥炬爣 - - + Face1 = 1, // 姝i潰鐓х墖1锛堜氦缁欎汉鑴歌瘑鍒湇鍔★級 + Face2 = 2, // 姝i潰鐓х墖2锛堝瓨鏀惧埌FaceImage琛級 + FaceLSide, // 锛堜富浣撹瑙掞紝<=45搴︼級宸︿晶鑴哥収鐗囷紙瀛樻斁鍒癋aceImage琛級 + FaceRSide, // 锛堜富浣撹瑙掞紝<=45搴︼級鍙充晶鑴哥収鐗囷紙瀛樻斁鍒癋aceImage琛級 + FaceTSide, // 锛堜富浣撹瑙掞紝<=45搴︼級椤朵晶鑴哥収鐗囷紙瀛樻斁鍒癋aceImage琛級 + FaceBSide, // 锛堜富浣撹瑙掞紝<=45搴︼級搴曚晶鑴哥収鐗囷紙瀛樻斁鍒癋aceImage琛級 + FaceUploaded, // 涓婁紶鐓х墖锛堝瓨鏀惧埌FaceImage琛級 + Icon, // 鍥炬爣锛堝瓨鏀惧埌Image琛級 + IdentificationCard, // 韬唤璇佺収鐗囷紙瀛樻斁鍒癐mage琛級 + BusinessCard, // 鍚嶇墖鐓х墖锛堝瓨鏀惧埌Image琛級 + OtherCard, // 鍏朵粬璇佷欢锛堝瓨鏀惧埌Image琛級 } 1.2. StatusID +Request: +{ +} +Response: +[ + { + ID : "label" + } +] + +enum StatusID +{ +鏈敞鍐� +宸叉敞鍐岋紙璁垮锛� +鏉ヨ鐧昏锛堣瀹級 +绛剧锛堣瀹級 +绛惧埌锛堝憳宸ワ級 +绛鹃��锛堝憳宸ワ級 +} + 1.3. 浜鸿劯璇嗗埆 閫氳繃鍥惧儚鑾峰緱faceID Request: { registerCompanyID : 123, // 鑻ヤ负-1鍒欏彧鎼滅储VisitFaceDB - imgs : [ "image base64" ] // 瀵瑰簲澶氫釜浜虹殑浜鸿劯鍥惧儚 + imgs : [ "image base64" ] // 瀵瑰簲澶氫釜浜虹殑浜鸿劯鍥惧儚 # 浣跨敤http form post } Response: [ @@ -57,16 +100,33 @@ registerCompanyID : 123, //鎵句笉鍒拌繑鍥濾isitDBFaceID锛屾椤逛负-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>琛ㄧず鍦∟鍏徃涓尮閰嶄汉鑴窶 +d) 瀵逛簬鍗曚釜浜鸿劯缁撴灉锛� + if <0,0> + { + // 鎼滅储鏃犵粨鏋� + } + else if (dbid < 0 && faceid != 0) + { // 璁垮 + // select PersonID from FaceImage where RegisterCompanyID="$dbid" and faceid="$faceid"; + // select * from Person where PersonID="$PersonID" + } + else if (dbid > 0 && faceid != 0) + { // 鍛樺伐 + // select * from FaceImage where RegisterCompanyID="$dbid" and faceid="$faceid"; + // select * from Person where PersonID="$PersonID" + } + 1.4. 浜鸿劯鎬讳綋淇℃伅鏌ヨ 閫氳繃faceID鑾峰緱Person绠�瑕佷俊鎭� @@ -106,7 +166,7 @@ Request: { placeID : 123, // 鑻ヤ负-1鍒欏彧鎼滅储VisitFaceDB - visitStatusID : 1 // 绛惧埌銆佺閫�/绛剧 + enterOrExit : 1 // 绛惧埌銆佺閫�/绛剧 imgs : [ "image base64" ] // 瀵瑰簲澶氫釜浜虹殑浜鸿劯鍥惧儚 } Response: @@ -122,6 +182,49 @@ //涓氬姟閿欒锛� 9.1. 閫氱敤鎴愬姛/閿欒缁撴灉 } ] + + +鍙傝��1.3. a)b)c)d) +e) 瀵逛簬鍗曚釜浜鸿劯缁撴灉锛� + // "$person.id" + select CompanyID from Place where placeID="$placeID" + isChecking = select * CheckingCompany where CompanyID = "$CompanyID" and PersonID="$PersonID" + if (enterOrExit == 绛惧埌) // 鍏ュ彛鎽勫儚澶� + { + if (isChecking) + checking(PersonID, placeID); + return person current status + else + return person status not changed; + } + else if (enterOrExit == 绛鹃��/绛剧) // 鍑哄彛鎽勫儚澶� + { + if (isChecking) + unchecking(PersonID, placeID); + return person current status + else + unvisit(PersonID, placeID); + return person current status + } + + 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. 鏌ヨ浜哄憳鏉ヨ/绛惧埌鐘舵�� 闇�瑕佹敮鎸佹壒閲忔煡璇� @@ -148,7 +251,6 @@ name : "", companyName : "", // ... - imgIdentity : "image base64" } Response: { @@ -156,24 +258,37 @@ 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") +e) department_id , Post_id +f) + +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)鏍规嵁image type淇濆瓨鍥剧墖 +d)璋冪敤浜鸿劯璇嗗埆鏈嶅姟[faceids]=(registerCompanyID, dbid=-1, img) +e)瀵逛簬姣忎竴涓猣aceid锛宨nsert into VisitFace ("$FaceID", $PersonID, "$VisitFace.imagePath") + 3. 鏉ヨ鐧昏 3.1. 鑾峰緱鏉ヨ浜哄憳鍒楄〃 杩斿洖鎸夊鍚嶇缉鍐欏崌搴忕殑缁撴灉 Request: { - companyID : 123, // 璁惧鎵�鍦ㄥ鏍D + companyID : 123, // 璁惧鎵�鍦ㄥ鏍D锛�0琛ㄧず鎵�鏈夊叕鍙革紝浠呬緵绠$悊鎺ュ彛浣跨敤 beginPage : 0, endPage : 0 } @@ -181,10 +296,19 @@ [ { 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. 鑾峰緱琚浜哄憳鍒楄〃 杩斿洖鎸夊鍚嶇缉鍐欏崌搴忕殑缁撴灉 @@ -204,6 +328,9 @@ } ] +set @companyID =1; +select * from person pe where pe.company_id = @companyID + 3.2. 鎼滅储 (3. 4. 5. 6.) 鏉ヨ浜哄憳锛屽鏋滄病鏈夌粰鍑烘悳绱㈠瓧娈垫椂锛屾樉绀烘湰鏍℃浘缁忔潵璁夸汉鍛樺垪琛╒isitStat锛涘鏋滅粰鍑哄叧閿瓧锛屽垯鎼滅储鍏ㄩ儴浜哄憳 @@ -221,6 +348,15 @@ } #todo 琚鑰冭檻鍜屼汉鍛樺垪琛ㄥ悎骞� + +if isVisitor + select * + from visit_stat vs left outer join person pe + on vs.person_id = person.id + where vs.register_company_id = "$registerCompanyID" and pe.name_spell like "$nameSpell%" +else + select * from person + where CompanyID = "$registerCompanyID" and name_spell like "$nameSpell%" 3.3. 鑾峰緱鏉ヨ/琚浜哄憳璇︾粏淇℃伅锛坴isitor/visitee锛� Request: @@ -250,6 +386,8 @@ Response: 鎴愬姛/閿欒缁撴灉 +insert or update VisitStat + 3.5. 鑾峰緱鎷滆浜嬬敱閫夐」鍒楄〃 Request: { -- Gitblit v1.8.0