fly 4 년 전
부모
커밋
fed7a31ab4

+ 20 - 0
src/Request/BaiDuAdAccountRequest.php

@@ -0,0 +1,20 @@
+<?php
+
+namespace General\Requests;
+
+class BaiDuAdAccountRequest extends Request
+{
+    /**
+     * Get the validation rules that apply to the request.
+     *
+     * @return array
+     */
+    public function rules()
+    {
+        return [
+            'id' => 'integer',
+            'account_name' => 'required|string',
+            'token' => 'required|string',
+        ];
+    }
+}

+ 35 - 0
src/Request/LandingPageLinkRequest.php

@@ -0,0 +1,35 @@
+<?php
+
+namespace General\Requests;
+
+use General\Services\LandingPage\LandingPageLinkService;
+use Illuminate\Validation\Rule;
+
+class LandingPageLinkRequest extends Request
+{
+    /**
+     * Get the validation rules that apply to the request.
+     *
+     * @return array
+     */
+    public function rules()
+    {
+        return [
+            'id' => 'integer',
+            'status' => 'integer',
+            'appid' => 'required|string',
+            'gzh_code' => 'required|string',
+            'gzh_name' => 'required|string',
+            'gzh_img' => 'required',
+            'domain' => 'required|string',
+            'company_name' => 'required|string',
+            'gzh_suffix_mode' => 'required|integer',
+            'gzh_suffix' => 'required_if:gzh_suffix_mode,1|string',
+            'sub_img' => 'required',
+            'link_source' => Rule::in(LandingPageLinkService::link_source_array),
+            'gzh_biz' => 'required_if:link_source,vivo|string',
+            'filing' => 'required_if:link_source,vivo|string',
+            'adid' => 'required_if:link_source,baidu|integer',
+        ];
+    }
+}

+ 18 - 0
src/Request/LinkReportTypeRequest.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace General\Requests;
+
+use General\Services\LandingPage\LandingPageLinkService;
+use Illuminate\Validation\Rule;
+
+class LinkReportTypeRequest extends Request
+{
+    public function rules()
+    {
+        return [
+            'type' => ['required', Rule::in(LandingPageLinkService::REPORT_TYPE)],
+            'molecule' => 'integer|between:0,100',
+            'eligible_count' => 'integer',
+        ];
+    }
+}

+ 18 - 0
src/Request/QueryReportRequest.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace General\Requests;
+
+
+class QueryReportRequest extends Request
+{
+    public function rules()
+    {
+        return [
+            'begin_time' => 'date',
+            'end_time' => 'date|after_or_equal:begin_time',
+            'uid' => 'integer',
+            'send_order_id' => 'integer|exists:qapp_send_orders:send_order_id',
+            'adid' => 'string',
+        ];
+    }
+}

+ 15 - 0
src/Request/ReReportRequest.php

@@ -0,0 +1,15 @@
+<?php
+
+namespace General\Requests;
+
+
+class ReReportRequest extends Request
+{
+    public function rules()
+    {
+        return [
+            'amount' => 'required|numeric',
+            'order_no' => 'required|string|exists:orders,trade_no',
+        ];
+    }
+}

+ 128 - 0
src/Request/Request.php

