From 21fd521243724f269fbdd6954c426851b0569c80 Mon Sep 17 00:00:00 2001 From: jianyan74 Date: Mon, 25 Nov 2019 09:13:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC=E5=88=B02.?= =?UTF-8?q?4.27=20=E5=85=B7=E4=BD=93=E6=9B=B4=E6=96=B0=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E7=9C=8B=E6=9B=B4=E6=96=B0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controllers/AuthItemController.php | 2 +- api/config/main.php | 1 + api/controllers/ActiveController.php | 16 +- api/modules/v1/controllers/SiteController.php | 2 +- .../controllers/member/InvoiceController.php | 21 ++ backend/modules/base/views/member/_form.php | 1 + .../modules/common/views/action-log/index.php | 1 + .../template/controllers/BaseController.php | 4 +- backend/modules/common/views/log/index.php | 1 + .../modules/common/views/menu-cate/index.php | 5 +- backend/modules/common/views/system/info.php | 4 +- backend/widgets/notify/views/_nav.php | 4 +- backend/widgets/notify/views/notify.php | 2 +- common/components/BaseWebSocket.php | 28 +++ common/components/Init.php | 7 +- common/components/WebSocketServer.php | 175 ++++++++++++++++ common/config/main.php | 2 +- common/enums/AuthMenuEnum.php | 27 +++ common/enums/InvoiceTypeEnum.php | 25 +++ common/enums/SortEnum.php | 25 +++ common/helpers/Html.php | 10 +- common/helpers/ImageHelper.php | 12 ++ common/models/member/Invoice.php | 101 +++++++++ common/models/merchant/Member.php | 2 +- console/config/main.php | 17 ++ console/controllers/WebSocketController.php | 192 ++++++++++++++++++ docs/guide-zh-CN/api-explain.md | 7 +- docs/guide-zh-CN/api-pay.md | 4 +- docs/guide-zh-CN/helper-auth.md | 2 + docs/guide-zh-CN/images/RageFrame2.png | Bin 114294 -> 126053 bytes docs/guide-zh-CN/start-update-log.md | 10 + docs/guide-zh-CN/sys-console.md | 2 +- docs/guide-zh-CN/sys-exploit.md | 1 - html5/controllers/SiteController.php | 11 +- merchant/config/params.php | 2 + merchant/controllers/BaseController.php | 10 + merchant/forms/LoginForm.php | 16 ++ services/Application.php | 2 + services/api/AccessTokenService.php | 4 +- services/backend/BackendService.php | 49 ++++- services/common/AuthItemService.php | 9 +- services/common/PayService.php | 14 +- services/common/ProvincesService.php | 2 +- services/common/SmsService.php | 2 +- services/member/CreditsLogService.php | 117 ++++++++--- services/member/InvoiceService.php | 56 +++++ services/merchant/MerchantService.php | 21 ++ 47 files changed, 956 insertions(+), 72 deletions(-) create mode 100644 api/modules/v1/controllers/member/InvoiceController.php create mode 100644 common/components/BaseWebSocket.php create mode 100644 common/components/WebSocketServer.php create mode 100644 common/enums/AuthMenuEnum.php create mode 100644 common/enums/InvoiceTypeEnum.php create mode 100644 common/enums/SortEnum.php create mode 100644 common/models/member/Invoice.php create mode 100644 console/controllers/WebSocketController.php create mode 100644 services/member/InvoiceService.php diff --git a/addons/RfMerchants/backend/controllers/AuthItemController.php b/addons/RfMerchants/backend/controllers/AuthItemController.php index 34557f781..c87e11d7c 100644 --- a/addons/RfMerchants/backend/controllers/AuthItemController.php +++ b/addons/RfMerchants/backend/controllers/AuthItemController.php @@ -77,7 +77,7 @@ public function actionAjaxEdit() return $this->renderAjax($this->viewPrefix . 'auth-item/ajax-edit', [ 'model' => $model, - 'dropDownList' => Yii::$app->services->authItem->getDropDownForEdit($id), + 'dropDownList' => Yii::$app->services->authItem->getDropDownForEdit(AppEnum::MERCHANT, $id), ]); } } \ No newline at end of file diff --git a/api/config/main.php b/api/config/main.php index 2b2609415..2a5de0e48 100644 --- a/api/config/main.php +++ b/api/config/main.php @@ -80,6 +80,7 @@ 'v1/common/provinces', 'v1/member/member', 'v1/member/address', + 'v1/member/invoice', 'v1/member/auth', // 版本2 'v2/default', // 默认测试入口 diff --git a/api/controllers/ActiveController.php b/api/controllers/ActiveController.php index 059c2d112..0709ce2cd 100644 --- a/api/controllers/ActiveController.php +++ b/api/controllers/ActiveController.php @@ -87,7 +87,7 @@ public function behaviors() * yii\filters\auth\HttpHeaderAuth::class, */ // HttpBasicAuth::class, - // HttpBearerAuth::class, + HttpBearerAuth::class, HttpHeaderAuth::class, [ 'class' => QueryParamAuth::class, @@ -121,6 +121,20 @@ public function behaviors() return $behaviors; } + /** + * {@inheritdoc} + */ + protected function verbs() + { + return [ + 'index' => ['GET', 'HEAD', 'OPTIONS'], + 'view' => ['GET', 'HEAD', 'OPTIONS'], + 'create' => ['POST', 'OPTIONS'], + 'update' => ['PUT', 'PATCH', 'OPTIONS'], + 'delete' => ['DELETE', 'OPTIONS'], + ]; + } + /** * 前置操作验证token有效期和记录日志和检查curd权限 * diff --git a/api/modules/v1/controllers/SiteController.php b/api/modules/v1/controllers/SiteController.php index 8940a378b..ab872a2ff 100644 --- a/api/modules/v1/controllers/SiteController.php +++ b/api/modules/v1/controllers/SiteController.php @@ -66,7 +66,7 @@ public function actionLogout() return ResultHelper::api(200, '退出成功'); } - return ResultHelper::api(200, '退出失败'); + return ResultHelper::api(422, '退出失败'); } /** diff --git a/api/modules/v1/controllers/member/InvoiceController.php b/api/modules/v1/controllers/member/InvoiceController.php new file mode 100644 index 000000000..2c37f3cff --- /dev/null +++ b/api/modules/v1/controllers/member/InvoiceController.php @@ -0,0 +1,21 @@ + + */ +class InvoiceController extends UserAuthController +{ + /** + * @var Invoice + */ + public $modelClass = Invoice::class; +} \ No newline at end of file diff --git a/backend/modules/base/views/member/_form.php b/backend/modules/base/views/member/_form.php index 40d226941..93ad9855d 100644 --- a/backend/modules/base/views/member/_form.php +++ b/backend/modules/base/views/member/_form.php @@ -3,6 +3,7 @@ use yii\widgets\ActiveForm; use common\helpers\Url; use common\enums\GenderEnum; +use common\helpers\Html; $actionLog = Yii::$app->services->actionLog->findByAppId(Yii::$app->id, $model['id'], 10); diff --git a/backend/modules/common/views/action-log/index.php b/backend/modules/common/views/action-log/index.php index b63b0bd55..5a5a5f2a0 100644 --- a/backend/modules/common/views/action-log/index.php +++ b/backend/modules/common/views/action-log/index.php @@ -40,6 +40,7 @@ return Yii::$app->services->backend->getUserName($model); }, 'filter' => false, //不显示搜索框 + 'format' => 'raw', ], 'behavior', 'url', diff --git a/backend/modules/common/views/addons/template/controllers/BaseController.php b/backend/modules/common/views/addons/template/controllers/BaseController.php index f83899f91..43cab2388 100644 --- a/backend/modules/common/views/addons/template/controllers/BaseController.php +++ b/backend/modules/common/views/addons/template/controllers/BaseController.php @@ -1,5 +1,7 @@ @@ -19,7 +21,7 @@ class BaseController extends AddonsController /** * @var string */ - + // public $layout = "@addons/name;?>//views/layouts/main"; public $layout = "@addons/name;?>//views/layouts/main"; diff --git a/backend/modules/common/views/log/index.php b/backend/modules/common/views/log/index.php index a68772528..4f9e2b62c 100644 --- a/backend/modules/common/views/log/index.php +++ b/backend/modules/common/views/log/index.php @@ -50,6 +50,7 @@ return Yii::$app->services->backend->getUserName($model); }, 'filter' => false, //不显示搜索框 + 'format' => 'raw', ], 'url', [ diff --git a/backend/modules/common/views/menu-cate/index.php b/backend/modules/common/views/menu-cate/index.php index 09bae838a..1e26c5f8d 100644 --- a/backend/modules/common/views/menu-cate/index.php +++ b/backend/modules/common/views/menu-cate/index.php @@ -31,10 +31,7 @@ //重新定义分页样式 'tableOptions' => ['class' => 'table table-hover'], 'columns' => [ - [ - 'class' => 'yii\grid\SerialColumn', - 'visible' => true, // 不显示# - ], + 'id', [ 'attribute' => 'title', 'value' => function ($model) { diff --git a/backend/modules/common/views/system/info.php b/backend/modules/common/views/system/info.php index 8be76879f..5eaff9386 100644 --- a/backend/modules/common/views/system/info.php +++ b/backend/modules/common/views/system/info.php @@ -56,7 +56,7 @@
- + @@ -68,7 +68,7 @@ - + diff --git a/backend/widgets/notify/views/_nav.php b/backend/widgets/notify/views/_nav.php index 332027cb8..22aedb025 100644 --- a/backend/widgets/notify/views/_nav.php +++ b/backend/widgets/notify/views/_nav.php @@ -7,9 +7,9 @@ diff --git a/backend/widgets/notify/views/notify.php b/backend/widgets/notify/views/notify.php index 00922d5a5..525490bdd 100644 --- a/backend/widgets/notify/views/notify.php +++ b/backend/widgets/notify/views/notify.php @@ -34,6 +34,6 @@ - + \ No newline at end of file diff --git a/common/components/BaseWebSocket.php b/common/components/BaseWebSocket.php new file mode 100644 index 000000000..03e2ef4d7 --- /dev/null +++ b/common/components/BaseWebSocket.php @@ -0,0 +1,28 @@ + + */ +class BaseWebSocket +{ + /** + * @var Server + */ + public $server; + public $frame; + public $content; + + /** + * 测试 + */ + public function actionIndex() + { + $this->server->push($this->frame->fd, '测试'); + } +} \ No newline at end of file diff --git a/common/components/Init.php b/common/components/Init.php index 41d6dfdc0..85c8c66cd 100644 --- a/common/components/Init.php +++ b/common/components/Init.php @@ -49,7 +49,12 @@ public function bootstrap($application) $identity = Yii::$app->user->identity; $this->afreshLoad($identity->merchant_id ?? $this->default_merchant_id); } else { - $this->afreshLoad(Yii::$app->request->get('merchant_id', $this->default_merchant_id)); + $merchant_id = Yii::$app->request->headers->get('merchant-id', ''); + if (empty($merchant_id)) { + $merchant_id = Yii::$app->request->get('merchant_id', $this->default_merchant_id); + } + + $this->afreshLoad($merchant_id); } } diff --git a/common/components/WebSocketServer.php b/common/components/WebSocketServer.php new file mode 100644 index 000000000..31999006e --- /dev/null +++ b/common/components/WebSocketServer.php @@ -0,0 +1,175 @@ + + */ +class WebSocketServer +{ + protected $host; + protected $port; + protected $mode; + protected $socket_type; + protected $type; + protected $config; + + /** + * 子服务 + * + * @var + */ + public $childService = [ + 'test' => BaseWebSocket::class, + ]; + + protected $_childService; + + /** + * 服务 + * + * @var Server + */ + protected $server; + + /** + * WebSocket constructor. + * @param $host + * @param $port + * @param $config + */ + public function __construct($host, $port, $mode, $socket_type, $type, $config) + { + $this->host = $host; + $this->port = $port; + $this->mode = $mode; + $this->socket_type = $socket_type; + $this->type = $type; + $this->config = $config; + } + + /** + * 启动进程 + */ + public function run() + { + if ($this->type == 'wss') { + $this->server = new Server($this->host, $this->port, $this->mode, $this->socket_type | SWOOLE_SSL); + } else { + $this->server = new Server($this->host, $this->port, $this->mode); + } + + $this->server->set($this->config); + $this->server->on('open', [$this, 'onOpen']); + $this->server->on('message', [$this, 'onMessage']); + $this->server->on('task', [$this, 'onTask']); + $this->server->on('finish', [$this, 'onFinish']); + $this->server->on('close', [$this, 'onClose']); + $this->server->start(); + } + + /** + * 开启连接 + * + * @param $server + * @param $frame + */ + public function onOpen(Server $server, $request) + { + echo "server: handshake success with fd{$request->fd}\n"; + } + + /** + * 消息 + * @param $server + * @param $frame + * @throws \Exception + */ + public function onMessage(Server $server, $frame) + { + // 消息 + $data = Json::decode($frame->data); + $runAction = explode('/', $data['action']); + $content = $data['content']; + + try { + // 对应方法 + $action = 'action' . ucfirst(strtolower($runAction[1])); + $this->childService($runAction[0], $server, $frame, $content)->$action(); + } catch (\Exception $e) { + $server->push($frame->fd, "出现了报错:" . $e->getMessage()); + } + + echo "receive from {}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n"; + } + + /** + * 关闭连接 + * + * @param $server + * @param $fd + */ + public function onClose(Server $server, $fd) + { + echo "client {$fd} closed" . PHP_EOL; + } + + /** + * 处理异步任务 + * + * @param $server + * @param $task_id + * @param $from_id + * @param $data + */ + public function onTask(Server $server, $task_id, $from_id, $data) + { + echo "新 AsyncTask[id=$task_id]" . PHP_EOL; + $server->finish($data); + } + + /** + * 处理异步任务的结果 + * + * @param $server + * @param $task_id + * @param $data + */ + public function onFinish(Server $server, $task_id, $data) + { + echo "AsyncTask[$task_id] 完成: $data" . PHP_EOL; + } + + /** + * 获取 services 里面配置的子服务 childService 的实例 + * + * @param $childServiceName + * @return mixed + * @throws InvalidConfigException + */ + protected function childService($childServiceName, $server, $frame, $content) + { + if (!isset($this->_childService[$childServiceName])) { + $childService = $this->childService; + + if (isset($childService[$childServiceName])) { + $service = $childService[$childServiceName]; + $this->_childService[$childServiceName] = Yii::createObject($service); + } else { + throw new InvalidConfigException('Child Service [' . $childServiceName . '] is not find in ' . get_called_class() . ', you must config it! '); + } + } + + $this->_childService[$childServiceName]->server = $server; + $this->_childService[$childServiceName]->frame = $frame; + $this->_childService[$childServiceName]->content = $content; + return $this->_childService[$childServiceName]; + } +} \ No newline at end of file diff --git a/common/config/main.php b/common/config/main.php index 01b90b7f0..37cfadd01 100644 --- a/common/config/main.php +++ b/common/config/main.php @@ -1,7 +1,7 @@ 'RageFrame', - 'version' => '2.4.21', + 'version' => '2.4.27', 'aliases' => [ '@bower' => '@vendor/bower-asset', '@npm' => '@vendor/npm-asset', diff --git a/common/enums/AuthMenuEnum.php b/common/enums/AuthMenuEnum.php new file mode 100644 index 000000000..1578aaed7 --- /dev/null +++ b/common/enums/AuthMenuEnum.php @@ -0,0 +1,27 @@ + + */ +class AuthMenuEnum extends BaseEnum +{ + const DEDAULT = 0; + const LEFT = 1; + const TOP = 2; + + /** + * @return array + */ + public static function getMap(): array + { + return [ + self::DEDAULT => '默认', + self::LEFT => '左侧菜单', + self::TOP => '顶部菜单', + ]; + } +} \ No newline at end of file diff --git a/common/enums/InvoiceTypeEnum.php b/common/enums/InvoiceTypeEnum.php new file mode 100644 index 000000000..01f63e3e3 --- /dev/null +++ b/common/enums/InvoiceTypeEnum.php @@ -0,0 +1,25 @@ + + */ +class InvoiceTypeEnum extends BaseEnum +{ + const COMPANY = 1; + const PERSONAGE = 2; + + /** + * @return array + */ + public static function getMap(): array + { + return [ + self::COMPANY => '公司', + self::PERSONAGE => '个人', + ]; + } +} \ No newline at end of file diff --git a/common/enums/SortEnum.php b/common/enums/SortEnum.php new file mode 100644 index 000000000..d9ccea8e0 --- /dev/null +++ b/common/enums/SortEnum.php @@ -0,0 +1,25 @@ + + */ +class SortEnum extends BaseEnum +{ + const DESC = 'desc'; + const ASC = 'asc'; + + /** + * @return array + */ + public static function getMap(): array + { + return [ + self::DESC => '降序', + self::ASC => '升序', + ]; + } +} \ No newline at end of file diff --git a/common/helpers/Html.php b/common/helpers/Html.php index 5441fe61d..443e7a882 100644 --- a/common/helpers/Html.php +++ b/common/helpers/Html.php @@ -248,11 +248,15 @@ public static function modelBaseCss() */ protected static function beforVerify($route) { + // 未登录直接放行 + if (Yii::$app->user->isGuest) { + return true; + } + is_array($route) && $route = $route[0]; - $prefix = ''; - substr("$route", 0, 1) != '/' && $prefix = '/'; - $route = $prefix . Url::getAuthUrl($route); + $route = Url::getAuthUrl($route); + substr("$route", 0, 1) != '/' && $route = '/' . $route; // 判断是否在模块内容 if (true === Yii::$app->params['inAddon']) { diff --git a/common/helpers/ImageHelper.php b/common/helpers/ImageHelper.php index a0631e880..ba48dd275 100644 --- a/common/helpers/ImageHelper.php +++ b/common/helpers/ImageHelper.php @@ -12,6 +12,18 @@ */ class ImageHelper { + /** + * 默认图片 + * + * @param $imgSrc + * @param string $defaultImgSre + * @return string + */ + public static function default($imgSrc, $defaultImgSre = '/resources/img/error.png') + { + return !empty($imgSrc) ? $imgSrc : Yii::getAlias('@web') . $defaultImgSre; + } + /** * 默认头像 * diff --git a/common/models/member/Invoice.php b/common/models/member/Invoice.php new file mode 100644 index 000000000..9131c54f3 --- /dev/null +++ b/common/models/member/Invoice.php @@ -0,0 +1,101 @@ + InvoiceTypeEnum::getKeys()], + [['type'], 'verifyType'], + [['merchant_id', 'member_id', 'is_default', 'type', 'status', 'created_at', 'updated_at'], 'integer'], + [['title', 'duty_paragraph'], 'string', 'max' => 200], + ]; + } + + /** + * {@inheritdoc} + */ + public function attributeLabels() + { + return [ + 'id' => 'ID', + 'merchant_id' => '商户id', + 'member_id' => '用户id', + 'title' => '发票抬头', + 'duty_paragraph' => '税号', + 'is_default' => '默认', + 'type' => '类型', // 1企业 2个人 + 'status' => '状态', + 'created_at' => '创建时间', + 'updated_at' => '修改时间', + ]; + } + + /** + * @param $attribute + */ + public function verifyType($attribute) + { + if ($this->type == InvoiceTypeEnum::COMPANY && !$this->duty_paragraph) { + $this->addError($attribute, '请填写税号'); + } else { + $this->duty_paragraph = ''; + } + } + + /** + * 关联用户 + * + * @return \yii\db\ActiveQuery + */ + public function getMember() + { + return $this->hasOne(Member::class, ['id' => 'member_id']); + } + + /** + * @param bool $insert + * @return bool + */ + public function beforeSave($insert) + { + if ($this->is_default == StatusEnum::ENABLED) { + self::updateAll(['is_default' => StatusEnum::DISABLED], ['member_id' => $this->member_id, 'is_default' => StatusEnum::ENABLED]); + } + + return parent::beforeSave($insert); + } +} diff --git a/common/models/merchant/Member.php b/common/models/merchant/Member.php index eafc2919f..0627f45a8 100644 --- a/common/models/merchant/Member.php +++ b/common/models/merchant/Member.php @@ -13,7 +13,7 @@ * This is the model class for table "{{%merchant_member}}". * * @property int $id - * @property string $merchant_id 商户id + * @property int $merchant_id 商户id * @property string $username 帐号 * @property string $password_hash 密码 * @property string $auth_key 授权令牌 diff --git a/console/config/main.php b/console/config/main.php index 3000f4fd0..639eb9246 100644 --- a/console/config/main.php +++ b/console/config/main.php @@ -24,6 +24,23 @@ 'migrate' => [ 'class' => 'jianyan\migration\ConsoleController', ], + /** ------ websocket ------ **/ + 'websocket' => [ + 'class' => 'console\controllers\WebSocketController', + 'server' => 'common\components\WebSocketServer', + 'host' => '0.0.0.0',// 监听地址 + 'port' => 9501, // 监听端口 + 'type' => 'ws', // 默认为ws连接,可修改为wss + 'config' => [ // 标准的swoole配置项都可以再此加入 + 'daemonize' => false, // 守护进程执行 + 'task_worker_num' => 4, //task进程的数量 + // 'ssl_cert_file' => '', + // 'ssl_key_file' => '', + 'pid_file' => __DIR__ . '/../../backend/runtime/logs/server.pid', + 'log_file' => __DIR__ . '/../../backend/runtime/logs/swoole.log', + 'log_level' => 0, + ], + ], ], 'components' => [ 'log' => [ diff --git a/console/controllers/WebSocketController.php b/console/controllers/WebSocketController.php new file mode 100644 index 000000000..632641c57 --- /dev/null +++ b/console/controllers/WebSocketController.php @@ -0,0 +1,192 @@ + + */ +class WebSocketController extends Controller +{ + /** + * 实例化服务 + * + * @var WebSocketServer + */ + public $server; + + /** + * 监听地址 + * + * @var string + */ + public $host = '0.0.0.0'; + + /** + * 监听端口 + * + * @var string + */ + public $port = 9501; + + /** + * 运行模式 + * + * @var int + */ + public $mode = SWOOLE_BASE; + + /** + * 传输协议 + * + * @var int + */ + public $socket_type = SWOOLE_SOCK_TCP; + + /** + * 长连接方式 + * + * @var string + */ + public $type = 'ws'; + + /** + * swoole 配置 + * + * @var array + */ + public $config = [ + 'daemonize' => false, // 守护进程执行 + 'task_worker_num' => 4,//task进程的数量 + 'ssl_cert_file' => '', + 'ssl_key_file' => '', + 'pid_file' => '', + 'buffer_output_size' => 2 * 1024 * 1024, //配置发送输出缓存区内存尺寸 + 'heartbeat_check_interval' => 60,// 心跳检测秒数 + 'heartbeat_idle_time' => 600,// 检查最近一次发送数据的时间和当前时间的差,大于则强行关闭 + ]; + + /** + * 启动 + * + * @throws \yii\base\Exception + */ + public function actionStart() + { + if ($this->getPid() !== false) { + $this->stderr("服务已经启动..."); + exit(1); + } + // 写入进程 + $this->setPid(); + /** @var WebSocketServer $websocket 运行 */ + $websocket = new $this->server( + $this->host, + $this->port, + $this->mode, + $this->socket_type, + $this->type, + $this->config + ); + $websocket->run(); + + $this->stdout("服务正在运行,监听 {$this->host}:{$this->port}" . PHP_EOL); + } + + /** + * 关闭进程 + */ + public function actionStop() + { + $this->sendSignal(SIGTERM); + $this->stdout("服务已经停止, 停止监听 {$this->host}:{$this->port}" . PHP_EOL); + } + + /** + * 重启进程 + * + * @throws \yii\base\Exception + */ + public function actionRestart() + { + $this->sendSignal(SIGTERM); + $time = 0; + while (posix_getpgid($this->getPid()) && $time <= 10) { + usleep(100000); + $time++; + } + if ($time > 100) { + $this->stderr("服务停止超时..." . PHP_EOL); + exit(1); + } + if ($this->getPid() === false) { + $this->stdout("服务重启成功..." . PHP_EOL); + } else { + $this->stderr("服务停止错误, 请手动处理杀死进程..." . PHP_EOL); + } + + $this->actionStart(); + } + + /** + * 发送信号 + * + * @param $sig + */ + private function sendSignal($sig) + { + if ($pid = $this->getPid()) { + posix_kill($pid, $sig); + } else { + $this->stdout("服务未运行..." . PHP_EOL); + exit(1); + } + } + + /** + * 获取pid进程 + * + * @return bool|string + */ + private function getPid() + { + $pid_file = $this->config['pid_file']; + if (file_exists($pid_file)) { + $pid = file_get_contents($pid_file); + if (posix_getpgid($pid)) { + return $pid; + } else { + unlink($pid_file); + } + } + + return false; + } + + /** + * 写入pid进程 + * + * @throws \yii\base\Exception + */ + private function setPid() + { + $parentPid = getmypid(); + $pidDir = dirname($this->config['pid_file']); + if (!file_exists($pidDir)) { + FileHelper::createDirectory($pidDir); + } + + file_put_contents($this->config['pid_file'], $parentPid + 1); + } +} \ No newline at end of file diff --git a/docs/guide-zh-CN/api-explain.md b/docs/guide-zh-CN/api-explain.md index fb33e1e43..3641969d6 100644 --- a/docs/guide-zh-CN/api-explain.md +++ b/docs/guide-zh-CN/api-explain.md @@ -22,23 +22,24 @@ v1 #### 北京时间格式 -YYYYmmddHHiiss +YYYY-mm-dd HH:ii:ss #### 公共入参说明 > 注意是通过Url传递 -> 例如 `http://www.example.com/api/v1/member/info?access-token=[access-token]` +> 例如 `http://www.example.com/api/v1/member/info Query 入参说明 参数名 | 参数类型| 必填 | 默认 | 说明 | 备注 ---|---|---|---|---|--- -access-token | string | 否 | 无 | 授权秘钥 | 需登录验证(出现401错误)必传 +access-token | string | 否 | 无 | 授权秘钥 | 需登录验证(出现401错误)必传,与下面的x-api-key 2选1即可 Header 入参说明 参数名 | 参数类型| 必填 | 默认 | 说明 | 备注 ---|---|---|---|---|--- +x-api-key | string | 否 | | 授权秘钥 | 与上面的access-token 2选1即可 device | string | 否 | | 设备类型 | ios/android device-uuid | string | 否 | | 设备唯一码 | ios: IDFA码;android:IMEI码; device-version | string | 否 | | 设备系统版本号 | diff --git a/docs/guide-zh-CN/api-pay.md b/docs/guide-zh-CN/api-pay.md index f266782f1..f8e800c6f 100644 --- a/docs/guide-zh-CN/api-pay.md +++ b/docs/guide-zh-CN/api-pay.md @@ -16,7 +16,7 @@ 参数名 | 参数类型 | 必填 | 默认 | 说明 | 备注 ---|---|---|---|---|--- -payType | int | 是 | 无 | 支付类型 | 0:余额支付;1:微信;2:支付宝;3:银联 | +payType | int | 是 | 无 | 支付类型 | 0:余额支付;1:微信;2:支付宝;3:银联;4:小程序 | tradeType | string | 是 | 无 | 交易类型 | 具体查看下文具体参数说明 | orderGroup | string | 是 | 无 | 订单类型 | default:默认;goods:订单商品 | data | string | 是 | 无 | json格式数组具体看下文 | @@ -29,6 +29,8 @@ tradeType 支付宝:'native', 'app', 'js', 'pos', 'mweb' 微信:'pc', 'app', 'f2f', 'wap' 银联:'app', 'html' +小程序:'default' +余额:'default' ``` 支付宝返回 diff --git a/docs/guide-zh-CN/helper-auth.md b/docs/guide-zh-CN/helper-auth.md index 48f334d84..15d206bee 100644 --- a/docs/guide-zh-CN/helper-auth.md +++ b/docs/guide-zh-CN/helper-auth.md @@ -5,6 +5,8 @@ - 校验权限是否拥有 - 批量校验权限是否拥有 +> 未登录默认不校验权限,注意需要判断权限的地方先引入登录认证 + 引入 ``` diff --git a/docs/guide-zh-CN/images/RageFrame2.png b/docs/guide-zh-CN/images/RageFrame2.png index 0cedbadbb96b3261a6c644c086dc688610b2c436..50f0873301b56c4318acc39bdbb4259013041ade 100644 GIT binary patch literal 126053 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 z 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 literal 114294 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%0AC_EL5^hb7-KcxiWS3U8+ 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

>zqkO!(g-Ks+xwzg`YtvUw8h-4z<-^Ab^I` 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 z 各个小版本升级例如 2.1.x 升级到 2.2.x 以上不能完美升级最好重新安装 +### v2.4.27 +updated 2019.11.25 + +- 修复: 商户禁用未让用户登录失效 +- 修复: 设置 Redis 缓存时候设置省市区过期时间过长导致错误 +- 修复: 商家权限添加无法添加二级以下的权限 +- 修复: 按钮在个别情况下会导致权限验证不能通过 +- 修复: 微信图片资源路径错误 +- 升级: Yii2版本到2.0.30 + ### v2.4.21 updated 2019.11.15 diff --git a/docs/guide-zh-CN/sys-console.md b/docs/guide-zh-CN/sys-console.md index ea7349846..e31268d5c 100644 --- a/docs/guide-zh-CN/sys-console.md +++ b/docs/guide-zh-CN/sys-console.md @@ -19,7 +19,7 @@ yii pull-remind/sys yii addons/rf-wechat/msg-history/index // 定时群发微信消息(需安装微信插件) -yii addons/rf-wechat/send-message +yii addons/rf-wechat/send-message/index ``` ### 数据迁移 diff --git a/docs/guide-zh-CN/sys-exploit.md b/docs/guide-zh-CN/sys-exploit.md index 828b65306..d5389e151 100644 --- a/docs/guide-zh-CN/sys-exploit.md +++ b/docs/guide-zh-CN/sys-exploit.md @@ -72,7 +72,6 @@ - 尽可能避免使用外键约束 - 设置数据表架构应考虑后期扩展型 - 遵循范式与冗余平衡原则 -- 控制每张表的字段在20以内,否则业务分表 字段设计规范 diff --git a/html5/controllers/SiteController.php b/html5/controllers/SiteController.php index df026b0bc..d78796aa3 100644 --- a/html5/controllers/SiteController.php +++ b/html5/controllers/SiteController.php @@ -65,11 +65,18 @@ public function actionLogout() } /** - * 生成微信JSAPI支付的Demo方法 默认禁止外部访问 测试请修改方法类型 + * 生成微信JSAPI支付的Demo方法 + * + * 默认禁止外部访问 + * 测试请修改方法类型 + * + * 注意:请开启微信的安全支付路径 + * 域名/html5/site * * @return string + * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException - * @throws \yii\base\InvalidConfigException + * @throws \GuzzleHttp\Exception\GuzzleException */ private function actionWechatPay() { diff --git a/merchant/config/params.php b/merchant/config/params.php index 2f5469482..1baec18f7 100644 --- a/merchant/config/params.php +++ b/merchant/config/params.php @@ -8,6 +8,8 @@ // 多商户开启 'merchantOpen' => true, + // 登陆后的当前商户信息 + 'merchant' => '', /** ------ 总管理员配置 ------ **/ 'adminAccount' => '0',// 系统管理员账号id diff --git a/merchant/controllers/BaseController.php b/merchant/controllers/BaseController.php index b442b2fd7..7f350b19a 100644 --- a/merchant/controllers/BaseController.php +++ b/merchant/controllers/BaseController.php @@ -2,6 +2,7 @@ namespace merchant\controllers; +use common\enums\StatusEnum; use Yii; use yii\web\Controller; use yii\filters\AccessControl; @@ -52,6 +53,15 @@ public function beforeAction($action) return false; } + // 判断商户的有效性 + if (!($merchant = Yii::$app->services->merchant->findByLogin()) || $merchant->status != StatusEnum::ENABLED) { + Yii::$app->user->logout(); + + throw new UnauthorizedHttpException('对不起,您还无法登陆请联系管理员'); + } + + Yii::$app->params['merchant'] = $merchant; + // 每页数量 $this->pageSize = Yii::$app->request->get('per-page', 10); $this->pageSize > 50 && $this->pageSize = 50; diff --git a/merchant/forms/LoginForm.php b/merchant/forms/LoginForm.php index 238fba5b8..6cdba5f15 100644 --- a/merchant/forms/LoginForm.php +++ b/merchant/forms/LoginForm.php @@ -2,9 +2,11 @@ namespace merchant\forms; +use common\enums\StatusEnum; use Yii; use common\helpers\StringHelper; use common\models\merchant\Member; +use yii\web\UnauthorizedHttpException; /** * Class LoginForm @@ -37,6 +39,7 @@ public function rules() ['rememberMe', 'boolean'], ['password', 'validatePassword'], ['password', 'validateIp'], + ['password', 'validateMerchant'], ['verifyCode', 'captcha', 'on' => 'captchaRequired'], ]; } @@ -73,6 +76,19 @@ public function validateIp($attribute) } } + /** + * @param $attribute + */ + public function validateMerchant($attribute) + { + /** @var Member $user */ + if ($user = $this->getUser()) { + if (!($merchant = Yii::$app->services->merchant->findById($user->merchant_id)) || $merchant->status != StatusEnum::ENABLED) { + $this->addError($attribute, '无法登陆请联系管理员'); + } + } + } + /** * @return mixed|null|static */ diff --git a/services/Application.php b/services/Application.php index e7cde3147..05435c71a 100644 --- a/services/Application.php +++ b/services/Application.php @@ -20,6 +20,7 @@ * @property \services\member\AuthService $memberAuth 会员第三方授权 * @property \services\member\AccountService $memberAccount 会员账号 * @property \services\member\AddressService $memberAddress 会员收货地址 + * @property \services\member\InvoiceService $memberInvoice 会员发票 * @property \services\member\CreditsLogService $memberCreditsLog 会员积分/余额变动日志 * @property \services\common\ActionLogService $actionLog 行为日志 * @property \services\common\ActionBehaviorService $actionBehavior 可被记录的行为 @@ -66,6 +67,7 @@ class Application extends Service 'memberAuth' => 'services\member\AuthService', 'memberAccount' => 'services\member\AccountService', 'memberAddress' => 'services\member\AddressService', + 'memberInvoice' => 'services\member\InvoiceService', 'memberCreditsLog' => 'services\member\CreditsLogService', /** ------ 商户 ------ **/ 'merchant' => 'services\merchant\MerchantService', diff --git a/services/api/AccessTokenService.php b/services/api/AccessTokenService.php index 86698d6e3..776f7b059 100644 --- a/services/api/AccessTokenService.php +++ b/services/api/AccessTokenService.php @@ -113,8 +113,10 @@ public function disableByAccessToken($access_token) if ($model = $this->findByAccessToken($access_token)) { $model->status = StatusEnum::DISABLED; - $model->save(); + return $model->save(); } + + return false; } /** diff --git a/services/backend/BackendService.php b/services/backend/BackendService.php index 7ad914c5a..d2048cf12 100644 --- a/services/backend/BackendService.php +++ b/services/backend/BackendService.php @@ -39,16 +39,57 @@ public function getUserName($model) { switch ($model->app_id) { case AppEnum::BACKEND : - return $model->backendMember->username ?? '游客'; + if (!empty($model->backendMember)) { + $str = []; + $str[] = 'ID:' . $model->backendMember->id; + $str[] = '账号:' . $model->backendMember->username; + $str[] = '姓名:' . $model->backendMember->realname; + + return implode($str, '
'); + } + + return '游客'; break; case AppEnum::MERCHANT : - return $model->merchantMember->username ?? '游客'; + if (!empty($model->merchantMember)) { + $str = []; + $str[] = 'ID:' . $model->merchantMember->id; + $str[] = '账号:' . $model->merchantMember->username; + $str[] = '姓名:' . $model->merchantMember->realname; + + return implode($str, '
'); + } + + return '游客'; + break; case AppEnum::OAUTH2 : - return $model->oauth2Member->username ?? '游客'; + if (!empty($model->oauth2Member)) { + $str = []; + $str[] = 'ID:' . $model->oauth2Member->id; + $str[] = '账号:' . $model->oauth2Member->username; + $str[] = '昵称:' . $model->oauth2Member->nickname; + $str[] = '姓名:' . $model->oauth2Member->realname; + + return implode($str, '
'); + } + + return '游客'; + break; default : - return $model->member->username ?? '游客'; + if (!empty($model->member)) { + $str = []; + $str[] = 'ID:' . $model->member->id; + $str[] = '账号:' . $model->member->username; + $str[] = '昵称:' . $model->member->nickname; + $str[] = '姓名:' . $model->member->realname; + + return implode($str, '
'); + } + + return '游客'; + break; } } diff --git a/services/common/AuthItemService.php b/services/common/AuthItemService.php index b9cd18405..3c18f82c0 100644 --- a/services/common/AuthItemService.php +++ b/services/common/AuthItemService.php @@ -2,6 +2,7 @@ namespace services\common; +use common\enums\AuthMenuEnum; use Yii; use yii\web\UnprocessableEntityHttpException; use common\components\Service; @@ -97,12 +98,8 @@ public function createByAddons($allAuthItem, $allMenu, $removeAppIds, $name) $menu = ArrayHelper::getColumn(ArrayHelper::getRowsByItemsMerge($menu, 'child'), 'route'); } - $is_menu = 1; - // 是否菜单被移除 - if (in_array($key, $removeAppIds)) { - $is_menu = 2; - } - + // 菜单类型 + $is_menu = in_array($key, $removeAppIds) ? AuthMenuEnum::TOP : AuthMenuEnum::LEFT; $allAuth = ArrayHelper::merge($allAuth, $this->regroupByAddonsData($item, $menu, $is_menu, $name, $key)); } diff --git a/services/common/PayService.php b/services/common/PayService.php index 443e3cae8..448c769a9 100644 --- a/services/common/PayService.php +++ b/services/common/PayService.php @@ -44,6 +44,7 @@ public function wechat(PayForm $payForm, $baseOrder) // 交易类型 $tradeType = $payForm->tradeType; + return Yii::$app->pay->wechat->$tradeType($order); } @@ -58,7 +59,7 @@ public function alipay(PayForm $payForm, $baseOrder) $config = [ 'notify_url' => $payForm->notifyUrl, // 支付通知回调地址 'return_url' => $payForm->returnUrl, // 买家付款成功跳转地址 - 'sandbox' => false + 'sandbox' => false, ]; // 生成订单 @@ -70,8 +71,9 @@ public function alipay(PayForm $payForm, $baseOrder) // 交易类型 $tradeType = $payForm->tradeType; + return [ - 'config' => Yii::$app->pay->alipay($config)->$tradeType($order) + 'config' => Yii::$app->pay->alipay($config)->$tradeType($order), ]; } @@ -98,20 +100,23 @@ public function union(PayForm $payForm, $baseOrder) // 交易类型 $tradeType = $payForm->tradeType; + return Yii::$app->pay->union($config)->$tradeType($order); } /** * @param PayForm $payForm + * @param $baseOrder * @return array + * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException - * @throws \yii\base\InvalidConfigException + * @throws \GuzzleHttp\Exception\GuzzleException */ public function miniProgram(PayForm $payForm, $baseOrder) { // 设置appid Yii::$app->params['wechatPaymentConfig'] = ArrayHelper::merge(Yii::$app->params['wechatPaymentConfig'], [ - 'app_id' => Yii::$app->debris->config('miniprogram_appid') + 'app_id' => Yii::$app->debris->config('miniprogram_appid'), ]); $orderData = [ @@ -126,6 +131,7 @@ public function miniProgram(PayForm $payForm, $baseOrder) $payment = Yii::$app->wechat->payment; $result = $payment->order->unify($orderData); + return $payment->jssdk->sdkConfig($result['prepay_id']); } diff --git a/services/common/ProvincesService.php b/services/common/ProvincesService.php index eb84e5bfc..86036beb7 100644 --- a/services/common/ProvincesService.php +++ b/services/common/ProvincesService.php @@ -192,7 +192,7 @@ public function findAllInCache() ->asArray() ->all(); - Yii::$app->cache->set($cacheKey, $data, 60 * 60 * 24 * 30); + Yii::$app->cache->set($cacheKey, $data, 60 * 60 * 24 * 24); } return $data; diff --git a/services/common/SmsService.php b/services/common/SmsService.php index 1e09bf72c..cbea55a66 100644 --- a/services/common/SmsService.php +++ b/services/common/SmsService.php @@ -109,7 +109,7 @@ public function send($mobile, $code, $usage, $member_id = 0) public function realSend($mobile, $code, $usage, $member_id = 0) { $template = Yii::$app->debris->config('sms_aliyun_template'); - !empty($template) && $template = ArrayHelper::map(unserialize($template), 'group', 'template'); + !empty($template) && $template = ArrayHelper::map(Json::decode($template), 'group', 'template'); $templateID = $template[$usage] ?? ''; try { diff --git a/services/member/CreditsLogService.php b/services/member/CreditsLogService.php index 6b5bcf51e..b3e15b43e 100644 --- a/services/member/CreditsLogService.php +++ b/services/member/CreditsLogService.php @@ -17,7 +17,7 @@ class CreditsLogService extends Service { /** - * 类型 + * 字段类型 * * @var */ @@ -33,6 +33,13 @@ class CreditsLogService extends Service */ protected $newNum; + /** + * 累计字段 + * + * @var string + */ + protected $accumulate; + /** * 增加积分 * @@ -41,24 +48,31 @@ class CreditsLogService extends Service */ public function incrInt(CreditsLogForm $creditsLogForm) { - if ($creditsLogForm->num <= 0) { + if ($creditsLogForm->num < 0) { return; } - $creditsLogForm->num = abs($creditsLogForm->num); - /** @var Account $account */ $account = $creditsLogForm->member->account; + if ($creditsLogForm->num == 0) { + $this->creditType = CreditsLog::CREDIT_TYPE_USER_INTEGRAL; + $this->oldNum = $account->user_integral; + $this->newNum = $account->user_integral; + $this->create($creditsLogForm); + + return; + } + + $creditsLogForm->num = abs($creditsLogForm->num); $this->creditType = CreditsLog::CREDIT_TYPE_USER_INTEGRAL; $this->oldNum = $account->user_integral; $account->user_integral += $creditsLogForm->num; - $account->accumulate_integral += $creditsLogForm->num; + $this->accumulate = 'accumulate_integral'; $this->newNum = $account->user_integral; - if (!$account->save()) { - throw new NotFoundHttpException($this->getError($account)); - } - + // 更新账户 + $this->updateAccount($account); + // 记录日志 $this->create($creditsLogForm); } @@ -71,13 +85,22 @@ public function incrInt(CreditsLogForm $creditsLogForm) */ public function decrInt(CreditsLogForm $creditsLogForm) { - if ($creditsLogForm->num <= 0) { + if ($creditsLogForm->num < 0) { return; } - $creditsLogForm->num = - abs($creditsLogForm->num); /** @var Account $account */ $account = $creditsLogForm->member->account; + if ($creditsLogForm->num == 0) { + $this->creditType = CreditsLog::CREDIT_TYPE_USER_INTEGRAL; + $this->oldNum = $account->user_integral; + $this->newNum = $account->user_integral; + $this->create($creditsLogForm); + + return; + } + + $creditsLogForm->num = -abs($creditsLogForm->num); $this->creditType = CreditsLog::CREDIT_TYPE_USER_INTEGRAL; $this->oldNum = $account->user_integral; $account->user_integral += $creditsLogForm->num; @@ -87,10 +110,9 @@ public function decrInt(CreditsLogForm $creditsLogForm) throw new NotFoundHttpException('积分不足'); } - if (!$account->save()) { - throw new NotFoundHttpException($this->getError($account)); - } - + // 更新账户 + $this->updateAccount($account); + // 记录日志 $this->create($creditsLogForm); } @@ -102,23 +124,32 @@ public function decrInt(CreditsLogForm $creditsLogForm) */ public function incrMoney(CreditsLogForm $creditsLogForm) { - if ($creditsLogForm->num <= 0) { + if ($creditsLogForm->num < 0) { return; } - $creditsLogForm->num = abs($creditsLogForm->num); /** @var Account $account */ $account = $creditsLogForm->member->account; + // 增加金额为0不变更 + if ($creditsLogForm->num == 0) { + $this->creditType = CreditsLog::CREDIT_TYPE_USER_MONEY; + $this->oldNum = $account->user_money; + $this->newNum = $account->user_money; + $this->create($creditsLogForm); + + return; + } + + $creditsLogForm->num = abs($creditsLogForm->num); $this->creditType = CreditsLog::CREDIT_TYPE_USER_MONEY; $this->oldNum = $account->user_money; $account->user_money += $creditsLogForm->num; - $account->accumulate_money += $creditsLogForm->num; + $this->accumulate = 'accumulate_money'; $this->newNum = $account->user_money; - if (!$account->save()) { - throw new NotFoundHttpException($this->getError($account)); - } - + // 更新账户 + $this->updateAccount($account); + // 记录日志 $model = $this->create($creditsLogForm); $creditsLogForm->map_id = $model->id; } @@ -131,13 +162,23 @@ public function incrMoney(CreditsLogForm $creditsLogForm) */ public function decrMoney(CreditsLogForm $creditsLogForm) { - if ($creditsLogForm->num <= 0) { + if ($creditsLogForm->num < 0) { return; } - $creditsLogForm->num = - abs($creditsLogForm->num); /** @var Account $account */ $account = $creditsLogForm->member->account; + // 消费金额为0不变更 + if ($creditsLogForm->num == 0) { + $this->creditType = CreditsLog::CREDIT_TYPE_USER_MONEY; + $this->oldNum = $account->user_money; + $this->newNum = $account->user_money; + $this->create($creditsLogForm); + + return; + } + + $creditsLogForm->num = -abs($creditsLogForm->num); $this->creditType = CreditsLog::CREDIT_TYPE_USER_MONEY; $this->oldNum = $account->user_money; $account->user_money += $creditsLogForm->num; @@ -147,14 +188,34 @@ public function decrMoney(CreditsLogForm $creditsLogForm) throw new NotFoundHttpException('余额不足'); } - if (!$account->save()) { - throw new NotFoundHttpException($this->getError($account)); - } - + // 更新账户 + $this->updateAccount($account); + // 记录日志 $model = $this->create($creditsLogForm); $creditsLogForm->map_id = $model->id; } + /** + * 更新账户,尽量不拒绝,宁可记录不正确 + * + * @param Account $account + * @throws NotFoundHttpException + */ + protected function updateAccount(Account $account) + { + $amount = $this->newNum - $this->oldNum; + + if ($amount > 0) { + if (!$account->updateAllCounters([$this->creditType => $amount, $this->accumulate => $amount], ['id' => $account->id])) { + throw new NotFoundHttpException('系统繁忙'); + } + } else { + if (!$account->updateAllCounters([$this->creditType => $amount], ['and', ['id' => $account->id], ['>=', $this->creditType, $amount]])) { + throw new NotFoundHttpException('余额不足'); + } + } + } + /** * 创建 * diff --git a/services/member/InvoiceService.php b/services/member/InvoiceService.php new file mode 100644 index 000000000..798a6e06a --- /dev/null +++ b/services/member/InvoiceService.php @@ -0,0 +1,56 @@ + + */ +class InvoiceService extends Service +{ + /** + * 获取默认地址 + * + * @param $member_id + * @return array|null|\yii\db\ActiveRecord|Invoice + */ + public function findDefaultByMemberId($member_id) + { + return Invoice::find() + ->where(['member_id' => $member_id, 'status' => StatusEnum::ENABLED, 'is_default' => StatusEnum::ENABLED]) + ->andFilterWhere(['merchant_id' => $this->getMerchantId()]) + ->one(); + } + + /** + * @param $id + * @param $member_id + * @return array|null|\yii\db\ActiveRecord + */ + public function findById($id, $member_id) + { + return Invoice::find() + ->where(['id' => $id, 'member_id' => $member_id, 'status' => StatusEnum::ENABLED]) + ->andFilterWhere(['merchant_id' => $this->getMerchantId()]) + ->one(); + } + + /** + * @param $member_id + * @return array|\yii\db\ActiveRecord[] + */ + public function findByMemberId($member_id) + { + return Invoice::find() + ->where(['member_id' => $member_id, 'status' => StatusEnum::ENABLED]) + ->andFilterWhere(['merchant_id' => $this->getMerchantId()]) + ->orderBy(['is_default desc']) + ->asArray() + ->all(); + } +} \ No newline at end of file diff --git a/services/merchant/MerchantService.php b/services/merchant/MerchantService.php index 2115657b0..04c7abf2b 100644 --- a/services/merchant/MerchantService.php +++ b/services/merchant/MerchantService.php @@ -3,6 +3,8 @@ namespace services\merchant; use common\components\Service; +use common\enums\StatusEnum; +use common\models\merchant\Merchant; /** * 商户 @@ -33,4 +35,23 @@ public function setId($merchant_id) { $this->merchant_id = $merchant_id; } + + /** + * @return array|\yii\db\ActiveRecord|null + */ + public function findByLogin() + { + return $this->findById($this->getId()); + } + + /** + * @return array|\yii\db\ActiveRecord|null + */ + public function findById($id) + { + return Merchant::find() + ->where(['status' => StatusEnum::ENABLED]) + ->andWhere(['id' => $id]) + ->one(); + } } \ No newline at end of file

系统全称系统全称 params['exploitFullName']; ?>
version; ?>
Yii2版本Yii2版本