Profile.php 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. namespace app\api\validate;
  3. use app\model\Customer;
  4. use think\facade\Request;
  5. use think\Validate;
  6. class Profile extends Validate
  7. {
  8. // 验证规则
  9. protected $rule = [
  10. 'page' => 'require|number',
  11. 'limit' => 'require|number',
  12. 'state' => 'require|in:0,1,2,3,4,5,6,7',
  13. 'type' => 'require|in:today,yesterday,serven,month,all',
  14. 'customer' => 'require|number|isMyCustomer',
  15. 'remark' => 'max:200',
  16. 'vip'=>'require|number',
  17. 'coupon'=>'number',
  18. 'jump'=>'in:0,1',
  19. 'pay'=>'in:wallet,wxPay',
  20. 'order_no'=>'require',
  21. 's'=>'in:1,2,3',
  22. 'p'=>'require',
  23. 'date'=>'require|date',
  24. 'way'=>'in:person',
  25. // 'means'=>'in:11,12,21,22,23,111,121,131'
  26. 'id' => 'require|number',
  27. 'time' => 'require|number',
  28. 'pipe_type' => 'require',
  29. ];
  30. // 验证消息
  31. protected $message = [
  32. 'page.require' => '缺少page参数',
  33. 'page.number' => 'page只能是数字',
  34. 'limit.require' => '缺少limit参数',
  35. 'limit.number' => 'limit只能是数字',
  36. 'state.require' => '缺少state参数',
  37. 'state.in' => 'state状态错误',
  38. 'type.require' => '缺少type参数',
  39. 'type.in' => 'type参数值错误',
  40. 'customer.require' => '缺少customer参数',
  41. 'customer.number' => 'customer只能是数字',
  42. 'customer.isMyCustomer' => '该客户不存在',
  43. 'remark.max' => '记录最多200个字符',
  44. 'vip.require' => '缺少vip参数',
  45. 'vip.number' => 'vip只能是数字',
  46. 'coupon.number' => 'coupon只能是数字',
  47. 'jump.in' => 'jump参数错误',
  48. 'pay.in' => 'pay参数错误',
  49. 'order_no.require'=>'缺少order_no参数',
  50. 's.in'=>'缺少order_no参数',
  51. 'p.require'=>'缺少p参数',
  52. 'date.require'=>'缺少date参数',
  53. 'date.date'=>'date格式不正确',
  54. 'way.in'=>'参数way错误',
  55. // 'means'=>'参数means错误'
  56. 'id.require' => '缺少id参数',
  57. 'id.number' => 'id只能是数字',
  58. 'time.require' => '缺少time参数',
  59. 'time.number' => 'time只能是数字',
  60. 'pipe_type.require' => '缺少pipe_type参数',
  61. ];
  62. // 验证场景
  63. protected $scene = [
  64. 'customer' => ['page', 'limit', 'state.in', 'way'],
  65. 'customerCount' => ['type', 'way'],
  66. 'customerTrack' => ['customer', 'page', 'limit'],
  67. 'addCustomerTrack' => ['customer', 'state', 'remark'],
  68. 'customerViewLog' => ['customer'],
  69. 'purchase' => ['vip', 'coupon', 'jump', 'pay'],
  70. 'pay' => ['order_no'],
  71. 'coupon'=>['s'],
  72. 'receiveCoupon'=>['p'],
  73. 'wallet'=>['date', 'page', 'limit'],
  74. 'market'=>['page', 'limit'],
  75. 'buyer'=>['page', 'limit'],
  76. 'points'=>['page', 'limit'],
  77. 'foot'=>['page', 'limit'],
  78. 'collect'=>['page', 'limit'],
  79. 'visit_due_time'=>['id','pipe_type','time']
  80. ];
  81. /**
  82. * 验证是否是登陆用户的客户
  83. */
  84. public function isMyCustomer($value)
  85. {
  86. $userId = Request::param('user_id');
  87. $isCustomer = Customer::where(['user_id' => $userId, 'customer_user_id' => $value])->count();
  88. return $isCustomer > 0 ? true : false;
  89. }
  90. }