| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- namespace common\logic\middleground;
- use common\logic\middleground\base\MiddleException;
- use common\models\common\MiddleMch;
- use common\models\common\PlatformSetting;
- use common\models\mall\Mall;
- use common\traits\ErrorTrait;
- /**
- * 中台服务核心类
- *
- * @package common\logic\middleground
- */
- class Core
- {
- use ErrorTrait;
- /**
- * 是否在中台注册过商户
- * @return MiddleMch
- */
- public function check($mall_id)
- {
- $mall = Mall::findOne($mall_id);
- if (empty($mall)) {
- \Yii::error("商城:$mall_id 查找不到");
- throw new MiddleException("商城:$mall_id 查找不到");
- };
- $mch = MiddleMch::getMch($mall['id']);
- if (!empty($mch)) return $mch;
- // 获取域名
- $domain = PlatformSetting::conf("system.api_url", [], true);
- if (empty($domain)) {
- throw new MiddleException('请先在系统设置配置api接口域名');
- }
- // 获取ip地址
- $ip = "127.0.0.1";
- if (\Yii::$app instanceof \yii\web\Application) {
- $ip = \Yii::$app->request->getRemoteIP();
- }
- $mall_conf = \Yii::$app->services->setting->mall->get($mall['id'], 'basic');
- // 去中台注册商户
- $register = [
- 'domain' => $domain,
- 'mall_id' => $mall['id'],
- 'name' => $mall['name'],
- 'ip' => $ip,
- 'mobile' => $mall_conf['contact_tel'] ?? '',
- 'logo' => $mall_conf['logo'] ?? '',
- ];
- $mch = new MchApi();
- $res = $mch->register($register);
- $model = new MiddleMch();
- if ($model->load($res, '') && $model->save()) {
- return $model;
- } else {
- $err = array_values($model->getErrors())[0] ?? '保存时未知错误';
- throw new MiddleException($err);
- }
- }
- }
|