CustomerProfiling.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace App\Http\Requests\ReportStatistics\Backend;
  3. use App\Http\Requests\BaseRequest;
  4. /**
  5. * 客户概况
  6. * @author 唐远望
  7. * @version 1.0
  8. * @date 2025-07-30
  9. *
  10. */
  11. class CustomerProfiling extends BaseRequest
  12. {
  13. /**
  14. * 获取应用于请求的规则
  15. *
  16. * @return array
  17. */
  18. public function rules()
  19. {
  20. // 返回结果
  21. return [
  22. 'name' => 'required',
  23. 'id' => 'required|integer|gt:0',
  24. 'status' => 'required|integer|in:0,1,2,3',
  25. 'page' => 'integer|min:1',
  26. 'limit' => 'integer|min:1',
  27. 'start_time' => 'date|before_or_equal:end_time',
  28. 'end_time' => 'date|after_or_equal:start_time',
  29. ];
  30. }
  31. // 场景列表
  32. protected $scenes = [
  33. 'detail' => [],
  34. 'list' => ['page', 'limit'],
  35. 'add' => [],
  36. 'edit' => ['id'],
  37. 'delete' => ['id'],
  38. 'getCustomerOverview' => ['start_time', 'end_time'],
  39. 'getCustomerTrend' => ['start_time', 'end_time','register_start_time','register_end_time'],
  40. 'getCustomerRetention' => ['start_time', 'end_time'],
  41. 'getCustomerRegion' => ['start_time', 'end_time'],
  42. 'getCustomerDevice' => ['start_time', 'end_time'],
  43. 'getCustomerRepeat' => ['start_time', 'end_time'],
  44. 'getProductRepeat' => ['start_time', 'end_time'],
  45. ];
  46. /**
  47. * 获取已定义验证规则的错误消息
  48. *
  49. * @return array
  50. */
  51. public function messages()
  52. {
  53. return [
  54. 'name.required' => '名称必填',
  55. 'id.required' => 'ID未知',
  56. 'id.integer' => 'ID格式错误',
  57. 'id.gt' => 'ID格式错误',
  58. 'status.required' => '状态未知',
  59. 'status.integer' => '状态格式错误',
  60. 'status.in' => '状态格式错误',
  61. 'page.integer' => '页码格式错误',
  62. 'page.min' => '页码格式错误',
  63. 'limit.integer' => '每页数量格式错误',
  64. 'limit.min' => '每页数量格式错误',
  65. 'start_time.date' => '开始时间格式错误',
  66. 'start_time.before_or_equal' => '开始时间格式错误',
  67. 'end_time.date' => '结束时间格式错误',
  68. 'end_time.after_or_equal' => '结束时间格式错误',
  69. ];
  70. }
  71. }