| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <?php
- namespace app\utils;
- use app\models\Option;
- class RandDiscount
- {
- // 获取随机立减配置
- public static function getOption($store_id, $total_price)
- {
- $option = Option::get('rand_discount_option', $store_id, 'saas', json_encode([
- 'is_open' => false,
- 'start' => 0,
- 'end' => 0.01,
- ]))['value'];
- $option = \json_decode($option);
- if ($option->start >= $total_price) {
- return [
- 'is_open' => false,
- 'rand' => 0,
- ];
- }
- $end = $option->end;
- if ($end >= $total_price) {
- $end = $total_price - 0.01;
- }
- $rand = static::randomFloat($option->start, $end);
- return [
- 'is_open' => $option->is_open,
- 'rand' => $rand,
- ];
- }
- public static function randomFloat($min = 0, $max = 0.01)
- {
- $num = $min + \mt_rand() / \mt_getrandmax() * ($max - $min);
- return \sprintf("%.2f", $num);
- }
- }
|