Browse Source

内部使用oa后台

gogs 1 year ago
parent
commit
2c273ce5ae
3 changed files with 47 additions and 1 deletions
  1. 34 1
      app/Http/Controllers/Api/DeviceController.php
  2. 1 0
      routes/api.php
  3. 12 0
      routes/device.php

+ 34 - 1
app/Http/Controllers/Api/DeviceController.php

@@ -3,6 +3,9 @@
 namespace App\Http\Controllers\Api;
 
 use App\Http\Controllers\Controller;
+use App\Model\Depart;
+use App\Model\Employee;
+use App\Model\EmployeeDepartPermission;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Log;
 
@@ -17,7 +20,37 @@ class DeviceController extends Controller
     public function heartbeat(Request $request){
         $data = $request->all();
         Log::channel('apiLog')->info('smkq', ['data' => $data]);
-
+        $emloyee = new Employee();
+        $emloyee = $emloyee->where('is_device',0)->get()->toArray();
+
+        $depart = Depart::pluck('title','id')->toArray();
+        $depart_code = Depart::pluck('code','id')->toArray();
+
+        $employee_depart = EmployeeDepartPermission::pluck('depart_id','employee_id')->toArray();
+        $recodes = [];
+        if(!empty($emloyee)){
+            foreach ($emloyee as $v){
+                if(!isset($depart_code[$employee_depart[$v['id']]]) || !isset( $depart[$employee_depart[$v['id']]])) continue;
+                //{"url":"","sex":"男","emp_id":"001","groups":"11111111","valid_date":"2099-01-01","access_pwd":"1234","rec_id":"1","door_right":"","depart_name":"财务部","birth_date":"1996-01-01","level_id":15,"account_id":"00000001","twins":"","emp_fname":"测试人员","state":"0","card_sn":"12345"}
+                $recodes[] = [
+                    'url' => '',
+                    'sex' => $v['sex'],
+                    'groups' => $depart_code[$employee_depart[$v['id']]],
+                    'valid_date' => '2099-01-01',
+                    'access_pwd' => '1234',
+                    'rec_id' => '1',
+                    'door_right' => '',
+                    'depart_name' => $depart[$employee_depart[$v['id']]],
+                    'birth_date' => $v['birth_date'],
+                    'account_id' => $v['number'],
+                    'twins' => '',
+                    'emp_fname' => $v['emp_name'],
+                    'state' => '0',
+                    'card_sn' => '12345',
+                ];
+            }
+        }
+        var_dump($recodes);die;
         echo '{"transaction_id":"20210712105908287","api":"heartbeat","records":[],"interval":"10000","noncestr":"d9602665b0694be999787dfbe1c143f0","time":"1626058748","sign":"7bb743f511a706eb986d3ea876375b66","result_code":0,"result_msg":"OK"}';
     }
 

+ 1 - 0
routes/api.php

@@ -13,6 +13,7 @@ use Illuminate\Http\Request;
 |
 */
 
+
 Route::middleware('auth:api')->get('/user', function (Request $request) {
     return $request->user();
 });

+ 12 - 0
routes/device.php

@@ -12,3 +12,15 @@
 */
 
 Route::any('/request/heartbeat', 'Api\DeviceController@heartbeat');
+Route::get('/image/{filename}', function ($filename) {
+    $path = storage_path('app/public/' . $filename);
+    $path = $path.'.jpg';
+    if (!File::exists($path)) {
+        abort(404);
+    }
+
+    $file = File::get($path);
+    $type = File::mimeType($path);
+
+    return response($file, 200)->header('Content-Type', $type);
+});