| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?php
- namespace addons\RandFee\common\service;
- use common\enums\AddonsEnum;
- use Yii;
- use yii\base\Model;
- use yii\helpers\Json;
- class SettingService extends Model
- {
- /**
- * 商户ID
- *
- * @var integer
- */
- public $mall_id;
- /**
- * 保存设置
- *
- * @param array $data
- * @return boolean
- */
- public function saveSetting($data)
- {
- unset($data['_csrf']);
- $data['condition'] = self::priceSort($data['condition']);
- empty($data['order']) && $data['order'] = [];
- $conf['basic'] = $data;
- return Yii::$app->services->setting->addons->set($this->mall_id, AddonsEnum::ADDONS_NAME_RAND_FEE, $conf);
- }
- /**
- * 获取设置
- *
- * @return array
- */
- public function getSetting($key = null)
- {
- $conf = Yii::$app->services->setting->addons->get($this->mall_id, AddonsEnum::ADDONS_NAME_RAND_FEE, 'basic');
- if (!empty($conf)) {
- foreach ($conf as $k => $v) {
- $conf[$k] = Json::decode($v);
- }
- }
- $conf && empty($conf['order']) && $conf['order'] = [];
- return $key && isset($conf[$key]) ? $conf[$key] : $conf;
- }
- /**
- * 金额排序
- *
- * @param array $condition
- * @return array
- */
- protected static function priceSort($condition)
- {
- if (empty($condition)) {
- return [];
- }
- foreach ($condition as $val) {
- $key_arrays[] = $val['total_price'];
- }
- array_multisort($key_arrays, SORT_ASC, SORT_NUMERIC, $condition);
- return $condition;
- }
- }
|