255], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'mall_id' => 'Mall ID', 'store_id' => 'Store ID', 'key' => 'Key', 'value' => 'Value', 'created_at' => 'Created At', 'updated_at' => 'Updated At', 'is_delete' => 'Is Delete', 'deleted_at' => 'Deleted At', ]; } public static function strToNumber($key, $str) { $default = ['is_enable', 'compute_period', 'compute_type', 'settlement_method', 'settlement_period']; if (in_array($key, $default)) { return round($str, 2); } return $str; } public static function setData($params) { $t = \Yii::$app->db->beginTransaction(); try { $store = \Yii::$app->session->get('o2o'); if(!$store){ $admin = \Yii::$app->store_user->identity; $store = Store::getOne([['id' => $admin['store_id'],'mall_id' =>$admin['mall_id']]],true); } $setting_list = []; foreach ($params as $index => $item) { $setting_list[] = [ 'key' => $index, 'value' => $item ]; } foreach ($setting_list as $item) { $setting = self::findOne(['mall_id' =>$store['mall_id'],'store_id' => $store['id'], 'key' => $item['key']]); if (!$setting) { $setting = new self(); } $setting->key = $item['key']; $setting->value = $item['value']; $setting->mall_id = $store['mall_id']; $setting->store_id = $store['id']; $setting->is_delete = 0; if (!$setting->save()) throw new \Exception($setting->getErrorMessage()); } $t->commit(); return true; } catch (\Exception $e) { $t->rollBack(); self::$static_error = $e->getMessage(); return false; } } public static function search() { $store = \Yii::$app->session->get('o2o'); if(!$store){ $admin = \Yii::$app->store_user->identity; $store = Store::getOne([['id' => $admin['store_id'],'mall_id' =>$admin['mall_id']]],true); } $list = self::find()->where(['mall_id' =>$store['mall_id'],'store_id' => $store['id'] , 'is_delete' => 0])->asArray()->all(); $newItem = []; foreach ($list as $item) { $newItem[$item['key']] = self::strToNumber($item['key'], $item['value']); } return $newItem; } }