1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| <?php
namespace App\Console\Commands;
use App\Admin\Controllers\Api\StaticFun; use App\Models\Asset; use Illuminate\Console\Command; use Illuminate\Support\Facades\Log;
class WarrantyRefresh extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'command:warrantyRefresh';
/** * The console command description. * * @var string */ protected $description = '刷新资产质保时间为最新状态';
/** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); }
/** * Execute the console command. * * @return int */ public function handle() { $this->info(now() . " Start Refresh Asset Warranty Remain"); // 拿到全部资产信息 $assets = Asset::all();
// 创建进度条 $bar = $this->output->createProgressBar(count($assets));
// 开始循环计算资产剩余质保时间并更新 foreach ($assets as $key => $value) { // 计算 $warranty_info = StaticFun::get2DateInfo($value->warranty_start, $value->warranty_end); // 拿取 $warranty_remain = $warranty_info['warranty_remain']; // 更新写入 $asset = Asset::find($value->id); $asset->warranty_remain = $warranty_remain; $asset->save();
// 进度条+1 $bar->advance(); } // 进度条结束 $bar->finish(); $this->info("\n" . now() . " Finish Refresh √ \n"); } }
|