gorden 10 mēneši atpakaļ
vecāks
revīzija
cdcbbc73ed
1 mainītis faili ar 36 papildinājumiem un 0 dzēšanām
  1. 36 0
      app/admin/controller/device/LedgerController.php

+ 36 - 0
app/admin/controller/device/LedgerController.php

@@ -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];
+    }
 }