SystemConfigValidata.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2022 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. 'integral_max_num' => 'number|egt:0',
  37. 'order_give_integral' => 'float|egt:0|elt:1000',
  38. 'order_cancel_time' => 'float',
  39. 'order_activity_time' => 'float',
  40. 'order_bargain_time' => 'float',
  41. 'order_seckill_time' => 'float',
  42. 'order_pink_time' => 'float',
  43. 'system_delivery_time' => 'float',
  44. 'store_free_postage' => 'float',
  45. 'integral_rule_number' => 'number|gt:0',
  46. 'express_rule_number' => 'number|gt:0',
  47. 'sign_rule_number' => 'number|gt:0',
  48. 'offline_rule_number' => 'number|gt:0',
  49. 'order_give_exp' => 'number|egt:0',
  50. 'sign_give_exp' => 'number|egt:0',
  51. 'invite_user_exp' => 'number|egt:0',
  52. 'config_export_to_name' => 'chs|length:2,10',
  53. 'config_export_to_tel' => 'mobile|number',
  54. 'config_export_to_address' => 'chsAlphaNum|length:10,100',
  55. 'config_export_siid' => 'alphaNum|length:10,50',
  56. 'service_feedback' => 'length:10,90',
  57. 'thumb_big_height' => 'number|egt:0',
  58. 'thumb_big_width' => 'number|egt:0',
  59. 'thumb_mid_height' => 'number|egt:0',
  60. 'thumb_mid_width' => 'number|egt:0',
  61. 'thumb_small_height' => 'number|egt:0',
  62. 'thumb_small_width' => 'number|egt:0',
  63. 'watermark_opacity' => 'number|between:0,100',
  64. 'watermark_text' => 'chsAlphaNum|length:1,10',
  65. 'watermark_text_size' => 'number|egt:0',
  66. 'watermark_x' => 'number|egt:0',
  67. 'watermark_y' => 'number|egt:0',
  68. ];
  69. /**
  70. * 定义错误信息
  71. * 格式:'字段名.规则名' => '错误信息'
  72. *
  73. * @var array
  74. */
  75. protected $message = [
  76. 'site_url.url' => '400041',
  77. 'store_brokerage_ratio.float' => '400042',
  78. 'store_brokerage_ratio.regex' => '400043',
  79. 'store_brokerage_ratio.egt' => '400044',
  80. 'store_brokerage_ratio.elt' => '400044',
  81. 'store_brokerage_two.float' => '400045',
  82. 'store_brokerage_two.regex' => '400046',
  83. 'store_brokerage_two.egt' => '400047',
  84. 'store_brokerage_two.elt' => '400047',
  85. 'replenishment_num.number' => '400048',
  86. 'store_stock.number' => '400049',
  87. 'store_brokerage_two.between' => '400047',
  88. 'user_extract_min_price.float' => '400050',
  89. 'user_extract_min_price.gt' => '400051',
  90. 'extract_time.number' => '400052',
  91. 'extract_time.between' => '400052',
  92. 'store_brokerage_price.float' => '400053',
  93. 'integral_ratio.float' => '400054',
  94. 'integral_ratio.regex' => '400055',
  95. 'integral_ratio.egt' => '400056',
  96. 'integral_ratio.elt' => '400056',
  97. 'integral_max_num.number' => '400057',
  98. 'integral_max_num.egt' => '400058',
  99. 'order_give_integral.float' => '400059',
  100. 'order_give_integral.egt' => '400060',
  101. 'order_give_integral.elt' => '400060',
  102. 'order_cancel_time.float' => '400061',
  103. 'order_activity_time.float' => '400062',
  104. 'order_bargain_time.float' => '400063',
  105. 'order_pink_time.float' => '400064',
  106. 'system_delivery_time.float' => '400065',
  107. 'store_free_postage.float' => '400066',
  108. 'integral_rule_number.number' => '400067',
  109. 'express_rule_number.number' => '400068',
  110. 'sign_rule_number.number' => '400069',
  111. 'offline_rule_number.number' => '400070',
  112. 'order_give_exp.number' => '400071',
  113. 'order_give_exp.egt' => '400072',
  114. 'sign_give_exp.number' => '400073',
  115. 'sign_give_exp.egt' => '400074',
  116. 'invite_user_exp.number' => '400075',
  117. 'invite_user_exp.egt' => '400076',
  118. 'config_export_to_name.chs' => '400077',
  119. 'config_export_to_name.length' => '400078',
  120. 'config_export_to_tel.number' => '400079',
  121. 'config_export_to_tel.mobile' => '400080',
  122. 'config_export_to_address.chsAlphaNum' => '400081',
  123. 'config_export_to_address.length' => '400082',
  124. 'config_export_siid.alphaNum' => '400083',
  125. 'config_export_siid.length' => '400084',
  126. 'service_feedback.length' => '400085',
  127. 'thumb_big_height.number' => '400405',
  128. 'thumb_big_height.egt' => '400406',
  129. 'thumb_big_width.number' => '400407',
  130. 'thumb_big_width.egt' => '400408',
  131. 'thumb_mid_height.number' => '400409',
  132. 'thumb_mid_height.egt' => '400410',
  133. 'thumb_mid_width.number' => '400411',
  134. 'thumb_mid_width.egt' => '400412',
  135. 'thumb_small_height.number' => '400413',
  136. 'thumb_small_height.egt' => '400414',
  137. 'thumb_small_width.number' => '400415',
  138. 'thumb_small_width.egt' => '400416',
  139. 'watermark_text.chsAlphaNum' => '400417',
  140. 'watermark_text.length' => '400418',
  141. 'watermark_text_size.number' => '400419',
  142. 'watermark_text_size.egt' => '400420',
  143. 'watermark_x.number' => '400421',
  144. 'watermark_x.egt' => '400422',
  145. 'watermark_y.number' => '400423',
  146. 'watermark_y.egt' => '400424',
  147. ];
  148. protected $scene = [
  149. ];
  150. protected function checkMinPrice($value, $rule, $data = [])
  151. {
  152. if ($data['brokerage_type'] == 1 && bccomp($value, '1', 2) < 0) {
  153. return 410112;
  154. }
  155. return true;
  156. }
  157. }