|
@@ -5,6 +5,7 @@ namespace app\admin\controller\device;
|
|
|
use app\admin\validate\device\LedgerValidate;
|
|
|
use app\controller\Curd;
|
|
|
use app\model\DeviceLedger;
|
|
|
+use support\exception\BusinessException;
|
|
|
use support\Request;
|
|
|
use support\Response;
|
|
|
|
|
@@ -45,4 +46,39 @@ class LedgerController extends Curd
|
|
|
|
|
|
return json_success('', $data);
|
|
|
}
|
|
|
+
|
|
|
+ protected function afterQuery($items)
|
|
|
+ {
|
|
|
+ foreach ($items as &$item){
|
|
|
+ if (!empty($item->device_ledger_metadata_json)){
|
|
|
+ $item->meta_data = json_decode($item->device_ledger_metadata_json);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return $items;
|
|
|
+ }
|
|
|
+
|
|
|
+ protected function insertInput(Request $request): array
|
|
|
+ {
|
|
|
+ $data = $this->inputFilter($request->post());
|
|
|
+
|
|
|
+ $data['device_ledger_metadata_json'] = $request->post('meta_data','[]');
|
|
|
+
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ protected function updateInput(Request $request): array
|
|
|
+ {
|
|
|
+ //meta_data
|
|
|
+ $primary_key = $this->model->getKeyName();
|
|
|
+ $id = $request->post($primary_key);
|
|
|
+ $data = $this->inputFilter($request->post());
|
|
|
+ $data['device_ledger_metadata_json'] = $request->post('meta_data','[]');
|
|
|
+ $model = $this->model->find($id);
|
|
|
+ if (!$model) {
|
|
|
+ throw new BusinessException('记录不存在', 2);
|
|
|
+ }
|
|
|
+ unset($data[$primary_key]);
|
|
|
+ return [$id, $data];
|
|
|
+ }
|
|
|
}
|