You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
crmeb_php/app/command/dayUserValue.php

69 lines
2.1 KiB

12 months ago
<?php
declare (strict_types=1);
namespace app\command;
use Swoole\Coroutine\MySQL\Exception;
use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use app\common\model\user\User as userModel;
use think\console\Output;
use think\event\RouteLoaded;
use think\exception\ValidateException;
use think\facade\Cache;
use think\facade\Db;
use think\facade\Route;
use app\common\repositories\system\auth\MenuRepository;
// /www/server/php/74/bin/php /server/wwwroot/crmeb/think dayValue
class dayUserValue extends Command
{
protected function configure()
{
// 指令配置
$this->setName('dayUserValue')
->addArgument('dayValue', Argument::OPTIONAL, 'php think menu [1] / [2]')
->setDescription('用户每日兑换率生成');
}
protected function execute(Input $input, Output $output)
{
$config = systemConfig('brand_config');
$resConfig = [];
foreach (explode('/', $config) as $k => $v) {
$newConfig = explode(',', $v);
$resConfig[$k]['start'] = $newConfig[0];
$resConfig[$k]['end'] = $newConfig[1];
$resConfig[$k]['bili'] = $newConfig[2];
}
try {
$user = userModel::getDB()->where('status', 1)->select()->toArray();
foreach ($user as $k => $v) {
$growth_rate = 0;
$days = $v['super_days'] + 1;
foreach ($resConfig as $rk => $rv) {
if ($days >= $rv['start'] && $rv['bili'] > 0) {
12 months ago
if (empty($v['growth_rate'])) {
$growth_rate = $rv['bili'];
} else {
$growth_rate = bcadd($v['growth_rate'], $rv['bili'], 2);
}
12 months ago
}
}
userModel::getDB()->where('uid', $v['uid'])->update(['super_days' => $days, 'growth_rate' => $growth_rate]);
}
} catch (\Exception $e) {
12 months ago
print_r($e->getMessage());
12 months ago
}
echo 'ok';
}
}