| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
- namespace services\common;
- use common\models\common\AddonsLink;
- use Yii;
- use yii\helpers\Json;
- use common\components\Service;
- use common\helpers\ArrayHelper;
- /**
- *
- * APP链接service
- * Class AddonsLinkService
- * @Author: lun
- * @DateTime: 2021/10/14 0014 14:15
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @package services\common
- */
- class AddonsLinkService extends Service
- {
- /**
- * 创建链接菜单
- * @Author: lun
- * @DateTime: 2021/10/14 0014 14:16
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param string $addons_name
- * @param array $links
- * @throws \yii\db\Exception
- */
- public function create(string $addons_name, array $linksMenu)
- {
-
- if (empty($linksMenu)) return;
- AddonsLink::deleteAll(['addons_name' => $addons_name]);
- // 重组数组
- foreach ($linksMenu as $key => $menu) {
- $allMenu[$key] = ArrayHelper::regroupMapToArr($menu);
- }
- $time = time();
- foreach ($allMenu as $key => $item) {
- foreach ($item as $k => $value) {
- $row = [];
- $row['title'] = $value['title'] ?? '';
- $row['route'] = $value['route'] ?? '';
- $row['icon'] = $value['icon'] ?? '';
- $row['params'] = $value['params'] ?? [];
- $row['app_id'] = $key;
- $row['addons_name'] = $addons_name;
- $row['params'] = Json::encode($value['params']);
- $row['created_at'] = $time;
- $row['updated_at'] = $time;
- $rows[] = $row;
- }
- }
- $field = ['title', 'route', 'icon', 'params', 'app_id', 'addons_name', 'created_at', 'updated_at'];
- // 批量插入数据
- !empty($rows) && Yii::$app->db->createCommand()->batchInsert(AddonsLink::tableName(), $field, $rows)->execute();
- }
- }
|