Browse Source

完善功能

gorden 10 months ago
parent
commit
26485dd81b

+ 15 - 3
app/admin/controller/device/DeviceController.php

@@ -31,8 +31,8 @@ class DeviceController extends Curd
     public function selectList()
     {
         $class = get_class($this->model);
-        $data = $class::where('device_status', 'ACTIVED')
-            ->select('device_id', 'device_name','device_identify')
+        $data = $class::whereIn('device_status', ['PROCESSING','PENDING'])
+            ->select('device_id', 'device_name', 'device_identify')
             ->get()
             ->toArray();
 
@@ -58,6 +58,18 @@ class DeviceController extends Curd
     {
         $id = SysSerial::getSerial();
 
-        return "DE".str_pad($id,16,'0',STR_PAD_LEFT).random_string(8);
+        return "DE" . str_pad($id, 16, '0', STR_PAD_LEFT) . random_string(8);
+    }
+
+    public function delete(Request $request): Response
+    {
+        $ids = $this->deleteInput($request);
+
+        if (Device::whereIn('device_id', $ids)->where('device_status', '<>', 'WAITING')->exists()) {
+            return json_fail('只有库存状态的设备可以删除');
+        }
+
+        $this->doDelete($ids);
+        return json_success('success');
     }
 }

+ 12 - 0
app/admin/service/member/MemberService.php

@@ -2,6 +2,7 @@
 
 namespace app\admin\service\member;
 
+use app\model\Device;
 use app\model\Family;
 use app\model\FamilyMember;
 use app\model\Member;
@@ -218,6 +219,7 @@ class MemberService
     public static function addDevice(Request $request)
     {
         $params = $request->post();
+        Db::beginTransaction();
         try {
             $data = [
                 'join_device_member_id' => $params['join_device_member_id'] ?? '',
@@ -231,7 +233,17 @@ class MemberService
             ];
 
             MemberDevice::insert($data);
+
+            // 激活设备
+            if (!Device::where('device_id', $params['join_member_device_id'])->whereIn('device_status', ['PROCESSING','PENDING'])->exists()) {
+                Db::rollBack();
+                return json_fail('当前设备不是可激活状态');
+            }
+            Device::where('device_id', $params['join_member_device_id'])->update(['device_status'=>'ACTIVED']);
+
+            Db::commit();
         } catch (\Exception $e) {
+            Db::rollBack();
             dump($e->getMessage());
             return json_fail('绑定失败');
         }