From 5d5de05f85f683709574172ef4ea5d0a9341060d Mon Sep 17 00:00:00 2001 From: dongpd Date: Fri, 11 Dec 2020 14:00:23 +0700 Subject: [PATCH] =?UTF-8?q?=C4=91=E1=BB=93ng=20b=E1=BB=99=20d=E1=BB=AF=20l?= =?UTF-8?q?i=E1=BB=87u=20l=C3=AAn=20m=C3=A1y=20ch=E1=BB=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- commands/SyncController.php | 55 ++++++++++++----------- controllers/ListManagementController.php | 4 +- db/app.db | Bin 2404352 -> 2404352 bytes models/CaptureLogs.php | 8 ++-- views/list-management/list-server.tpl | 2 + 5 files changed, 38 insertions(+), 31 deletions(-) diff --git a/commands/SyncController.php b/commands/SyncController.php index 0df6a920..a8f134fb 100644 --- a/commands/SyncController.php +++ b/commands/SyncController.php @@ -10,6 +10,8 @@ namespace app\commands; use yii\console\Controller; use yii\console\ExitCode; +use app\models\CaptureLogs; +use app\models\ListManagement; /** * This command echoes the first argument that you have entered. @@ -28,32 +30,33 @@ class SyncController extends Controller { */ public function actionIndex() { if ($this->is_connected()) { - $sync = \app\models\SyncUrl::find()->one(); - if ($sync) { - $logs = \app\models\FaceLogs::find()->all(); - foreach ($logs as $key => $value) { - $options = [ - 'http' => [ - 'header' => "Content-Type: application/json", - 'method' => "POST", - 'content' => json_encode([ - "camera_id" => $value->camera_id, - "confidence" => $value->confidence, - "enable_door" => $value->enable_door, - "encoded_person_image" => $value->encoded_person_image, - "frametime" => $value->frametime, - "id" => $value->face_id, - "image" => $value->image, - "name" => $value->name, - "person_id" => $value->person_id, - "status" => $value->status, - "stt" => $value->stt, - "timezone" => $value->timezone - ]), - ] - ]; - file_get_contents($sync->data, false, stream_context_create($options)); - $value->delete(); + $server_ip = \app\models\SyncUrl::findOne(['key_config' => 'server_api']); + $ip = "dev-dc.beetai.com"; + if ($server_ip) + $ip = $server_ip->data; + $device_id = \app\models\SyncUrl::findOne(['key_config' => 'device_id']); + $id_camera = 209; + if ($device_id) + $id_camera = intval($device_id->data); + + $ls = CaptureLogs::find()->andWhere(['<>', 'staff_id', 0])->andWhere(['sync_status' => 0])->all(); + foreach ($ls as $key => $value) { + $staffInfo = ListManagement::findOne($value->staff_id); + $res = json_decode(file_get_contents("https://" . $ip . "/api/box/oem_face_recognition", false, stream_context_create([ + 'http' => [ + 'header' => "Content-Type: application/json", + 'method' => "POST", + 'content' => json_encode([ + 'image' => base64_encode(file_get_contents(Yii::getAlias('@webroot') . "/data/uploads/face/" . $value->image)), + 'camera_id' => strval($id_camera), + 'frametime' => date("Y-m-d H:i:s", $value->time), + 'idCard' => $staffInfo ? strval($staffInfo->code) : "0" + ]) + ] + ])), true); + if ($res['status'] == 10000) { + $value->sync_status = 1; + $value->save(); } } } diff --git a/controllers/ListManagementController.php b/controllers/ListManagementController.php index 7cc69312..accb97dd 100644 --- a/controllers/ListManagementController.php +++ b/controllers/ListManagementController.php @@ -339,7 +339,7 @@ class ListManagementController extends Controller { $model = ListManagement::findOne(['code' => $data['idStaff']]); if ($model) { - $model->name = $data['name']; + $model->name = $data['code']; $model->image = json_encode($ft); $model->last_modified = time(); $model->save(); @@ -348,7 +348,7 @@ class ListManagementController extends Controller { $model->create([ 'code' => $data['idStaff'], 'type' => "wl", - 'name' => $data['name'], + 'name' => $data['code'], 'image' => json_encode($ft), 'gender' => "", 'birthday' => "", diff --git a/db/app.db b/db/app.db index e054814e1b7b449a06bdc04ae2e4c38bda6bc3be..b1205d58edae079d355e093e980b3f97e5ed3bb0 100644 GIT binary patch delta 462 zcmZwAJ4ixt7zObAd9Qj??<=*;Qp>WX=!T|}phd(9#k#H@Vf^)Y{gewfOjP&U8NGeW&lXPW0YG9jms{PAeSoZ`l&+qcVC z0qInERj!p!_mdgBQckLHnIVTe#o;n+o3Tp= zc}d&2F3OMKrYKUlE#QZ~^d&{#3iPRO3Hk~01&a3S&hTDl2;o42^wVEwIOiS>pM3pm z;t8nFZe4ohaIAzK4q^p-e%Ik}{O|eO%-SQzL-yXQ%I9}?f4~2m{eSF#wErdec>3o{ zQhfh~dgLMa7k@Z<@2cJ|pAOEN;J5Y(rC63vo1JQZWU2Tqa--&vy9Y&70w*yAcGs)+?^n6X!p zEx-=iIjScz>2#XMmNDs}ofeeIBp)2~7jBqE-#|1EQyUdgiqr~hUPGw{N1L%%Y?fBy zVnMH~;U=arjgCvr+%cDCrT(cgKjib+4P;ZW14Y)=q~>zD1srSbgLNA% zX5?}?))S=65?wuwtWUId|UWZW{gcLbsMBY_>#eC2ci<}ps3TSVUVZz5~k+rm>M>! z1uGHSh?1EQUUaNwKSDMRV@Z9YbJ6T1f+vwR5BcdbqNY zVR?UO&{(oRK{f_E@C4+_*i$DvPE5_!F`d|Gf=Se=zSf>}m#B_t6sFR~IH-tiw~Jh` z<{_VsZ8qHPsy$b{(evS0i;iqGt(5$2o=^1XB|1bja^8V)8rSl^ik=zhDz@e!pANol zPZjEHT-Qc&8Lt`Eq8g%Mcwt;HRUC)29PdG?jJXe{{Y7ek|H!R$Dmd2phJw$++@393 zKntoc=JGU`5|?6oh=yPXj2LlxdZ}I=&jDkuj%gQD1KOCgF=}<0)+CB!E!#mh2T)>}_mcTccw$9CmDE3EY2Z4$h zqB#$ZAAD$QXipLSA*78&Qf{B+dd)m)mNtjhnEn{q_n=MF*(}GFl3D>_%S`71Ecz2`WV?CK+EW2K9VeiBQZMkb4>3(_h%X!uWj*=`x98rC3Wkaa@KMdWHKriLTQOwN&I|3!2$mZL6G0yxbN6od%3pvue~R`Pxjn9 z@@{nd$(zW98#zO`|W;IADW z5zh{1zaojl=l{7(?9cwm5_eu)Aui88I$egKpld*3hElD>!5CcI=8n#y$R|zs5_wU Vg1QIlEl~GCedqNz*S~u(`#-;?*i--j diff --git a/models/CaptureLogs.php b/models/CaptureLogs.php index 1c6ab98f..cd53141d 100644 --- a/models/CaptureLogs.php +++ b/models/CaptureLogs.php @@ -12,8 +12,9 @@ use Yii; * @property int $time * @property string $image * @property int $status - * @property string $remark + * @property string $remark * @property string $confidence + * @property int $sync_status */ class CaptureLogs extends \yii\db\ActiveRecord { @@ -29,7 +30,7 @@ class CaptureLogs extends \yii\db\ActiveRecord { */ public function rules() { return [ - [['staff_id', 'time', 'status'], 'integer'], + [['staff_id', 'time', 'status', 'sync_status'], 'integer'], [['image', 'remark', 'confidence'], 'string'], ]; } @@ -46,7 +47,8 @@ class CaptureLogs extends \yii\db\ActiveRecord { 'remark' => 'Remark', 'staff_name' => "Name", 'staff_image' => "Registration Image", - 'confidence' => 'Confidence' + 'confidence' => 'Confidence', + 'sync_status' => 'Sync Status' ]; } diff --git a/views/list-management/list-server.tpl b/views/list-management/list-server.tpl index e5c38af1..ffedef38 100644 --- a/views/list-management/list-server.tpl +++ b/views/list-management/list-server.tpl @@ -4,6 +4,7 @@ ID Name + Code Department Registration Image Code @@ -15,6 +16,7 @@ {$arr.idStaff} {$arr.name} + {$arr.code} {$arr.department} {foreach from=$arr.images item=img}