DeviceController.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Http\Controllers\Controller;
  4. use App\Model\Depart;
  5. use App\Model\Employee;
  6. use App\Model\EmployeeDepartPermission;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\Log;
  9. class DeviceController extends Controller
  10. {
  11. public $user_info;
  12. public function __construct()
  13. {
  14. }
  15. public function heartbeat(Request $request){
  16. $data = $request->all();
  17. Log::channel('apiLog')->info('smkq', ['data' => $data]);
  18. $emloyee = new Employee();
  19. $emloyee = $emloyee->where('is_device',0)->get()->toArray();
  20. $depart = Depart::pluck('title','id')->toArray();
  21. $depart_code = Depart::pluck('code','id')->toArray();
  22. $employee_depart = EmployeeDepartPermission::pluck('depart_id','employee_id')->toArray();
  23. $recodes = [];
  24. if(!empty($emloyee)){
  25. foreach ($emloyee as $v){
  26. if(!isset($depart_code[$employee_depart[$v['id']]]) || !isset( $depart[$employee_depart[$v['id']]])) continue;
  27. //{"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"}
  28. $recodes[] = [
  29. 'url' => '',
  30. 'sex' => $v['sex'],
  31. 'groups' => $depart_code[$employee_depart[$v['id']]],
  32. 'valid_date' => '2099-01-01',
  33. 'access_pwd' => '1234',
  34. 'rec_id' => '1',
  35. 'door_right' => '',
  36. 'depart_name' => $depart[$employee_depart[$v['id']]],
  37. 'birth_date' => $v['birth_date'],
  38. 'account_id' => $v['number'],
  39. 'twins' => '',
  40. 'emp_fname' => $v['emp_name'],
  41. 'state' => '0',
  42. 'card_sn' => '12345',
  43. ];
  44. }
  45. }
  46. var_dump($recodes);die;
  47. echo '{"transaction_id":"20210712105908287","api":"heartbeat","records":[],"interval":"10000","noncestr":"d9602665b0694be999787dfbe1c143f0","time":"1626058748","sign":"7bb743f511a706eb986d3ea876375b66","result_code":0,"result_msg":"OK"}';
  48. }
  49. }