You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
4.3 KiB
126 lines
4.3 KiB
<?php
|
|
|
|
namespace App\Admin\Forms;
|
|
|
|
use App\Admin\Renders\EquipResourceRecordRender;
|
|
use App\Admin\Services\EquipResourceRecordService;
|
|
use App\Models\EquipResourceRecord as EquipResourceRecordModel;
|
|
use Dcat\Admin\Admin;
|
|
use Dcat\Admin\Contracts\LazyRenderable;
|
|
use Dcat\Admin\Traits\LazyWidget;
|
|
use Dcat\Admin\Widgets\Form;
|
|
|
|
class EquipCacheForm extends Form implements LazyRenderable
|
|
{
|
|
use LazyWidget;
|
|
|
|
public function render()
|
|
{
|
|
$equip_Render = new EquipResourceRecordRender();
|
|
Admin::script($equip_Render->script());
|
|
return parent::render(); // TODO: Change the autogenerated stub
|
|
}
|
|
|
|
/**
|
|
* Handle the form request.
|
|
*
|
|
* @param array $input
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function handle(array $input)
|
|
{
|
|
$equip_resource_service = new EquipResourceRecordService();
|
|
|
|
$res = $equip_resource_service->writeCache($input);
|
|
|
|
if (isset($res['errno'])){
|
|
if ($res['errno'] === 0) {
|
|
$equip_resource_model = new EquipResourceRecordModel();
|
|
$equip_resource_model['imei'] = $input['imei'];
|
|
$equip_resource_model['obj_id'] = $input['obj_id'];
|
|
$equip_resource_model['obj_inst_id'] = $input['obj_inst_id'];
|
|
$equip_resource_model['mode'] = $input['mode'];
|
|
$equip_resource_model['expired_time'] = $input['expired_time'];
|
|
$equip_resource_model['trigger_msg'] = $input['trigger_msg'];
|
|
$equip_resource_model['api-key'] = $input['api-key'];
|
|
$equip_resource_model['res_id'] = $input['res_id'];
|
|
$equip_resource_model['val'] = $input['val'];
|
|
$equip_resource_model->save();
|
|
|
|
return $this->response()->success('提交成功')->refresh();;
|
|
}
|
|
|
|
return $this->response()->error($res['error']);
|
|
}
|
|
|
|
return $this->response()->error('提交失败');
|
|
}
|
|
|
|
/**
|
|
* Build a form here.
|
|
*/
|
|
public function form()
|
|
{
|
|
|
|
$this->text('imei')->required();
|
|
$this->text('obj_id', '设备id')->required();
|
|
$this->text('obj_inst_id')->required();
|
|
$this->text('mode', 'Write的写模式,只能是1或者2')->required();
|
|
$this->datetime('expired_time', '命令过期时间戳,必填且大于Valid Time')->required();
|
|
$this->text('trigger_msg', '命令触发的上行消息类型[1,7]')->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->addAjaxScript();
|
|
|
|
|
|
}
|
|
|
|
/**
|
|
* The data of the form.
|
|
*
|
|
* @return array
|
|
*/
|
|
public function default()
|
|
{
|
|
return [
|
|
'imei' => $this->payload['imei'],
|
|
'obj_id' => $this->payload['obj_id'],
|
|
'obj_inst_id' => 0,
|
|
'mode' => 1,
|
|
'expired_time' => date('Y-m-d H:i:s', strtotime("+1 day")),
|
|
'trigger_msg' => 4,
|
|
'api-key' => $this->payload['api_key'],
|
|
'res_id' => '5750',
|
|
'起始符' => '68',
|
|
'设备类型' => 'C0',
|
|
'设备号' => str_pad($this->payload['imei'], 16, '0', STR_PAD_LEFT),
|
|
'控制码' => '01',
|
|
'数据长度' => '09',
|
|
'指令标识' => '0111',
|
|
'数据' => '00',
|
|
'命令方式' => 0,
|
|
'自定义数组' => '',
|
|
'固定字节' => '01',
|
|
'累加和校验' => '',
|
|
'结束符' => '16',
|
|
];
|
|
}
|
|
|
|
}
|
|
|