| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <?php
- namespace addons\StarChain\common\services;
- use addons\StarChain\common\enums\StarChainEnum;
- use addons\StarChain\common\models\Setting;
- use Exception;
- use yii\helpers\Json;
- /**
- * 设置相关服务
- */
- class SettingService extends BaseService
- {
- /**
- * 设置保存设置
- *
- * @param array $data
- * @return boolean
- */
- public function setSetting($data)
- {
- $setting = $this->getSaveData($data);
- try {
- Setting::setSetting($setting);
- } catch (Exception $e) {
- return $this->error($e->getMessage());
- }
- return true;
- }
-
- /**
- * 获取保存数据
- *
- * @param array $setting
- * @return array
- */
- private function getSaveData($setting)
- {
- $app_key = $setting['app_key'];
- $app_secret = $setting['app_secret'];
- $mall_id = $this->mall_id;
- $sell = Json::encode([
- 'sell_strategy' => $setting['sell_strategy'],
- 'sell_guide' => $setting['sell_guide'],
- 'sell_sales' => $setting['sell_sales'],
- 'sell_market' => $setting['sell_market'],
- ]);
- $cost = Json::encode([
- 'cost_strategy' => $setting['cost_strategy'],
- 'cost_guide' => $setting['cost_guide'],
- 'cost_sales' => $setting['cost_sales'],
- 'cost_market' => $setting['cost_market'],
- ]);
- $original = Json::encode([
- 'original_strategy' => $setting['original_strategy'],
- 'original_guide' => $setting['original_guide'],
- 'original_sales' => $setting['original_sales'],
- 'original_market' => $setting['original_market'],
- ]);
- $auto_update = Json::encode([
- 'auto_present_price' => $setting['auto_present_price'],
- 'auto_base_info' => $setting['auto_base_info'],
- 'refund_auto_push' => $setting['refund_auto_push'],
- ]);
- return compact('mall_id', 'app_secret', 'app_key', 'sell', 'cost', 'original', 'auto_update');
- }
- /**
- * 获取后台配置
- *
- * @return array
- */
- public function getBackendSetting()
- {
- return array_merge(
- $this->getSetting(),
- [
- 'callback_url' => \Yii::$app->services->setting->platform->get('system.api_url')
- . '/star-chain/v1/notice/handler?mall_id='
- . $this->mall_id
- ],
- );
- }
- /**
- * 获取设置
- *
- * @return array
- */
- public function getSetting()
- {
- $setting = Setting::getSetting($this->mall_id);
- $setting['is_enable_shopping_cart_settle'] = 1;
- $setting['shopping_cart_mall_name'] = StarChainEnum::PLUGIN_SIGN;
- return $setting;
- }
- }
|