邹景立 987ad41765 fix: Add .php-cs-fixer.php and update many files
Add PHP CS Fixer configuration (.php-cs-fixer.php) to enforce coding style and apply corresponding updates across the codebase. Numerous plugins (think-library and many think-plugs-*) and core config files (cache, database, phinx, worker) were updated along with controllers, services, models, storage adapters, helpers and tests to conform to style fixes and minor compatibility/refactors.
2026-02-01 02:01:37 +08:00

124 lines
3.6 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
declare(strict_types=1);
/**
* +----------------------------------------------------------------------
* | Payment Plugin for ThinkAdmin
* +----------------------------------------------------------------------
* | 版权所有 2014~2026 ThinkAdmin [ thinkadmin.top ]
* +----------------------------------------------------------------------
* | 官方网站: https://thinkadmin.top
* +----------------------------------------------------------------------
* | 开源协议 ( https://mit-license.org )
* | 免责声明 ( https://thinkadmin.top/disclaimer )
* | 会员特权 ( https://thinkadmin.top/vip-introduce )
* +----------------------------------------------------------------------
* | gitee 代码仓库https://gitee.com/zoujingli/ThinkAdmin
* | github 代码仓库https://github.com/zoujingli/ThinkAdmin
* +----------------------------------------------------------------------
*/
namespace think\admin;
use think\admin\service\ProcessService;
use think\admin\service\QueueService;
use think\console\Input;
use think\console\Output;
/**
* 自定义指令基类.
* @class Command
*/
abstract class Command extends \think\console\Command
{
/**
* 任务控制服务
* @var QueueService
*/
protected $queue;
/**
* 进程控制服务
* @var ProcessService
*/
protected $process;
/**
* 更新任务进度.
* @param int $total 记录总和
* @param int $count 当前记录
* @param string $message 文字描述
* @param int $backline 回退行数
* @return static
* @throws Exception
*/
public function setQueueMessage(int $total, int $count, string $message = '', int $backline = 0): Command
{
$this->queue->message($total, $count, $message, $backline);
return $this;
}
/**
* 初始化指令变量.
* @return $this
* @throws Exception
*/
protected function initialize(Input $input, Output $output): Command
{
$this->queue = QueueService::instance();
$this->process = ProcessService::instance();
if (defined('WorkQueueCode') && $this->queue->code !== WorkQueueCode) {
$this->queue->initialize(WorkQueueCode);
}
return $this;
}
/**
* 设置失败消息并结束进程.
* @param string $message 消息内容
* @throws Exception
*/
protected function setQueueError(string $message)
{
if (defined('WorkQueueCode')) {
$this->queue->error($message);
} else {
$this->process->message($message);
exit(0);
}
}
/**
* 设置成功消息并结束进程.
* @param string $message 消息内容
* @throws Exception
*/
protected function setQueueSuccess(string $message)
{
if (defined('WorkQueueCode')) {
$this->queue->success($message);
} else {
$this->process->message($message);
exit(0);
}
}
/**
* 设置进度消息并继续执行.
* @param null|string $message 进度消息
* @param null|string $progress 进度数值
* @param int $backline 回退行数
* @return static
* @throws Exception
*/
protected function setQueueProgress(?string $message = null, ?string $progress = null, int $backline = 0): Command
{
if (defined('WorkQueueCode')) {
$this->queue->progress(2, $message, $progress, $backline);
} elseif (is_string($message)) {
$this->process->message($message, $backline);
}
return $this;
}
}