array ( 'controller' => 'app\\adminapi\\controller\\article\\ArticleController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'ArticleLogic::add', ), 'params' => array ( 0 => 'title', 1 => 'desc', 2 => 'author', 3 => 'sort', 4 => 'abstract', 5 => 'click_virtual', 6 => 'image', 7 => 'cid', 8 => 'is_show', 9 => 'content', ), 'no_login' => false, ), 'article.article/delete' => array ( 'controller' => 'app\\adminapi\\controller\\article\\ArticleController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'ArticleLogic::delete', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'article.article/detail' => array ( 'controller' => 'app\\adminapi\\controller\\article\\ArticleController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'ArticleLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'article.article/edit' => array ( 'controller' => 'app\\adminapi\\controller\\article\\ArticleController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'ArticleLogic::edit', 1 => 'ArticleLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'title', 2 => 'desc', 3 => 'author', 4 => 'sort', 5 => 'abstract', 6 => 'click_virtual', 7 => 'image', 8 => 'cid', 9 => 'is_show', 10 => 'content', ), 'no_login' => false, ), 'article.article/lists' => array ( 'controller' => 'app\\adminapi\\controller\\article\\ArticleController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\article\\ArticleLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'title', 1 => 'cid', 2 => 'is_show', ), 'no_login' => false, ), 'article.article/updateStatus' => array ( 'controller' => 'app\\adminapi\\controller\\article\\ArticleController', 'action' => 'updateStatus', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'ArticleLogic::updateStatus', 1 => 'ArticleLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'is_show', ), 'no_login' => false, ), 'article.articleCate/add' => array ( 'controller' => 'app\\adminapi\\controller\\article\\ArticleCateController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'ArticleCateLogic::add', ), 'params' => array ( 0 => 'name', 1 => 'is_show', 2 => 'sort', ), 'no_login' => false, ), 'article.articleCate/all' => array ( 'controller' => 'app\\adminapi\\controller\\article\\ArticleCateController', 'action' => 'all', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'ArticleCateLogic::getAllData', ), 'params' => array ( ), 'no_login' => false, ), 'article.articleCate/delete' => array ( 'controller' => 'app\\adminapi\\controller\\article\\ArticleCateController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'ArticleCateLogic::delete', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'article.articleCate/detail' => array ( 'controller' => 'app\\adminapi\\controller\\article\\ArticleCateController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'ArticleCateLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'article.articleCate/edit' => array ( 'controller' => 'app\\adminapi\\controller\\article\\ArticleCateController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'ArticleCateLogic::edit', 1 => 'ArticleCateLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'name', 2 => 'is_show', 3 => 'sort', ), 'no_login' => false, ), 'article.articleCate/lists' => array ( 'controller' => 'app\\adminapi\\controller\\article\\ArticleCateController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\article\\ArticleCateLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'article.articleCate/updateStatus' => array ( 'controller' => 'app\\adminapi\\controller\\article\\ArticleCateController', 'action' => 'updateStatus', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'ArticleCateLogic::updateStatus', 1 => 'ArticleCateLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'is_show', ), 'no_login' => false, ), 'asset.assetResource/add' => array ( 'controller' => 'app\\adminapi\\controller\\asset\\AssetResourceController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '::create(', 2 => '->saveAll(', ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'type', 1 => 'title', 2 => 'file_url', 3 => 'cover_url', 4 => 'user_ids', ), 'no_login' => false, ), 'asset.assetResource/delete' => array ( 'controller' => 'app\\adminapi\\controller\\asset\\AssetResourceController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '::destroy(', 2 => '->delete(', ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'asset.assetResource/edit' => array ( 'controller' => 'app\\adminapi\\controller\\asset\\AssetResourceController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '->save(', 2 => '->delete(', 3 => '->saveAll(', ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'id', 1 => 'title', 2 => 'user_ids', ), 'no_login' => false, ), 'asset.assetResource/lists' => array ( 'controller' => 'app\\adminapi\\controller\\asset\\AssetResourceController', 'action' => 'lists', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'type', 1 => 'title', 2 => 'start_time', 3 => 'end_time', ), 'no_login' => false, ), 'asset.assetUser/add' => array ( 'controller' => 'app\\adminapi\\controller\\asset\\AssetUserController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'phone', 1 => 'password', 2 => 'status', 3 => 'remark', ), 'no_login' => false, ), 'asset.assetUser/delete' => array ( 'controller' => 'app\\adminapi\\controller\\asset\\AssetUserController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', 1 => '->delete(', ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'asset.assetUser/edit' => array ( 'controller' => 'app\\adminapi\\controller\\asset\\AssetUserController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'id', 1 => 'phone', 2 => 'password', 3 => 'status', 4 => 'remark', ), 'no_login' => false, ), 'asset.assetUser/lists' => array ( 'controller' => 'app\\adminapi\\controller\\asset\\AssetUserController', 'action' => 'lists', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'phone', ), 'no_login' => false, ), 'auth.admin/add' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\AdminController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'AdminLogic::add', 1 => 'AdminLogic::getError', ), 'params' => array ( 0 => 'password', 1 => 'avatar', 2 => 'qualification_images', 3 => 'name', 4 => 'account', 5 => 'disable', 6 => 'multipoint_login', 7 => 'gender', 8 => 'age', 9 => 'phone', 10 => 'title', 11 => 'department', 12 => 'specialty', 13 => 'education', 14 => 'experience', 15 => 'honors', 16 => 'license_no', 17 => 'enable_image_consult', 18 => 'enable_video_consult', 19 => 'enable_charge', 20 => 'role_id', 21 => 'dept_id', 22 => 'jobs_id', ), 'no_login' => false, ), 'auth.admin/bindWorkWechat' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\AdminController', 'action' => 'bindWorkWechat', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', ), 'external' => array ( 0 => 'qyapi.weixin', 1 => 'curl_init', 2 => 'curl_exec', ), 'logic' => array ( 0 => 'LoginLogic::getWorkWechatAccessTokenStatic', 1 => 'LoginLogic::workWechatUserIdFromAuthResponse', ), 'params' => array ( 0 => 'code', ), 'no_login' => false, ), 'auth.admin/delete' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\AdminController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'AdminLogic::delete', 1 => 'AdminLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'auth.admin/detail' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\AdminController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'AdminLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'auth.admin/edit' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\AdminController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', ), 'external' => array ( ), 'logic' => array ( 0 => 'AdminLogic::edit', 1 => 'AdminLogic::getError', ), 'params' => array ( 0 => 'qualification_images', 1 => 'id', 2 => 'name', 3 => 'account', 4 => 'disable', 5 => 'multipoint_login', 6 => 'gender', 7 => 'age', 8 => 'phone', 9 => 'title', 10 => 'department', 11 => 'specialty', 12 => 'education', 13 => 'experience', 14 => 'honors', 15 => 'license_no', 16 => 'enable_image_consult', 17 => 'enable_video_consult', 18 => 'enable_charge', 19 => 'avatar', 20 => 'password', 21 => 'role_id', 22 => 'dept_id', 23 => 'jobs_id', ), 'no_login' => false, ), 'auth.admin/editSelf' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\AdminController', 'action' => 'editSelf', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'AdminLogic::editSelf', ), 'params' => array ( 0 => 'admin_id', 1 => 'name', 2 => 'avatar', 3 => 'password', ), 'no_login' => false, ), 'auth.admin/lists' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\AdminController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\auth\\AdminLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'name', 1 => 'account', 2 => 'progress_board', 3 => 'role_id', 4 => 'exclude_disabled', 5 => 'apply_data_scope', ), 'no_login' => false, ), 'auth.admin/mySelf' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\AdminController', 'action' => 'mySelf', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'AdminLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'auth.admin/unbindWorkWechat' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\AdminController', 'action' => 'unbindWorkWechat', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( 0 => '->update([', ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'auth.menu/add' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\MenuController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'MenuLogic::add', ), 'params' => array ( 0 => 'pid', 1 => 'type', 2 => 'name', 3 => 'icon', 4 => 'sort', 5 => 'perms', 6 => 'paths', 7 => 'component', 8 => 'selected', 9 => 'params', 10 => 'is_cache', 11 => 'is_show', 12 => 'is_disable', ), 'no_login' => false, ), 'auth.menu/all' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\MenuController', 'action' => 'all', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'MenuLogic::getAllData', ), 'params' => array ( ), 'no_login' => false, ), 'auth.menu/delete' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\MenuController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', 1 => '->delete(', ), 'external' => array ( ), 'logic' => array ( 0 => 'MenuLogic::delete', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'auth.menu/detail' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\MenuController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'MenuLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'auth.menu/edit' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\MenuController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'MenuLogic::edit', ), 'params' => array ( 0 => 'id', 1 => 'pid', 2 => 'type', 3 => 'name', 4 => 'icon', 5 => 'sort', 6 => 'perms', 7 => 'paths', 8 => 'component', 9 => 'selected', 10 => 'params', 11 => 'is_cache', 12 => 'is_show', 13 => 'is_disable', ), 'no_login' => false, ), 'auth.menu/lists' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\MenuController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\auth\\MenuLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'auth.menu/route' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\MenuController', 'action' => 'route', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'MenuLogic::getMenuByAdminId', ), 'params' => array ( ), 'no_login' => false, ), 'auth.menu/updateStatus' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\MenuController', 'action' => 'updateStatus', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'MenuLogic::updateStatus', ), 'params' => array ( 0 => 'id', 1 => 'is_disable', ), 'no_login' => false, ), 'auth.role/add' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\RoleController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'auth.role/all' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\RoleController', 'action' => 'all', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'auth.role/delete' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\RoleController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'auth.role/detail' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\RoleController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'auth.role/edit' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\RoleController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'auth.role/lists' => array ( 'controller' => 'app\\adminapi\\controller\\auth\\RoleController', 'action' => 'lists', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'channel.appSetting/getConfig' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\AppSettingController', 'action' => 'getConfig', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'AppSettingLogic::getConfig', ), 'params' => array ( ), 'no_login' => false, ), 'channel.appSetting/setConfig' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\AppSettingController', 'action' => 'setConfig', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'AppSettingLogic::setConfig', ), 'params' => array ( 0 => 'ios_download_url', 1 => 'android_download_url', 2 => 'download_title', ), 'no_login' => false, ), 'channel.mnpSettings/getConfig' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\MnpSettingsController', 'action' => 'getConfig', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'channel.mnpSettings/setConfig' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\MnpSettingsController', 'action' => 'setConfig', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'channel.officialAccountMenu/detail' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\OfficialAccountMenuController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OfficialAccountMenuLogic::detail', ), 'params' => array ( ), 'no_login' => false, ), 'channel.officialAccountMenu/save' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\OfficialAccountMenuController', 'action' => 'save', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OfficialAccountMenuLogic::save', 1 => 'OfficialAccountMenuLogic::getError', ), 'params' => array ( ), 'no_login' => false, ), 'channel.officialAccountMenu/saveAndPublish' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\OfficialAccountMenuController', 'action' => 'saveAndPublish', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OfficialAccountMenuLogic::saveAndPublish', 1 => 'OfficialAccountMenuLogic::getError', ), 'params' => array ( ), 'no_login' => false, ), 'channel.officialAccountReply/add' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\OfficialAccountReplyController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', 1 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'OfficialAccountReplyLogic::add', 1 => 'OfficialAccountReplyLogic::getError', ), 'params' => array ( 0 => 'reply_type', 1 => 'sort', 2 => 'status', ), 'no_login' => false, ), 'channel.officialAccountReply/delete' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\OfficialAccountReplyController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'OfficialAccountReplyLogic::delete', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'channel.officialAccountReply/detail' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\OfficialAccountReplyController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OfficialAccountReplyLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'channel.officialAccountReply/edit' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\OfficialAccountReplyController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'OfficialAccountReplyLogic::edit', 1 => 'OfficialAccountReplyLogic::getError', ), 'params' => array ( 0 => 'reply_type', 1 => 'sort', 2 => 'status', ), 'no_login' => false, ), 'channel.officialAccountReply/index' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\OfficialAccountReplyController', 'action' => 'index', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OfficialAccountReplyLogic::index', ), 'params' => array ( ), 'no_login' => true, ), 'channel.officialAccountReply/lists' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\OfficialAccountReplyController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\channel\\OfficialAccountReplyLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'reply_type', ), 'no_login' => false, ), 'channel.officialAccountReply/sort' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\OfficialAccountReplyController', 'action' => 'sort', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OfficialAccountReplyLogic::sort', ), 'params' => array ( 0 => 'sort', 1 => 'new_sort', ), 'no_login' => false, ), 'channel.officialAccountReply/status' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\OfficialAccountReplyController', 'action' => 'status', 'kind' => 'report', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'OfficialAccountReplyLogic::status', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'channel.officialAccountSetting/getConfig' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\OfficialAccountSettingController', 'action' => 'getConfig', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'channel.officialAccountSetting/setConfig' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\OfficialAccountSettingController', 'action' => 'setConfig', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'channel.openSetting/getConfig' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\OpenSettingController', 'action' => 'getConfig', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OpenSettingLogic::getConfig', ), 'params' => array ( ), 'no_login' => false, ), 'channel.openSetting/setConfig' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\OpenSettingController', 'action' => 'setConfig', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OpenSettingLogic::setConfig', ), 'params' => array ( 0 => 'app_id', 1 => 'app_secret', ), 'no_login' => false, ), 'channel.webPageSetting/getConfig' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\WebPageSettingController', 'action' => 'getConfig', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WebPageSettingLogic::getConfig', ), 'params' => array ( ), 'no_login' => false, ), 'channel.webPageSetting/setConfig' => array ( 'controller' => 'app\\adminapi\\controller\\channel\\WebPageSettingController', 'action' => 'setConfig', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WebPageSettingLogic::setConfig', ), 'params' => array ( 0 => 'status', 1 => 'page_status', 2 => 'page_url', ), 'no_login' => false, ), 'chat/notifications' => array ( 'controller' => 'app\\adminapi\\controller\\ChatController', 'action' => 'notifications', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'ChatNotifyLogic::getNotifies', ), 'params' => array ( ), 'no_login' => false, ), 'config/dict' => array ( 'controller' => 'app\\adminapi\\controller\\ConfigController', 'action' => 'dict', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'ConfigLogic::getDictByType', ), 'params' => array ( 0 => 'type', ), 'no_login' => true, ), 'config/getConfig' => array ( 'controller' => 'app\\adminapi\\controller\\ConfigController', 'action' => 'getConfig', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'ConfigLogic::getConfig', ), 'params' => array ( ), 'no_login' => true, ), 'crontab.crontab/add' => array ( 'controller' => 'app\\adminapi\\controller\\crontab\\CrontabController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'CrontabLogic::add', 1 => 'CrontabLogic::getError', ), 'params' => array ( 0 => 'remark', 1 => 'params', 2 => 'last_time', ), 'no_login' => false, ), 'crontab.crontab/delete' => array ( 'controller' => 'app\\adminapi\\controller\\crontab\\CrontabController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'CrontabLogic::delete', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'crontab.crontab/detail' => array ( 'controller' => 'app\\adminapi\\controller\\crontab\\CrontabController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'CrontabLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'crontab.crontab/edit' => array ( 'controller' => 'app\\adminapi\\controller\\crontab\\CrontabController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'CrontabLogic::edit', 1 => 'CrontabLogic::getError', ), 'params' => array ( 0 => 'remark', 1 => 'params', ), 'no_login' => false, ), 'crontab.crontab/expression' => array ( 'controller' => 'app\\adminapi\\controller\\crontab\\CrontabController', 'action' => 'expression', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'CrontabLogic::expression', ), 'params' => array ( 0 => 'expression', ), 'no_login' => false, ), 'crontab.crontab/lists' => array ( 'controller' => 'app\\adminapi\\controller\\crontab\\CrontabController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\crontab\\CrontabLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'crontab.crontab/operate' => array ( 'controller' => 'app\\adminapi\\controller\\crontab\\CrontabController', 'action' => 'operate', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'CrontabLogic::operate', 1 => 'CrontabLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'operate', ), 'no_login' => false, ), 'decorate.data/article' => array ( 'controller' => 'app\\adminapi\\controller\\decorate\\DataController', 'action' => 'article', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DecorateDataLogic::getArticleLists', ), 'params' => array ( 0 => 'limit', ), 'no_login' => false, ), 'decorate.data/pc' => array ( 'controller' => 'app\\adminapi\\controller\\decorate\\DataController', 'action' => 'pc', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DecorateDataLogic::pc', ), 'params' => array ( ), 'no_login' => false, ), 'decorate.page/detail' => array ( 'controller' => 'app\\adminapi\\controller\\decorate\\PageController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DecoratePageLogic::getDetail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'decorate.page/save' => array ( 'controller' => 'app\\adminapi\\controller\\decorate\\PageController', 'action' => 'save', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'DecoratePageLogic::save', 1 => 'DecoratePageLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'type', 2 => 'data', 3 => 'meta', ), 'no_login' => false, ), 'decorate.tabbar/detail' => array ( 'controller' => 'app\\adminapi\\controller\\decorate\\TabbarController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DecorateTabbarLogic::detail', ), 'params' => array ( ), 'no_login' => false, ), 'decorate.tabbar/save' => array ( 'controller' => 'app\\adminapi\\controller\\decorate\\TabbarController', 'action' => 'save', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->delete(', 1 => '->saveAll(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DecorateTabbarLogic::save', ), 'params' => array ( 0 => 'list', 1 => 'style', ), 'no_login' => false, ), 'dept.dept/add' => array ( 'controller' => 'app\\adminapi\\controller\\dept\\DeptController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DeptLogic::add', ), 'params' => array ( 0 => 'pid', 1 => 'name', 2 => 'leader', 3 => 'mobile', 4 => 'status', 5 => 'sort', ), 'no_login' => false, ), 'dept.dept/all' => array ( 'controller' => 'app\\adminapi\\controller\\dept\\DeptController', 'action' => 'all', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DeptLogic::getAllDataScoped', 1 => 'DeptLogic::getAllData', ), 'params' => array ( 0 => 'apply_data_scope', ), 'no_login' => false, ), 'dept.dept/delete' => array ( 'controller' => 'app\\adminapi\\controller\\dept\\DeptController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DeptLogic::delete', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'dept.dept/detail' => array ( 'controller' => 'app\\adminapi\\controller\\dept\\DeptController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DeptLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'dept.dept/edit' => array ( 'controller' => 'app\\adminapi\\controller\\dept\\DeptController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'DeptLogic::edit', 1 => 'DeptLogic::getError', ), 'params' => array ( 0 => 'pid', 1 => 'id', 2 => 'name', 3 => 'leader', 4 => 'mobile', 5 => 'status', 6 => 'sort', ), 'no_login' => false, ), 'dept.dept/leaderDept' => array ( 'controller' => 'app\\adminapi\\controller\\dept\\DeptController', 'action' => 'leaderDept', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DeptLogic::leaderDept', ), 'params' => array ( ), 'no_login' => false, ), 'dept.dept/lists' => array ( 'controller' => 'app\\adminapi\\controller\\dept\\DeptController', 'action' => 'lists', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DeptLogic::lists', ), 'params' => array ( 0 => 'name', 1 => 'status', ), 'no_login' => false, ), 'dept.jobs/add' => array ( 'controller' => 'app\\adminapi\\controller\\dept\\JobsController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'JobsLogic::add', ), 'params' => array ( 0 => 'name', 1 => 'code', 2 => 'sort', 3 => 'status', 4 => 'remark', ), 'no_login' => false, ), 'dept.jobs/all' => array ( 'controller' => 'app\\adminapi\\controller\\dept\\JobsController', 'action' => 'all', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'JobsLogic::getAllData', ), 'params' => array ( ), 'no_login' => false, ), 'dept.jobs/delete' => array ( 'controller' => 'app\\adminapi\\controller\\dept\\JobsController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'JobsLogic::delete', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'dept.jobs/detail' => array ( 'controller' => 'app\\adminapi\\controller\\dept\\JobsController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'JobsLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'dept.jobs/edit' => array ( 'controller' => 'app\\adminapi\\controller\\dept\\JobsController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'JobsLogic::edit', 1 => 'JobsLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'name', 2 => 'code', 3 => 'sort', 4 => 'status', 5 => 'remark', ), 'no_login' => false, ), 'dept.jobs/lists' => array ( 'controller' => 'app\\adminapi\\controller\\dept\\JobsController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\dept\\JobsLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'name', 1 => 'code', 2 => 'status', ), 'no_login' => false, ), 'desktop/session' => array ( 'controller' => 'app\\adminapi\\controller\\DesktopController', 'action' => 'session', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'AuthLogic::getBtnAuthByRoleId', ), 'params' => array ( ), 'no_login' => true, ), 'doctor.appointment/addDoctorNote' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\AppointmentController', 'action' => 'addDoctorNote', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', 1 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::canManageDiagnosis', 1 => 'DiagnosisLogic::getError', 2 => 'DoctorNoteLogic::addOrAppend', 3 => 'DoctorNoteLogic::getError', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'doctor_id', 2 => 'content', 3 => 'tongue_images', 4 => 'report_files', ), 'no_login' => false, ), 'doctor.appointment/availableSlots' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\AppointmentController', 'action' => 'availableSlots', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'AppointmentLogic::getAvailableSlots', ), 'params' => array ( 0 => 'doctor_id', 1 => 'appointment_date', 2 => 'period', ), 'no_login' => false, ), 'doctor.appointment/batchEditChannel' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\AppointmentController', 'action' => 'batchEditChannel', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', ), 'external' => array ( ), 'logic' => array ( 0 => 'AppointmentLogic::adminBatchEditChannel', 1 => 'AppointmentLogic::getError', ), 'params' => array ( 0 => 'channel_source_detail', 1 => 'ids', 2 => 'channel_source', ), 'no_login' => false, ), 'doctor.appointment/cancel' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\AppointmentController', 'action' => 'cancel', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'AppointmentLogic::cancel', 1 => 'AppointmentLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'doctor.appointment/complete' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\AppointmentController', 'action' => 'complete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'AppointmentLogic::complete', 1 => 'AppointmentLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'doctor.appointment/create' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\AppointmentController', 'action' => 'create', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', 1 => 'Db::startTrans', 2 => '->insertGetId(', ), 'external' => array ( ), 'logic' => array ( 0 => 'AppointmentLogic::create', 1 => 'AppointmentLogic::getError', ), 'params' => array ( 0 => 'assistant_id', 1 => 'appointment_type', 2 => 'appointment_date', 3 => 'patient_id', 4 => 'appointment_time', 5 => 'doctor_id', 6 => 'channel_source', 7 => 'channel_source_detail', 8 => 'remark', 9 => 'period', ), 'no_login' => false, ), 'doctor.appointment/deleteDoctorNoteImage' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\AppointmentController', 'action' => 'deleteDoctorNoteImage', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DoctorNoteLogic::deleteImage', 1 => 'DoctorNoteLogic::getError', ), 'params' => array ( 0 => 'note_id', 1 => 'image_type', 2 => 'image_path', ), 'no_login' => false, ), 'doctor.appointment/detail' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\AppointmentController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'AppointmentLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'doctor.appointment/doctorAvailability' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\AppointmentController', 'action' => 'doctorAvailability', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'AppointmentLogic::getDoctorAvailability', ), 'params' => array ( 0 => 'doctor_id', 1 => 'date', ), 'no_login' => false, ), 'doctor.appointment/doctorNotes' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\AppointmentController', 'action' => 'doctorNotes', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::canViewReadonlyDiagnosis', 1 => 'DoctorNoteLogic::getByDiagnosis', ), 'params' => array ( 0 => 'diagnosis_id', ), 'no_login' => false, ), 'doctor.appointment/edit' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\AppointmentController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', ), 'external' => array ( ), 'logic' => array ( 0 => 'AppointmentLogic::adminEdit', 1 => 'AppointmentLogic::getError', ), 'params' => array ( 0 => 'assistant_id', 1 => 'appointment_type', 2 => 'id', 3 => 'period', 4 => 'appointment_date', 5 => 'appointment_time', 6 => 'status', 7 => 'remark', 8 => 'channel_source', 9 => 'channel_source_detail', ), 'no_login' => false, ), 'doctor.appointment/lists' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\AppointmentController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\doctor\\AppointmentLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'diag_scope_relax', 1 => 'patient_id', 2 => 'assistant_id', 3 => 'assistant_dept_id', 4 => 'appointment_type', 5 => 'patient_name', 6 => 'doctor_name', 7 => 'status', 8 => 'channel_source', 9 => 'start_date', 10 => 'end_date', 11 => 'doctor_id', 12 => 'exclude_cancelled', 13 => 'diagnosis_confirmed', 14 => 'progress_board', 15 => 'prescription_today_only', 16 => 'include_status_counts', ), 'no_login' => false, ), 'doctor.appointment/notifyAssistant' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\AppointmentController', 'action' => 'notifyAssistant', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'AppointmentLogic::notifyAssistant', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'doctor.appointment/reception' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\AppointmentController', 'action' => 'reception', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'AppointmentLogic::reception', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'doctor.medicine/add' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\MedicineController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'MedicineLogic::add', 1 => 'MedicineLogic::getError', ), 'params' => array ( 0 => 'name', 1 => 'supplier', 2 => 'unit', 3 => 'settlement_price', 4 => 'retail_price', 5 => 'stock', 6 => 'image', 7 => 'status', 8 => 'remark', ), 'no_login' => false, ), 'doctor.medicine/delete' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\MedicineController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'MedicineLogic::delete', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'doctor.medicine/detail' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\MedicineController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'MedicineLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'doctor.medicine/edit' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\MedicineController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'MedicineLogic::edit', 1 => 'MedicineLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'name', 2 => 'supplier', 3 => 'unit', 4 => 'settlement_price', 5 => 'retail_price', 6 => 'stock', 7 => 'image', 8 => 'status', 9 => 'remark', ), 'no_login' => false, ), 'doctor.medicine/lists' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\MedicineController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\doctor\\MedicineLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'supplier', 1 => 'status', 2 => 'name', ), 'no_login' => false, ), 'doctor.roster/batchSave' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\RosterController', 'action' => 'batchSave', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '->save(', 2 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'RosterLogic::batchSave', 1 => 'RosterLogic::getError', ), 'params' => array ( 0 => 'rosters', ), 'no_login' => false, ), 'doctor.roster/copy' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\RosterController', 'action' => 'copy', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'RosterLogic::copy', 1 => 'RosterLogic::getError', ), 'params' => array ( 0 => 'source_start_date', 1 => 'source_end_date', 2 => 'doctor_id', 3 => 'target_start_date', ), 'no_login' => false, ), 'doctor.roster/delete' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\RosterController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'RosterLogic::delete', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'doctor.roster/detail' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\RosterController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'RosterLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'doctor.roster/lists' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\RosterController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\doctor\\RosterLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'doctor_id', 1 => 'period', 2 => 'status', 3 => 'start_date', 4 => 'end_date', ), 'no_login' => false, ), 'doctor.roster/save' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\RosterController', 'action' => 'save', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'RosterLogic::save', 1 => 'RosterLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'doctor.statistics/deptLists' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\StatisticsController', 'action' => 'deptLists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\doctor\\StatisticsLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'doctor_id', 1 => 'time_type', 2 => 'start_date', 3 => 'end_date', 4 => 'dept_id', ), 'no_login' => false, ), 'doctor.statistics/lists' => array ( 'controller' => 'app\\adminapi\\controller\\doctor\\StatisticsController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\doctor\\StatisticsLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'doctor_id', 1 => 'time_type', 2 => 'start_date', 3 => 'end_date', 4 => 'dept_id', ), 'no_login' => false, ), 'download/export' => array ( 'controller' => 'app\\adminapi\\controller\\DownloadController', 'action' => 'export', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( 0 => '->delete(', ), 'external' => array ( ), 'logic' => array ( 0 => 'JsonService::fail', ), 'params' => array ( 0 => 'file', ), 'no_login' => true, ), 'fan/add' => array ( 'controller' => 'app\\adminapi\\controller\\FanController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'FanLogic::add', 1 => 'FanLogic::getError', ), 'params' => array ( 0 => 'creator_id', 1 => 'creator_name', 2 => 'phone', 3 => 'id_card', 4 => 'name', 5 => 'age', 6 => 'gender', 7 => 'remark', 8 => 'status', ), 'no_login' => false, ), 'fan/addVisitRecord' => array ( 'controller' => 'app\\adminapi\\controller\\FanController', 'action' => 'addVisitRecord', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'FanLogic::addVisitRecord', 1 => 'FanLogic::getError', ), 'params' => array ( 0 => 'operator_id', 1 => 'operator_name', 2 => 'fan_id', 3 => 'visit_type', 4 => 'visit_time', 5 => 'content', 6 => 'result', 7 => 'next_visit_time', ), 'no_login' => false, ), 'fan/delete' => array ( 'controller' => 'app\\adminapi\\controller\\FanController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'FanLogic::delete', 1 => 'FanLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'fan/deleteVisitRecord' => array ( 'controller' => 'app\\adminapi\\controller\\FanController', 'action' => 'deleteVisitRecord', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'FanLogic::deleteVisitRecord', 1 => 'FanLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'fan/detail' => array ( 'controller' => 'app\\adminapi\\controller\\FanController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'FanLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'fan/edit' => array ( 'controller' => 'app\\adminapi\\controller\\FanController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'FanLogic::edit', 1 => 'FanLogic::getError', ), 'params' => array ( 0 => 'phone', 1 => 'id', 2 => 'id_card', 3 => 'name', 4 => 'age', 5 => 'gender', 6 => 'remark', 7 => 'status', ), 'no_login' => false, ), 'fan/editVisitRecord' => array ( 'controller' => 'app\\adminapi\\controller\\FanController', 'action' => 'editVisitRecord', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'FanLogic::editVisitRecord', 1 => 'FanLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'visit_type', 2 => 'visit_time', 3 => 'content', 4 => 'result', 5 => 'next_visit_time', ), 'no_login' => false, ), 'fan/lists' => array ( 'controller' => 'app\\adminapi\\controller\\FanController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\FanLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'name', 1 => 'phone', 2 => 'gender', 3 => 'status', ), 'no_login' => false, ), 'fan/visitRecordLists' => array ( 'controller' => 'app\\adminapi\\controller\\FanController', 'action' => 'visitRecordLists', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'FanLogic::visitRecordLists', ), 'params' => array ( 0 => 'fan_id', ), 'no_login' => false, ), 'file/addCate' => array ( 'controller' => 'app\\adminapi\\controller\\FileController', 'action' => 'addCate', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'FileLogic::addCate', ), 'params' => array ( 0 => 'type', 1 => 'pid', 2 => 'name', ), 'no_login' => false, ), 'file/delCate' => array ( 'controller' => 'app\\adminapi\\controller\\FileController', 'action' => 'delCate', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'FileLogic::delCate', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'file/delete' => array ( 'controller' => 'app\\adminapi\\controller\\FileController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->delete(', 1 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'FileLogic::delete', ), 'params' => array ( 0 => 'ids', ), 'no_login' => false, ), 'file/editCate' => array ( 'controller' => 'app\\adminapi\\controller\\FileController', 'action' => 'editCate', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'FileLogic::editCate', ), 'params' => array ( 0 => 'name', 1 => 'id', ), 'no_login' => false, ), 'file/listCate' => array ( 'controller' => 'app\\adminapi\\controller\\FileController', 'action' => 'listCate', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\file\\FileCateLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'type', ), 'no_login' => false, ), 'file/lists' => array ( 'controller' => 'app\\adminapi\\controller\\FileController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\file\\FileLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'type', 1 => 'name', 2 => 'cid', ), 'no_login' => false, ), 'file/move' => array ( 'controller' => 'app\\adminapi\\controller\\FileController', 'action' => 'move', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'FileLogic::move', ), 'params' => array ( 0 => 'ids', 1 => 'cid', ), 'no_login' => false, ), 'file/rename' => array ( 'controller' => 'app\\adminapi\\controller\\FileController', 'action' => 'rename', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'FileLogic::rename', ), 'params' => array ( 0 => 'id', 1 => 'name', ), 'no_login' => false, ), 'finance.accountCost/add' => array ( 'controller' => 'app\\adminapi\\controller\\finance\\AccountCostController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'AccountCostLogic::add', 1 => 'AccountCostLogic::getError', ), 'params' => array ( 0 => 'cost_date', 1 => 'media_channel_code', 2 => 'dept_id', 3 => 'amount', 4 => 'remark', ), 'no_login' => false, ), 'finance.accountCost/delete' => array ( 'controller' => 'app\\adminapi\\controller\\finance\\AccountCostController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->delete(', ), 'external' => array ( ), 'logic' => array ( 0 => 'AccountCostLogic::delete', 1 => 'AccountCostLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'finance.accountCost/detail' => array ( 'controller' => 'app\\adminapi\\controller\\finance\\AccountCostController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'AccountCostLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'finance.accountCost/edit' => array ( 'controller' => 'app\\adminapi\\controller\\finance\\AccountCostController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'AccountCostLogic::edit', 1 => 'AccountCostLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'media_channel_code', 2 => 'dept_id', 3 => 'amount', 4 => 'remark', ), 'no_login' => false, ), 'finance.accountCost/lists' => array ( 'controller' => 'app\\adminapi\\controller\\finance\\AccountCostController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\finance\\AccountCostLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'remark', 1 => 'creator_name', 2 => 'updater_name', 3 => 'dept_name', 4 => 'start_date', 5 => 'end_date', 6 => 'media_channel_code', 7 => 'dept_id', ), 'no_login' => false, ), 'finance.accountLog/getUmChangeType' => array ( 'controller' => 'app\\adminapi\\controller\\finance\\AccountLogController', 'action' => 'getUmChangeType', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'finance.accountLog/lists' => array ( 'controller' => 'app\\adminapi\\controller\\finance\\AccountLogController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\finance\\AccountLogLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'change_type', 1 => 'type', 2 => 'user_info', 3 => 'start_time', 4 => 'end_time', ), 'no_login' => false, ), 'finance.deptPerformanceTarget/batchSave' => array ( 'controller' => 'app\\adminapi\\controller\\finance\\DeptPerformanceTargetController', 'action' => 'batchSave', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::transaction(', 1 => '->delete(', 2 => '->save(', 3 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DeptPerformanceTargetLogic::batchSave', 1 => 'DeptPerformanceTargetLogic::getError', 2 => 'DeptPerformanceTargetLogic::monthMatrix', ), 'params' => array ( 0 => 'year_month', 1 => 'items', ), 'no_login' => false, ), 'finance.deptPerformanceTarget/monthMatrix' => array ( 'controller' => 'app\\adminapi\\controller\\finance\\DeptPerformanceTargetController', 'action' => 'monthMatrix', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DeptPerformanceTargetLogic::monthMatrix', ), 'params' => array ( 0 => 'year_month', ), 'no_login' => false, ), 'finance.refund/log' => array ( 'controller' => 'app\\adminapi\\controller\\finance\\RefundController', 'action' => 'log', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'RefundLogic::refundLog', ), 'params' => array ( 0 => 'record_id', ), 'no_login' => false, ), 'finance.refund/record' => array ( 'controller' => 'app\\adminapi\\controller\\finance\\RefundController', 'action' => 'record', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\finance\\RefundRecordLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'sn', 1 => 'order_sn', 2 => 'refund_type', 3 => 'user_info', 4 => 'start_time', 5 => 'end_time', 6 => 'refund_status', ), 'no_login' => false, ), 'finance.refund/stat' => array ( 'controller' => 'app\\adminapi\\controller\\finance\\RefundController', 'action' => 'stat', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'RefundLogic::stat', ), 'params' => array ( ), 'no_login' => false, ), 'firstvisit.conversion/fansDetail' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\ConversionController', 'action' => 'fansDetail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'FirstVisitConversionLogic::fansDetail', ), 'params' => array ( 0 => 'entity_type', 1 => 'entity_id', 2 => 'admin_id', ), 'no_login' => false, ), 'firstvisit.conversion/overview' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\ConversionController', 'action' => 'overview', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'FirstVisitConversionLogic::overview', ), 'params' => array ( ), 'no_login' => false, ), 'firstvisit.doctorDashboard/overview' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\DoctorDashboardController', 'action' => 'overview', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'FirstVisitDoctorDashboardLogic::overview', ), 'params' => array ( 0 => 'active_only', 1 => 'dept_id', 2 => 'doctor_id', 3 => 'alert_threshold', ), 'no_login' => false, ), 'firstvisit.myPatient/assign' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'assign', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '->update([', 2 => '->insert(', ), 'external' => array ( ), 'logic' => array ( 0 => 'MyPatientLogic::canAccessDiagnosis', 1 => 'DiagnosisLogic::assign', 2 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'assistant_id', 2 => 'is_inherit', ), 'no_login' => false, ), 'firstvisit.myPatient/assistants' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'assistants', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::getAssistants', ), 'params' => array ( ), 'no_login' => false, ), 'firstvisit.myPatient/cancelAppointment' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'cancelAppointment', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'MyPatientLogic::canAccessDiagnosis', 1 => 'AppointmentLogic::cancel', 2 => 'AppointmentLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'firstvisit.myPatient/createAppointment' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'createAppointment', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', 1 => 'Db::startTrans', 2 => '->insertGetId(', ), 'external' => array ( ), 'logic' => array ( 0 => 'MyPatientLogic::canAccessDiagnosis', 1 => 'AppointmentLogic::create', 2 => 'AppointmentLogic::getError', ), 'params' => array ( 0 => 'patient_id', 1 => 'assistant_id', 2 => 'appointment_type', 3 => 'appointment_date', 4 => 'appointment_time', 5 => 'doctor_id', 6 => 'channel_source', 7 => 'channel_source_detail', 8 => 'remark', 9 => 'period', ), 'no_login' => false, ), 'firstvisit.myPatient/fillIdCard' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'fillIdCard', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'MyPatientLogic::canAccessDiagnosis', 1 => 'DiagnosisLogic::checkIdCard', 2 => 'DiagnosisLogic::fillIdCard', 3 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'id_card', ), 'no_login' => false, ), 'firstvisit.myPatient/lists' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\firstvisit\\MyPatientLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'status_filter', 1 => 'keyword', 2 => 'start_date', 3 => 'end_date', ), 'no_login' => false, ), 'firstvisit.myPatient/orderAddPayOrder' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'orderAddPayOrder', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::addPayOrder', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'firstvisit.myPatient/orderAuditPayment' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'orderAuditPayment', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', 1 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::auditPaymentSlip', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'action', 2 => 'remark', ), 'no_login' => false, ), 'firstvisit.myPatient/orderAuditPrescription' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'orderAuditPrescription', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::auditPrescription', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'action', 2 => 'remark', ), 'no_login' => false, ), 'firstvisit.myPatient/orderComplete' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'orderComplete', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::complete', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'fulfillment_status', ), 'no_login' => false, ), 'firstvisit.myPatient/orderDdcode' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'orderDdcode', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::ddcode', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'express_company', 2 => 'tracking_number', ), 'no_login' => false, ), 'firstvisit.myPatient/orderDetail' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'orderDetail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::detail', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'firstvisit.myPatient/orderEdit' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'orderEdit', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::edit', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'amount', ), 'no_login' => false, ), 'firstvisit.myPatient/orderRefund' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'orderRefund', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', 1 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::refund', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'refund_amount', 2 => 'reason', ), 'no_login' => false, ), 'firstvisit.myPatient/orderRevokePayAudit' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'orderRevokePayAudit', 'kind' => 'detail', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', 1 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::revokePayAudit', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'firstvisit.myPatient/orderRevokeRxAudit' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'orderRevokeRxAudit', 'kind' => 'detail', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::revokeRxAudit', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'firstvisit.myPatient/orderShip' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'orderShip', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::ship', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'express_company', 2 => 'tracking_number', 3 => 'ship_mode', ), 'no_login' => false, ), 'firstvisit.myPatient/orderUploadToPharmacy' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'orderUploadToPharmacy', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::uploadToPharmacy', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'firstvisit.myPatient/orderWithdraw' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'orderWithdraw', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::withdraw', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'firstvisit.myPatient/orders' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'orders', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\firstvisit\\MyPatientOrderLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'keyword', 1 => 'start_date', 2 => 'end_date', ), 'no_login' => false, ), 'firstvisit.myPatient/progress' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\MyPatientController', 'action' => 'progress', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\firstvisit\\MyPatientProgressLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'status', 1 => 'keyword', 2 => 'start_date', 3 => 'end_date', ), 'no_login' => false, ), 'firstvisit.registrationStats/overview' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\RegistrationStatsController', 'action' => 'overview', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'FirstVisitRegistrationStatsLogic::overview', ), 'params' => array ( 0 => 'time_type', 1 => 'dept_id', 2 => 'assistant_id', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/batchSetOperators' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'batchSetOperators', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::transaction(', 1 => '->insert(', 2 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'WecomPromotionLogic::batchSetOperators', ), 'params' => array ( 0 => 'pool_ids', 1 => 'operator_admin_ids', 2 => 'admin_ids', 3 => 'action', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/batchUpdatePools' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'batchUpdatePools', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WecomPromotionLogic::batchUpdatePools', ), 'params' => array ( 0 => 'pool_ids', 1 => 'changes', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/checkApiPermission' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'checkApiPermission', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( 0 => 'QywxCustomerAcquisitionApi', ), 'logic' => array ( 0 => 'WecomPromotionLogic::checkApiPermission', ), 'params' => array ( ), 'no_login' => false, ), 'firstvisit.wecomPromotion/createTag' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'createTag', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( 0 => 'QywxPromotionContactApi', ), 'logic' => array ( ), 'params' => array ( 0 => 'name', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/customerStatistics' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'customerStatistics', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WecomAcquisitionCustomerLogic::statistics', ), 'params' => array ( 0 => 'page', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/deleteLink' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'deleteLink', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'WecomPromotionLogic::deleteLink', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/deletePool' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'deletePool', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::transaction(', 1 => '->insert(', 2 => '->update([', ), 'external' => array ( 0 => 'QywxCustomerAcquisitionApi', ), 'logic' => array ( 0 => 'WecomPromotionLogic::deletePool', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/deleteRemoteLink' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'deleteRemoteLink', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WecomPromotionLogic::deleteRemoteLink', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/overview' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'overview', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WecomPromotionLogic::overview', ), 'params' => array ( ), 'no_login' => false, ), 'firstvisit.wecomPromotion/remoteLinkDetail' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'remoteLinkDetail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( 0 => 'QywxCustomerAcquisitionApi', ), 'logic' => array ( 0 => 'WecomPromotionLogic::remoteLinkDetail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/saveLink' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'saveLink', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WecomPromotionLogic::saveLink', ), 'params' => array ( 0 => 'id', 1 => 'pool_id', 2 => 'name', 3 => 'active_start', 4 => 'active_end', 5 => 'group_name', 6 => 'weight', 7 => 'status', 8 => 'daily_limit', 9 => 'remark', 10 => 'wecom_url', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/saveMember' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'saveMember', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::transaction(', ), 'external' => array ( ), 'logic' => array ( 0 => 'WecomPromotionLogic::saveMember', ), 'params' => array ( 0 => 'id', 1 => 'status', 2 => 'enabled', 3 => '_status_only', 4 => 'active_start', 5 => 'active_end', 6 => 'daily_limit', 7 => 'remark', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/savePool' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'savePool', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::transaction(', 1 => '->insertGetId(', 2 => '->update([', ), 'external' => array ( 0 => 'QywxPromotionContactApi', 1 => 'QywxCustomerAcquisitionApi', ), 'logic' => array ( 0 => 'WecomPromotionLogic::savePool', ), 'params' => array ( 0 => 'id', 1 => 'name', 2 => 'fallback_url', 3 => 'automation_config', 4 => 'member_admin_ids', 5 => 'skip_verify', 6 => 'status', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/saveWidget' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'saveWidget', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'WecomPromotionLogic::saveWidget', ), 'params' => array ( 0 => 'pool_id', 1 => 'id', 2 => 'widget_config', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/syncCustomers' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'syncCustomers', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WecomAcquisitionCustomerLogic::sync', ), 'params' => array ( 0 => 'promotion_link_id', 1 => 'id', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/syncMemberRange' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'syncMemberRange', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::transaction(', ), 'external' => array ( ), 'logic' => array ( 0 => 'WecomPromotionLogic::syncMemberRange', ), 'params' => array ( 0 => 'pool_id', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/syncRemoteLinks' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'syncRemoteLinks', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( 0 => 'QywxCustomerAcquisitionApi', ), 'logic' => array ( 0 => 'WecomPromotionLogic::syncRemoteLinks', ), 'params' => array ( 0 => 'pool_id', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/tagOptions' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'tagOptions', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( 0 => 'QywxPromotionContactApi', ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'firstvisit.wecomPromotion/toggleLink' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'toggleLink', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'WecomPromotionLogic::toggleLink', ), 'params' => array ( 0 => 'id', 1 => 'status', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/toggleMember' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'toggleMember', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WecomPromotionLogic::toggleMember', ), 'params' => array ( 0 => 'id', 1 => 'status', ), 'no_login' => false, ), 'firstvisit.wecomPromotion/uploadWelcomeMedia' => array ( 'controller' => 'app\\adminapi\\controller\\firstvisit\\WecomPromotionController', 'action' => 'uploadWelcomeMedia', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'type', ), 'no_login' => false, ), 'iam/callback' => array ( 'controller' => 'app\\adminapi\\controller\\IamController', 'action' => 'callback', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'error', 1 => 'state', 2 => 'code', ), 'no_login' => true, ), 'iam/config' => array ( 'controller' => 'app\\adminapi\\controller\\IamController', 'action' => 'config', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'IamLoginService::settings', ), 'params' => array ( ), 'no_login' => true, ), 'iam/exchange' => array ( 'controller' => 'app\\adminapi\\controller\\IamController', 'action' => 'exchange', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'ticket', ), 'no_login' => true, ), 'iam/start' => array ( 'controller' => 'app\\adminapi\\controller\\IamController', 'action' => 'start', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => true, ), 'login/account' => array ( 'controller' => 'app\\adminapi\\controller\\LoginController', 'action' => 'account', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => true, ), 'login/changeFirstPassword' => array ( 'controller' => 'app\\adminapi\\controller\\LoginController', 'action' => 'changeFirstPassword', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'LoginLogic::getError', ), 'params' => array ( 0 => 'password', 1 => 'password_confirm', ), 'no_login' => true, ), 'login/checkDbColumn' => array ( 'controller' => 'app\\adminapi\\controller\\LoginController', 'action' => 'checkDbColumn', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => true, ), 'login/logout' => array ( 'controller' => 'app\\adminapi\\controller\\LoginController', 'action' => 'logout', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'login/workWechatConfig' => array ( 'controller' => 'app\\adminapi\\controller\\LoginController', 'action' => 'workWechatConfig', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'LoginLogic::isForceBindWorkWechatFromEnv', 1 => 'LoginLogic::isWorkWechatOAuthConfigured', ), 'params' => array ( ), 'no_login' => true, ), 'login/workWechatLogin' => array ( 'controller' => 'app\\adminapi\\controller\\LoginController', 'action' => 'workWechatLogin', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'LoginLogic::getError', ), 'params' => array ( 0 => 'code', 1 => 'terminal', ), 'no_login' => true, ), 'notice.notice/detail' => array ( 'controller' => 'app\\adminapi\\controller\\notice\\NoticeController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'NoticeLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'notice.notice/set' => array ( 'controller' => 'app\\adminapi\\controller\\notice\\NoticeController', 'action' => 'set', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'NoticeLogic::set', 1 => 'NoticeLogic::getError', ), 'params' => array ( 0 => 'template', 1 => 'id', ), 'no_login' => false, ), 'notice.notice/settingLists' => array ( 'controller' => 'app\\adminapi\\controller\\notice\\NoticeController', 'action' => 'settingLists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\notice\\NoticeSettingLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'recipient', 1 => 'type', ), 'no_login' => false, ), 'notice.smsConfig/detail' => array ( 'controller' => 'app\\adminapi\\controller\\notice\\SmsConfigController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'SmsConfigLogic::detail', ), 'params' => array ( 0 => 'type', ), 'no_login' => false, ), 'notice.smsConfig/getConfig' => array ( 'controller' => 'app\\adminapi\\controller\\notice\\SmsConfigController', 'action' => 'getConfig', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'SmsConfigLogic::getConfig', ), 'params' => array ( ), 'no_login' => false, ), 'notice.smsConfig/setConfig' => array ( 'controller' => 'app\\adminapi\\controller\\notice\\SmsConfigController', 'action' => 'setConfig', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'SmsConfigLogic::setConfig', ), 'params' => array ( 0 => 'type', 1 => 'name', 2 => 'status', ), 'no_login' => false, ), 'order.alipayNotify/notify' => array ( 'controller' => 'app\\adminapi\\controller\\order\\AlipayNotifyController', 'action' => 'notify', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'order.order/actionLogStats' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'actionLogStats', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderActionLogLogic::statsByAdmin', ), 'params' => array ( 0 => 'start_time', 1 => 'end_time', 2 => 'limit', ), 'no_login' => false, ), 'order.order/actionLogs' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'actionLogs', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderActionLogLogic::listByOrderId', ), 'params' => array ( 0 => 'order_id', ), 'no_login' => false, ), 'order.order/alipay' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'alipay', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::alipayPay', 1 => 'OrderLogic::getError', ), 'params' => array ( 0 => 'is_supplement', 1 => 'order_no', ), 'no_login' => false, ), 'order.order/assignAssistant' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'assignAssistant', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::batchAssignAssistant', 1 => 'OrderLogic::getError', ), 'params' => array ( 0 => 'order_ids', 1 => 'assistant_id', ), 'no_login' => false, ), 'order.order/cancel' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'cancel', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::cancel', 1 => 'OrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'order.order/create' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'create', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', 1 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::create', 1 => 'OrderLogic::getError', ), 'params' => array ( 0 => 'creator_id', 1 => 'payment_channel', 2 => 'require_payment_slip_audit', 3 => 'create_type', 4 => 'patient_id', 5 => 'order_type', 6 => 'amount', 7 => 'remark', ), 'no_login' => false, ), 'order.order/createForWechatWork' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'createForWechatWork', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::createForWechatWork', 1 => 'OrderLogic::getError', ), 'params' => array ( 0 => 'creator_id', 1 => 'create_type', ), 'no_login' => false, ), 'order.order/delete' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->delete(', ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::delete', 1 => 'OrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'order.order/detail' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'order.order/edit' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::edit', 1 => 'OrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'remark', 2 => 'patient_id', 3 => 'order_type', 4 => 'payment_time', 5 => 'create_time', ), 'no_login' => false, ), 'order.order/export' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'export', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\order\\OrderLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'order_type', 1 => 'status', 2 => 'order_no', 3 => 'patient_keyword', 4 => 'create_time_start', 5 => 'create_time_end', 6 => 'assistant_id', 7 => 'patient_association', ), 'no_login' => false, ), 'order.order/lists' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\order\\OrderLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'order_type', 1 => 'status', 2 => 'order_no', 3 => 'patient_keyword', 4 => 'create_time_start', 5 => 'create_time_end', 6 => 'assistant_id', 7 => 'patient_association', ), 'no_login' => false, ), 'order.order/orderStats' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'orderStats', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::orderStats', ), 'params' => array ( 0 => 'order_type', 1 => 'days', 2 => 'end_time', ), 'no_login' => false, ), 'order.order/paidOrdersForDiagnosis' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'paidOrdersForDiagnosis', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::listPaidOrdersForDiagnosis', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'prescription_order_id', ), 'no_login' => false, ), 'order.order/pay' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'pay', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::pay', 1 => 'OrderLogic::getError', ), 'params' => array ( 0 => 'is_supplement', 1 => 'order_no', 2 => 'id', 3 => 'payment_method', ), 'no_login' => false, ), 'order.order/refund' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'refund', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::refund', 1 => 'OrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'order.order/setExempt' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'setExempt', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::setExempt', 1 => 'OrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'is_exempt', ), 'no_login' => false, ), 'order.order/split' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'split', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '->save(', 2 => '->delete(', ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::split', 1 => 'OrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'amounts', 2 => 'order_types', ), 'no_login' => false, ), 'order.order/syncWechatWorkBills' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'syncWechatWorkBills', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::syncFromWechatWorkBills', ), 'params' => array ( 0 => 'begin_time', 1 => 'end_time', ), 'no_login' => false, ), 'order.order/syncWechatWorkBillsDebug' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'syncWechatWorkBillsDebug', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'begin_time', 1 => 'end_time', 2 => 'payee_userid', ), 'no_login' => false, ), 'order.order/todayRevenue' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'todayRevenue', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::todayRevenue', ), 'params' => array ( ), 'no_login' => false, ), 'order.order/wechat' => array ( 'controller' => 'app\\adminapi\\controller\\order\\OrderController', 'action' => 'wechat', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::wechatPay', 1 => 'OrderLogic::getError', ), 'params' => array ( 0 => 'is_supplement', 1 => 'order_no', ), 'no_login' => false, ), 'order.wechatNotify/notify' => array ( 'controller' => 'app\\adminapi\\controller\\order\\WechatNotifyController', 'action' => 'notify', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::createFromCallback', ), 'params' => array ( ), 'no_login' => false, ), 'pharmacy.medicineMapping/catalogOptions' => array ( 'controller' => 'app\\adminapi\\controller\\pharmacy\\MedicineMappingController', 'action' => 'catalogOptions', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'MedicineMappingLogic::catalogOptions', ), 'params' => array ( 0 => 'keyword', 1 => 'limit', ), 'no_login' => false, ), 'pharmacy.medicineMapping/lists' => array ( 'controller' => 'app\\adminapi\\controller\\pharmacy\\MedicineMappingController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\pharmacy\\MedicineMappingLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'local_name', 1 => 'remote_keyword', 2 => 'mapping_status', ), 'no_login' => false, ), 'pharmacy.medicineMapping/save' => array ( 'controller' => 'app\\adminapi\\controller\\pharmacy\\MedicineMappingController', 'action' => 'save', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::transaction(', 1 => '->insert(', ), 'external' => array ( ), 'logic' => array ( 0 => 'MedicineMappingLogic::save', 1 => 'MedicineMappingLogic::getError', ), 'params' => array ( 0 => 'local_medicine_id', 1 => 'medicine_code', ), 'no_login' => false, ), 'pharmacy.medicineMapping/status' => array ( 'controller' => 'app\\adminapi\\controller\\pharmacy\\MedicineMappingController', 'action' => 'status', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'MedicineMappingLogic::status', ), 'params' => array ( ), 'no_login' => false, ), 'pharmacy.medicineMapping/sync' => array ( 'controller' => 'app\\adminapi\\controller\\pharmacy\\MedicineMappingController', 'action' => 'sync', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'MedicineMappingLogic::sync', 1 => 'MedicineMappingLogic::getError', ), 'params' => array ( ), 'no_login' => false, ), 'pharmacy.medicineMapping/unlink' => array ( 'controller' => 'app\\adminapi\\controller\\pharmacy\\MedicineMappingController', 'action' => 'unlink', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::transaction(', 1 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'MedicineMappingLogic::unlink', 1 => 'MedicineMappingLogic::getError', ), 'params' => array ( 0 => 'local_medicine_id', ), 'no_login' => false, ), 'qywx.customer/delete' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\CustomerController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::transaction(', 1 => '->update([', 2 => '->delete(', ), 'external' => array ( ), 'logic' => array ( 0 => 'CustomerLogic::deleteCustomer', 1 => 'CustomerLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'qywx.customer/getSyncSettings' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\CustomerController', 'action' => 'getSyncSettings', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'CustomerLogic::getSyncSettings', ), 'params' => array ( ), 'no_login' => false, ), 'qywx.customer/lists' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\CustomerController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\qywx\\CustomerLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'name', 1 => 'tag_ids', 2 => 'dedupe_mode', 3 => 'follow_user', 4 => 'add_time_start', 5 => 'add_time_end', 6 => 'add_way', ), 'no_login' => false, ), 'qywx.customer/saveSyncSettings' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\CustomerController', 'action' => 'saveSyncSettings', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', 1 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'CustomerLogic::saveSyncSettings', 1 => 'CustomerLogic::getError', ), 'params' => array ( 0 => 'auto_sync', 1 => 'interval', ), 'no_login' => false, ), 'qywx.customer/stats' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\CustomerController', 'action' => 'stats', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'CustomerLogic::getStats', ), 'params' => array ( ), 'no_login' => false, ), 'qywx.customer/sync' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\CustomerController', 'action' => 'sync', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'CustomerLogic::triggerBackgroundSync', 1 => 'CustomerLogic::getError', ), 'params' => array ( ), 'no_login' => false, ), 'qywx.customer/tagStats' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\CustomerController', 'action' => 'tagStats', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'CustomerLogic::getTagStats', ), 'params' => array ( ), 'no_login' => false, ), 'qywx.customer/todayArrival' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\CustomerController', 'action' => 'todayArrival', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'CustomerLogic::getTodayArrivalStats', ), 'params' => array ( ), 'no_login' => false, ), 'qywx.customer/todayArrivalList' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\CustomerController', 'action' => 'todayArrivalList', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'CustomerLogic::getTodayArrivalList', ), 'params' => array ( ), 'no_login' => false, ), 'qywx.message/archive_list' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\MessageController', 'action' => 'archive_list', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\qywx\\MsgArchiveLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'roomid', 1 => 'msgtype', 2 => 'session_id', 3 => 'staff_userid', 4 => 'external_userid', 5 => 'before_time', 6 => 'after_time', ), 'no_login' => false, ), 'qywx.message/archive_status' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\MessageController', 'action' => 'archive_status', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'MessageLogic::archiveStatus', ), 'params' => array ( ), 'no_login' => false, ), 'qywx.message/customer_of_staff' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\MessageController', 'action' => 'customer_of_staff', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'MessageLogic::customerOfStaff', ), 'params' => array ( 0 => 'staff_userid', 1 => 'keyword', 2 => 'limit', ), 'no_login' => false, ), 'qywx.message/mark_read' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\MessageController', 'action' => 'mark_read', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'MessageLogic::markSessionRead', ), 'params' => array ( 0 => 'session_id', ), 'no_login' => false, ), 'qywx.message/pull_archive' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\MessageController', 'action' => 'pull_archive', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( 0 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'QywxMsgArchiveService::pullLoop', 1 => 'QywxMsgArchiveService::downloadPendingMedia', ), 'params' => array ( 0 => 'max_batches', 1 => 'download', ), 'no_login' => false, ), 'qywx.message/send' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\MessageController', 'action' => 'send', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', 1 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'MessageLogic::createSendTask', 1 => 'MessageLogic::getError', ), 'params' => array ( 0 => 'chat_type', 1 => 'sender_userid', 2 => 'external_userids', 3 => 'msg_payload', ), 'no_login' => false, ), 'qywx.message/send_task_detail' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\MessageController', 'action' => 'send_task_detail', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( 0 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'MessageLogic::querySendTaskResult', ), 'params' => array ( 0 => 'task_id', 1 => 'cursor', ), 'no_login' => false, ), 'qywx.message/send_task_list' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\MessageController', 'action' => 'send_task_list', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\qywx\\MsgSendTaskLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'sender_userid', 1 => 'status', 2 => 'admin_id', ), 'no_login' => false, ), 'qywx.message/session_list' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\MessageController', 'action' => 'session_list', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\qywx\\MsgSessionLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'staff_userid', 1 => 'external_userid', 2 => 'roomid', 3 => 'session_type', 4 => 'admin_id', 5 => 'keyword', 6 => 'only_unread', ), 'no_login' => false, ), 'qywx.message/staff_list' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\MessageController', 'action' => 'staff_list', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'MessageLogic::staffList', ), 'params' => array ( 0 => 'keyword', ), 'no_login' => false, ), 'qywx.message/upload_to_qywx' => array ( 'controller' => 'app\\adminapi\\controller\\qywx\\MessageController', 'action' => 'upload_to_qywx', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'type', ), 'no_login' => false, ), 'recharge.recharge/getConfig' => array ( 'controller' => 'app\\adminapi\\controller\\recharge\\RechargeController', 'action' => 'getConfig', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'RechargeLogic::getConfig', ), 'params' => array ( ), 'no_login' => false, ), 'recharge.recharge/lists' => array ( 'controller' => 'app\\adminapi\\controller\\recharge\\RechargeController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\recharge\\RechargeLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'sn', 1 => 'pay_way', 2 => 'pay_status', 3 => 'user_info', 4 => 'start_time', 5 => 'end_time', ), 'no_login' => false, ), 'recharge.recharge/refund' => array ( 'controller' => 'app\\adminapi\\controller\\recharge\\RechargeController', 'action' => 'refund', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '::update([', 2 => '->dec(', 3 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'RechargeLogic::refund', ), 'params' => array ( 0 => 'recharge_id', ), 'no_login' => false, ), 'recharge.recharge/refundAgain' => array ( 'controller' => 'app\\adminapi\\controller\\recharge\\RechargeController', 'action' => 'refundAgain', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', ), 'external' => array ( ), 'logic' => array ( 0 => 'RechargeLogic::refundAgain', ), 'params' => array ( 0 => 'record_id', ), 'no_login' => false, ), 'recharge.recharge/setConfig' => array ( 'controller' => 'app\\adminapi\\controller\\recharge\\RechargeController', 'action' => 'setConfig', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'RechargeLogic::setConfig', 1 => 'RechargeLogic::getError', ), 'params' => array ( 0 => 'status', 1 => 'min_amount', ), 'no_login' => false, ), 'setting.customerService/getConfig' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\CustomerServiceController', 'action' => 'getConfig', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'CustomerServiceLogic::getConfig', ), 'params' => array ( ), 'no_login' => false, ), 'setting.customerService/setConfig' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\CustomerServiceController', 'action' => 'setConfig', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'CustomerServiceLogic::setConfig', ), 'params' => array ( ), 'no_login' => false, ), 'setting.desktopWorkstation/check' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\DesktopWorkstationController', 'action' => 'check', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DesktopWorkstationLogic::check', ), 'params' => array ( 0 => 'current_version', 1 => 'platform', 2 => 'arch', ), 'no_login' => true, ), 'setting.desktopWorkstation/getConfig' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\DesktopWorkstationController', 'action' => 'getConfig', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DesktopWorkstationLogic::getConfig', ), 'params' => array ( ), 'no_login' => false, ), 'setting.desktopWorkstation/setConfig' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\DesktopWorkstationController', 'action' => 'setConfig', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DesktopWorkstationLogic::setConfig', ), 'params' => array ( ), 'no_login' => false, ), 'setting.dict.dictData/add' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\dict\\DictDataController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DictDataLogic::save', ), 'params' => array ( 0 => 'name', 1 => 'value', 2 => 'sort', 3 => 'status', 4 => 'remark', 5 => 'id', 6 => 'type_id', ), 'no_login' => false, ), 'setting.dict.dictData/delete' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\dict\\DictDataController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DictDataLogic::delete', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'setting.dict.dictData/detail' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\dict\\DictDataController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DictDataLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'setting.dict.dictData/edit' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\dict\\DictDataController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DictDataLogic::save', ), 'params' => array ( 0 => 'name', 1 => 'value', 2 => 'sort', 3 => 'status', 4 => 'remark', 5 => 'id', 6 => 'type_id', ), 'no_login' => false, ), 'setting.dict.dictData/lists' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\dict\\DictDataController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\setting\\dict\\DictDataLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'name', 1 => 'type_value', 2 => 'status', 3 => 'type_id', ), 'no_login' => false, ), 'setting.dict.dictType/add' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\dict\\DictTypeController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DictTypeLogic::add', ), 'params' => array ( 0 => 'name', 1 => 'type', 2 => 'status', 3 => 'remark', ), 'no_login' => false, ), 'setting.dict.dictType/all' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\dict\\DictTypeController', 'action' => 'all', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DictTypeLogic::getAllData', ), 'params' => array ( ), 'no_login' => false, ), 'setting.dict.dictType/delete' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\dict\\DictTypeController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DictTypeLogic::delete', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'setting.dict.dictType/detail' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\dict\\DictTypeController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DictTypeLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'setting.dict.dictType/edit' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\dict\\DictTypeController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::update([', 1 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'DictTypeLogic::edit', ), 'params' => array ( 0 => 'id', 1 => 'name', 2 => 'type', 3 => 'status', 4 => 'remark', ), 'no_login' => false, ), 'setting.dict.dictType/lists' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\dict\\DictTypeController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\setting\\dict\\DictTypeLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'name', 1 => 'type', 2 => 'status', ), 'no_login' => false, ), 'setting.hotSearch/getConfig' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\HotSearchController', 'action' => 'getConfig', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'HotSearchLogic::getConfig', ), 'params' => array ( ), 'no_login' => false, ), 'setting.hotSearch/setConfig' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\HotSearchController', 'action' => 'setConfig', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->delete(', 1 => '->saveAll(', ), 'external' => array ( ), 'logic' => array ( 0 => 'HotSearchLogic::setConfig', 1 => 'HotSearchLogic::getError', ), 'params' => array ( 0 => 'data', 1 => 'status', ), 'no_login' => false, ), 'setting.pay.payConfig/getConfig' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\pay\\PayConfigController', 'action' => 'getConfig', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PayConfigLogic::getConfig', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'setting.pay.payConfig/lists' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\pay\\PayConfigController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\setting\\pay\\PayConfigLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'setting.pay.payConfig/setConfig' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\pay\\PayConfigController', 'action' => 'setConfig', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PayConfigLogic::setConfig', ), 'params' => array ( 0 => 'id', 1 => 'config', 2 => 'name', 3 => 'icon', 4 => 'sort', 5 => 'remark', ), 'no_login' => false, ), 'setting.pay.payWay/getPayWay' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\pay\\PayWayController', 'action' => 'getPayWay', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PayWayLogic::getPayWay', ), 'params' => array ( ), 'no_login' => false, ), 'setting.pay.payWay/setPayWay' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\pay\\PayWayController', 'action' => 'setPayWay', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'setting.storage/change' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\StorageController', 'action' => 'change', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'StorageLogic::change', ), 'params' => array ( 0 => 'engine', ), 'no_login' => false, ), 'setting.storage/detail' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\StorageController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'StorageLogic::detail', ), 'params' => array ( ), 'no_login' => false, ), 'setting.storage/lists' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\StorageController', 'action' => 'lists', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'StorageLogic::lists', ), 'params' => array ( ), 'no_login' => false, ), 'setting.storage/setup' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\StorageController', 'action' => 'setup', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'StorageLogic::setup', ), 'params' => array ( 0 => 'status', 1 => 'engine', 2 => 'bucket', 3 => 'access_key', 4 => 'secret_key', 5 => 'domain', 6 => 'region', ), 'no_login' => false, ), 'setting.system.cache/clear' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\system\\CacheController', 'action' => 'clear', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'CacheLogic::clear', ), 'params' => array ( ), 'no_login' => false, ), 'setting.system.log/lists' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\system\\LogController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\setting\\system\\LogLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'admin_name', 1 => 'url', 2 => 'ip', 3 => 'type', 4 => 'create_time', 5 => 'start_time', 6 => 'end_time', ), 'no_login' => false, ), 'setting.system.system/info' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\system\\SystemController', 'action' => 'info', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'SystemLogic::getInfo', ), 'params' => array ( ), 'no_login' => false, ), 'setting.transactionSettings/getConfig' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\TransactionSettingsController', 'action' => 'getConfig', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'TransactionSettingsLogic::getConfig', ), 'params' => array ( ), 'no_login' => false, ), 'setting.transactionSettings/setConfig' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\TransactionSettingsController', 'action' => 'setConfig', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'TransactionSettingsLogic::setConfig', ), 'params' => array ( 0 => 'cancel_unpaid_orders', 1 => 'verification_orders', 2 => 'cancel_unpaid_orders_times', 3 => 'verification_orders_times', ), 'no_login' => false, ), 'setting.user.user/getConfig' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\user\\UserController', 'action' => 'getConfig', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'setting.user.user/getRegisterConfig' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\user\\UserController', 'action' => 'getRegisterConfig', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'setting.user.user/setConfig' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\user\\UserController', 'action' => 'setConfig', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'setting.user.user/setRegisterConfig' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\user\\UserController', 'action' => 'setRegisterConfig', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'setting.web.webSetting/getAgreement' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\web\\WebSettingController', 'action' => 'getAgreement', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WebSettingLogic::getAgreement', ), 'params' => array ( ), 'no_login' => false, ), 'setting.web.webSetting/getCopyright' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\web\\WebSettingController', 'action' => 'getCopyright', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WebSettingLogic::getCopyright', ), 'params' => array ( ), 'no_login' => false, ), 'setting.web.webSetting/getSiteStatistics' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\web\\WebSettingController', 'action' => 'getSiteStatistics', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WebSettingLogic::getSiteStatistics', ), 'params' => array ( ), 'no_login' => false, ), 'setting.web.webSetting/getWebsite' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\web\\WebSettingController', 'action' => 'getWebsite', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WebSettingLogic::getWebsiteInfo', ), 'params' => array ( ), 'no_login' => false, ), 'setting.web.webSetting/setAgreement' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\web\\WebSettingController', 'action' => 'setAgreement', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WebSettingLogic::setAgreement', ), 'params' => array ( 0 => 'service_content', 1 => 'privacy_content', 2 => 'health_content', 3 => 'service_title', 4 => 'privacy_title', 5 => 'health_title', ), 'no_login' => false, ), 'setting.web.webSetting/setCopyright' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\web\\WebSettingController', 'action' => 'setCopyright', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WebSettingLogic::setCopyright', 1 => 'WebSettingLogic::getError', ), 'params' => array ( 0 => 'config', ), 'no_login' => false, ), 'setting.web.webSetting/setSiteStatistics' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\web\\WebSettingController', 'action' => 'setSiteStatistics', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WebSettingLogic::setSiteStatistics', ), 'params' => array ( 0 => 'clarity_code', ), 'no_login' => false, ), 'setting.web.webSetting/setWebsite' => array ( 'controller' => 'app\\adminapi\\controller\\setting\\web\\WebSettingController', 'action' => 'setWebsite', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WebSettingLogic::setWebsiteInfo', ), 'params' => array ( 0 => 'h5_favicon', 1 => 'web_favicon', 2 => 'web_logo', 3 => 'login_image', 4 => 'shop_logo', 5 => 'pc_logo', 6 => 'pc_ico', 7 => 'name', 8 => 'shop_name', 9 => 'pc_title', 10 => 'pc_desc', 11 => 'pc_keywords', ), 'no_login' => false, ), 'stats.assistantPerformance/overview' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\AssistantPerformanceController', 'action' => 'overview', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'AssistantPerformanceLogic::overview', ), 'params' => array ( 0 => 'time_type', 1 => 'start_date', 2 => 'end_date', ), 'no_login' => false, ), 'stats.autoAssignLog/lists' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\AutoAssignLogController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\stats\\AutoAssignLogLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'run_date', 1 => 'action', 2 => 'assistant_id', 3 => 'batch_no', 4 => 'stat_month', 5 => 'keyword', 6 => 'start_date', 7 => 'end_date', 8 => 'start_time', 9 => 'end_time', 10 => 'is_rollback', ), 'no_login' => false, ), 'stats.autoAssignLog/rollback' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\AutoAssignLogController', 'action' => 'rollback', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'AutoAssignLogLogic::rollback', 1 => 'AutoAssignLogLogic::getError', ), 'params' => array ( 0 => 'ids', ), 'no_login' => false, ), 'stats.commissionSettlement/channelOptions' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\CommissionSettlementController', 'action' => 'channelOptions', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::channelOptions', ), 'params' => array ( ), 'no_login' => false, ), 'stats.commissionSettlement/confirmFinalize' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\CommissionSettlementController', 'action' => 'confirmFinalize', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '->delete(', 2 => '->insert(', 3 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::commissionSettlementConfirmFinalize', ), 'params' => array ( 0 => 'reconcile_note', ), 'no_login' => false, ), 'stats.commissionSettlement/confirmRevoke' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\CommissionSettlementController', 'action' => 'confirmRevoke', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '->delete(', 2 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::commissionSettlementConfirmRevoke', ), 'params' => array ( ), 'no_login' => false, ), 'stats.commissionSettlement/confirmStatus' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\CommissionSettlementController', 'action' => 'confirmStatus', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::commissionSettlementConfirmStatus', ), 'params' => array ( ), 'no_login' => false, ), 'stats.commissionSettlement/deptOptions' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\CommissionSettlementController', 'action' => 'deptOptions', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::deptOptions', ), 'params' => array ( ), 'no_login' => false, ), 'stats.commissionSettlement/orderLines' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\CommissionSettlementController', 'action' => 'orderLines', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( 0 => 'logisticsTrace', ), 'logic' => array ( 0 => 'YejiStatsLogic::commissionSettlementOrderLines', ), 'params' => array ( 0 => 'bucket', 1 => 'page', ), 'no_login' => false, ), 'stats.commissionSettlement/overview' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\CommissionSettlementController', 'action' => 'overview', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::commissionSettlementOverview', ), 'params' => array ( ), 'no_login' => false, ), 'stats.commissionSettlement/saveReconcile' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\CommissionSettlementController', 'action' => 'saveReconcile', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', 1 => '->insert(', ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::commissionSettlementSaveReconcile', ), 'params' => array ( 0 => 'reconcile_note', ), 'no_login' => false, ), 'stats.conversion/overview' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\ConversionController', 'action' => 'overview', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'ConversionLogic::overview', ), 'params' => array ( 0 => 'include_filters', 1 => 'exclude_cancelled_appointments', 2 => 'order_metric_mode', 3 => 'dimension', 4 => 'media_channel_code', 5 => 'dept_id', 6 => 'include_members', ), 'no_login' => false, ), 'stats.doctorDailyStats/overview' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\DoctorDailyStatsController', 'action' => 'overview', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DoctorDailyStatsLogic::overview', ), 'params' => array ( 0 => 'doctor_id', 1 => 'dept_ids', ), 'no_login' => false, ), 'stats.performanceDashboard/overview' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\PerformanceDashboardController', 'action' => 'overview', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PerformanceDashboardLogic::overview', ), 'params' => array ( 0 => 'ranking_dept_id', ), 'no_login' => false, ), 'stats.personalAccountCost/add' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\PersonalAccountCostController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PersonalAccountCostLogic::add', 1 => 'PersonalAccountCostLogic::getError', ), 'params' => array ( 0 => 'cost_date', 1 => 'media_source', 2 => 'amount', 3 => 'remark', ), 'no_login' => false, ), 'stats.personalAccountCost/delete' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\PersonalAccountCostController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->delete(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PersonalAccountCostLogic::delete', 1 => 'PersonalAccountCostLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'stats.personalAccountCost/detail' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\PersonalAccountCostController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PersonalAccountCostLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'stats.personalAccountCost/edit' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\PersonalAccountCostController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PersonalAccountCostLogic::edit', 1 => 'PersonalAccountCostLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'amount', 2 => 'remark', ), 'no_login' => false, ), 'stats.personalAccountCost/lists' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\PersonalAccountCostController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\stats\\PersonalAccountCostLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'media_source', 1 => 'creator_name', 2 => 'remark', 3 => 'dept_id', 4 => 'start_date', 5 => 'end_date', ), 'no_login' => false, ), 'stats.personalYeji/add' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\PersonalYejiController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PersonalYejiLogic::add', 1 => 'PersonalYejiLogic::getError', ), 'params' => array ( 0 => 'yeji_date', 1 => 'media_source', 2 => 'add_fans_count', 3 => 'total_open_count', 4 => 'unreplied_count', 5 => 'paid_appointment_count', 6 => 'free_appointment_count', 7 => 'interview_count', 8 => 'order_amount', 9 => 'completed_order_count', 10 => 'remark', ), 'no_login' => false, ), 'stats.personalYeji/delete' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\PersonalYejiController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->delete(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PersonalYejiLogic::delete', 1 => 'PersonalYejiLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'stats.personalYeji/detail' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\PersonalYejiController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PersonalYejiLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'stats.personalYeji/edit' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\PersonalYejiController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PersonalYejiLogic::edit', 1 => 'PersonalYejiLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'add_fans_count', 2 => 'total_open_count', 3 => 'unreplied_count', 4 => 'paid_appointment_count', 5 => 'free_appointment_count', 6 => 'interview_count', 7 => 'order_amount', 8 => 'completed_order_count', 9 => 'remark', ), 'no_login' => false, ), 'stats.personalYeji/lists' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\PersonalYejiController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\stats\\PersonalYejiLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'media_source', 1 => 'creator_name', 2 => 'remark', 3 => 'dept_id', 4 => 'start_date', 5 => 'end_date', 6 => 'creator_id', ), 'no_login' => false, ), 'stats.revisitRate/assignLines' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\RevisitRateController', 'action' => 'assignLines', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'RevisitRateLogic::assignLines', ), 'params' => array ( ), 'no_login' => false, ), 'stats.revisitRate/deptOptions' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\RevisitRateController', 'action' => 'deptOptions', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'RevisitRateLogic::deptOptions', ), 'params' => array ( ), 'no_login' => false, ), 'stats.revisitRate/overview' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\RevisitRateController', 'action' => 'overview', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'RevisitRateLogic::overview', ), 'params' => array ( ), 'no_login' => false, ), 'stats.revisitRate/visitOrderLines' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\RevisitRateController', 'action' => 'visitOrderLines', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'RevisitRateLogic::visitOrderLines', ), 'params' => array ( 0 => 'slot', 1 => 'month', ), 'no_login' => false, ), 'stats.selfInput/mediaSourceOptions' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\SelfInputController', 'action' => 'mediaSourceOptions', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'SelfInputLogic::mediaSourceOptions', ), 'params' => array ( ), 'no_login' => false, ), 'stats.selfInput/overview' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\SelfInputController', 'action' => 'overview', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'SelfInputLogic::overview', ), 'params' => array ( 0 => 'media_source', 1 => 'dept_id', ), 'no_login' => false, ), 'stats.yejiStats/appointmentLines' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\YejiStatsController', 'action' => 'appointmentLines', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::leaderboardAppointmentLines', ), 'params' => array ( 0 => 'assistant_id', 1 => 'admin_id', 2 => 'page', ), 'no_login' => false, ), 'stats.yejiStats/assignLines' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\YejiStatsController', 'action' => 'assignLines', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::assignLines', ), 'params' => array ( 0 => 'assistant_id', 1 => 'admin_id', ), 'no_login' => false, ), 'stats.yejiStats/channelOptions' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\YejiStatsController', 'action' => 'channelOptions', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::channelOptions', ), 'params' => array ( ), 'no_login' => false, ), 'stats.yejiStats/deptOptions' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\YejiStatsController', 'action' => 'deptOptions', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::deptOptions', ), 'params' => array ( ), 'no_login' => false, ), 'stats.yejiStats/leadLines' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\YejiStatsController', 'action' => 'leadLines', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::leadLineList', ), 'params' => array ( 0 => 'dept_id', 1 => 'page', ), 'no_login' => false, ), 'stats.yejiStats/leaderboard' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\YejiStatsController', 'action' => 'leaderboard', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::assistantLeaderboards', ), 'params' => array ( ), 'no_login' => false, ), 'stats.yejiStats/multi' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\YejiStatsController', 'action' => 'multi', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::overviewBatch', ), 'params' => array ( 0 => 'ranges', 1 => 'dept_ids', 2 => 'tag_id', 3 => 'channel_code', ), 'no_login' => false, ), 'stats.yejiStats/overview' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\YejiStatsController', 'action' => 'overview', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::overview', ), 'params' => array ( ), 'no_login' => false, ), 'stats.yejiStats/revisitBreakdown' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\YejiStatsController', 'action' => 'revisitBreakdown', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::revisitDeptAssistantBreakdown', ), 'params' => array ( 0 => 'dept_id', 1 => 'revisit_slot', ), 'no_login' => false, ), 'stats.yejiStats/unassignedBreakdown' => array ( 'controller' => 'app\\adminapi\\controller\\stats\\YejiStatsController', 'action' => 'unassignedBreakdown', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'YejiStatsLogic::unassignedCenterBreakdown', ), 'params' => array ( ), 'no_login' => false, ), 'tcm.bloodRecord/add' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\BloodRecordController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'BloodRecordLogic::add', 1 => 'BloodRecordLogic::getError', ), 'params' => array ( 0 => 'record_date', ), 'no_login' => false, ), 'tcm.bloodRecord/delete' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\BloodRecordController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'BloodRecordLogic::delete', 1 => 'BloodRecordLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.bloodRecord/detail' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\BloodRecordController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'BloodRecordLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.bloodRecord/edit' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\BloodRecordController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'BloodRecordLogic::edit', 1 => 'BloodRecordLogic::getError', ), 'params' => array ( 0 => 'record_date', ), 'no_login' => false, ), 'tcm.bloodRecord/getBloodSugarTrend' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\BloodRecordController', 'action' => 'getBloodSugarTrend', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'BloodRecordLogic::getBloodSugarTrend', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'patient_id', 2 => 'start_date', 3 => 'end_date', 4 => 'days', ), 'no_login' => false, ), 'tcm.bloodRecord/getRecordsByPatient' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\BloodRecordController', 'action' => 'getRecordsByPatient', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'BloodRecordLogic::getRecordsByPatient', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'patient_id', ), 'no_login' => false, ), 'tcm.diagnosis/add' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::add', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'admin_id', 1 => 'phone', 2 => 'id_card', 3 => 'patient_id', 4 => 'past_history', 5 => 'tongue_images', 6 => 'report_files', 7 => 'diagnosis_date', 8 => 'create_source', ), 'no_login' => false, ), 'tcm.diagnosis/addTrackingNote' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'addTrackingNote', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', 1 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'TrackingNoteLogic::addOrAppend', 1 => 'TrackingNoteLogic::getError', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'tracking_content', 2 => 'admin_id', 3 => 'content', ), 'no_login' => false, ), 'tcm.diagnosis/addWechatChatRecord' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'addWechatChatRecord', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'patient_id', 2 => 'content', 3 => 'staff_userid', 4 => 'staff_name', 5 => 'external_userid', 6 => 'external_name', 7 => 'msg_type', 8 => 'media_url', 9 => 'chat_time', 10 => 'direction', ), 'no_login' => false, ), 'tcm.diagnosis/aiAnalysis' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'aiAnalysis', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisAiLogic::analysis', 1 => 'DiagnosisAiLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'model', ), 'no_login' => false, ), 'tcm.diagnosis/aiAssistant' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'aiAssistant', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisAiLogic::assistant', 1 => 'DiagnosisAiLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'task', 2 => 'prompt', ), 'no_login' => false, ), 'tcm.diagnosis/aiAssistantStream' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'aiAssistantStream', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisAiLogic::prepareAssistant', 1 => 'DiagnosisAiLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'task', 2 => 'prompt', ), 'no_login' => false, ), 'tcm.diagnosis/aiPatientOptions' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'aiPatientOptions', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisAiLogic::patientOptions', 1 => 'DiagnosisAiLogic::getError', ), 'params' => array ( ), 'no_login' => false, ), 'tcm.diagnosis/aiReports' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'aiReports', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisAiLogic::getSavedReports', 1 => 'DiagnosisAiLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.diagnosis/assign' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'assign', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '->update([', 2 => '->insert(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::assign', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'assistant_id', 2 => 'is_inherit', ), 'no_login' => false, ), 'tcm.diagnosis/assignLogList' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'assignLogList', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::assignLogList', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.diagnosis/assistantDiagnosisStats' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'assistantDiagnosisStats', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::assistantDiagnosisStats', ), 'params' => array ( 0 => 'days', 1 => 'end_time', 2 => 'start_time', ), 'no_login' => false, ), 'tcm.diagnosis/attachLocalCallRecording' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'attachLocalCallRecording', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::attachLocalCallRecording', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'file_url', 2 => 'admin_id', 3 => 'call_record_id', ), 'no_login' => false, ), 'tcm.diagnosis/bindCallRoom' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'bindCallRoom', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::bindCallRoom', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'room_id', 2 => 'admin_id', 3 => 'call_record_id', ), 'no_login' => false, ), 'tcm.diagnosis/checkIdCard' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'checkIdCard', 'kind' => 'report', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::checkIdCard', ), 'params' => array ( 0 => 'id_card', 1 => 'id', ), 'no_login' => false, ), 'tcm.diagnosis/checkPhone' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'checkPhone', 'kind' => 'report', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::checkPhone', ), 'params' => array ( 0 => 'phone', 1 => 'id', ), 'no_login' => false, ), 'tcm.diagnosis/createManualCallRecord' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'createManualCallRecord', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::createManualCallRecord', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'admin_id', ), 'no_login' => false, ), 'tcm.diagnosis/delete' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::delete', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.diagnosis/deleteWechatChatRecord' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'deleteWechatChatRecord', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.diagnosis/detail' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( 0 => 'markAssignRead', 1 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::detail', 1 => 'DiagnosisLogic::markAssignRead', ), 'params' => array ( 0 => 'id', 1 => 'user_id', ), 'no_login' => false, ), 'tcm.diagnosis/diagnosisDetail' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'diagnosisDetail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::diagnosisDetail', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'user_id', ), 'no_login' => false, ), 'tcm.diagnosis/edit' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::edit', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'phone', 2 => 'id_card', 3 => 'past_history', 4 => 'tongue_images', 5 => 'report_files', 6 => 'diagnosis_date', 7 => 'show_card', ), 'no_login' => false, ), 'tcm.diagnosis/editAiReport' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'editAiReport', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisAiLogic::editReport', 1 => 'DiagnosisAiLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'report_id', 2 => 'content', ), 'no_login' => false, ), 'tcm.diagnosis/endCall' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'endCall', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::endCall', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'admin_id', 2 => 'call_record_id', ), 'no_login' => false, ), 'tcm.diagnosis/fillIdCard' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'fillIdCard', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::fillIdCard', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'id_card', ), 'no_login' => false, ), 'tcm.diagnosis/finishCallTranscription' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'finishCallTranscription', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::transaction(', 1 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::finishCallTranscription', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'admin_id', 1 => 'transcription_session_id', 2 => 'status', 3 => 'expected_segment_count', ), 'no_login' => false, ), 'tcm.diagnosis/generateAiReports' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'generateAiReports', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisAiLogic::generateAll', 1 => 'DiagnosisAiLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.diagnosis/generateMiniProgramQrcode' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'generateMiniProgramQrcode', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::generateMiniProgramQrcode', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'doctor_id', 2 => 'patient_id', 3 => 'share_user_id', 4 => 'mini_program_path', ), 'no_login' => false, ), 'tcm.diagnosis/generateOrderQrcode' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'generateOrderQrcode', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::generateOrderQrcode', 1 => 'DiagnosisLogic::getError', 2 => 'OrderActionLogLogic::record', ), 'params' => array ( 0 => 'share_user_id', 1 => 'order_no', ), 'no_login' => false, ), 'tcm.diagnosis/generatePatientAiReport' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'generatePatientAiReport', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PatientAiReportLogic::generate', 1 => 'PatientAiReportLogic::getError', ), 'params' => array ( 0 => 'patient_id', 1 => 'model', ), 'no_login' => false, ), 'tcm.diagnosis/getAssistants' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'getAssistants', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::getAssistants', ), 'params' => array ( ), 'no_login' => false, ), 'tcm.diagnosis/getCallRecords' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'getCallRecords', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::getCallRecords', ), 'params' => array ( 0 => 'diagnosis_id', ), 'no_login' => false, ), 'tcm.diagnosis/getCallSignature' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'getCallSignature', 'kind' => 'report', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::getCallSignature', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'admin_id', 1 => 'diagnosis_id', 2 => 'patient_id', 3 => 'appointment_id', ), 'no_login' => false, ), 'tcm.diagnosis/getDoctorSignature' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'getDoctorSignature', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::getDoctorSignature', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'patient_id', ), 'no_login' => false, ), 'tcm.diagnosis/getDoctors' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'getDoctors', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::getDoctors', ), 'params' => array ( ), 'no_login' => false, ), 'tcm.diagnosis/getImChatMessages' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'getImChatMessages', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::canViewReadonlyDiagnosis', 1 => 'DiagnosisLogic::getError', 2 => 'DiagnosisLogic::getImChatMessagesForDiagnosis', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'only_archived', ), 'no_login' => false, ), 'tcm.diagnosis/getMsgAuditPermitUsers' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'getMsgAuditPermitUsers', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::getMsgAuditPermitUsers', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( ), 'no_login' => false, ), 'tcm.diagnosis/getPatientSignature' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'getPatientSignature', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::getPatientSignature', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'patient_id', ), 'no_login' => false, ), 'tcm.diagnosis/getWechatChatRecords' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'getWechatChatRecords', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'patient_id', ), 'no_login' => false, ), 'tcm.diagnosis/getWechatExternalContact' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'getWechatExternalContact', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::getWechatExternalContact', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'patient_id', ), 'no_login' => false, ), 'tcm.diagnosis/guahaoLogList' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'guahaoLogList', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::guahaoLogList', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.diagnosis/lists' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\tcm\\DiagnosisLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'patient_name', 1 => 'patient_id', 2 => 'gender', 3 => 'diagnosis_type', 4 => 'syndrome_type', 5 => 'assistant_id', 6 => 'status', 7 => 'diagnosis_date', 8 => 'start_time', 9 => 'end_time', 10 => 'pending_assign', 11 => 'diagnosis_confirmed', 12 => 'appointment_date', 13 => 'has_appointment', 14 => 'completed_appointment', 15 => 'only_has_prescription', 16 => 'assistant_dept_id', 17 => 'latest_appointment_start_date', 18 => 'latest_appointment_end_date', 19 => 'latest_appointment_channel_source', 20 => 'latest_assign_start_date', 21 => 'latest_assign_end_date', 22 => 'sort_unserved_days', 23 => 'pending_assign_keyword', 24 => 'keyword', 25 => 'pending_assign_order_month', ), 'no_login' => false, ), 'tcm.diagnosis/patientAiReports' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'patientAiReports', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PatientAiReportLogic::reports', 1 => 'PatientAiReportLogic::getError', ), 'params' => array ( 0 => 'patient_id', ), 'no_login' => false, ), 'tcm.diagnosis/readonlyDetail' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'readonlyDetail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( 0 => 'markAssignRead', 1 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::readonlyDetail', 1 => 'DiagnosisLogic::getError', 2 => 'DiagnosisLogic::markAssignRead', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.diagnosis/searchPatient' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'searchPatient', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'keyword', ), 'no_login' => false, ), 'tcm.diagnosis/setRevisitSlotStartOffset' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'setRevisitSlotStartOffset', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::setRevisitSlotStartOffset', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'revisit_slot_start_offset', ), 'no_login' => false, ), 'tcm.diagnosis/startCall' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'startCall', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::startCall', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'admin_id', 2 => 'patient_id', 3 => 'call_type', 4 => 'appointment_id', ), 'no_login' => false, ), 'tcm.diagnosis/startCallTranscription' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'startCallTranscription', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::transaction(', 1 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::startCallTranscription', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'admin_id', 1 => 'transcription_session_id', 2 => 'language', ), 'no_login' => false, ), 'tcm.diagnosis/startCloudRecording' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'startCloudRecording', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( 0 => 'TencentImService', ), 'logic' => array ( 0 => 'DiagnosisLogic::startCloudRecording', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'admin_id', 2 => 'call_record_id', ), 'no_login' => false, ), 'tcm.diagnosis/test' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'test', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( ), 'no_login' => false, ), 'tcm.diagnosis/trackingNotes' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'trackingNotes', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'TrackingNoteLogic::getByDiagnosis', ), 'params' => array ( 0 => 'diagnosis_id', ), 'no_login' => false, ), 'tcm.diagnosis/trackingWindow' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'trackingWindow', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::canViewReadonlyDiagnosis', 1 => 'DiagnosisLogic::getError', 2 => 'DiagnosisLogic::fetchTrackingWindow', ), 'params' => array ( 0 => 'id', 1 => 'start_date', 2 => 'end_date', ), 'no_login' => false, ), 'tcm.diagnosis/triggerImChatSync' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'triggerImChatSync', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::canViewReadonlyDiagnosis', 1 => 'DiagnosisLogic::getError', 2 => 'DiagnosisLogic::syncImChatArchiveStep', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'sync_token', 2 => 'scope', ), 'no_login' => false, ), 'tcm.diagnosis/uploadCallRecording' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'uploadCallRecording', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::uploadCallRecording', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'admin_id', 2 => 'call_record_id', 3 => 'upload_id', 4 => 'file_name', 5 => 'mime_type', 6 => 'file_size', 7 => 'chunk_index', 8 => 'chunk_total', ), 'no_login' => false, ), 'tcm.diagnosis/upsertCallTranscriptSegments' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'upsertCallTranscriptSegments', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::transaction(', 1 => '->insert(', 2 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::upsertCallTranscriptSegments', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'admin_id', 1 => 'transcription_session_id', 2 => 'segments', ), 'no_login' => false, ), 'tcm.diagnosis/watchCall' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisController', 'action' => 'watchCall', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisLogic::getAssistantWatchRoomParams', 1 => 'DiagnosisLogic::getError', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'admin_id', ), 'no_login' => false, ), 'tcm.diagnosisTodo/add' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisTodoController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisTodoLogic::add', 1 => 'DiagnosisTodoLogic::getError', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'remind_time', 2 => 'content', ), 'no_login' => false, ), 'tcm.diagnosisTodo/cancel' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisTodoController', 'action' => 'cancel', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisTodoLogic::cancel', 1 => 'DiagnosisTodoLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.diagnosisTodo/detail' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisTodoController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DiagnosisTodoLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.diagnosisTodo/lists' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DiagnosisTodoController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\tcm\\DiagnosisTodoLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'status', 2 => 'creator_id', ), 'no_login' => false, ), 'tcm.dietRecord/add' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DietRecordController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DietRecordLogic::add', 1 => 'DietRecordLogic::getError', ), 'params' => array ( 0 => 'record_date', ), 'no_login' => false, ), 'tcm.dietRecord/delete' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DietRecordController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DietRecordLogic::delete', 1 => 'DietRecordLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.dietRecord/detail' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DietRecordController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DietRecordLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.dietRecord/edit' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DietRecordController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DietRecordLogic::edit', 1 => 'DietRecordLogic::getError', ), 'params' => array ( 0 => 'record_date', ), 'no_login' => false, ), 'tcm.dietRecord/getRecordsByPatient' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\DietRecordController', 'action' => 'getRecordsByPatient', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DietRecordLogic::getRecordsByPatient', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'patient_id', ), 'no_login' => false, ), 'tcm.exerciseRecord/add' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\ExerciseRecordController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'ExerciseRecordLogic::add', 1 => 'ExerciseRecordLogic::getError', ), 'params' => array ( 0 => 'record_date', ), 'no_login' => false, ), 'tcm.exerciseRecord/delete' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\ExerciseRecordController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::destroy(', ), 'external' => array ( ), 'logic' => array ( 0 => 'ExerciseRecordLogic::delete', 1 => 'ExerciseRecordLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.exerciseRecord/detail' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\ExerciseRecordController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'ExerciseRecordLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.exerciseRecord/edit' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\ExerciseRecordController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'ExerciseRecordLogic::edit', 1 => 'ExerciseRecordLogic::getError', ), 'params' => array ( 0 => 'record_date', ), 'no_login' => false, ), 'tcm.exerciseRecord/getExerciseTrend' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\ExerciseRecordController', 'action' => 'getExerciseTrend', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'ExerciseRecordLogic::getExerciseTrend', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'patient_id', 2 => 'start_date', 3 => 'end_date', 4 => 'days', ), 'no_login' => false, ), 'tcm.exerciseRecord/getRecordsByPatient' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\ExerciseRecordController', 'action' => 'getRecordsByPatient', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'ExerciseRecordLogic::getRecordsByPatient', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'patient_id', ), 'no_login' => false, ), 'tcm.prescription/add' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::transaction(', 1 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLogic::add', 1 => 'PrescriptionLogic::getError', ), 'params' => array ( 0 => 'creator_id', 1 => 'diagnosis_id', 2 => 'appointment_id', 3 => 'prescription_date', 4 => 'herbs', 5 => 'prescription_name', 6 => 'prescription_type', 7 => 'dosage_amount', 8 => 'dosage_unit', 9 => 'dosage_bag_count', 10 => 'need_decoction', 11 => 'bags_per_dose', 12 => 'patient_id', 13 => 'patient_name', 14 => 'gender', 15 => 'age', 16 => 'phone', 17 => 'visit_no', 18 => 'pulse', 19 => 'pulse_condition', 20 => 'tongue', 21 => 'tongue_image', 22 => 'clinical_diagnosis', 23 => 'case_record', 24 => 'dose_count', 25 => 'dose_unit', 26 => 'usage_days', 27 => 'times_per_day', 28 => 'usage_instruction', 29 => 'usage_time', 30 => 'usage_way', 31 => 'dietary_taboo', 32 => 'usage_notes', 33 => 'amount', 34 => 'doctor_signature', 35 => 'template_id', 36 => 'is_shared', 37 => 'visible_role_ids', ), 'no_login' => false, ), 'tcm.prescription/audit' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionController', 'action' => 'audit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', 1 => '::transaction(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLogic::audit', 1 => 'PrescriptionLogic::getError', 2 => 'PrescriptionLogic::consumeLastAuditWecomNotify', ), 'params' => array ( 0 => 'id', 1 => 'action', 2 => 'remark', ), 'no_login' => false, ), 'tcm.prescription/delete' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLogic::delete', 1 => 'PrescriptionLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescription/detail' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLogic::detail', 1 => 'PrescriptionLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescription/edit' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLogic::edit', 1 => 'PrescriptionLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescription/getByAppointment' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionController', 'action' => 'getByAppointment', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLogic::getByAppointment', 1 => 'PrescriptionLogic::getError', ), 'params' => array ( 0 => 'appointment_id', ), 'no_login' => false, ), 'tcm.prescription/listByDiagnosis' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionController', 'action' => 'listByDiagnosis', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLogic::listByDiagnosis', 1 => 'PrescriptionLogic::getError', ), 'params' => array ( 0 => 'diagnosis_id', ), 'no_login' => false, ), 'tcm.prescription/lists' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\tcm\\PrescriptionLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'patient_name', 1 => 'sn', 2 => 'create_time', 3 => 'start_time', 4 => 'end_time', 5 => 'creator_ids', 6 => 'audit_filter', 7 => 'source_filter', ), 'no_login' => false, ), 'tcm.prescription/patchPatient' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionController', 'action' => 'patchPatient', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLogic::patchPatientContact', 1 => 'PrescriptionLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'patient_name', 2 => 'phone', 3 => 'gender', ), 'no_login' => false, ), 'tcm.prescription/void' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionController', 'action' => 'void', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLogic::void', 1 => 'PrescriptionLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionAi/detail' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionAiController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionAiLogic::detail', ), 'params' => array ( ), 'no_login' => false, ), 'tcm.prescriptionAi/regenerate' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionAiController', 'action' => 'regenerate', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( 0 => '::transaction(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionAiLogic::regenerate', ), 'params' => array ( ), 'no_login' => false, ), 'tcm.prescriptionAi/reports' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionAiController', 'action' => 'reports', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionAiLogic::reports', ), 'params' => array ( 0 => 'prescription_id', 1 => 'diagnosis_id', ), 'no_login' => false, ), 'tcm.prescriptionAi/retry' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionAiController', 'action' => 'retry', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( 0 => '::transaction(', 1 => '->update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionAiLogic::retry', ), 'params' => array ( ), 'no_login' => false, ), 'tcm.prescriptionAi/review' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionAiController', 'action' => 'review', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( 0 => '->insert(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionAiLogic::review', ), 'params' => array ( ), 'no_login' => false, ), 'tcm.prescriptionAi/statistics' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionAiController', 'action' => 'statistics', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionAiLogic::statistics', ), 'params' => array ( 0 => 'date_from', 1 => 'date_to', 2 => 'doctor_id', ), 'no_login' => false, ), 'tcm.prescriptionAi/statuses' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionAiController', 'action' => 'statuses', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionAiLogic::statuses', ), 'params' => array ( ), 'no_login' => false, ), 'tcm.prescriptionLibrary/add' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionLibraryController', 'action' => 'add', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLibraryLogic::add', 1 => 'PrescriptionLibraryLogic::getError', ), 'params' => array ( 0 => 'creator_id', 1 => 'creator_name', 2 => 'formula_type', 3 => 'herbs', ), 'no_login' => false, ), 'tcm.prescriptionLibrary/aiReports' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionLibraryController', 'action' => 'aiReports', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLibraryAiLogic::getSavedReports', 1 => 'PrescriptionLibraryAiLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionLibrary/delete' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionLibraryController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->delete(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLibraryLogic::canManageAllPrescriptions', 1 => 'PrescriptionLibraryLogic::delete', 2 => 'PrescriptionLibraryLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionLibrary/detail' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionLibraryController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLibraryLogic::canManageAllPrescriptions', 1 => 'PrescriptionLibraryLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionLibrary/edit' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionLibraryController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLibraryLogic::canManageAllPrescriptions', 1 => 'PrescriptionLibraryLogic::edit', 2 => 'PrescriptionLibraryLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'formula_type', 2 => 'herbs', ), 'no_login' => false, ), 'tcm.prescriptionLibrary/editAiReport' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionLibraryController', 'action' => 'editAiReport', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLibraryAiLogic::editReport', 1 => 'PrescriptionLibraryAiLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'report_id', 2 => 'content', ), 'no_login' => false, ), 'tcm.prescriptionLibrary/generateAiReports' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionLibraryController', 'action' => 'generateAiReports', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLibraryAiLogic::generateAll', 1 => 'PrescriptionLibraryAiLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionLibrary/lists' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionLibraryController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\tcm\\PrescriptionLibraryLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'prescription_name', 1 => 'is_public', 2 => 'creator_id', 3 => 'formula_type', 4 => 'prescribing_creator_id', ), 'no_login' => false, ), 'tcm.prescriptionLibrary/missingAiReports' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionLibraryController', 'action' => 'missingAiReports', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionLibraryAiLogic::getMissingReports', 1 => 'PrescriptionLibraryAiLogic::getError', ), 'params' => array ( 0 => 'limit', ), 'no_login' => false, ), 'tcm.prescriptionOrder/addLog' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'addLog', 'kind' => 'report', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::addLog', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'summary', 2 => 'prescription_audit_status', 3 => 'payment_slip_audit_status', 4 => 'prescription_audit_remark', 5 => 'payment_slip_audit_remark', ), 'no_login' => false, ), 'tcm.prescriptionOrder/addPayOrder' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'addPayOrder', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::addPayOrder', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/auditPayment' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'auditPayment', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', 1 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::auditPaymentSlip', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'action', 2 => 'remark', ), 'no_login' => false, ), 'tcm.prescriptionOrder/auditPrescription' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'auditPrescription', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::auditPrescription', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'action', 2 => 'remark', ), 'no_login' => false, ), 'tcm.prescriptionOrder/batchAssignAssistant' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'batchAssignAssistant', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::canSeeAllPrescriptionOrders', 1 => 'PrescriptionOrderLogic::batchAssignAssistant', 2 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'order_ids', 1 => 'assistant_id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/complete' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'complete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::complete', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'fulfillment_status', ), 'no_login' => false, ), 'tcm.prescriptionOrder/confirmGancaoSubmission' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'confirmGancaoSubmission', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::confirmGancaoSubmission', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'resolution', 2 => 'remote_order_no', 3 => 'note', ), 'no_login' => false, ), 'tcm.prescriptionOrder/create' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'create', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', 1 => '::transaction(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::create', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'prescription_id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/ddcode' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'ddcode', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::ddcode', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'express_company', 2 => 'tracking_number', ), 'no_login' => false, ), 'tcm.prescriptionOrder/detail' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::detail', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/edit' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::edit', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/editTime' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'editTime', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::transaction(', 1 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::editTime', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'create_time', ), 'no_login' => false, ), 'tcm.prescriptionOrder/export' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'export', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\tcm\\PrescriptionOrderLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( 0 => 'GancaoScmRecipelService', ), 'logic' => array ( ), 'params' => array ( 0 => 'prescription_id', 1 => 'diagnosis_id', 2 => 'fulfillment_status', 3 => 'prescription_audit_status', 4 => 'payment_slip_audit_status', 5 => 'order_no', 6 => 'create_time', 7 => 'start_time', 8 => 'end_time', 9 => 'exclude_fulfillment_cancelled', 10 => 'audit_admin_id', 11 => 'audit_admin_keyword', 12 => 'yeji_er_center_revisit_only', 13 => 'assistant_id', 14 => 'yeji_er_center_revisit_slot', 15 => 'express_company', 16 => 'service_channel', 17 => 'supply_mode', 18 => 'has_aux_formula', 19 => 'scene', 20 => 'patient_id', 21 => 'context_diagnosis_id', 22 => 'yeji_order_drawer', 23 => 'yeji_drawer_match_table_performance', 24 => 'assistant_dept_id', 25 => 'channel_code', 26 => 'doctor_id', 27 => 'dept_ids', 28 => 'yeji_table_row_dept_ids', 29 => 'patient_keyword', 30 => 'express_keyword', ), 'no_login' => false, ), 'tcm.prescriptionOrder/linkPayOrder' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'linkPayOrder', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::linkPayOrder', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/lists' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\tcm\\PrescriptionOrderLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( 0 => 'GancaoScmRecipelService', ), 'logic' => array ( ), 'params' => array ( 0 => 'prescription_id', 1 => 'diagnosis_id', 2 => 'fulfillment_status', 3 => 'prescription_audit_status', 4 => 'payment_slip_audit_status', 5 => 'order_no', 6 => 'create_time', 7 => 'start_time', 8 => 'end_time', 9 => 'exclude_fulfillment_cancelled', 10 => 'audit_admin_id', 11 => 'audit_admin_keyword', 12 => 'yeji_er_center_revisit_only', 13 => 'assistant_id', 14 => 'yeji_er_center_revisit_slot', 15 => 'express_company', 16 => 'service_channel', 17 => 'supply_mode', 18 => 'has_aux_formula', 19 => 'scene', 20 => 'patient_id', 21 => 'context_diagnosis_id', 22 => 'yeji_order_drawer', 23 => 'yeji_drawer_match_table_performance', 24 => 'assistant_dept_id', 25 => 'channel_code', 26 => 'doctor_id', 27 => 'dept_ids', 28 => 'yeji_table_row_dept_ids', 29 => 'patient_keyword', 30 => 'express_keyword', ), 'no_login' => false, ), 'tcm.prescriptionOrder/logisticsJdUpdate' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'logisticsJdUpdate', 'kind' => 'report', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( 0 => 'ExpressTrackingService', ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::logisticsJdUpdate', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/logisticsTrace' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'logisticsTrace', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( 0 => 'logisticsTrace', 1 => 'ExpressTrackingService', 2 => 'kuaidi', 3 => 'ExpressTrackService', ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::logisticsTrace', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'phone_tail', 1 => 'id', 2 => 'express_company', ), 'no_login' => false, ), 'tcm.prescriptionOrder/logs' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'logs', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::getLogs', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/paidPayOrders' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'paidPayOrders', 'kind' => 'other', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'OrderLogic::listPaidOrdersForDiagnosis', 1 => 'PrescriptionOrderLogic::depositMinAmount', ), 'params' => array ( 0 => 'diagnosis_id', 1 => 'prescription_order_id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/patchPrescriptionPatient' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'patchPrescriptionPatient', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::patchPrescriptionPatient', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'patient_name', 2 => 'phone', ), 'no_login' => false, ), 'tcm.prescriptionOrder/patchPrescriptionUsage' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'patchPrescriptionUsage', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::patchPrescriptionUsage', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/previewGancaoRecipel' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'previewGancaoRecipel', 'kind' => 'report', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( 0 => 'GancaoScmRecipelService', ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::previewGancaoRecipel', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'dose_count', 2 => 'medication_days', ), 'no_login' => false, ), 'tcm.prescriptionOrder/refund' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'refund', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', 1 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::refund', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'refund_amount', 1 => 'id', 2 => 'reason', ), 'no_login' => false, ), 'tcm.prescriptionOrder/requestCompletion' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'requestCompletion', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::requestCompletion', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/revokePayAudit' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'revokePayAudit', 'kind' => 'detail', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->update([', 1 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::revokePayAudit', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/revokeRxAudit' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'revokeRxAudit', 'kind' => 'detail', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::revokeRxAudit', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/setShipMode' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'setShipMode', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::setShipMode', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'ship_mode', ), 'no_login' => false, ), 'tcm.prescriptionOrder/ship' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'ship', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::ship', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'express_company', 2 => 'tracking_number', 3 => 'ship_mode', ), 'no_login' => false, ), 'tcm.prescriptionOrder/submitGancaoRecipel' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'submitGancaoRecipel', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::uploadToPharmacy', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/unlinkPayOrder' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'unlinkPayOrder', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::unlinkPayOrder', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/updateAmount' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'updateAmount', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::updateAmount', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'amount', ), 'no_login' => false, ), 'tcm.prescriptionOrder/uploadToPharmacy' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'uploadToPharmacy', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::uploadToPharmacy', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tcm.prescriptionOrder/withdraw' => array ( 'controller' => 'app\\adminapi\\controller\\tcm\\PrescriptionOrderController', 'action' => 'withdraw', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'PrescriptionOrderLogic::withdraw', 1 => 'PrescriptionOrderLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tools.generator/dataTable' => array ( 'controller' => 'app\\adminapi\\controller\\tools\\GeneratorController', 'action' => 'dataTable', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\tools\\DataTableLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'name', 1 => 'comment', ), 'no_login' => false, ), 'tools.generator/delete' => array ( 'controller' => 'app\\adminapi\\controller\\tools\\GeneratorController', 'action' => 'delete', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '->delete(', ), 'external' => array ( ), 'logic' => array ( 0 => 'GeneratorLogic::deleteTable', 1 => 'GeneratorLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tools.generator/detail' => array ( 'controller' => 'app\\adminapi\\controller\\tools\\GeneratorController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'GeneratorLogic::getTableDetail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tools.generator/download' => array ( 'controller' => 'app\\adminapi\\controller\\tools\\GeneratorController', 'action' => 'download', 'kind' => 'write', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'GeneratorLogic::download', 1 => 'GeneratorLogic::getError', ), 'params' => array ( 0 => 'file', ), 'no_login' => true, ), 'tools.generator/edit' => array ( 'controller' => 'app\\adminapi\\controller\\tools\\GeneratorController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '::update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'GeneratorLogic::editTable', 1 => 'GeneratorLogic::getError', ), 'params' => array ( 0 => 'id', 1 => 'table_name', 2 => 'table_comment', 3 => 'template_type', 4 => 'author', 5 => 'remark', 6 => 'generate_type', 7 => 'module_name', 8 => 'class_dir', 9 => 'class_comment', 10 => 'table_column', ), 'no_login' => false, ), 'tools.generator/generate' => array ( 'controller' => 'app\\adminapi\\controller\\tools\\GeneratorController', 'action' => 'generate', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'GeneratorLogic::generate', 1 => 'GeneratorLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tools.generator/generateTable' => array ( 'controller' => 'app\\adminapi\\controller\\tools\\GeneratorController', 'action' => 'generateTable', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\tools\\GenerateTableLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'table_name', 1 => 'table_comment', ), 'no_login' => false, ), 'tools.generator/getModels' => array ( 'controller' => 'app\\adminapi\\controller\\tools\\GeneratorController', 'action' => 'getModels', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'GeneratorLogic::getAllModels', ), 'params' => array ( ), 'no_login' => false, ), 'tools.generator/preview' => array ( 'controller' => 'app\\adminapi\\controller\\tools\\GeneratorController', 'action' => 'preview', 'kind' => 'detail', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'GeneratorLogic::preview', 1 => 'GeneratorLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'tools.generator/selectTable' => array ( 'controller' => 'app\\adminapi\\controller\\tools\\GeneratorController', 'action' => 'selectTable', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', ), 'external' => array ( ), 'logic' => array ( 0 => 'GeneratorLogic::selectTable', 1 => 'GeneratorLogic::getError', ), 'params' => array ( 0 => 'table', ), 'no_login' => false, ), 'tools.generator/syncColumn' => array ( 'controller' => 'app\\adminapi\\controller\\tools\\GeneratorController', 'action' => 'syncColumn', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '->delete(', ), 'external' => array ( ), 'logic' => array ( 0 => 'GeneratorLogic::syncColumn', 1 => 'GeneratorLogic::getError', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'upload/file' => array ( 'controller' => 'app\\adminapi\\controller\\UploadController', 'action' => 'file', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'UploadService::file', ), 'params' => array ( 0 => 'cid', ), 'no_login' => false, ), 'upload/image' => array ( 'controller' => 'app\\adminapi\\controller\\UploadController', 'action' => 'image', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'UploadService::image', ), 'params' => array ( 0 => 'cid', ), 'no_login' => false, ), 'upload/ossConfirm' => array ( 'controller' => 'app\\adminapi\\controller\\UploadController', 'action' => 'ossConfirm', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'DirectUploadService::confirm', ), 'params' => array ( 0 => 'type', 1 => 'key', 2 => 'admin_id', 3 => 'name', 4 => 'cid', 5 => 'size', 6 => 'content_type', ), 'no_login' => false, ), 'upload/ossCredentials' => array ( 'controller' => 'app\\adminapi\\controller\\UploadController', 'action' => 'ossCredentials', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'DirectUploadService::issueCredentials', ), 'params' => array ( 0 => 'type', 1 => 'name', ), 'no_login' => false, ), 'upload/video' => array ( 'controller' => 'app\\adminapi\\controller\\UploadController', 'action' => 'video', 'kind' => 'other', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::create(', ), 'external' => array ( ), 'logic' => array ( 0 => 'UploadService::video', ), 'params' => array ( 0 => 'cid', ), 'no_login' => false, ), 'user.user/adjustMoney' => array ( 'controller' => 'app\\adminapi\\controller\\user\\UserController', 'action' => 'adjustMoney', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => 'Db::startTrans', 1 => '->save(', ), 'external' => array ( ), 'logic' => array ( 0 => 'UserLogic::adjustUserMoney', ), 'params' => array ( 0 => 'user_id', 1 => 'action', 2 => 'num', 3 => 'remark', ), 'no_login' => false, ), 'user.user/detail' => array ( 'controller' => 'app\\adminapi\\controller\\user\\UserController', 'action' => 'detail', 'kind' => 'detail', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'UserLogic::detail', ), 'params' => array ( 0 => 'id', ), 'no_login' => false, ), 'user.user/edit' => array ( 'controller' => 'app\\adminapi\\controller\\user\\UserController', 'action' => 'edit', 'kind' => 'write', 'lists' => NULL, 'http' => 'POST', 'writes' => array ( 0 => '::update([', ), 'external' => array ( ), 'logic' => array ( 0 => 'UserLogic::setUserInfo', ), 'params' => array ( 0 => 'id', 1 => 'field', 2 => 'value', ), 'no_login' => false, ), 'user.user/lists' => array ( 'controller' => 'app\\adminapi\\controller\\user\\UserController', 'action' => 'lists', 'kind' => 'list', 'lists' => 'app\\adminapi\\lists\\user\\UserLists', 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'keyword', 1 => 'channel', 2 => 'create_time_start', 3 => 'create_time_end', ), 'no_login' => false, ), 'user.user/search' => array ( 'controller' => 'app\\adminapi\\controller\\user\\UserController', 'action' => 'search', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( ), 'params' => array ( 0 => 'keyword', ), 'no_login' => false, ), 'workbench/index' => array ( 'controller' => 'app\\adminapi\\controller\\WorkbenchController', 'action' => 'index', 'kind' => 'report', 'lists' => NULL, 'http' => 'GET', 'writes' => array ( ), 'external' => array ( ), 'logic' => array ( 0 => 'WorkbenchLogic::index', ), 'params' => array ( ), 'no_login' => false, ), );