Ver código fonte

增加验证

durong 5 anos atrás
pai
commit
f69c598657

+ 1 - 4
app/Http/Controllers/Behavior/BehaviorController.php

@@ -8,12 +8,8 @@ namespace App\Http\Controllers\Behavior;
  */
  */
 use App\Http\Controllers\Controller;
 use App\Http\Controllers\Controller;
 use App\Repositories\Behavior\BehaviorRepository;
 use App\Repositories\Behavior\BehaviorRepository;
-use App\Transformers\Behavior\BehaviorTransformer;
 use Illuminate\Http\Request;
 use Illuminate\Http\Request;
 use Illuminate\Validation\Rule;
 use Illuminate\Validation\Rule;
-use League\Fractal\Manager;
-use League\Fractal\Pagination\IlluminatePaginatorAdapter;
-use League\Fractal\Resource\Collection;
 use Illuminate\Support\Facades\Validator;
 use Illuminate\Support\Facades\Validator;
 
 
 class BehaviorController extends Controller
 class BehaviorController extends Controller
@@ -82,6 +78,7 @@ class BehaviorController extends Controller
     {
     {
         $validator = Validator::make($request->all(), [
         $validator = Validator::make($request->all(), [
             'virus_behavior_id' => 'required',
             'virus_behavior_id' => 'required',
+            'rainbow_beans' => 'required',
             'name' => 'required|string',
             'name' => 'required|string',
             'behavior_level' => ['required',Rule::in(0, 1)],
             'behavior_level' => ['required',Rule::in(0, 1)],
             'behavior_cycle_type' => ['required',Rule::in(0, 1)],
             'behavior_cycle_type' => ['required',Rule::in(0, 1)],

+ 21 - 4
app/Repositories/Behavior/BehaviorRepository.php

@@ -140,11 +140,28 @@ class BehaviorRepository
     {
     {
         $behavior_name = $this->behavior->where(['name' => $request['name']])->first();
         $behavior_name = $this->behavior->where(['name' => $request['name']])->first();
         if ($behavior_name) {
         if ($behavior_name) {
-            return Response::create([
-                'message' => '该行为已存在',
-                'status_code' => 500
-            ]);
+            throw new HttpException(500, '该行为已存在');
+        }
+
+        if(isset($request['allotted_quantity_rule']) && isset($request['rainbow_beans'])) {
+            $rule = $request['allotted_quantity_rule'];
+            $rainbow_beans = $request['rainbow_beans'];
+            $count = 0;
+            if (count($rule) == count($rule, 1)) {
+                $count = array_sum($rule);
+                if ($count > $rainbow_beans){
+                    throw new HttpException(500, '唯一行为-分配总数不能大于行为生成彩虹豆总数');
+                }
+            } else {
+                foreach ($rule as $value){
+                    $count += $value['bean'];
+                }
+                if ($count > $rainbow_beans){
+                    throw new HttpException(500, '多级行为-分配总数不能大于行为生成彩虹豆总数');
+                }
+            }
         }
         }
+
         $data = [
         $data = [
             'virus_behavior_id' => $request['virus_behavior_id'],
             'virus_behavior_id' => $request['virus_behavior_id'],
             'name' => $request['name'],
             'name' => $request['name'],