diff --git a/app/Admin/Controllers/EquipResourceRecordController.php b/app/Admin/Controllers/EquipResourceRecordController.php index b01fb35..67b7d3c 100644 --- a/app/Admin/Controllers/EquipResourceRecordController.php +++ b/app/Admin/Controllers/EquipResourceRecordController.php @@ -3,15 +3,27 @@ namespace App\Admin\Controllers; use App\Admin\Actions\Grid\CloneEquipResourceRecordAction; +use App\Admin\Renders\EquipResourceRecordRender; use App\Admin\Repositories\EquipResourceRecord; use App\Admin\Services\EquipResourceRecordService; +use Dcat\Admin\Admin; use Dcat\Admin\Form; use Dcat\Admin\Grid; +use Dcat\Admin\Layout\Content; use Dcat\Admin\Show; use Dcat\Admin\Http\Controllers\AdminController; class EquipResourceRecordController extends AdminController { + public function create(Content $content) + { + return $content + ->translation($this->translation()) + ->title($this->title()) + ->description($this->description()['create'] ?? trans('admin.create')) + ->body($this->form()) + ->body(new EquipResourceRecordRender()); + } /** * Make a grid builder. * @@ -59,9 +71,9 @@ class EquipResourceRecordController extends AdminController $show->field('mode'); $show->field('expired_time'); $show->field('trigger_msg'); - $show->column('api-key'); - $show->column('res_id'); - $show->column('val'); + $show->field('api-key'); + $show->field('res_id'); + $show->field('val'); $show->field('created_at'); $show->field('updated_at'); }); @@ -80,15 +92,30 @@ class EquipResourceRecordController extends AdminController return Form::make(new EquipResourceRecord(), function (Form $form) { $form->display('id'); - $form->text('imei'); - $form->text('obj_id'); - $form->text('obj_inst_id'); - $form->text('mode'); - $form->text('expired_time'); - $form->text('trigger_msg'); - $form->text('api-key'); - $form->text('res_id'); - $form->text('val'); + $form->text('imei')->required(); + $form->text('obj_id')->required(); + $form->text('obj_inst_id')->default(0)->required(); + $form->text('mode')->default(1)->required(); + $form->datetime('expired_time')->required(); + $form->text('trigger_msg')->default(4)->required(); + $form->text('api-key')->required(); + $form->text('res_id')->required(); + +// 68C0 0866472059902068 01 09 0111 00 0000000002 01 8D16 +// $a = EquipResourceRecordService::getCheckCode('68C008664720599020680109011100000000000201'); + $form->text('起始符')->default(68)->disable(true); + $form->text('设备类型')->default('C0')->disable(true); + $form->text('设备号'); + $form->text('控制码')->default('01')->disable(true); + $form->text('数据长度')->default('09')->disable(true); + $form->text('指令标识')->default('0111')->disable(true); + $form->text('数据')->default('00')->disable(true); + $form->select('命令方式')->options(['00', '11'])->disable(false); + $form->text('自定义数组'); + $form->text('固定字节')->default('01')->disable(true); + $form->text('累加和校验')->disable(true); + $form->text('结束符')->default('16')->disable(true); + $form->text('val')->required(); $form->display('created_at'); @@ -99,15 +126,14 @@ class EquipResourceRecordController extends AdminController public function store() { - $param = request()->all(); + $param = request()->only(['imei', 'obj_id', 'obj_inst_id', 'mode', 'expired_time', 'trigger_msg', 'api-key', 'res_id', 'val']); $equip_resource_service = new EquipResourceRecordService(); $res = $equip_resource_service->writeCache($param); - $this->form()->store(); if (!empty($res['errno'])){ if ($res['errno'] === 0) { - $this->form()->store(); + $this->form()->store($param); return $this->form()->response()->success('提交成功'); } diff --git a/app/Admin/Forms/CloneEquipResourceRecordForm.php b/app/Admin/Forms/CloneEquipResourceRecordForm.php index 525f209..519c65b 100644 --- a/app/Admin/Forms/CloneEquipResourceRecordForm.php +++ b/app/Admin/Forms/CloneEquipResourceRecordForm.php @@ -52,15 +52,62 @@ class CloneEquipResourceRecordForm extends Form implements LazyRenderable */ public function form() { - $this->text('imei'); - $this->text('obj_id'); - $this->text('obj_inst_id'); - $this->text('mode'); - $this->text('expired_time'); - $this->text('trigger_msg'); - $this->text('api-key'); - $this->text('res_id'); - $this->text('val'); + $this->text('imei')->required(); + $this->text('obj_id')->required(); + $this->text('obj_inst_id')->required(); + $this->text('mode')->required(); + $this->datetime('expired_time')->required(); + $this->text('trigger_msg')->required(); + $this->text('api-key')->required(); + $this->text('res_id')->required(); + +// 68C0 0866472059902068 0109 0111 00 0000000002 01 8D16 +// $a = EquipResourceRecordService::getCheckCode('68C008664720599020680109011100000000000201'); + $this->text('起始符')->disable(true); + $this->text('设备类型')->disable(true); + $this->text('设备号'); + $this->text('控制码')->disable(true); + $this->text('数据长度')->disable(true); + $this->text('指令标识')->disable(true); + $this->text('数据')->disable(true); + $this->select('命令方式')->options(['00', '11'])->disable(false); + $this->text('自定义数组'); + $this->text('固定字节')->disable(true); + $this->text('累加和校验')->disable(true); + $this->text('结束符')->disable(true); + $this->text('val')->required(); +// $this->row(function ($form) { +// $form->text('imei'); +// $form->text('obj_id'); +// $form->text('obj_inst_id'); +// $form->text('mode'); +//// $form->datetimeRange('expired_time'); +// $form->text('trigger_msg'); +// $form->text('api-key'); +// $form->text('res_id'); +// +// $form->width(1)->display('title')->value('val'); +// $form->width(1)->text('val起始符')->default('aa')->disable(true); +// $form->width(1)->text('设备类型'); +// $form->width(1)->text('设备号'); +// $form->width(1)->text('控制码'); +// $form->width(1)->text('数据长度'); +// $form->width(1)->text('指令标识'); +// $form->width(1)->text('数据'); +// $form->width(1)->select('命令方式'); +// $form->width(1)->text('自定义数组'); +// $form->width(1)->text('固定字节'); +// $form->width(1)->text('累加和校验'); +// $form->width(1)->text('结束符'); +// +// +//// $form->width(3)->text('name')->required(); +//// $form->width(3)->date('born')->required(); +//// $form->width(3)->select('education')->options([])->required(); +//// $form->width(3)->text('nation')->required(); +//// $form->width(4)->text('native')->required(); +// }); + } /** @@ -70,6 +117,20 @@ class CloneEquipResourceRecordForm extends Form implements LazyRenderable */ public function default() { + $val = $this->payload['val']; + $val1 = substr($val, 0, 2); + $val2 = substr($val, 2, 2); + $val3 = substr($val, 4, 16); + $val4 = substr($val, 20, 2); + $val5 = substr($val, 22, 2); + $val6 = substr($val, 24, 2); + $val7 = substr($val, 26, 2); + $val8 = substr($val, 28, 2); + $val9 = substr($val, 30, 10); + $val10 = substr($val, 40, 2); + $val11 = substr($val, 42, 2); + $val12 = substr($val, 44, 2); + return [ 'imei' => $this->payload['imei'], @@ -80,6 +141,18 @@ class CloneEquipResourceRecordForm extends Form implements LazyRenderable 'trigger_msg' => $this->payload['trigger_msg'], 'api-key' => $this->payload['api-key'], 'res_id' => $this->payload['res_id'], + '起始符' => $val1, + '设备类型' => $val2, + '设备号' => $val3, + '控制码' => $val4, + '数据长度' => $val5, + '指令标识' => $val6, + '数据' => $val7, + '命令方式' => $val8, + '自定义数组' => $val9, + '固定字节' => $val10, + '累加和校验' => $val11, + '结束符' => $val12, 'val' => $this->payload['val'], ]; } diff --git a/app/Admin/Renders/EquipResourceRecordRender.php b/app/Admin/Renders/EquipResourceRecordRender.php new file mode 100644 index 0000000..8b85882 --- /dev/null +++ b/app/Admin/Renders/EquipResourceRecordRender.php @@ -0,0 +1,73 @@ +script()); + } +} diff --git a/app/Admin/Services/EquipResourceRecordService.php b/app/Admin/Services/EquipResourceRecordService.php index 092122d..0fddb40 100644 --- a/app/Admin/Services/EquipResourceRecordService.php +++ b/app/Admin/Services/EquipResourceRecordService.php @@ -38,4 +38,22 @@ class EquipResourceRecordService return json_decode($response->getBody()->getContents(), true); } + + public static function getCheckCode($data) + { + if ($data) { + $arr = array(); + $arr = str_split($data, 2); + $result = 0; + for ($i = 0; $i < count($arr); $i++) { + //把十六进制转换为十进制 + $result = $result + hexdec($arr[$i]); + } + var_dump($result); + $result = strtoupper('0' . dechex($result)); //转换成大写 + +// $result = substr($result, -2); + return $result; + } + } } diff --git a/app/Admin/routes.php b/app/Admin/routes.php index e1505ad..91ffdc5 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -18,13 +18,3 @@ Route::group([ }); - -Route::group([ - 'prefix' => config('admin.route.prefix'), - 'namespace' => config('admin.route.namespace'), -], function (Router $router) { - - $router->get('/test', 'HomeController@test'); - -}); -