@@ -0,0 +1,128 @@
+<?php
+
+namespace General\Requests;
+
+use Illuminate\Contracts\Validation\Validator;
+use Illuminate\Foundation\Http\FormRequest;
+use Illuminate\Http\Exceptions\HttpResponseException;
+
+abstract class Request extends FormRequest
+{
+    public function authorize()
+    {
+        return true;
+    }
+
+    public function failedValidation(Validator $validator)
+    {
+        throw (new HttpResponseException(response()->json([
+            'code' => -1,
+            'msg' => '请求错误',
+            'data' => $validator->errors()->first(),
+        ], 200)));
+    }
+
+    public function messages()
+    {
+        return [
+            'required' => '缺少参数:attribute',
+            'integer' => ':attribute 必须是整数类型',
+            'date' => ':attribute 必须是日期格式',
+            'max' => [
+                'numeric' => ':attribute不能超过 :max.',
+                'file' => '文件:attribute大小不能超过 :max kilobytes.',
+                'string' => '字符:attribute 不能超过 :max 长度.',
+                'array' => '数组:attribute 不能超过 :max 长度.',
+            ],
+            'accepted' => 'The :attribute must be accepted.',
+            'active_url' => ':attribute 是个无效链接.',
+            'after' => 'The :attribute must be a date after :date.',
+            'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
+            'alpha' => 'The :attribute may only contain letters.',
+            'alpha_dash' => 'The :attribute may only contain letters, numbers, dashes and underscores.',
+            'alpha_num' => 'The :attribute may only contain letters and numbers.',
+            'array' => 'The :attribute must be an array.',
+            'before' => 'The :attribute must be a date before :date.',
+            'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
+            'between' => 'The :attribute 必须处于 :min 和 :max 之间',
+            'boolean' => 'The :attribute field must be true or false.',
+            'confirmed' => 'The :attribute confirmation does not match.',
+            'date_equals' => 'The :attribute must be a date equal to :date.',
+            'date_format' => 'The :attribute does not match the format :format.',
+            'different' => 'The :attribute and :other must be different.',
+            'digits' => 'The :attribute must be :digits digits.',
+            'digits_between' => 'The :attribute must be between :min and :max digits.',
+            'dimensions' => 'The :attribute has invalid image dimensions.',
+            'distinct' => 'The :attribute field has a duplicate value.',
+            'email' => 'The :attribute must be a valid email address.',
+            'ends_with' => 'The :attribute must end with one of the following: :values',
+            'exists' => ':attribute 不存在.',
+            'file' => 'The :attribute must be a file.',
+            'filled' => 'The :attribute field must have a value.',
+            'gt' => [
+                'numeric' => 'The :attribute must be greater than :value.',
+                'file' => 'The :attribute must be greater than :value kilobytes.',
+                'string' => 'The :attribute must be greater than :value characters.',
+                'array' => 'The :attribute must have more than :value items.',
+            ],
+            'gte' => [
+                'numeric' => 'The :attribute must be greater than or equal :value.',
+                'file' => 'The :attribute must be greater than or equal :value kilobytes.',
+                'string' => 'The :attribute must be greater than or equal :value characters.',
+                'array' => 'The :attribute must have :value items or more.',
+            ],
+            'image' => 'The :attribute 必须是一张图片.',
+            'in' => '选项 :attribute 不在给定范围中.',
+            'in_array' => 'The :attribute field does not exist in :other.',
+            'ip' => 'The :attribute must be a valid IP address.',
+            'ipv4' => 'The :attribute must be a valid IPv4 address.',
+            'ipv6' => 'The :attribute must be a valid IPv6 address.',
+            'json' => 'The :attribute must be a valid JSON string.',
+            'lt' => [
+                'numeric' => 'The :attribute must be less than :value.',
+                'file' => 'The :attribute must be less than :value kilobytes.',
+                'string' => 'The :attribute must be less than :value characters.',
+                'array' => 'The :attribute must have less than :value items.',
+            ],
+            'lte' => [
+                'numeric' => 'The :attribute must be less than or equal :value.',
+                'file' => 'The :attribute must be less than or equal :value kilobytes.',
+                'string' => 'The :attribute must be less than or equal :value characters.',
+                'array' => 'The :attribute must not have more than :value items.',
+            ],
+            'mimes' => 'The :attribute must be a file of type: :values.',
+            'mimetypes' => 'The :attribute must be a file of type: :values.',
+            'min' => [
+                'numeric' => 'The :attribute must be at least :min.',
+                'file' => 'The :attribute must be at least :min kilobytes.',
+                'string' => 'The :attribute must be at least :min characters.',
+                'array' => 'The :attribute must have at least :min items.',
+            ],
+            'not_in' => 'The selected :attribute is invalid.',
+            'not_regex' => 'The :attribute format is invalid.',
+            'numeric' => 'The :attribute must be a number.',
+            'present' => 'The :attribute field must be present.',
+            'regex' => 'The :attribute format is invalid.',
+            'required_if' => 'The :attribute field is required when :other is :value.',
+            'required_unless' => 'The :attribute field is required unless :other is in :values.',
+            'required_with' => 'The :attribute field is required when :values is present.',
+            'required_with_all' => 'The :attribute field is required when :values are present.',
+            'required_without' => 'The :attribute field is required when :values is not present.',
+            'required_without_all' => 'The :attribute field is required when none of :values are present.',
+            'same' => 'The :attribute and :other must match.',
+            'size' => [
+                'numeric' => 'The :attribute must be :size.',
+                'file' => 'The :attribute must be :size kilobytes.',
+                'string' => 'The :attribute must be :size characters.',
+                'array' => 'The :attribute must contain :size items.',
+            ],
+            'starts_with' => 'The :attribute must start with one of the following: :values',
+            'string' => 'The :attribute must be a string.',
+            'timezone' => 'The :attribute must be a valid zone.',
+            'unique' => 'The :attribute has already been taken.',
+            'uploaded' => 'The :attribute failed to upload.',
+            'url' => 'The :attribute format is invalid.',
+            'uuid' => 'The :attribute must be a valid UUID.',
+        ];
+    }
+}