RegisterAwardValidate.php 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace app\adminapi\validate\marketing;
  3. class RegisterAwardValidate extends \app\common\validate\BaseValidate
  4. {
  5. protected $rule = [
  6. 'status' => [ 'require', 'in' => [ 0, 1 ] ],
  7. 'user_integral_status' => [ 'require', 'in' => [ 0, 1 ], 'check_integral_status' ],
  8. 'user_integral_num' => [ ],
  9. 'user_money_status' => [ 'require', 'in' => [ 0, 1 ] ],
  10. 'user_money_num' => [ ],
  11. 'coupon_status' => [ 'require', 'in' => [ 0, 1 ] ],
  12. 'coupon_array' => [ ],
  13. 'style' => [ 'require', 'in' => [ 1, 2 ] ],
  14. ];
  15. protected $field = [
  16. 'status' => '状态',
  17. 'user_integral_status' => '积分',
  18. 'user_integral_num' => '积分数量',
  19. 'user_money_status' => '余额',
  20. 'user_money_num' => '余额数量',
  21. 'coupon_status' => '优惠券',
  22. 'coupon_array' => '优惠券列表',
  23. 'style' => '活动弹窗模版',
  24. ];
  25. protected $message = [
  26. 'user_money_num.number' => '余额数量必须是整数',
  27. 'user_integral_num.number' => '积分数量必须是整数',
  28. ];
  29. function sceneSet()
  30. {
  31. $appends = [];
  32. $integral_status = input('user_integral_status/d');
  33. $user_money_status = input('user_money_status/d');
  34. $coupon_status = input('coupon_status/d');
  35. if ($integral_status == 1) {
  36. $appends['user_integral_num'] = [ 'require', 'number', 'gt' => 0 ];
  37. }
  38. if ($user_money_status == 1) {
  39. $appends['user_money_num'] = [ 'require', 'number', 'gt' => 0 ];
  40. }
  41. if ($coupon_status == 1) {
  42. $appends['coupon_array'] = [ 'require', 'array', 'checkCouponArray' ];
  43. }
  44. return $this->only([
  45. 'status',
  46. 'user_integral_status',
  47. 'user_integral_num',
  48. 'user_money_status',
  49. 'user_money_num',
  50. 'coupon_status',
  51. 'coupon_array',
  52. 'style',
  53. ])->append($appends);
  54. }
  55. function checkCouponArray($couponArray, $rule, $data)
  56. {
  57. foreach ($couponArray as $couponItem) {
  58. if (! is_array($couponItem)) {
  59. return '优惠券列表 格式错误';
  60. }
  61. if (! isset($couponItem['id'])) {
  62. return '优惠券列表 id不能为空';
  63. }
  64. }
  65. return true;
  66. }
  67. function check_integral_status($integral_status, $rule, $data)
  68. {
  69. if ($integral_status != 1 && input('user_money_status') != 1 && input('coupon_status') != 1) {
  70. return '注册奖励至少选择一项';
  71. }
  72. return true;
  73. }
  74. }