| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- <?php
- namespace common\models\common;
- use common\enums\StatusEnum;
- use common\models\mall\MallAddons;
- use Yii;
- /**
- * This is the model class for table "{{%global_var_map}}".
- *
- * @property int $id
- * @property string|null $name 标识
- * @property string|null $title 中文标识
- * @property string|null $type 类型
- * @property int|null is_addons 是否是插件[0:否,1:是]
- * @property int|null $status 状态
- * @property int|null $created_at 创建时间
- * @property int|null $updated_at 更新时间
- */
- class GlobalVarMap extends \common\models\base\BaseActiveRecord
- {
- /**
- * {@inheritdoc}
- */
- public static function tableName()
- {
- return '{{%global_var_map}}';
- }
- /**
- * {@inheritdoc}
- */
- public function rules()
- {
- return [
- [['is_addons', 'status', 'created_at', 'updated_at'], 'integer'],
- [['name', 'title', 'type'], 'string', 'max' => 50],
- ];
- }
- /**
- * {@inheritdoc}
- */
- public function attributeLabels()
- {
- return [
- 'id' => 'ID',
- 'name' => '标识',
- 'title' => '中文标识',
- 'type' => '类型',
- 'is_addons' => '是否是插件[0:否,1:是]',
- 'status' => '状态',
- 'created_at' => '创建时间',
- 'updated_at' => '更新时间',
- ];
- }
- /**
- * 根据类型获取枚举
- * @Author: lun
- * @DateTime: 2022/6/7 0007 11:05
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $type
- * @return array
- */
- public static function getEnumMapByType($type, $mall_id = 0)
- {
- $data = [];
- $list = self::find()->select('name,title,is_addons')->where(['type' => $type, 'status' => StatusEnum::ENABLED])->asArray()->all();
- if ($list) {
- // 获取已安装的插件
- $mall_id && $install_addons = MallAddons::getValidAddons($mall_id);
- foreach ($list as $item) {
- // 若枚举属于插件则需要判断插件是否存在
- if ($mall_id && $item['is_addons'] == 1 && !in_array($item['name'], $install_addons)) continue;
- if ($item['name'] == \common\enums\AddonsEnum::ADDONS_NAME_REBATE) {
- $new_item_title = \Yii::$app->services->setting->addons->get($mall_id, \common\enums\AddonsEnum::ADDONS_NAME_REBATE, 'basic.addons_name');
- if ($new_item_title) {
- $item['title'] = $new_item_title;
- }
- }
- $data[$item['name']] = $item['title'];
- }
- }
- return $data;
- }
- /**
- * 根据类型获取枚举name
- * @Author: lun
- * @DateTime: 2022/6/7 0007 11:06
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $type
- * @return array
- */
- public static function getEnumNameByType($type, $mall_id = 0)
- {
- $data = [];
- $list = self::find()->select('name,is_addons')->where(['type' => $type, 'status' => StatusEnum::ENABLED])->asArray()->all();
- if ($list) {
- // 获取已安装的插件
- $mall_id && $install_addons = MallAddons::getValidAddons($mall_id);
- foreach ($list as $item) {
- // 若枚举属于插件则需要判断插件是否存在
- if ($mall_id && $item['is_addons'] == 1 && !in_array($item['name'], $install_addons)) continue;
- $data[] = $item['name'];
- }
- }
- return $data;
- }
- }
|