SystemConfigValidata.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\adminapi\validate\setting;
  12. use think\Validate;
  13. /**
  14. * Class SystemConfigValidata
  15. * @package app\adminapi\validate\setting
  16. */
  17. class SystemConfigValidata extends Validate
  18. {
  19. protected $regex = ['float_two' => '/^[0-9]+(.[0-9]{1,2})?$/'];
  20. /**
  21. * 定义验证规则
  22. * 格式:'字段名' => ['规则1','规则2'...]
  23. *
  24. * @var array
  25. */
  26. protected $rule = [
  27. 'site_url' => 'url',
  28. 'store_brokerage_ratio' => 'float|egt:0|elt:100|regex:float_two',
  29. 'store_brokerage_two' => 'float|egt:0|elt:100|regex:float_two',
  30. 'user_extract_min_price' => 'float|gt:0|checkMinPrice',
  31. 'extract_time' => 'number|between:0,180',
  32. 'replenishment_num' => 'number',
  33. 'store_stock' => 'number',
  34. 'store_brokerage_price' => 'float',
  35. 'integral_ratio' => 'float|egt:0|elt:1000|regex:float_two',
  36. 'order_give_integral' => 'float|egt:0|elt:1000',
  37. 'order_cancel_time' => 'float',
  38. 'order_activity_time' => 'float',
  39. 'order_bargain_time' => 'float',
  40. 'order_seckill_time' => 'float',
  41. 'order_pink_time' => 'float',
  42. 'system_delivery_time' => 'float',
  43. 'store_free_postage' => 'float',
  44. 'integral_rule_number' => 'number|gt:0',
  45. 'express_rule_number' => 'number|gt:0',
  46. 'sign_rule_number' => 'number|gt:0',
  47. 'offline_rule_number' => 'number|gt:0',
  48. 'order_give_exp' => 'number|egt:0',
  49. 'invite_user_exp' => 'number|egt:0',
  50. 'config_export_to_name' => 'chs|length:2,10',
  51. 'config_export_to_tel' => 'mobile|number',
  52. 'config_export_to_address' => 'chsAlphaNum|length:10,100',
  53. 'config_export_siid' => 'alphaNum|length:10,50',
  54. 'service_feedback' => 'length:10,90',
  55. 'thumb_big_height' => 'number|egt:0',
  56. 'thumb_big_width' => 'number|egt:0',
  57. 'thumb_mid_height' => 'number|egt:0',
  58. 'thumb_mid_width' => 'number|egt:0',
  59. 'thumb_small_height' => 'number|egt:0',
  60. 'thumb_small_width' => 'number|egt:0',
  61. 'watermark_opacity' => 'number|between:0,100',
  62. 'watermark_text' => 'chsAlphaNum|length:1,10',
  63. 'watermark_text_size' => 'number|egt:0',
  64. 'watermark_x' => 'number|egt:0',
  65. 'watermark_y' => 'number|egt:0',
  66. ];
  67. /**
  68. * 定义错误信息
  69. * 格式:'字段名.规则名' => '错误信息'
  70. *
  71. * @var array
  72. */
  73. protected $message = [
  74. 'site_url.url' => '400041',
  75. 'store_brokerage_ratio.float' => '400042',
  76. 'store_brokerage_ratio.regex' => '400043',
  77. 'store_brokerage_ratio.egt' => '400044',
  78. 'store_brokerage_ratio.elt' => '400044',
  79. 'store_brokerage_two.float' => '400045',
  80. 'store_brokerage_two.regex' => '400046',
  81. 'store_brokerage_two.egt' => '400047',
  82. 'store_brokerage_two.elt' => '400047',
  83. 'replenishment_num.number' => '400048',
  84. 'store_stock.number' => '400049',
  85. 'store_brokerage_two.between' => '400047',
  86. 'user_extract_min_price.float' => '400050',
  87. 'user_extract_min_price.gt' => '400051',
  88. 'extract_time.number' => '400052',
  89. 'extract_time.between' => '400052',
  90. 'store_brokerage_price.float' => '400053',
  91. 'integral_ratio.float' => '400054',
  92. 'integral_ratio.regex' => '400055',
  93. 'integral_ratio.egt' => '400056',
  94. 'integral_ratio.elt' => '400056',
  95. 'order_give_integral.float' => '400059',
  96. 'order_give_integral.egt' => '400060',
  97. 'order_give_integral.elt' => '400060',
  98. 'order_cancel_time.float' => '400061',
  99. 'order_activity_time.float' => '400062',
  100. 'order_bargain_time.float' => '400063',
  101. 'order_pink_time.float' => '400064',
  102. 'system_delivery_time.float' => '400065',
  103. 'store_free_postage.float' => '400066',
  104. 'integral_rule_number.number' => '400067',
  105. 'express_rule_number.number' => '400068',
  106. 'sign_rule_number.number' => '400069',
  107. 'offline_rule_number.number' => '400070',
  108. 'order_give_exp.number' => '400071',
  109. 'order_give_exp.egt' => '400072',
  110. 'invite_user_exp.number' => '400075',
  111. 'invite_user_exp.egt' => '400076',
  112. 'config_export_to_name.chs' => '400077',
  113. 'config_export_to_name.length' => '400078',
  114. 'config_export_to_tel.number' => '400079',
  115. 'config_export_to_tel.mobile' => '400080',
  116. 'config_export_to_address.chsAlphaNum' => '400081',
  117. 'config_export_to_address.length' => '400082',
  118. 'config_export_siid.alphaNum' => '400083',
  119. 'config_export_siid.length' => '400084',
  120. 'service_feedback.length' => '400085',
  121. 'thumb_big_height.number' => '400405',
  122. 'thumb_big_height.egt' => '400406',
  123. 'thumb_big_width.number' => '400407',
  124. 'thumb_big_width.egt' => '400408',
  125. 'thumb_mid_height.number' => '400409',
  126. 'thumb_mid_height.egt' => '400410',
  127. 'thumb_mid_width.number' => '400411',
  128. 'thumb_mid_width.egt' => '400412',
  129. 'thumb_small_height.number' => '400413',
  130. 'thumb_small_height.egt' => '400414',
  131. 'thumb_small_width.number' => '400415',
  132. 'thumb_small_width.egt' => '400416',
  133. 'watermark_text.chsAlphaNum' => '400417',
  134. 'watermark_text.length' => '400418',
  135. 'watermark_text_size.number' => '400419',
  136. 'watermark_text_size.egt' => '400420',
  137. 'watermark_x.number' => '400421',
  138. 'watermark_x.egt' => '400422',
  139. 'watermark_y.number' => '400423',
  140. 'watermark_y.egt' => '400424',
  141. ];
  142. protected $scene = [
  143. ];
  144. protected function checkMinPrice($value, $rule, $data = [])
  145. {
  146. if ($data['brokerage_type'] == 1 && bccomp($value, '1', 2) < 0) {
  147. return 410112;
  148. }
  149. return true;
  150. }
  151. }