durong преди 5 години
родител
ревизия
d0e4d70aec
променени са 3 файла, в които са добавени 64 реда и са изтрити 3 реда
  1. 21 2
      app/Http/Controllers/Behavior/BehaviorController.php
  2. 41 1
      app/Repositories/Behavior/BehaviorRepository.php
  3. 2 0
      routes/api.php

+ 21 - 2
app/Http/Controllers/Behavior/BehaviorController.php

@@ -3,17 +3,18 @@ namespace App\Http\Controllers\Behavior;
 /**
  * Created by PhpStorm.
  * User: durong
- * Date: 2019/6/10
+ * Date: 2019/6/12
  * Time: 上午11:09
  */
 use App\Http\Controllers\Controller;
-use App\Repositories\BehaviorRepository;
+use App\Repositories\Behavior\BehaviorRepository;
 use App\Transformers\Behavior\BehaviorTransformer;
 use Illuminate\Http\Request;
 use Illuminate\Validation\Rule;
 use League\Fractal\Manager;
 use League\Fractal\Pagination\IlluminatePaginatorAdapter;
 use League\Fractal\Resource\Collection;
+use Illuminate\Support\Facades\Validator;
 
 class BehaviorController extends Controller
 {
@@ -51,4 +52,22 @@ class BehaviorController extends Controller
 
     }
 
+
+    //登记行为
+    public function create(Request $request)
+    {
+        $validator = Validator::make($request->all(), [
+            'virus_behavior_id' => 'required',
+            'name' => 'required|string',
+            'behavior_level' => ['required',Rule::in(0, 1)],
+            'behavior_cycle_type' => ['required',Rule::in(0, 1)],
+        ]);
+        if ($validator->fails()) {
+            return $this->response->error($validator->errors()->first(), 500);
+        }
+        return  $this->behaviorRepository->create($request->all());
+    }
+
+
+
 }

+ 41 - 1
app/Repositories/Behavior/BehaviorRepository.php

@@ -1,9 +1,12 @@
 <?php
-namespace App\Repositories;
+namespace App\Repositories\Behavior;
 use App\Models\Behavior;
 use GuzzleHttp\Client;
 use GuzzleHttp\Exception\RequestException;
+use Illuminate\Support\Facades\DB;
 use Tymon\JWTAuth\Facades\JWTAuth;
+use Dingo\Api\Http\Response;
+use Symfony\Component\HttpKernel\Exception\HttpException;
 
 /**
  * Created by PhpStorm.
@@ -39,5 +42,42 @@ class BehaviorRepository
             return [];
         }
     }
+
+    public function create($request)
+    {
+        $behavior_name = $this->behavior->where(['name'=>$request['name']])->first();
+        if($behavior_name){
+            return Response::create([
+                'message'  => '该行为已存在',
+                'status_code'   => 500
+            ]);
+        }
+        $data = [
+            'virus_behavior_id' => $request['virus_behavior_id'],
+            'name' => $request['name'],
+            'behavior_level' => $request['behavior_level'],
+            'behavior_cycle_type' => $request['behavior_cycle_type'],
+            'is_open' => 0,
+            'behavior_action_id' => isset($request['behavior_action_id']) ? $request['behavior_action_id'] : 0,
+            'behavior_cycle' => isset($request['behavior_cycle']) ? $request['behavior_cycle'] : '',
+            'behavior_binding_users' => isset($request['behavior_binding_users']) ? $request['behavior_binding_users'] : 0,
+            'physical_strength' => isset($request['physical_strength']) ? $request['physical_strength'] : '',
+            'rainbow_beans' => isset($request['rainbow_beans']) ? $request['rainbow_beans'] : '',
+            'remarks' => isset($request['remarks']) ? $request['remarks'] : '',
+            'behavioral_cycle_start_time' => isset($request['behavioral_cycle_start_time']) ? $request['behavioral_cycle_start_time'] : null,
+            'behavioral_cycle_end_time' => isset($request['behavioral_cycle_end_time']) ? $request['behavioral_cycle_end_time'] : null,
+            'allotted_quantity_rule' => isset($request['allotted_quantity_rule']) ? json_encode($request['allotted_quantity_rule']) : '',
+            'behavior_identification' => isset($request['behavior_identification']) ? $request['behavior_identification'] : '',
+            'trigger_times' => isset($request['trigger_times']) ? $request['trigger_times'] : 0,
+            'effective_trigger' => isset($request['effective_trigger']) ? $request['effective_trigger'] : 0,
+            'relative_series' => isset($request['relative_series']) ? $request['relative_series'] : 0,
+            'absolute_progression' => isset($request['absolute_progression']) ? $request['absolute_progression'] : 0,
+        ];
+
+        if (!$this->behavior->create($data)) {
+            throw new HttpException(500, '添加失败,请重试');
+        }
+
+    }
 }
 

+ 2 - 0
routes/api.php

@@ -89,5 +89,7 @@ $api->version('v1', [
     $api->group(['namespace' => 'Behavior'], function ($api) {
         //行为列表
         $api->get('behavior/list', 'BehaviorController@index');
+        //登记/注册行为
+        $api->post('behavior/create', 'BehaviorController@create');
     });
 });