1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- 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;
- class DeviceController extends Controller
- {
- public $user_info;
- public function __construct()
- {
- }
- 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' => $v['pic'],
- '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',
- ];
- }
- }
- $return = json_decode('{"transaction_id":"20220829142124067","api":"heartbeat","records":[],"interval":"10000","result_code":0,"noncestr":"be39ff7eadc0450b91f0713c3382cd22","time":"1661754084","sign":"9ab968049901cd4e493baeec1dcf85fe","result_msg":"OK"}',true);
- if(!empty($recodes)){
- $return['api'] = 'addperson';
- $return['records'] = $recodes;
- }
- $return['time'] = time();
- $return['transaction_id'] = date('YmdHis').rand(1000,9999);
- echo json_encode($return,JSON_UNESCAPED_UNICODE);
- }
- }
|