<?php /** * 套件应用安装初始化数据 * 通讯录相关 * @author zhoutao * @date 2017-09-27 10:05:30 */ namespace Rpc\Controller\Common; use Common\Service\AttrService; use Common\Service\InviteSettingService; use Common\Service\SettingService; use VcySDK\Job; use VcySDK\Role; use VcySDK\Service; class InstallController extends AbstractController { /** * 应用状态,可用 */ const PLUGIN_STATE_AVAILABLE = 1; /** * 应用状态,不可用 */ const PLUGIN_STATE_UNAVAILABLE = 2; public function index() { // 默认数据 $defaultData = \Common\Sql\DefaultData::installData(); // 微信端管理权限配置 $settingService = new SettingService(); if (!$settings = $settingService->get_by_conds(array())) { foreach ($defaultData['setting'] as $_set) { $settingService->insert($_set); } } // 邀请函设置写入默认数据 $inviteSettingServ = new InviteSettingService(); $inviteSetting = $inviteSettingServ->get_by_conds([]); if (!$inviteSetting) { $inviteSettingServ->insert($defaultData['invite_setting']); } // 属性表写入默认数据 $attrService = new AttrService(); $attr = $attrService->get_by_conds([]); if (!$attr) { foreach ($defaultData['attr'] as $attr) { $attrService->insert($attr); } } // 角色、岗位 默认数据 $jobSdk = new Job(Service::instance()); $jobList = $jobSdk->listAll([], 1, 5000); $jobNameList = array_column($jobList['list'], 'jobName'); foreach ($defaultData['default_job'] as $name) { if (in_array($name, $jobNameList)) { continue; } try { $jobSdk->create(['jobName' => $name]); } catch (\Exception $e) { \Think\Log::record('初始化岗位出错:::' . var_export($e->getMessage())); } } $roleSdk = new Role(Service::instance()); $roleList = $roleSdk->listAll([], 1, 5000); $roleNameList = array_column($roleList['list'], 'roleName'); foreach ($defaultData['default_role'] as $name) { if (in_array($name, $roleNameList)) { continue; } try { $roleSdk->create(['roleName' => $name]); } catch (\Exception $e) { \Think\Log::record('初始化角色出错:::' . var_export($e->getMessage())); } } return true; } }