diff --git a/.gitignore b/.gitignore index bf6d78e4..aff1e894 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ /config/xs.user.ini /config/alipay/*.crt /config/wxpay/*.pem +/db/migrations/schema.php /public/robots.txt /public/sitemap.xml /public/h5 diff --git a/app/Console/Tasks/CloseTradeTask.php b/app/Console/Tasks/CloseTradeTask.php index 3918d40c..efe84b3a 100644 --- a/app/Console/Tasks/CloseTradeTask.php +++ b/app/Console/Tasks/CloseTradeTask.php @@ -48,7 +48,7 @@ class CloseTradeTask extends Task */ if ($alipayTrade->trade_status == 'TRADE_SUCCESS') { - $this->eventsManager->fire('pay:afterPay', $this, $trade); + $this->eventsManager->fire('Trade:afterPay', $this, $trade); $allowClosed = false; @@ -85,7 +85,7 @@ class CloseTradeTask extends Task */ if ($wxpayTrade->trade_state == 'SUCCESS') { - $this->eventsManager->fire('pay:afterPay', $this, $trade); + $this->eventsManager->fire('Trade:afterPay', $this, $trade); $allowClosed = false; diff --git a/app/Console/Tasks/DeliverTask.php b/app/Console/Tasks/DeliverTask.php index 874401a4..d41a22b7 100644 --- a/app/Console/Tasks/DeliverTask.php +++ b/app/Console/Tasks/DeliverTask.php @@ -13,6 +13,7 @@ use App\Repos\ImGroupUser as ImGroupUserRepo; use App\Repos\Order as OrderRepo; use App\Repos\User as UserRepo; use App\Services\Logic\Notice\OrderFinish as OrderFinishNotice; +use App\Services\Logic\Point\PointHistory as PointHistoryService; use Phalcon\Mvc\Model; use Phalcon\Mvc\Model\Resultset; use Phalcon\Mvc\Model\ResultsetInterface; @@ -36,17 +37,20 @@ class DeliverTask extends Task foreach ($tasks as $task) { - /** - * @var array $itemInfo - */ - $itemInfo = $task->item_info; + $orderId = $task->item_info['order']['id'] ?? 0; - $order = $orderRepo->findById($itemInfo['order']['id']); + $order = $orderRepo->findById($orderId); - if (!$order) continue; + if (!$order) { + $task->status = TaskModel::STATUS_FAILED; + $task->update(); + continue; + } try { + $this->db->begin(); + switch ($order->item_type) { case OrderModel::ITEM_COURSE: $this->handleCourseOrder($order); @@ -59,14 +63,24 @@ class DeliverTask extends Task break; } - $this->finishOrder($order); + $order->status = OrderModel::STATUS_FINISHED; + + if ($order->update() === false) { + throw new \RuntimeException('Update Order Status Failed'); + } $task->status = TaskModel::STATUS_FINISHED; - $task->update(); + if ($task->update() === false) { + throw new \RuntimeException('Update Task Status Failed'); + } + + $this->db->commit(); } catch (\Exception $e) { + $this->db->rollback(); + $task->try_count += 1; $task->priority += 1; @@ -76,14 +90,16 @@ class DeliverTask extends Task $task->update(); - $logger->info('Order Process Exception ' . kg_json_encode([ - 'code' => $e->getCode(), + $logger->error('Order Process Exception ' . kg_json_encode([ + 'file' => $e->getFile(), + 'line' => $e->getLine(), 'message' => $e->getMessage(), 'task' => $task->toArray(), ])); } if ($task->status == TaskModel::STATUS_FINISHED) { + $this->handleOrderConsumePoint($order); $this->handleOrderFinishNotice($order); } elseif ($task->status == TaskModel::STATUS_FAILED) { $this->handleOrderRefund($order); @@ -91,20 +107,8 @@ class DeliverTask extends Task } } - protected function finishOrder(OrderModel $order) - { - $order->status = OrderModel::STATUS_FINISHED; - - if ($order->update() === false) { - throw new \RuntimeException('Finish Order Failed'); - } - } - protected function handleCourseOrder(OrderModel $order) { - /** - * @var array $itemInfo - */ $itemInfo = $order->item_info; $courseUser = new CourseUserModel(); @@ -127,23 +131,21 @@ class DeliverTask extends Task $groupUser = $groupUserRepo->findGroupUser($group->id, $order->owner_id); - if ($groupUser) return; + if (!$groupUser) { - $groupUser = new ImGroupUserModel(); + $groupUser = new ImGroupUserModel(); - $groupUser->group_id = $group->id; - $groupUser->user_id = $order->owner_id; + $groupUser->group_id = $group->id; + $groupUser->user_id = $order->owner_id; - if ($groupUser->create() === false) { - throw new \RuntimeException('Create Group User Failed'); + if ($groupUser->create() === false) { + throw new \RuntimeException('Create Group User Failed'); + } } } protected function handlePackageOrder(OrderModel $order) { - /** - * @var array $itemInfo - */ $itemInfo = $order->item_info; foreach ($itemInfo['courses'] as $course) { @@ -168,24 +170,24 @@ class DeliverTask extends Task $groupUser = $groupUserRepo->findGroupUser($group->id, $order->owner_id); - if ($groupUser) continue; + if (!$groupUser) { - $groupUser = new ImGroupUserModel(); + $groupUser = new ImGroupUserModel(); - $groupUser->group_id = $group->id; - $groupUser->user_id = $order->owner_id; + $groupUser->group_id = $group->id; + $groupUser->user_id = $order->owner_id; - if ($groupUser->create() === false) { - throw new \RuntimeException('Create Group User Failed'); + if ($groupUser->create() === false) { + throw new \RuntimeException('Create Group User Failed'); + } + + continue; } } } protected function handleVipOrder(OrderModel $order) { - /** - * @var array $itemInfo - */ $itemInfo = $order->item_info; $userRepo = new UserRepo(); @@ -199,6 +201,13 @@ class DeliverTask extends Task } } + protected function handleOrderConsumePoint(OrderModel $order) + { + $service = new PointHistoryService(); + + $service->handleOrderConsume($order); + } + protected function handleOrderFinishNotice(OrderModel $order) { $notice = new OrderFinishNotice(); diff --git a/app/Console/Tasks/NoticeTask.php b/app/Console/Tasks/NoticeTask.php index b736b80c..7d17318d 100644 --- a/app/Console/Tasks/NoticeTask.php +++ b/app/Console/Tasks/NoticeTask.php @@ -66,7 +66,6 @@ class NoticeTask extends Task $logger->info('Notice Process Exception ' . kg_json_encode([ 'file' => $e->getFile(), 'line' => $e->getLine(), - 'code' => $e->getCode(), 'message' => $e->getMessage(), 'task' => $task->toArray(), ])); diff --git a/app/Console/Tasks/PointGiftAwardTask.php b/app/Console/Tasks/PointGiftAwardTask.php deleted file mode 100644 index 72eec301..00000000 --- a/app/Console/Tasks/PointGiftAwardTask.php +++ /dev/null @@ -1,213 +0,0 @@ -getLogger('point'); - - $tasks = $this->findTasks(); - - if ($tasks->count() == 0) { - return; - } - - $redeemRepo = new PointRedeemRepo(); - - foreach ($tasks as $task) { - - $redeem = $redeemRepo->findById($task->item_id); - - if (!$redeem) continue; - - try { - - switch ($redeem->gift_type) { - case PointGiftModel::TYPE_COURSE: - $this->handleCourseAward($redeem); - break; - case PointGiftModel::TYPE_GOODS: - $this->handleCommodityAward($redeem); - break; - } - - $this->finishRedeem($redeem); - - $task->status = TaskModel::STATUS_FINISHED; - - $task->update(); - - } catch (\Exception $e) { - - $task->try_count += 1; - $task->priority += 1; - - if ($task->try_count > self::TRY_COUNT) { - $task->status = TaskModel::STATUS_FAILED; - } - - $task->update(); - - $logger->info('Point Gift Award Exception ' . kg_json_encode([ - 'code' => $e->getCode(), - 'message' => $e->getMessage(), - ])); - } - - if ($task->status == TaskModel::STATUS_FINISHED) { - $this->handleFinishNotice(); - } elseif ($task->status == TaskModel::STATUS_FAILED) { - $this->handlePointRefund($redeem); - } - } - } - - protected function finishRedeem(PointRedeemModel $redeem) - { - $redeem->status = PointRedeemModel::STATUS_FINISHED; - - if ($redeem->update() === false) { - throw new \RuntimeException('Finish Point Redeem Failed'); - } - } - - protected function handleCourseAward(PointRedeemModel $redeem) - { - $giftRepo = new PointGiftRepo(); - - $gift = $giftRepo->findById($redeem->gift_id); - - $courseUser = new CourseUserModel(); - - $courseUser->user_id = $redeem->user_id; - $courseUser->course_id = $gift->attrs['id']; - $courseUser->expiry_time = $gift->attrs['study_expiry_time']; - $courseUser->role_type = CourseUserModel::ROLE_STUDENT; - $courseUser->source_type = CourseUserModel::SOURCE_POINT_REDEEM; - - if ($courseUser->create() === false) { - throw new \RuntimeException('Create Course User Failed'); - } - - $courseRepo = new CourseRepo(); - - $group = $courseRepo->findImGroup($gift->attrs['id']); - - $groupUserRepo = new ImGroupUserRepo(); - - $groupUser = $groupUserRepo->findGroupUser($group->id, $redeem->user_id); - - if ($groupUser) return; - - $groupUser = new ImGroupUserModel(); - - $groupUser->group_id = $group->id; - $groupUser->user_id = $redeem->user_id; - - if ($groupUser->create() === false) { - throw new \RuntimeException('Create Im Group User Failed'); - } - } - - protected function handleCommodityAward(PointRedeemModel $redeem) - { - - } - - protected function handleFinishNotice() - { - - } - - protected function handlePointRefund(PointRedeemModel $redeem) - { - $logger = $this->getLogger('point'); - - $userRepo = new UserRepo(); - - $balance = $userRepo->findUserBalance($redeem->user_id); - - try { - - $this->db->begin(); - - $history = new PointHistoryModel(); - - $eventInfo = [ - 'gift' => [ - 'id' => $redeem->gift_id, - 'name' => $redeem->gift_name, - ] - ]; - - $history->user_id = $redeem->user_id; - $history->event_id = $redeem->id; - $history->event_type = PointHistoryModel::EVENT_POINT_REFUND; - $history->event_info = $eventInfo; - - $result = $history->create(); - - if ($result === false) { - throw new \RuntimeException('Create Point History Failed'); - } - - $balance->point += $redeem->gift_point; - - $result = $balance->update(); - - if ($result === false) { - throw new \RuntimeException('Update User Balance Failed'); - } - - $this->db->commit(); - - } catch (\Exception $e) { - - $this->db->rollback(); - - $logger->error('Point Refund Exception ' . kg_json_encode([ - 'code' => $e->getCode(), - 'message' => $e->getMessage(), - ])); - } - } - - /** - * @param int $limit - * @return ResultsetInterface|Resultset|TaskModel[] - */ - protected function findTasks($limit = 30) - { - $itemType = TaskModel::TYPE_POINT_GIFT_AWARD; - $status = TaskModel::STATUS_PENDING; - $createTime = strtotime('-3 days'); - - return TaskModel::query() - ->where('item_type = :item_type:', ['item_type' => $itemType]) - ->andWhere('status = :status:', ['status' => $status]) - ->andWhere('create_time > :create_time:', ['create_time' => $createTime]) - ->orderBy('priority ASC') - ->limit($limit) - ->execute(); - } - -} diff --git a/app/Console/Tasks/PointGiftDeliverTask.php b/app/Console/Tasks/PointGiftDeliverTask.php new file mode 100644 index 00000000..0f8baac9 --- /dev/null +++ b/app/Console/Tasks/PointGiftDeliverTask.php @@ -0,0 +1,209 @@ +getLogger('point'); + + $tasks = $this->findTasks(30); + + if ($tasks->count() == 0) { + return; + } + + $redeemRepo = new PointRedeemRepo(); + + foreach ($tasks as $task) { + + $redeemId = $task->item_info['point_redeem']['id'] ?? 0; + + $redeem = $redeemRepo->findById($redeemId); + + if (!$redeem) { + $task->status = TaskModel::STATUS_FAILED; + $task->update(); + break; + } + + try { + + $this->db->begin(); + + switch ($redeem->gift_type) { + case PointGiftModel::TYPE_COURSE: + $this->handleCourseRedeem($redeem); + break; + case PointGiftModel::TYPE_GOODS: + $this->handleGoodsRedeem($redeem); + break; + case PointGiftModel::TYPE_CASH: + $this->handleCashRedeem($redeem); + break; + } + + $task->status = TaskModel::STATUS_FINISHED; + + if ($task->update() === false) { + throw new \RuntimeException('Update Task Status Failed'); + } + + $this->db->commit(); + + } catch (\Exception $e) { + + $this->db->rollback(); + + $task->try_count += 1; + $task->priority += 1; + + if ($task->try_count > self::TRY_COUNT) { + $task->status = TaskModel::STATUS_FAILED; + } + + $task->update(); + + $logger->error('Point Gift Deliver Exception ' . kg_json_encode([ + 'file' => $e->getFile(), + 'line' => $e->getLine(), + 'message' => $e->getMessage(), + 'task' => $task->toArray(), + ])); + } + + if ($task->status == TaskModel::STATUS_FAILED) { + $this->handlePointRefund($redeem); + } + } + } + + protected function handleCourseRedeem(PointRedeemModel $redeem) + { + $giftRepo = new PointGiftRepo(); + + $gift = $giftRepo->findById($redeem->gift_id); + + if (!$gift) { + throw new \RuntimeException('Gift Not Found'); + } + + $courseRepo = new CourseRepo(); + + $course = $courseRepo->findById($gift->attrs['id']); + + if (!$course) { + throw new \RuntimeException('Course Not Found'); + } + + $groupRepo = new ImGroupRepo(); + + $group = $groupRepo->findByCourseId($course->id); + + if (!$group) { + throw new \RuntimeException('Im Group Not Found'); + } + + $courseUserRepo = new CourseUserRepo(); + + $courseUser = $courseUserRepo->findCourseUser($course->id, $redeem->user_id); + + if (!$courseUser) { + + $courseUser = new CourseUserModel(); + + $courseUser->user_id = $redeem->user_id; + $courseUser->course_id = $course->id; + $courseUser->expiry_time = strtotime("+{$course->study_expiry} months"); + $courseUser->role_type = CourseUserModel::ROLE_STUDENT; + $courseUser->source_type = CourseUserModel::SOURCE_POINT_REDEEM; + + if ($courseUser->create() === false) { + throw new \RuntimeException('Create Course User Failed'); + } + } + + $groupUserRepo = new ImGroupUserRepo(); + + $groupUser = $groupUserRepo->findGroupUser($group->id, $redeem->user_id); + + if (!$groupUser) { + + $groupUser = new ImGroupUserModel(); + + $groupUser->group_id = $group->id; + $groupUser->user_id = $redeem->user_id; + + if ($groupUser->create() === false) { + throw new \RuntimeException('Create Group User Failed'); + } + } + + $redeem->status = PointRedeemModel::STATUS_FINISHED; + + if ($redeem->update() === false) { + throw new \RuntimeException('Update Redeem Status Failed'); + } + } + + protected function handleGoodsRedeem(PointRedeemModel $redeem) + { + + } + + protected function handleCashRedeem(PointRedeemModel $redeem) + { + + } + + protected function handlePointRefund(PointRedeemModel $redeem) + { + $service = new PointHistoryService(); + + $service->handlePointRefund($redeem); + } + + protected function handleRedeemFinishNotice(PointRedeemModel $redeem) + { + + } + + /** + * @param int $limit + * @return ResultsetInterface|Resultset|TaskModel[] + */ + protected function findTasks($limit = 30) + { + $itemType = TaskModel::TYPE_POINT_GIFT_DELIVER; + $status = TaskModel::STATUS_PENDING; + $createTime = strtotime('-3 days'); + + return TaskModel::query() + ->where('item_type = :item_type:', ['item_type' => $itemType]) + ->andWhere('status = :status:', ['status' => $status]) + ->andWhere('create_time > :create_time:', ['create_time' => $createTime]) + ->orderBy('priority ASC') + ->limit($limit) + ->execute(); + } + +} diff --git a/app/Console/Tasks/RefundTask.php b/app/Console/Tasks/RefundTask.php index 7529c242..4abc568e 100644 --- a/app/Console/Tasks/RefundTask.php +++ b/app/Console/Tasks/RefundTask.php @@ -41,9 +41,6 @@ class RefundTask extends Task foreach ($tasks as $task) { - /** - * @var array $itemInfo - */ $itemInfo = $task->item_info; $refund = $refundRepo->findById($itemInfo['refund']['id']); @@ -51,6 +48,8 @@ class RefundTask extends Task $order = $orderRepo->findById($itemInfo['refund']['order_id']); if (!$refund || !$trade || !$order) { + $task->status = TaskModel::STATUS_FAILED; + $task->update(); continue; } @@ -111,7 +110,8 @@ class RefundTask extends Task $task->update(); $logger->info('Refund Task Exception ' . kg_json_encode([ - 'code' => $e->getCode(), + 'file' => $e->getFile(), + 'line' => $e->getLine(), 'message' => $e->getMessage(), 'task' => $task->toArray(), ])); @@ -148,7 +148,7 @@ class RefundTask extends Task } if (!$response) { - throw new \RuntimeException('Pay Refund Failed'); + throw new \RuntimeException('Trade Refund Failed'); } } @@ -208,9 +208,6 @@ class RefundTask extends Task { $courseUserRepo = new CourseUserRepo(); - /** - * @var array $itemInfo - */ $itemInfo = $order->item_info; foreach ($itemInfo['courses'] as $course) { @@ -239,9 +236,6 @@ class RefundTask extends Task $user = $userRepo->findById($order->owner_id); - /** - * @var array $itemInfo - */ $itemInfo = $order->item_info; $diffTime = "-{$itemInfo['vip']['expiry']} months"; diff --git a/app/Console/Tasks/SyncLearningTask.php b/app/Console/Tasks/SyncLearningTask.php index 98284dfd..2ba7a0e8 100644 --- a/app/Console/Tasks/SyncLearningTask.php +++ b/app/Console/Tasks/SyncLearningTask.php @@ -125,7 +125,7 @@ class SyncLearningTask extends Task $this->updateCourseUser($learning); - $this->handleLearningPoint($chapterUser); + $this->handleStudyPoint($chapterUser); } } @@ -182,11 +182,11 @@ class SyncLearningTask extends Task /** * @param ChapterUserModel $chapterUser */ - protected function handleLearningPoint(ChapterUserModel $chapterUser) + protected function handleStudyPoint(ChapterUserModel $chapterUser) { $service = new PointHistoryService(); - $service->handleChapterLearning($chapterUser); + $service->handleChapterStudy($chapterUser); } } diff --git a/app/Http/Admin/Controllers/PointRedeemController.php b/app/Http/Admin/Controllers/PointRedeemController.php index 2457c5de..707403d3 100644 --- a/app/Http/Admin/Controllers/PointRedeemController.php +++ b/app/Http/Admin/Controllers/PointRedeemController.php @@ -2,7 +2,7 @@ namespace App\Http\Admin\Controllers; -use App\Http\Admin\Services\PointGift as PointGiftService; +use App\Http\Admin\Services\PointRedeem as PointRedeemService; /** * @RoutePrefix("/admin/point/redeem") @@ -10,14 +10,22 @@ use App\Http\Admin\Services\PointGift as PointGiftService; class PointRedeemController extends Controller { + /** + * @Get("/search", name="admin.point_redeem.search") + */ + public function searchAction() + { + $this->view->pick('point/redeem/search'); + } + /** * @Get("/list", name="admin.point_redeem.list") */ public function listAction() { - $groupService = new PointGiftService(); + $redeemService = new PointRedeemService(); - $pager = $groupService->getGroups(); + $pager = $redeemService->getRedeems(); $this->view->pick('point/redeem/list'); @@ -25,36 +33,15 @@ class PointRedeemController extends Controller } /** - * @Get("/{id:[0-9]+}/edit", name="admin.point_redeem.edit") + * @Post("/{id:[0-9]+}/deliver", name="admin.point_redeem.deliver") */ - public function editAction($id) + public function deliverAction($id) { - $groupService = new PointGiftService(); + $redeemService = new PointRedeemService(); - $group = $groupService->getGroup($id); + $redeemService->deliver($id); - $this->view->pick('point/redeem/edit'); - - $this->view->setVar('group', $group); - } - - /** - * @Post("/{id:[0-9]+}/update", name="admin.point_redeem.update") - */ - public function updateAction($id) - { - $groupService = new PointGiftService(); - - $groupService->updateGroup($id); - - $location = $this->url->get(['for' => 'admin.point_redeem.list']); - - $content = [ - 'location' => $location, - 'msg' => '更新群组成功', - ]; - - return $this->jsonSuccess($content); + return $this->jsonSuccess(['msg' => '发货成功']); } } diff --git a/app/Http/Admin/Services/PointGift.php b/app/Http/Admin/Services/PointGift.php index 735dbc52..4a78efc0 100644 --- a/app/Http/Admin/Services/PointGift.php +++ b/app/Http/Admin/Services/PointGift.php @@ -84,6 +84,10 @@ class PointGift extends Service $data['stock'] = $validator->checkStock($post['stock']); } + if (isset($post['redeem_limit'])) { + $data['redeem_limit'] = $validator->checkRedeemLimit($post['redeem_limit']); + } + if (isset($post['published'])) { $data['published'] = $validator->checkPublishStatus($post['published']); } diff --git a/app/Http/Admin/Services/PointRedeem.php b/app/Http/Admin/Services/PointRedeem.php new file mode 100644 index 00000000..f3812807 --- /dev/null +++ b/app/Http/Admin/Services/PointRedeem.php @@ -0,0 +1,58 @@ +getParams(); + + $params['deleted'] = $params['deleted'] ?? 0; + + $sort = $pagerQuery->getSort(); + $page = $pagerQuery->getPage(); + $limit = $pagerQuery->getLimit(); + + $redeemRepo = new PointRedeemRepo(); + + return $redeemRepo->paginate($params, $sort, $page, $limit); + } + + public function getRedeem($id) + { + return $this->findOrFail($id); + } + + public function deliver($id) + { + $redeem = $this->findOrFail($id); + + if ($redeem->gift_type != PointGiftModel::TYPE_GOODS) { + return $redeem; + } + + $redeem->status = PointRedeemModel::STATUS_FINISHED; + + $redeem->update(); + + return $redeem; + } + + protected function findOrFail($id) + { + $validator = new PointRedeemValidator(); + + return $validator->checkRedeem($id); + } + +} diff --git a/app/Http/Admin/Services/Session.php b/app/Http/Admin/Services/Session.php index ba18fda1..bd64ad6e 100644 --- a/app/Http/Admin/Services/Session.php +++ b/app/Http/Admin/Services/Session.php @@ -2,12 +2,9 @@ namespace App\Http\Admin\Services; -use App\Models\User as UserModel; use App\Services\Auth\Admin as AdminAuth; use App\Validators\Account as AccountValidator; use App\Validators\Captcha as CaptchaValidator; -use Phalcon\Di as Di; -use Phalcon\Events\Manager as EventsManager; class Session extends Service { @@ -50,7 +47,7 @@ class Session extends Service $this->auth->saveAuthInfo($user); - $this->fireAfterLoginEvent($user); + $this->eventsManager->fire('Account:afterLogin', $this, $user); } public function logout() @@ -59,27 +56,7 @@ class Session extends Service $this->auth->clearAuthInfo(); - $this->fireAfterLogoutEvent($user); - } - - protected function fireAfterLoginEvent(UserModel $user) - { - /** - * @var EventsManager $eventsManager - */ - $eventsManager = Di::getDefault()->getShared('eventsManager'); - - $eventsManager->fire('account:afterLogin', $this, $user); - } - - protected function fireAfterLogoutEvent(UserModel $user) - { - /** - * @var EventsManager $eventsManager - */ - $eventsManager = Di::getDefault()->getShared('eventsManager'); - - $eventsManager->fire('account:afterLogout', $this, $user); + $this->eventsManager->fire('Account:afterLogout', $this, $user); } } diff --git a/app/Http/Admin/Services/Topic.php b/app/Http/Admin/Services/Topic.php index ac8289bf..7b0f2544 100644 --- a/app/Http/Admin/Services/Topic.php +++ b/app/Http/Admin/Services/Topic.php @@ -3,7 +3,6 @@ namespace App\Http\Admin\Services; use App\Caches\Topic as TopicCache; -use App\Caches\TopicCourseList as TopicCourseListCache; use App\Library\Paginator\Query as PagerQuery; use App\Models\CourseTopic as CourseTopicModel; use App\Models\Topic as TopicModel; @@ -66,8 +65,8 @@ class Topic extends Service $data = []; - if (isset($post['name'])) { - $data['name'] = $validator->checkName($post['name']); + if (isset($post['title'])) { + $data['title'] = $validator->checkTitle($post['title']); } if (isset($post['summary'])) { @@ -194,10 +193,6 @@ class Topic extends Service $cache = new TopicCache(); $cache->rebuild($topic->id); - - $cache = new TopicCourseListCache(); - - $cache->rebuild($topic->id); } protected function findOrFail($id) diff --git a/app/Http/Admin/Views/macros/point.volt b/app/Http/Admin/Views/macros/point.volt new file mode 100644 index 00000000..8b2d6093 --- /dev/null +++ b/app/Http/Admin/Views/macros/point.volt @@ -0,0 +1,61 @@ +{%- macro redeem_status_info(value) %} + {% if value == 1 %} + 处理中 + {% elseif value == 2 %} + 已完成 + {% elseif value == 3 %} + 已失败 + {% endif %} +{%- endmacro %} + +{%- macro gift_type_info(value) %} + {% if value == 1 %} + 课程 + {% elseif value == 2 %} + 商品 + {% elseif value == 3 %} + 现金 + {% endif %} +{%- endmacro %} + +{%- macro event_type_info(value) %} + {% if value == 1 %} + 订单消费 + {% elseif value == 2 %} + 积分兑换 + {% elseif value == 3 %} + 积分退款 + {% elseif value == 4 %} + 帐号注册 + {% elseif value == 5 %} + 站点访问 + {% elseif value == 6 %} + 课时学习 + {% elseif value == 7 %} + 课程评价 + {% elseif value == 8 %} + 微聊讨论 + {% endif %} +{%- endmacro %} + +{%- macro event_detail_info(history) %} + {% set event_info = history.event_info %} + {% if history.event_type == 1 %} +

{{ event_info.order.subject }}

+ {% elseif history.event_type == 2 %} +

{{ event_info.point_redeem.gift_name }}

+ {% elseif history.event_type == 3 %} + {{ event_info.point_redeem.gift_name }} + {% elseif history.event_type == 4 %} + N/A + {% elseif history.event_type == 5 %} + N/A + {% elseif history.event_type == 6 %} +

课程:{{ event_info.course.title }}

+

章节:{{ event_info.chapter.title }}

+ {% elseif history.event_type == 7 %} +

{{ event_info.course.title }}

+ {% elseif history.event_type == 8 %} + N/A + {% endif %} +{%- endmacro %} \ No newline at end of file diff --git a/app/Http/Admin/Views/point/gift/edit.volt b/app/Http/Admin/Views/point/gift/edit.volt index d7aa4d3d..a2560c51 100644 --- a/app/Http/Admin/Views/point/gift/edit.volt +++ b/app/Http/Admin/Views/point/gift/edit.volt @@ -81,6 +81,12 @@ +
+ +
+ +
+
diff --git a/app/Http/Admin/Views/point/gift/list.volt b/app/Http/Admin/Views/point/gift/list.volt index 2ef3c8f9..2089f1bc 100644 --- a/app/Http/Admin/Views/point/gift/list.volt +++ b/app/Http/Admin/Views/point/gift/list.volt @@ -2,17 +2,9 @@ {% block content %} - {%- macro type_info(value) %} - {% if value == 1 %} - 课程 - {% elseif value == 2 %} - 商品 - {% elseif value == 3 %} - 现金 - {% else %} - 未知 - {% endif %} - {%- endmacro %} + {{ partial('macros/point') }} + + {% set add_url = url({'for':'admin.point_gift.add'}) %}
@@ -20,6 +12,11 @@ 礼品管理
+
@@ -30,14 +27,16 @@ + - + + @@ -53,9 +52,10 @@ {% set restore_url = url({'for':'admin.point_gift.restore','id':item.id}) %} - + +
编号礼品名称物品名称 所需积分 库存数量兑换限额 兑换人次 发布 操作
{{ item.id }}{{ item.name }} {{ type_info(item.type) }}{{ item.name }} {{ gift_type_info(item.type) }} {{ item.point }} {{ item.stock }}{{ item.redeem_limit }} {{ item.redeem_count }} diff --git a/app/Http/Admin/Views/point/redeem/list.volt b/app/Http/Admin/Views/point/redeem/list.volt index 7934d5b4..c86b4b1b 100644 --- a/app/Http/Admin/Views/point/redeem/list.volt +++ b/app/Http/Admin/Views/point/redeem/list.volt @@ -2,79 +2,61 @@ {% block content %} - {%- macro type_info(value) %} - {% if value == 1 %} - - {% elseif value == 2 %} - - {% elseif value == 3 %} - - {% else %} - 未知 - {% endif %} - {%- endmacro %} + {{ partial('macros/point') }} - {%- macro owner_info(owner) %} - {% if owner.id is defined %} - {{ owner.name }}({{ owner.id }}) - {% else %} - 未设置 - {% endif %} - {%- endmacro %} + {% set search_url = url({'for':'admin.point_redeem.search'}) %} - +
- - - - - - + + + + {% for item in pager.items %} - {% set preview_url = url({'for':'home.group.show','id':item.id}) %} - {% set edit_url = url({'for':'admin.group.edit','id':item.id}) %} - {% set update_url = url({'for':'admin.group.update','id':item.id}) %} - {% set delete_url = url({'for':'admin.group.delete','id':item.id}) %} - {% set restore_url = url({'for':'admin.group.restore','id':item.id}) %} + {% set user_filter_url = url({'for':'admin.point_redeem.list'},{'user_id':item.user_id}) %} + {% set deliver_url = url({'for':'admin.point_redeem.deliver','id':item.id}) %} + {% set gift_url = url({'for':'home.point_gift.show','id':item.gift_id}) %} - - - - - + + + + {% endfor %} @@ -83,4 +65,36 @@ {{ partial('partials/pager') }} +{% endblock %} + +{% block inline_js %} + + + +{% endblock %} + +{% block include_js %} + + {{ js_include('admin/js/contact.js') }} + {% endblock %} \ No newline at end of file diff --git a/app/Http/Admin/Views/point/redeem/search.volt b/app/Http/Admin/Views/point/redeem/search.volt new file mode 100644 index 00000000..49a91340 --- /dev/null +++ b/app/Http/Admin/Views/point/redeem/search.volt @@ -0,0 +1,46 @@ +{% extends 'templates/main.volt' %} + +{% block content %} + + +
+ 搜索兑换 +
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ + + +
+
+
+ +
+ + + +
+
+
+ +
+ + +
+
+ + +{% endblock %} \ No newline at end of file diff --git a/app/Http/Admin/Views/setting/point.volt b/app/Http/Admin/Views/setting/point.volt index 35083b42..e3fd8ed8 100644 --- a/app/Http/Admin/Views/setting/point.volt +++ b/app/Http/Admin/Views/setting/point.volt @@ -81,20 +81,20 @@ - + - - + + diff --git a/app/Http/Admin/Views/student/list.volt b/app/Http/Admin/Views/student/list.volt index bc673b7b..16d92f20 100644 --- a/app/Http/Admin/Views/student/list.volt +++ b/app/Http/Admin/Views/student/list.volt @@ -6,9 +6,15 @@ {% if value == 1 %} 免费 {% elseif value == 2 %} - 付费 + 付费 {% elseif value == 3 %} 导入 + {% elseif value == 4 %} + 会员 + {% elseif value == 5 %} + 积分 + {% elseif value == 6 %} + 抽奖 {% endif %} {%- endmacro %} @@ -58,8 +64,8 @@ {% for item in pager.items %} {% set course_url = url({'for':'home.course.show','id':item.course.id}) %} - {% set review_url = url({'for':'home.review.add'},{'id':item.course.id}) %} + {% set review_url = url({'for':'home.review.add'},{'course_id':item.course.id}) %} {% set allow_review = item.progress > 30 and item.reviewed == 0 %}
编号名称群主成员发布物品名称消耗积分兑换状态兑换时间 操作
{{ item.id }}{{ item.name }} {{ type_info(item.type) }}{{ owner_info(item.owner) }}{{ item.user_count }} +

{{ item.gift_name }}({{ item.gift_id }}){{ gift_type_info(item.gift_type) }}

+

用户名称:{{ item.user_name }} ({{ item.user_id }}) 联系方式: + +

+
{{ item.gift_point }}{{ redeem_status_info(item.status) }}{{ date('Y-m-d H:i',item.create_time) }} -
- - -
+ {% if item.gift_type == 2 %} + + {% else %} + N/A + {% endif %}
课时学习 N/A - - + +
群组讨论微聊讨论 N/A - - + +
{{ source_type_info(item.source_type) }} -

开始:{{ date('Y-m-d H:i:s',item.create_time) }}

-

结束:{{ date('Y-m-d H:i:s',item.expiry_time) }}

+

开始:{{ date('Y-m-d H:i',item.create_time) }}

+

结束:{{ date('Y-m-d H:i',item.expiry_time) }}

diff --git a/app/Http/Api/Controllers/Controller.php b/app/Http/Api/Controllers/Controller.php index adf2b937..12d00f18 100644 --- a/app/Http/Api/Controllers/Controller.php +++ b/app/Http/Api/Controllers/Controller.php @@ -6,8 +6,6 @@ use App\Models\User as UserModel; use App\Services\Auth\Api as ApiAuth; use App\Traits\Response as ResponseTrait; use App\Traits\Security as SecurityTrait; -use Phalcon\Di as Di; -use Phalcon\Events\Manager as EventsManager; use Phalcon\Mvc\Dispatcher; class Controller extends \Phalcon\Mvc\Controller @@ -36,7 +34,7 @@ class Controller extends \Phalcon\Mvc\Controller { $this->authUser = $this->getAuthUser(); - $this->fireSiteViewEvent($this->authUser); + $this->eventsManager->fire('Site:afterView', $this, $this->authUser); } protected function getAuthUser() @@ -49,14 +47,4 @@ class Controller extends \Phalcon\Mvc\Controller return $auth->getCurrentUser(); } - protected function fireSiteViewEvent(UserModel $user) - { - /** - * @var EventsManager $eventsManager - */ - $eventsManager = Di::getDefault()->getShared('eventsManager'); - - $eventsManager->fire('site:view', $this, $user); - } - } diff --git a/app/Http/Api/Services/Account.php b/app/Http/Api/Services/Account.php index b187683c..b10af251 100644 --- a/app/Http/Api/Services/Account.php +++ b/app/Http/Api/Services/Account.php @@ -104,7 +104,7 @@ class Account extends Service */ $eventsManager = Di::getDefault()->getShared('eventsManager'); - $eventsManager->fire('account:afterRegister', $this, $user); + $eventsManager->fire('Account:afterRegister', $this, $user); } protected function fireAfterLoginEvent(UserModel $user) @@ -114,7 +114,7 @@ class Account extends Service */ $eventsManager = Di::getDefault()->getShared('eventsManager'); - $eventsManager->fire('account:afterLogin', $this, $user); + $eventsManager->fire('Account:afterLogin', $this, $user); } protected function fireAfterLogoutEvent(UserModel $user) @@ -124,7 +124,7 @@ class Account extends Service */ $eventsManager = Di::getDefault()->getShared('eventsManager'); - $eventsManager->fire('account:afterLogout', $this, $user); + $eventsManager->fire('Account:afterLogout', $this, $user); } } diff --git a/app/Http/Home/Controllers/ChapterController.php b/app/Http/Home/Controllers/ChapterController.php index 4cc0cc3c..b23e6454 100644 --- a/app/Http/Home/Controllers/ChapterController.php +++ b/app/Http/Home/Controllers/ChapterController.php @@ -9,6 +9,7 @@ use App\Services\Logic\Chapter\ChapterLike as ChapterLikeService; use App\Services\Logic\Chapter\DanmuList as ChapterDanmuListService; use App\Services\Logic\Chapter\Learning as ChapterLearningService; use App\Services\Logic\Chapter\ResourceList as ChapterResourceListService; +use App\Services\Logic\Course\BasicInfo as CourseInfoService; use App\Services\Logic\Course\ChapterList as CourseChapterListService; /** @@ -50,20 +51,24 @@ class ChapterController extends Controller $chapter = $service->handle($id); + $service = new CourseInfoService(); + + $course = $service->handle($chapter['course']['id']); + $owned = $chapter['me']['owned'] ?? false; if (!$owned) { $this->response->redirect([ 'for' => 'home.course.show', - 'id' => $chapter['course']['id'], + 'id' => $course['id'], ]); } $service = new CourseChapterListService(); - $catalog = $service->handle($chapter['course']['id']); + $catalog = $service->handle($course['id']); - $this->seo->prependTitle(['章节', $chapter['title'], $chapter['course']['title']]); + $this->seo->prependTitle(['章节', $chapter['title'], $course['title']]); if (!empty($chapter['summary'])) { $this->seo->setDescription($chapter['summary']); @@ -83,6 +88,7 @@ class ChapterController extends Controller } } + $this->view->setVar('course', $course); $this->view->setVar('chapter', $chapter); $this->view->setVar('catalog', $catalog); } diff --git a/app/Http/Home/Controllers/Controller.php b/app/Http/Home/Controllers/Controller.php index c4ee0821..301b0191 100644 --- a/app/Http/Home/Controllers/Controller.php +++ b/app/Http/Home/Controllers/Controller.php @@ -10,8 +10,6 @@ use App\Services\Auth\Home as HomeAuth; use App\Services\Service as AppService; use App\Traits\Response as ResponseTrait; use App\Traits\Security as SecurityTrait; -use Phalcon\Di as Di; -use Phalcon\Events\Manager as EventsManager; use Phalcon\Mvc\Dispatcher; class Controller extends \Phalcon\Mvc\Controller @@ -75,16 +73,13 @@ class Controller extends \Phalcon\Mvc\Controller public function initialize() { + $this->eventsManager->fire('Site:afterView', $this, $this->authUser); + $this->seo = $this->getSeo(); $this->navs = $this->getNavs(); $this->appInfo = $this->getAppInfo(); $this->imInfo = $this->getImInfo(); - /** - * @todo 内部操作会改变afterFetch() - */ - $this->fireSiteViewEvent($this->authUser); - $this->seo->setTitle($this->siteInfo['title']); $this->view->setVar('seo', $this->seo); @@ -161,14 +156,4 @@ class Controller extends \Phalcon\Mvc\Controller return $appService->getSettings($section); } - protected function fireSiteViewEvent(UserModel $user) - { - /** - * @var EventsManager $eventsManager - */ - $eventsManager = Di::getDefault()->getShared('eventsManager'); - - $eventsManager->fire('site:view', $this, $user); - } - } diff --git a/app/Http/Home/Controllers/PointGiftController.php b/app/Http/Home/Controllers/PointGiftController.php index 9233679e..6fab4cdc 100644 --- a/app/Http/Home/Controllers/PointGiftController.php +++ b/app/Http/Home/Controllers/PointGiftController.php @@ -6,6 +6,8 @@ use App\Services\Logic\Point\GiftInfo as GiftInfoService; use App\Services\Logic\Point\GiftList as GiftListService; use App\Services\Logic\Point\HotGiftList as HotGiftListService; use App\Services\Logic\Point\PointRedeem as GiftRedeemService; +use App\Services\Logic\User\Console\BalanceInfo as BalanceInfoService; +use Phalcon\Mvc\Dispatcher; use Phalcon\Mvc\View; /** @@ -14,6 +16,18 @@ use Phalcon\Mvc\View; class PointGiftController extends Controller { + public function beforeExecuteRoute(Dispatcher $dispatcher) + { + parent::beforeExecuteRoute($dispatcher); + + if ($this->authUser->id == 0) { + $this->response->redirect(['for' => 'home.account.login']); + return false; + } + + return true; + } + /** * @Get("/list", name="home.point_gift.list") */ @@ -50,12 +64,14 @@ class PointGiftController extends Controller $gift = $service->handle($id); $hotGifts = $this->getHotGifts(); + $userBalance = $this->getUserBalance(); $this->seo->prependTitle(['积分兑换', $gift['name']]); $this->view->pick('point/gift/show'); $this->view->setVar('gift', $gift); $this->view->setVar('hot_gifts', $hotGifts); + $this->view->setVar('user_balance', $userBalance); } /** @@ -77,4 +93,11 @@ class PointGiftController extends Controller return $service->handle(); } + protected function getUserBalance() + { + $service = new BalanceInfoService(); + + return $service->handle(); + } + } diff --git a/app/Http/Home/Controllers/PointRedeemController.php b/app/Http/Home/Controllers/PointRedeemController.php index ea8856e2..37b99430 100644 --- a/app/Http/Home/Controllers/PointRedeemController.php +++ b/app/Http/Home/Controllers/PointRedeemController.php @@ -2,7 +2,7 @@ namespace App\Http\Home\Controllers; -use App\Services\Logic\Point\PointRedeem as GiftRedeemService; +use App\Services\Logic\Point\PointRedeem as PointRedeemService; /** * @RoutePrefix("/point/redeem") @@ -15,21 +15,11 @@ class PointRedeemController extends Controller */ public function createAction() { - $service = new GiftRedeemService(); + $service = new PointRedeemService(); $service->handle(); return $this->jsonSuccess(['msg' => '兑换成功']); } - /** - * @Get("/list", name="home.point_gift.list") - */ - public function listAction() - { - $this->seo->prependTitle('积分兑换'); - - $this->view->pick('point/gift/list'); - } - } diff --git a/app/Http/Home/Controllers/UserConsoleController.php b/app/Http/Home/Controllers/UserConsoleController.php index aceb0dc1..16f22f8f 100644 --- a/app/Http/Home/Controllers/UserConsoleController.php +++ b/app/Http/Home/Controllers/UserConsoleController.php @@ -15,6 +15,7 @@ use App\Services\Logic\User\Console\FavoriteList as FavoriteListService; use App\Services\Logic\User\Console\FriendList as FriendListService; use App\Services\Logic\User\Console\GroupList as GroupListService; use App\Services\Logic\User\Console\OrderList as OrderListService; +use App\Services\Logic\User\Console\PointHistory as PointHistoryService; use App\Services\Logic\User\Console\PointRedeemList as PointRedeemListService; use App\Services\Logic\User\Console\ProfileInfo as ProfileInfoService; use App\Services\Logic\User\Console\ProfileUpdate as ProfileUpdateService; @@ -199,7 +200,20 @@ class UserConsoleController extends Controller } /** - * @Get("/point_redeems", name="home.uc.point_redeems") + * @Get("/point/history", name="home.uc.point_history") + */ + public function pointHistoryAction() + { + $service = new PointHistoryService(); + + $pager = $service->handle(); + + $this->view->pick('user/console/point_history'); + $this->view->setVar('pager', $pager); + } + + /** + * @Get("/point/redeems", name="home.uc.point_redeems") */ public function pointRedeemsAction() { diff --git a/app/Http/Home/Services/Account.php b/app/Http/Home/Services/Account.php index 2145feef..d9f84206 100644 --- a/app/Http/Home/Services/Account.php +++ b/app/Http/Home/Services/Account.php @@ -87,7 +87,7 @@ class Account extends Service */ $eventsManager = Di::getDefault()->getShared('eventsManager'); - $eventsManager->fire('account:afterRegister', $this, $user); + $eventsManager->fire('Account:afterRegister', $this, $user); } protected function fireAfterLoginEvent(UserModel $user) @@ -97,7 +97,7 @@ class Account extends Service */ $eventsManager = Di::getDefault()->getShared('eventsManager'); - $eventsManager->fire('account:afterLogin', $this, $user); + $eventsManager->fire('Account:afterLogin', $this, $user); } protected function fireAfterLogoutEvent(UserModel $user) @@ -107,7 +107,7 @@ class Account extends Service */ $eventsManager = Di::getDefault()->getShared('eventsManager'); - $eventsManager->fire('account:afterLogout', $this, $user); + $eventsManager->fire('Account:afterLogout', $this, $user); } } diff --git a/app/Http/Home/Services/ImMessageTrait.php b/app/Http/Home/Services/ImMessageTrait.php index c0d99dbe..5a4842bb 100644 --- a/app/Http/Home/Services/ImMessageTrait.php +++ b/app/Http/Home/Services/ImMessageTrait.php @@ -98,6 +98,8 @@ Trait ImMessageTrait Gateway::$registerAddress = $this->getRegisterAddress(); + $imMessage = new ImMessageModel(); + if ($to['type'] == 'friend') { $validator = new ImFriendUserValidator(); @@ -106,9 +108,9 @@ Trait ImMessageTrait $online = Gateway::isUidOnline($to['id']); - $messageModel = new ImMessageModel(); + $imMessage = new ImMessageModel(); - $messageModel->create([ + $imMessage->create([ 'sender_id' => $from['id'], 'receiver_id' => $to['id'], 'receiver_type' => ImMessageModel::TYPE_FRIEND, @@ -136,9 +138,9 @@ Trait ImMessageTrait $relation = $validator->checkGroupUser($group->id, $user->id); - $messageModel = new ImMessageModel(); + $imMessage = new ImMessageModel(); - $messageModel->create([ + $imMessage->create([ 'sender_id' => $from['id'], 'receiver_id' => $to['id'], 'receiver_type' => ImMessageModel::TYPE_GROUP, @@ -162,6 +164,8 @@ Trait ImMessageTrait Gateway::sendToGroup($groupName, $content, $excludeClientId); } + + $this->eventsManager->fire('ImMessage:afterCreate', $this, $imMessage); } public function sendCsMessage($from, $to) diff --git a/app/Http/Home/Views/chapter/read.volt b/app/Http/Home/Views/chapter/read.volt index b40eebb8..ee858df5 100644 --- a/app/Http/Home/Views/chapter/read.volt +++ b/app/Http/Home/Views/chapter/read.volt @@ -18,7 +18,9 @@
diff --git a/app/Http/Home/Views/user/console/menu.volt b/app/Http/Home/Views/user/console/menu.volt index e22925c3..619692fe 100644 --- a/app/Http/Home/Views/user/console/menu.volt +++ b/app/Http/Home/Views/user/console/menu.volt @@ -36,6 +36,17 @@ +
+
积分中心
+ +
+
聊天设置
diff --git a/app/Http/Home/Views/user/console/point_history.volt b/app/Http/Home/Views/user/console/point_history.volt new file mode 100644 index 00000000..c6c32d74 --- /dev/null +++ b/app/Http/Home/Views/user/console/point_history.volt @@ -0,0 +1,47 @@ +{% extends 'templates/main.volt' %} + +{% block content %} + + {{ partial('macros/point') }} + +
+
{{ partial('user/console/menu') }}
+
+
+ 积分记录 +
+
+ {% if pager.total_pages > 0 %} + + + + + + + + + + + + + + + + + {% for item in pager.items %} + + + + + + + {% endfor %} + +
来源积分详情时间
{{ event_type_info(item.event_type) }}{{ event_point_info(item.event_point) }}{{ event_detail_info(item) }}{{ date('Y-m-d H:i',item.create_time) }}
+ {{ partial('partials/pager') }} + {% endif %} +
+
+
+ +{% endblock %} \ No newline at end of file diff --git a/app/Http/Home/Views/user/console/point_redeems.volt b/app/Http/Home/Views/user/console/point_redeems.volt new file mode 100644 index 00000000..69ed5556 --- /dev/null +++ b/app/Http/Home/Views/user/console/point_redeems.volt @@ -0,0 +1,48 @@ +{% extends 'templates/main.volt' %} + +{% block content %} + + {{ partial('macros/point') }} + +
+
{{ partial('user/console/menu') }}
+
+
+ 兑换记录 +
+
+ {% if pager.total_pages > 0 %} + + + + + + + + + + + + + + + + + {% for item in pager.items %} + {% set gift_url = url({'for':'home.point_gift.show','id':item.gift.id}) %} + + + + + + + {% endfor %} + +
物品名称消耗积分兑换状态兑换时间
{{ item.gift.name }} {{ gift_type_info(item.gift.type) }}{{ item.gift.point }}{{ redeem_status_info(item.status) }}{{ date('Y-m-d H:i',item.create_time) }}
+ {{ partial('partials/pager') }} + {% endif %} +
+
+
+ +{% endblock %} \ No newline at end of file diff --git a/app/Library/Utils/Lock.php b/app/Library/Utils/Lock.php index f3fb6be4..be5c7cca 100644 --- a/app/Library/Utils/Lock.php +++ b/app/Library/Utils/Lock.php @@ -16,7 +16,7 @@ class Lock */ public static function addLock($itemId, $expire = 600) { - if (!$itemId || $expire <= 0) { + if (empty($itemId) || $expire <= 0) { return false; } @@ -43,7 +43,7 @@ class Lock */ public static function releaseLock($itemId, $lockId) { - if (!$itemId || !$lockId) { + if (empty($itemId) || empty($lockId)) { return false; } @@ -73,7 +73,7 @@ class Lock public static function getLockKey($itemId) { - return sprintf('kg_lock:%s', $itemId); + return sprintf('_LOCK_:%s', $itemId); } } \ No newline at end of file diff --git a/app/Listeners/Account.php b/app/Listeners/Account.php index 9b733047..c7e710a2 100644 --- a/app/Listeners/Account.php +++ b/app/Listeners/Account.php @@ -5,22 +5,22 @@ namespace App\Listeners; use App\Models\User as UserModel; use App\Services\Logic\Notice\AccountLogin as AccountLoginNoticeService; use App\Services\Logic\Point\PointHistory as PointHistoryService; -use Phalcon\Events\Event; +use Phalcon\Events\Event as PhEvent; class Account extends Listener { - public function afterRegister(Event $event, $source, UserModel $user) + public function afterRegister(PhEvent $event, $source, UserModel $user) { $this->handleRegisterPoint($user); } - public function afterLogin(Event $event, $source, UserModel $user) + public function afterLogin(PhEvent $event, $source, UserModel $user) { $this->handleLoginNotice($user); } - public function afterLogout(Event $event, $source, UserModel $user) + public function afterLogout(PhEvent $event, $source, UserModel $user) { } diff --git a/app/Listeners/ImMessage.php b/app/Listeners/ImMessage.php new file mode 100644 index 00000000..f5196b8f --- /dev/null +++ b/app/Listeners/ImMessage.php @@ -0,0 +1,40 @@ +handleDiscussPoint($message); + } + + protected function handleDiscussPoint(ImMessageModel $message) + { + $todayDate = date('Ymd'); + + $keyName = sprintf('im_discuss:%s:%s', $message->sender_id, $todayDate); + + $cache = $this->getCache(); + + $content = $cache->get($keyName); + + if ($content) return; + + $service = new PointHistoryService(); + + $service->handleImDiscuss($message); + + $tomorrow = strtotime($todayDate) + 86400; + + $lifetime = $tomorrow - time(); + + $cache->save($keyName, 1, $lifetime); + } + +} \ No newline at end of file diff --git a/app/Listeners/Review.php b/app/Listeners/Review.php new file mode 100644 index 00000000..e88ccfc7 --- /dev/null +++ b/app/Listeners/Review.php @@ -0,0 +1,24 @@ +handleReviewPoint($review); + } + + protected function handleReviewPoint(ReviewModel $review) + { + $service = new PointHistoryService(); + + $service->handleCourseReview($review); + } + +} \ No newline at end of file diff --git a/app/Listeners/Site.php b/app/Listeners/Site.php index b60b3948..1841332a 100644 --- a/app/Listeners/Site.php +++ b/app/Listeners/Site.php @@ -8,25 +8,25 @@ use App\Models\User as UserModel; use App\Repos\Online as OnlineRepo; use App\Services\Logic\Point\PointHistory as PointHistoryService; use App\Traits\Client as ClientTrait; -use Phalcon\Events\Event; +use Phalcon\Events\Event as PhEvent; class Site extends Listener { use ClientTrait; - /** - * 访问站点 - * - * @param Event $event - * @param $source - * @param UserModel $user - */ - public function view(Event $event, $source, UserModel $user) + public function afterView(PhEvent $event, $source, UserModel $user) { if ($user->id > 0) { + $this->handleOnline($user); + $this->handleVisitPoint($user); + + /** + * 更新会重置afterFetch,重新执行 + */ + $user->afterFetch(); } } @@ -45,13 +45,15 @@ class Site extends Listener $lockId = LockUtil::addLock($itemId); + if ($lockId === false) return; + $user->active_time = $now; $user->update(); $onlineRepo = new OnlineRepo(); - $records = $onlineRepo->findByUserDate($user->id, date('Y-m-d')); + $records = $onlineRepo->findByUserDate($user->id, date('Ymd')); if ($records->count() > 0) { $online = null; diff --git a/app/Listeners/Pay.php b/app/Listeners/Trade.php similarity index 87% rename from app/Listeners/Pay.php rename to app/Listeners/Trade.php index ac5b7d88..70207596 100644 --- a/app/Listeners/Pay.php +++ b/app/Listeners/Trade.php @@ -9,7 +9,7 @@ use App\Repos\Order as OrderRepo; use Phalcon\Events\Event as PhEvent; use Phalcon\Logger\Adapter\File as FileLogger; -class Pay extends Listener +class Trade extends Listener { /** @@ -73,12 +73,6 @@ class Pay extends Listener 'message' => $e->getMessage(), ])); - $this->logger->debug('After Pay Event Info ' . kg_json_encode([ - 'event' => $event->getType(), - 'source' => get_class($source), - 'data' => kg_json_encode($trade), - ])); - throw new \RuntimeException('sys.trans_rollback'); } } diff --git a/app/Listeners/User.php b/app/Listeners/User.php deleted file mode 100644 index 7bad4c99..00000000 --- a/app/Listeners/User.php +++ /dev/null @@ -1,19 +0,0 @@ -counter = new CacheUserDailyCounter(); } - public function incrFavoriteCount(Event $event, $source, UserModel $user) + public function incrFavoriteCount(PhEvent $event, $source, UserModel $user) { $this->counter->hIncrBy($user->id, 'favorite_count'); } - public function incrDanmuCount(Event $event, $source, UserModel $user) + public function incrDanmuCount(PhEvent $event, $source, UserModel $user) { $this->counter->hIncrBy($user->id, 'danmu_count'); } - public function incrConsultCount(Event $event, $source, UserModel $user) + public function incrConsultCount(PhEvent $event, $source, UserModel $user) { $this->counter->hIncrBy($user->id, 'consult_count'); } - public function incrReviewCount(Event $event, $source, UserModel $user) + public function incrReviewCount(PhEvent $event, $source, UserModel $user) { $this->counter->hIncrBy($user->id, 'review_count'); } - public function incrOrderCount(Event $event, $source, UserModel $user) + public function incrOrderCount(PhEvent $event, $source, UserModel $user) { $this->counter->hIncrBy($user->id, 'order_count'); } - public function incrConsultLikeCount(Event $event, $source, UserModel $user) + public function incrConsultLikeCount(PhEvent $event, $source, UserModel $user) { $this->counter->hIncrBy($user->id, 'consult_like_count'); } - public function incrChapterLikeCount(Event $event, $source, UserModel $user) + public function incrChapterLikeCount(PhEvent $event, $source, UserModel $user) { $this->counter->hIncrBy($user->id, 'chapter_like_count'); } - public function incrReviewLikeCount(Event $event, $source, UserModel $user) + public function incrReviewLikeCount(PhEvent $event, $source, UserModel $user) { $this->counter->hIncrBy($user->id, 'review_like_count'); } diff --git a/app/Models/Account.php b/app/Models/Account.php index 74664d38..553e82b9 100644 --- a/app/Models/Account.php +++ b/app/Models/Account.php @@ -12,56 +12,56 @@ class Account extends Model * * @var int */ - public $id; + public $id = 0; /** * 邮箱 * * @var string */ - public $email; + public $email = ''; /** * 手机 * * @var string */ - public $phone; + public $phone = ''; /** * 密码 * * @var string */ - public $password; + public $password = ''; /** * 密盐 * * @var string */ - public $salt; + public $salt = ''; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -90,4 +90,4 @@ class Account extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/Area.php b/app/Models/Area.php index 9eeb2d70..9f9efc76 100644 --- a/app/Models/Area.php +++ b/app/Models/Area.php @@ -17,32 +17,32 @@ class Area extends Model * * @var int */ - public $id; + public $id = 0; /** * 类型 * * @var int */ - public $type; + public $type = 0; /** * 编码 * * @var string */ - public $code; + public $code = ''; /** * 名称 * * @var string */ - public $name; + public $name = ''; public function getSource(): string { return 'kg_area'; } -} +} \ No newline at end of file diff --git a/app/Models/Audit.php b/app/Models/Audit.php index a9b4cb36..2b23a82e 100644 --- a/app/Models/Audit.php +++ b/app/Models/Audit.php @@ -10,49 +10,49 @@ class Audit extends Model * * @var int */ - public $id; + public $id = 0; /** * 用户编号 * * @var int */ - public $user_id; + public $user_id = 0; /** * 用户名称 * - * @var int + * @var string */ - public $user_name; + public $user_name = ''; /** * 用户IP * - * @var int + * @var string */ - public $user_ip; + public $user_ip = ''; /** * 请求路由 * * @var string */ - public $req_route; + public $req_route = ''; /** * 请求路径 * * @var string */ - public $req_path; + public $req_path = ''; /** * 请求参数 * - * @var string + * @var array|string */ - public $req_data; + public $req_data = ''; /** * 创建时间 @@ -80,9 +80,7 @@ class Audit extends Model } } $this->req_data = kg_json_encode($this->req_data); - } else { - $this->req_data = ''; } } -} +} \ No newline at end of file diff --git a/app/Models/Category.php b/app/Models/Category.php index b0052b16..c172ae83 100644 --- a/app/Models/Category.php +++ b/app/Models/Category.php @@ -19,84 +19,84 @@ class Category extends Model * * @var int */ - public $id; + public $id = 0; /** * 上级编号 * * @var int */ - public $parent_id; + public $parent_id = 0; /** * 层级 * * @var int */ - public $level; + public $level = 0; /** * 类型 * * @var int */ - public $type; + public $type = 0; /** * 名称 * * @var string */ - public $name; + public $name = ''; /** * 路径 * * @var string */ - public $path; + public $path = ''; /** * 优先级 * * @var int */ - public $priority; + public $priority = 0; /** * 发布标识 * * @var int */ - public $published; + public $published = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 节点数 * * @var int */ - public $child_count; + public $child_count = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -144,4 +144,4 @@ class Category extends Model ]; } -} +} \ No newline at end of file diff --git a/app/Models/Chapter.php b/app/Models/Chapter.php index d7c6e629..0c39954e 100644 --- a/app/Models/Chapter.php +++ b/app/Models/Chapter.php @@ -60,126 +60,126 @@ class Chapter extends Model * * @var int */ - public $id; + public $id = 0; /** * 父级编号 * * @var int */ - public $parent_id; + public $parent_id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 标题 * * @var string */ - public $title; + public $title = ''; /** * 摘要 * * @var string */ - public $summary; + public $summary = ''; /** * 优先级 * * @var int */ - public $priority; + public $priority = 0; /** * 免费标识 * * @var int */ - public $free; + public $free = 0; /** * 模式类型 * * @var int */ - public $model; + public $model = 0; /** * 扩展属性 * * @var string|array */ - public $attrs; + public $attrs = ''; /** * 发布标识 * * @var int */ - public $published; + public $published = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 资源数 * * @var int */ - public $resource_count; + public $resource_count = 0; /** * 课时数 * * @var int */ - public $lesson_count; + public $lesson_count = 0; /** * 学员数 * * @var int */ - public $user_count; + public $user_count = 0; /** * 咨询数 * * @var int */ - public $consult_count; + public $consult_count = 0; /** * 点赞数 * * @var int */ - public $like_count; + public $like_count = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -249,4 +249,4 @@ class Chapter extends Model } } -} +} \ No newline at end of file diff --git a/app/Models/ChapterLike.php b/app/Models/ChapterLike.php index 7ee6d671..0421eee1 100644 --- a/app/Models/ChapterLike.php +++ b/app/Models/ChapterLike.php @@ -12,42 +12,42 @@ class ChapterLike extends Model * * @var int */ - public $id; + public $id = 0; /** * 章节编号 * * @var int */ - public $chapter_id; + public $chapter_id = 0; /** * 用户编号 * * @var int */ - public $user_id; + public $user_id = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -76,4 +76,4 @@ class ChapterLike extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/ChapterLive.php b/app/Models/ChapterLive.php index b31a2203..41c94474 100644 --- a/app/Models/ChapterLive.php +++ b/app/Models/ChapterLive.php @@ -17,63 +17,63 @@ class ChapterLive extends Model * * @var int */ - public $id; + public $id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 章节编号 * * @var int */ - public $chapter_id; + public $chapter_id = 0; /** * 开始时间 * * @var int */ - public $start_time; + public $start_time = 0; /** * 结束时间 * * @var int */ - public $end_time; + public $end_time = 0; /** * 用户限额 * * @var int */ - public $user_limit; + public $user_limit = 0; /** * 直播状态 * * @var int */ - public $status; + public $status = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -102,4 +102,4 @@ class ChapterLive extends Model return str_replace('chapter_', '', $streamName); } -} +} \ No newline at end of file diff --git a/app/Models/ChapterRead.php b/app/Models/ChapterRead.php index 2f20ee40..3dd8ffa2 100644 --- a/app/Models/ChapterRead.php +++ b/app/Models/ChapterRead.php @@ -10,42 +10,42 @@ class ChapterRead extends Model * * @var int */ - public $id; + public $id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 章节编号 * * @var int */ - public $chapter_id; + public $chapter_id = 0; /** * 内容 * * @var string */ - public $content; + public $content = ''; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -55,13 +55,6 @@ class ChapterRead extends Model public function beforeCreate() { $this->create_time = time(); - - /** - * text类型不能自动填充默认值 - */ - if (is_null($this->content)) { - $this->content = ''; - } } public function beforeUpdate() @@ -69,4 +62,4 @@ class ChapterRead extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/ChapterUser.php b/app/Models/ChapterUser.php index 911c1d5c..b3afebe0 100644 --- a/app/Models/ChapterUser.php +++ b/app/Models/ChapterUser.php @@ -12,84 +12,84 @@ class ChapterUser extends Model * * @var int */ - public $id; + public $id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 章节编号 * * @var int */ - public $chapter_id; + public $chapter_id = 0; /** * 用户编号 * * @var int */ - public $user_id; + public $user_id = 0; /** * 计划编号 * * @var int */ - public $plan_id; + public $plan_id = 0; /** - * 学习时长 + * 学习时长(秒) * * @var int */ - public $duration; + public $duration = 0; /** - * 播放位置 + * 播放位置(秒) * * @var int */ - public $position; + public $position = 0; /** - * 学习进度 + * 学习进度(%) * * @var int */ - public $progress; + public $progress = 0; /** * 消费标识 * * @var int */ - public $consumed; + public $consumed = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -118,4 +118,4 @@ class ChapterUser extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/ChapterVod.php b/app/Models/ChapterVod.php index f06ad558..52b21b8a 100644 --- a/app/Models/ChapterVod.php +++ b/app/Models/ChapterVod.php @@ -12,49 +12,49 @@ class ChapterVod extends Model * * @var int */ - public $id; + public $id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 章节编号 * * @var int */ - public $chapter_id; + public $chapter_id = 0; /** * 文件编号 * * @var string */ - public $file_id; + public $file_id = ''; /** * 文件转码 * - * @var string + * @var array|string */ - public $file_transcode; + public $file_transcode = ''; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -104,4 +104,4 @@ class ChapterVod extends Model return $transcode; } -} +} \ No newline at end of file diff --git a/app/Models/Connect.php b/app/Models/Connect.php index 4266e805..c5aa5cbd 100644 --- a/app/Models/Connect.php +++ b/app/Models/Connect.php @@ -16,63 +16,63 @@ class Connect extends Model * * @var int */ - public $id; + public $id = 0; /** * 用户编号 * * @var int */ - public $user_id; + public $user_id = 0; /** * 开放ID * * @var string */ - public $open_id; + public $open_id = ''; /** * 开放名称 * * @var string */ - public $open_name; + public $open_name = ''; /** * 开放头像 * * @var string */ - public $open_avatar; + public $open_avatar = ''; /** * 提供商 * * @var int */ - public $provider; + public $provider = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -101,4 +101,4 @@ class Connect extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/Consult.php b/app/Models/Consult.php index 31ea904d..ee24fea3 100644 --- a/app/Models/Consult.php +++ b/app/Models/Consult.php @@ -19,112 +19,112 @@ class Consult extends Model * * @var int */ - public $id; + public $id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 章节编号 * * @var int */ - public $chapter_id; + public $chapter_id = 0; /** * 提主编号 * * @var int */ - public $owner_id; + public $owner_id = 0; /** * 答主编号 * * @var int */ - public $replier_id; + public $replier_id = 0; /** * 提问 * * @var string */ - public $question; + public $question = ''; /** * 回答 * * @var string */ - public $answer; + public $answer = ''; /** * 评分 * * @var int */ - public $rating; + public $rating = 0; /** * 优先级 * * @var int */ - public $priority; + public $priority = 0; /** * 私密标识 * * @var int */ - public $private; + public $private = 0; /** * 发布标识 * * @var int */ - public $published; + public $published = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 赞成数 * * @var int */ - public $like_count; + public $like_count = 0; /** * 回复时间 * * @var int */ - public $reply_time; + public $reply_time = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -157,4 +157,4 @@ class Consult extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/ConsultLike.php b/app/Models/ConsultLike.php index efa4d3d5..b88af738 100644 --- a/app/Models/ConsultLike.php +++ b/app/Models/ConsultLike.php @@ -12,42 +12,42 @@ class ConsultLike extends Model * * @var int */ - public $id; + public $id = 0; /** * 咨询编号 * * @var int */ - public $consult_id; + public $consult_id = 0; /** * 用户编号 * * @var int */ - public $user_id; + public $user_id = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -76,4 +76,4 @@ class ConsultLike extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/Course.php b/app/Models/Course.php index ffb72902..e7f27809 100644 --- a/app/Models/Course.php +++ b/app/Models/Course.php @@ -52,203 +52,203 @@ class Course extends Model * * @var int */ - public $id; + public $id = 0; /** * 标题 * * @var string */ - public $title; + public $title = ''; /** * 封面 * * @var string */ - public $cover; + public $cover = ''; /** * 简介 * * @var string */ - public $summary; + public $summary = ''; /** * 关键字 * * @var string */ - public $keywords; + public $keywords = ''; /** * 详情 * * @var string */ - public $details; + public $details = ''; /** * 主分类编号 * * @var int */ - public $category_id; + public $category_id = 0; /** * 主教师编号 * * @var int */ - public $teacher_id; + public $teacher_id = 0; /** * 市场价格 * * @var float */ - public $market_price; + public $market_price = 0.00; /** * 会员价格 * * @var float */ - public $vip_price; + public $vip_price = 0.00; /** * 学习期限(月) * * @var int */ - public $study_expiry; + public $study_expiry = 0; /** * 退款期限(天) * * @var int */ - public $refund_expiry; + public $refund_expiry = 0; /** * 用户评价 * * @var float */ - public $rating; + public $rating = 0.00; /** * 综合得分 * * @var float */ - public $score; + public $score = 0.00; /** * 模式类型 * * @var int */ - public $model; + public $model = 0; /** * 难度级别 * * @var int */ - public $level; + public $level = 0; /** * 扩展属性 * * @var string|array */ - public $attrs; + public $attrs = ''; /** * 推荐标识 * * @var int */ - public $featured; + public $featured = 0; /** * 发布标识 * * @var int */ - public $published; + public $published = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 资源数 * * @var int */ - public $resource_count; + public $resource_count = 0; /** * 学员数 * * @var int */ - public $user_count; + public $user_count = 0; /** * 课时数 * * @var int */ - public $lesson_count; + public $lesson_count = 0; /** * 套餐数 * * @var int */ - public $package_count; + public $package_count = 0; /** * 咨询数 * * @var int */ - public $consult_count; + public $consult_count = 0; /** * 评价数 * * @var int */ - public $review_count; + public $review_count = 0; /** * 收藏数 * * @var int */ - public $favorite_count; + public $favorite_count = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -291,13 +291,6 @@ class Course extends Model $this->cover = self::getCoverPath($this->cover); } - /** - * text类型不会自动填充默认值 - */ - if (is_null($this->details)) { - $this->details = ''; - } - $this->create_time = time(); } @@ -411,4 +404,4 @@ class Course extends Model ]; } -} +} \ No newline at end of file diff --git a/app/Models/CourseCategory.php b/app/Models/CourseCategory.php index 32eec7c6..ca820542 100644 --- a/app/Models/CourseCategory.php +++ b/app/Models/CourseCategory.php @@ -10,28 +10,28 @@ class CourseCategory extends Model * * @var int */ - public $id; + public $id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 分类编号 * * @var int */ - public $category_id; + public $category_id = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; public function getSource(): string { @@ -43,4 +43,4 @@ class CourseCategory extends Model $this->create_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/CourseFavorite.php b/app/Models/CourseFavorite.php index eda06128..8801f8f2 100644 --- a/app/Models/CourseFavorite.php +++ b/app/Models/CourseFavorite.php @@ -12,42 +12,42 @@ class CourseFavorite extends Model * * @var int */ - public $id; + public $id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 用户编号 * * @var int */ - public $user_id; + public $user_id = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -76,4 +76,4 @@ class CourseFavorite extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/CoursePackage.php b/app/Models/CoursePackage.php index 1ea23a98..1ae4f7d1 100644 --- a/app/Models/CoursePackage.php +++ b/app/Models/CoursePackage.php @@ -10,28 +10,28 @@ class CoursePackage extends Model * * @var int */ - public $id; + public $id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 套餐编号 * * @var int */ - public $package_id; + public $package_id = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; public function getSource(): string { @@ -43,4 +43,4 @@ class CoursePackage extends Model $this->create_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/CourseRating.php b/app/Models/CourseRating.php index 170be4ef..a124f798 100644 --- a/app/Models/CourseRating.php +++ b/app/Models/CourseRating.php @@ -10,49 +10,49 @@ class CourseRating extends Model * * @var int */ - public $course_id; + public $course_id = 0; /** * 综合评分 * * @var float */ - public $rating; + public $rating = 0.00; /** * 维度1评分 * * @var float */ - public $rating1; + public $rating1 = 0.00; /** * 维度2评分 * * @var float */ - public $rating2; + public $rating2 = 0.00; /** * 维度3评分 * * @var float */ - public $rating3; + public $rating3 = 0.00; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -69,4 +69,4 @@ class CourseRating extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/CourseRelated.php b/app/Models/CourseRelated.php index 4c593320..31c07801 100644 --- a/app/Models/CourseRelated.php +++ b/app/Models/CourseRelated.php @@ -10,28 +10,28 @@ class CourseRelated extends Model * * @var int */ - public $id; + public $id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 相关编号 * * @var int */ - public $related_id; + public $related_id = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; public function getSource(): string { @@ -43,4 +43,4 @@ class CourseRelated extends Model $this->create_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/CourseTopic.php b/app/Models/CourseTopic.php index 083c1aef..3e3d04cc 100644 --- a/app/Models/CourseTopic.php +++ b/app/Models/CourseTopic.php @@ -10,28 +10,28 @@ class CourseTopic extends Model * * @var int */ - public $id; + public $id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 话题编号 * * @var int */ - public $topic_id; + public $topic_id = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; public function getSource(): string { @@ -43,4 +43,4 @@ class CourseTopic extends Model $this->create_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/CourseUser.php b/app/Models/CourseUser.php index 560c8b56..f31c2995 100644 --- a/app/Models/CourseUser.php +++ b/app/Models/CourseUser.php @@ -28,91 +28,91 @@ class CourseUser extends Model * * @var int */ - public $id; + public $id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 用户编号 * * @var int */ - public $user_id; + public $user_id = 0; /** * 计划编号 * * @var int */ - public $plan_id; + public $plan_id = 0; /** * 角色类型 * * @var int */ - public $role_type; + public $role_type = 0; /** * 来源类型 * * @var int */ - public $source_type; + public $source_type = 0; /** * 过期时间 * * @var int */ - public $expiry_time; + public $expiry_time = 0; /** - * 学习时长 + * 学习时长(秒) * * @var int */ - public $duration; + public $duration = 0; /** - * 学习进度 + * 学习进度(%) * * @var int */ - public $progress; + public $progress = 0; /** * 评价标识 * * @var int */ - public $reviewed; + public $reviewed = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -158,7 +158,9 @@ class CourseUser extends Model self::SOURCE_CHARGE => '付费', self::SOURCE_VIP => '会员', self::SOURCE_IMPORT => '导入', + self::SOURCE_POINT_REDEEM => '积分兑换', + self::SOURCE_LUCKY_REDEEM => '抽奖兑换', ]; } -} +} \ No newline at end of file diff --git a/app/Models/Danmu.php b/app/Models/Danmu.php index 78c2e612..56196005 100644 --- a/app/Models/Danmu.php +++ b/app/Models/Danmu.php @@ -34,91 +34,91 @@ class Danmu extends Model * * @var int */ - public $id; + public $id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 章节编号 * * @var int */ - public $chapter_id; + public $chapter_id = 0; /** * 用户编号 * * @var int */ - public $owner_id; + public $owner_id = 0; /** * 内容 * * @var string */ - public $text; + public $text = ''; /** * 颜色 * * @var string */ - public $color; + public $color = 'white'; /** * 字号 * * @var int */ - public $size; + public $size = 0; /** * 位置 * * @var int */ - public $position; + public $position = 0; /** * 时间轴 * * @var int */ - public $time; + public $time = 0; /** * 发布标识 * * @var int */ - public $published; + public $published = 1; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -199,4 +199,4 @@ class Danmu extends Model return $keys[$index]; } -} +} \ No newline at end of file diff --git a/app/Models/Help.php b/app/Models/Help.php index aab1153b..403cc349 100644 --- a/app/Models/Help.php +++ b/app/Models/Help.php @@ -13,63 +13,63 @@ class Help extends Model * * @var int */ - public $id; + public $id = 0; /** * 分类编号 * * @var int */ - public $category_id; + public $category_id = 0; /** * 标题 * * @var string */ - public $title; + public $title = ''; /** * 内容 * * @var string */ - public $content; + public $content = ''; /** * 优先级 * * @var int */ - public $priority; + public $priority = 0; /** * 发布标识 * * @var int */ - public $published; + public $published = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -90,13 +90,6 @@ class Help extends Model public function beforeCreate() { - /** - * text类型不会自动填充默认值 - */ - if (is_null($this->content)) { - $this->content = ''; - } - $this->create_time = time(); } @@ -116,4 +109,4 @@ class Help extends Model $cache->rebuild(); } -} +} \ No newline at end of file diff --git a/app/Models/ImFriendGroup.php b/app/Models/ImFriendGroup.php index d51af955..7af9caca 100644 --- a/app/Models/ImFriendGroup.php +++ b/app/Models/ImFriendGroup.php @@ -12,49 +12,49 @@ class ImFriendGroup extends Model * * @var int */ - public $id; + public $id = 0; /** * 名称 * * @var string */ - public $name; + public $name = ''; /** * 优先级 * * @var int */ - public $priority; + public $priority = 0; /** * 状态 * * @var int */ - public $deleted; + public $deleted = 0; /** * 成员数 * * @var int */ - public $user_count; + public $user_count = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -83,5 +83,4 @@ class ImFriendGroup extends Model $this->update_time = time(); } -} - +} \ No newline at end of file diff --git a/app/Models/ImFriendUser.php b/app/Models/ImFriendUser.php index b2d169a6..b8f6d18f 100644 --- a/app/Models/ImFriendUser.php +++ b/app/Models/ImFriendUser.php @@ -10,49 +10,49 @@ class ImFriendUser extends Model * * @var int */ - public $id; + public $id = 0; /** * 用户编号 * * @var int */ - public $user_id; + public $user_id = 0; /** * 好友编号 * * @var int */ - public $friend_id; + public $friend_id = 0; /** * 分组编号 * * @var int */ - public $group_id; + public $group_id = 0; /** * 消息数量 * * @var int */ - public $msg_count; + public $msg_count = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -69,4 +69,4 @@ class ImFriendUser extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/ImGroup.php b/app/Models/ImGroup.php index ec899cd0..c18fa829 100644 --- a/app/Models/ImGroup.php +++ b/app/Models/ImGroup.php @@ -22,91 +22,91 @@ class ImGroup extends Model * * @var int */ - public $id; + public $id = 0; /** * 群主编号 * * @var int */ - public $owner_id; + public $owner_id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 群组类型 * * @var int */ - public $type; + public $type = 0; /** * 名称 * * @var string */ - public $name; + public $name = ''; /** * 图标 * * @var string */ - public $avatar; + public $avatar = ''; /** * 简介 * * @var string */ - public $about; + public $about = ''; /** * 发布状态 * * @var int */ - public $published; + public $published = 0; /** * 删除状态 * * @var int */ - public $deleted; + public $deleted = 0; /** * 成员数 * * @var int */ - public $user_count; + public $user_count = 0; /** * 消息数 * * @var int */ - public $msg_count; + public $msg_count = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -186,5 +186,4 @@ class ImGroup extends Model ]; } -} - +} \ No newline at end of file diff --git a/app/Models/ImGroupUser.php b/app/Models/ImGroupUser.php index c5483884..0131532a 100644 --- a/app/Models/ImGroupUser.php +++ b/app/Models/ImGroupUser.php @@ -10,42 +10,42 @@ class ImGroupUser extends Model * * @var int */ - public $id; + public $id = 0; /** * 群组编号 * * @var int */ - public $group_id; + public $group_id = 0; /** * 用户编号 * * @var int */ - public $user_id; + public $user_id = 0; /** * 优先级 * * @var int */ - public $priority; + public $priority = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -62,5 +62,4 @@ class ImGroupUser extends Model $this->update_time = time(); } -} - +} \ No newline at end of file diff --git a/app/Models/ImMessage.php b/app/Models/ImMessage.php index 92dbd568..fcef59d0 100644 --- a/app/Models/ImMessage.php +++ b/app/Models/ImMessage.php @@ -18,70 +18,70 @@ class ImMessage extends Model * * @var int */ - public $id; + public $id = 0; /** * 对话编号 * * @var string */ - public $chat_id; + public $chat_id = ''; /** * 发送方编号 * * @var int */ - public $sender_id; + public $sender_id = 0; /** * 接收方编号 * * @var int */ - public $receiver_id; + public $receiver_id = 0; /** * 接收方类型 * * @var int */ - public $receiver_type; + public $receiver_type = 0; /** * 内容 * * @var string */ - public $content; + public $content = ''; /** * 阅读标识 * * @var int */ - public $viewed; + public $viewed = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -123,4 +123,4 @@ class ImMessage extends Model return implode('-', $list); } -} +} \ No newline at end of file diff --git a/app/Models/ImNotice.php b/app/Models/ImNotice.php index 612224b1..73fe6bfd 100644 --- a/app/Models/ImNotice.php +++ b/app/Models/ImNotice.php @@ -29,70 +29,70 @@ class ImNotice extends Model * * @var int */ - public $id; + public $id = 0; /** * 发送方编号 * * @var int */ - public $sender_id; + public $sender_id = 0; /** * 接收方编号 * * @var int */ - public $receiver_id; + public $receiver_id = 0; /** * 条目类型 * * @var int */ - public $item_type; + public $item_type = 0; /** * 条目内容 * * @var string */ - public $item_info; + public $item_info = ''; /** * 优先级 * * @var int */ - public $priority; + public $priority = 0; /** * 阅读标识 * * @var int */ - public $viewed; + public $viewed = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -136,4 +136,4 @@ class ImNotice extends Model } } -} +} \ No newline at end of file diff --git a/app/Models/ImUser.php b/app/Models/ImUser.php index b70cfde7..8a7bf9dc 100644 --- a/app/Models/ImUser.php +++ b/app/Models/ImUser.php @@ -21,77 +21,77 @@ class ImUser extends Model * * @var int */ - public $id; + public $id = 0; /** * 名称 * * @var string */ - public $name; + public $name = ''; /** * 头像 * * @var string */ - public $avatar; + public $avatar = ''; /** * 签名 * * @var string */ - public $sign; + public $sign = ''; /** * 皮肤 * * @var string */ - public $skin; + public $skin = ''; /** * 状态 * * @var string */ - public $status; + public $status = 'none'; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 好友数 * * @var int */ - public $friend_count; + public $friend_count = 0; /** * 群组数 * * @var int */ - public $group_count; + public $group_count = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -146,4 +146,4 @@ class ImUser extends Model return $url; } -} +} \ No newline at end of file diff --git a/app/Models/Learning.php b/app/Models/Learning.php index 09391062..a84c32de 100644 --- a/app/Models/Learning.php +++ b/app/Models/Learning.php @@ -10,98 +10,98 @@ class Learning extends Model * * @var int */ - public $id; + public $id = 0; /** * 请求编号 * * @var string */ - public $request_id; + public $request_id = ''; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 章节编号 * * @var int */ - public $chapter_id; + public $chapter_id = 0; /** * 用户编号 * * @var int */ - public $user_id; + public $user_id = 0; /** * 计划编号 * * @var int */ - public $plan_id; + public $plan_id = 0; /** - * 持续时长 + * 持续时长(秒) * * @var int */ - public $duration; + public $duration = 0; /** - * 播放位置 + * 播放位置(秒) * * @var int */ - public $position; + public $position = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 客户端类型 * * @var int */ - public $client_type; + public $client_type = 0; /** * 客户端IP * * @var string */ - public $client_ip; + public $client_ip = ''; /** * 活跃时间 * * @var int */ - public $active_time; + public $active_time = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -118,4 +118,4 @@ class Learning extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/Nav.php b/app/Models/Nav.php index f8b98ae5..5370784f 100644 --- a/app/Models/Nav.php +++ b/app/Models/Nav.php @@ -24,98 +24,98 @@ class Nav extends Model * * @var int */ - public $id; + public $id = 0; /** * 上级编号 * * @var int */ - public $parent_id; + public $parent_id = 0; /** * 层级 * * @var int */ - public $level; + public $level = 0; /** * 名称 * * @var string */ - public $name; + public $name = ''; /** * 路径 * * @var string */ - public $path; + public $path = ''; /** * 打开方式 * * @var string */ - public $target; + public $target = ''; /** * 链接地址 * * @var string */ - public $url; + public $url = ''; /** * 位置 * * @var int */ - public $position; + public $position = 1; /** * 优先级 * * @var int */ - public $priority; + public $priority = 0; /** * 发布标识 * * @var int */ - public $published; + public $published = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 节点数 * * @var int */ - public $child_count; + public $child_count = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -164,4 +164,4 @@ class Nav extends Model ]; } -} +} \ No newline at end of file diff --git a/app/Models/Online.php b/app/Models/Online.php index e00c62a2..9780740f 100644 --- a/app/Models/Online.php +++ b/app/Models/Online.php @@ -10,49 +10,49 @@ class Online extends Model * * @var int */ - public $id; + public $id = 0; /** * 用户编号 * * @var int */ - public $user_id; + public $user_id = 0; /** * 客户端类型 * * @var int */ - public $client_type; + public $client_type = 0; /** * 客户端IP * * @var string */ - public $client_ip; + public $client_ip = ''; /** * 活跃时间 * * @var int */ - public $active_time; + public $active_time = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -69,4 +69,4 @@ class Online extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/Order.php b/app/Models/Order.php index 22924000..675b191a 100644 --- a/app/Models/Order.php +++ b/app/Models/Order.php @@ -30,98 +30,98 @@ class Order extends Model * * @var int */ - public $id; + public $id = 0; /** * 序号 * * @var string */ - public $sn; + public $sn = ''; /** * 主题 * * @var string */ - public $subject; + public $subject = ''; /** * 金额 * * @var float */ - public $amount; + public $amount = 0.00; /** * 用户编号 * * @var int */ - public $owner_id; + public $owner_id = 0; /** * 条目编号 * * @var int */ - public $item_id; + public $item_id = 0; /** * 条目类型 * * @var int */ - public $item_type; + public $item_type = 0; /** * 条目信息 * * @var string|array */ - public $item_info; + public $item_info = ''; /** * 终端类型 * * @var int */ - public $client_type; + public $client_type = 0; /** * 终端IP * * @var string */ - public $client_ip; + public $client_ip = ''; /** * 状态类型 * * @var int */ - public $status; + public $status = self::STATUS_PENDING; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -205,4 +205,4 @@ class Order extends Model ]; } -} +} \ No newline at end of file diff --git a/app/Models/OrderStatus.php b/app/Models/OrderStatus.php index 2f38f6ec..85b528be 100644 --- a/app/Models/OrderStatus.php +++ b/app/Models/OrderStatus.php @@ -10,28 +10,28 @@ class OrderStatus extends Model * * @var int */ - public $id; + public $id = 0; /** * 订单编号 * * @var int */ - public $order_id; + public $order_id = 0; /** * 状态类型 * * @var int */ - public $status; + public $status = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; public function getSource(): string { @@ -43,4 +43,4 @@ class OrderStatus extends Model $this->create_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/Package.php b/app/Models/Package.php index 9205112f..2568f4dd 100644 --- a/app/Models/Package.php +++ b/app/Models/Package.php @@ -13,70 +13,70 @@ class Package extends Model * * @var int */ - public $id; + public $id = 0; /** * 标题 * * @var string */ - public $title; + public $title = ''; /** * 简介 * * @var string */ - public $summary; + public $summary = ''; /** * 市场价格 * * @var float */ - public $market_price; + public $market_price = 0.00; /** * 会员价格 * * @var float */ - public $vip_price; + public $vip_price = 0.00; /** * 课程数量 * * @var int */ - public $course_count; + public $course_count = 0; /** * 发布标识 * * @var int */ - public $published; + public $published = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -122,4 +122,4 @@ class Package extends Model $this->vip_price = (float)$this->vip_price; } -} +} \ No newline at end of file diff --git a/app/Models/Page.php b/app/Models/Page.php index aed492e1..8b18ed14 100644 --- a/app/Models/Page.php +++ b/app/Models/Page.php @@ -13,49 +13,49 @@ class Page extends Model * * @var int */ - public $id; + public $id = 0; /** * 标题 * * @var string */ - public $title; + public $title = ''; /** * 内容 * * @var string */ - public $content; + public $content = ''; /** * 发布标识 * * @var int */ - public $published; + public $published = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -76,13 +76,6 @@ class Page extends Model public function beforeCreate() { - /** - * text类型不会自动填充默认值 - */ - if (is_null($this->content)) { - $this->content = ''; - } - $this->create_time = time(); } @@ -102,4 +95,4 @@ class Page extends Model $cache->rebuild(); } -} +} \ No newline at end of file diff --git a/app/Models/PointGift.php b/app/Models/PointGift.php index e0882377..a24e4313 100644 --- a/app/Models/PointGift.php +++ b/app/Models/PointGift.php @@ -117,7 +117,14 @@ class PointGift extends Model public $deleted = 0; /** - * 兑换数 + * 兑换限额 + * + * @var int + */ + public $redeem_limit = 1; + + /** + * 兑换数量 * * @var int */ @@ -232,4 +239,4 @@ class PointGift extends Model ]; } -} +} \ No newline at end of file diff --git a/app/Models/PointHistory.php b/app/Models/PointHistory.php index ad3ee0ab..0b6919c9 100644 --- a/app/Models/PointHistory.php +++ b/app/Models/PointHistory.php @@ -15,9 +15,9 @@ class PointHistory extends Model const EVENT_POINT_REFUND = 3; // 积分退款 const EVENT_ACCOUNT_REGISTER = 4; // 帐号注册 const EVENT_SITE_VISIT = 5; // 站点访问 - const EVENT_LESSON_LEARNING = 6; // 课时学习 + const EVENT_CHAPTER_STUDY = 6; // 课时学习 const EVENT_COURSE_REVIEW = 7; // 课程评价 - const EVENT_GROUP_DISCUSS = 8; // 群组讨论 + const EVENT_IM_DISCUSS = 8; // 微聊讨论 /** * 主键编号 @@ -108,6 +108,10 @@ class PointHistory extends Model public function beforeCreate() { + if (is_array($this->event_info) && !empty($this->event_info)) { + $this->event_info = kg_json_encode($this->event_info); + } + $this->create_time = time(); } @@ -116,6 +120,13 @@ class PointHistory extends Model $this->update_time = time(); } + public function afterFetch() + { + if (is_string($this->event_info) && !empty($this->event_info)) { + $this->event_info = json_decode($this->event_info, true); + } + } + public static function eventTypes() { return [ @@ -124,10 +135,10 @@ class PointHistory extends Model self::EVENT_POINT_REFUND => '积分退款', self::EVENT_ACCOUNT_REGISTER => '用户注册', self::EVENT_SITE_VISIT => '用户登录', - self::EVENT_LESSON_LEARNING => '课时学习', + self::EVENT_CHAPTER_STUDY => '课时学习', self::EVENT_COURSE_REVIEW => '课程评价', - self::EVENT_GROUP_DISCUSS => '群组讨论', + self::EVENT_IM_DISCUSS => '微聊讨论', ]; } -} +} \ No newline at end of file diff --git a/app/Models/PointRedeem.php b/app/Models/PointRedeem.php index 06fdde94..ddabb505 100644 --- a/app/Models/PointRedeem.php +++ b/app/Models/PointRedeem.php @@ -127,4 +127,4 @@ class PointRedeem extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/Refund.php b/app/Models/Refund.php index f893bd2c..f74bf494 100644 --- a/app/Models/Refund.php +++ b/app/Models/Refund.php @@ -22,91 +22,91 @@ class Refund extends Model * * @var int */ - public $id; + public $id = 0; /** * 用户编号 * * @var int */ - public $owner_id; + public $owner_id = 0; /** * 订单编号 * * @var int */ - public $order_id; + public $order_id = 0; /** * 交易编号 * * @var int */ - public $trade_id; + public $trade_id = 0; /** * 序号 * * @var string */ - public $sn; + public $sn = ''; /** * 主题 * * @var string */ - public $subject; + public $subject = ''; /** * 金额 * * @var float */ - public $amount; + public $amount = 0.00; /** * 状态类型 * * @var int */ - public $status; + public $status = self::STATUS_PENDING; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 申请备注 * * @var string */ - public $apply_note; + public $apply_note = ''; /** * 审核备注 * * @var string */ - public $review_note; + public $review_note = ''; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -129,6 +129,8 @@ class Refund extends Model public function beforeCreate() { + $this->status = self::STATUS_PENDING; + $this->sn = date('YmdHis') . rand(1000, 9999); $this->create_time = time(); @@ -166,4 +168,4 @@ class Refund extends Model ]; } -} +} \ No newline at end of file diff --git a/app/Models/RefundStatus.php b/app/Models/RefundStatus.php index 5b57d592..e0130076 100644 --- a/app/Models/RefundStatus.php +++ b/app/Models/RefundStatus.php @@ -10,28 +10,28 @@ class RefundStatus extends Model * * @var int */ - public $id; + public $id = 0; /** * 退款编号 * * @var int */ - public $refund_id; + public $refund_id = 0; /** * 状态类型 * * @var int */ - public $status; + public $status = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; public function getSource(): string { @@ -43,4 +43,4 @@ class RefundStatus extends Model $this->create_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/Resource.php b/app/Models/Resource.php index 15245d50..77b58e29 100644 --- a/app/Models/Resource.php +++ b/app/Models/Resource.php @@ -10,42 +10,42 @@ class Resource extends Model * * @var int */ - public $id; + public $id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 章节编号 * * @var int */ - public $chapter_id; + public $chapter_id = 0; /** * 上传编号 * * @var int */ - public $upload_id; + public $upload_id = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -62,4 +62,4 @@ class Resource extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/Review.php b/app/Models/Review.php index 5d6b6e4f..6e6f2a68 100644 --- a/app/Models/Review.php +++ b/app/Models/Review.php @@ -12,105 +12,105 @@ class Review extends Model * * @var int */ - public $id; + public $id = 0; /** * 课程编号 * * @var int */ - public $course_id; + public $course_id = 0; /** * 用户编号 * * @var int */ - public $owner_id; + public $owner_id = 0; /** * 评价内容 * * @var string */ - public $content; + public $content = ''; /** * 回复内容 * * @var string */ - public $reply; + public $reply = ''; /** * 综合评分 * * @var float */ - public $rating; + public $rating = 0.00; /** * 维度1评分 * * @var float */ - public $rating1; + public $rating1 = 0.00; /** * 维度2评分 * * @var float */ - public $rating2; + public $rating2 = 0.00; /** * 维度3评分 * * @var float */ - public $rating3; + public $rating3 = 0.00; /** * 匿名标识 * * @var int */ - public $anonymous; + public $anonymous = 0; /** * 发布标识 * * @var int */ - public $published; + public $published = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 点赞数量 * * @var int */ - public $like_count; + public $like_count = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -154,4 +154,4 @@ class Review extends Model return round($sumRating / 3, 2); } -} +} \ No newline at end of file diff --git a/app/Models/ReviewLike.php b/app/Models/ReviewLike.php index bfd03e72..96b09b09 100644 --- a/app/Models/ReviewLike.php +++ b/app/Models/ReviewLike.php @@ -12,42 +12,42 @@ class ReviewLike extends Model * * @var int */ - public $id; + public $id = 0; /** * 评价编号 * * @var int */ - public $review_id; + public $review_id = 0; /** * 用户编号 * * @var int */ - public $user_id; + public $user_id = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -76,4 +76,4 @@ class ReviewLike extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/Reward.php b/app/Models/Reward.php index 017a0258..dc6d9ffa 100644 --- a/app/Models/Reward.php +++ b/app/Models/Reward.php @@ -12,42 +12,42 @@ class Reward extends Model * * @var int */ - public $id; + public $id = 0; /** * 标题 * * @var string */ - public $title; + public $title = ''; /** * 价格 * * @var float */ - public $price; + public $price = 0.00; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -81,4 +81,4 @@ class Reward extends Model $this->price = (float)$this->price; } -} +} \ No newline at end of file diff --git a/app/Models/Role.php b/app/Models/Role.php index a30b573b..7f0287e6 100644 --- a/app/Models/Role.php +++ b/app/Models/Role.php @@ -26,63 +26,63 @@ class Role extends Model * * @var int */ - public $id; + public $id = 0; /** * 类型 * - * @var string + * @var int */ - public $type; + public $type = self::TYPE_CUSTOM; /** * 名称 * * @var string */ - public $name; + public $name = ''; /** * 简介 * * @var string */ - public $summary; + public $summary = ''; /** * 权限路由 * - * @var string + * @var array|string */ - public $routes; + public $routes = ''; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 成员数 * * @var int */ - public $user_count; + public $user_count = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -105,8 +105,6 @@ class Role extends Model { if (is_array($this->routes) && !empty($this->routes)) { $this->routes = kg_json_encode($this->routes); - } else { - $this->routes = ''; } $this->create_time = time(); @@ -146,4 +144,4 @@ class Role extends Model ]; } -} +} \ No newline at end of file diff --git a/app/Models/Setting.php b/app/Models/Setting.php index a4bd5f01..edc89b87 100644 --- a/app/Models/Setting.php +++ b/app/Models/Setting.php @@ -10,32 +10,32 @@ class Setting extends Model * * @var int */ - public $id; + public $id = 0; /** * 配置块 * * @var string */ - public $section; + public $section = ''; /** * 配置键 * * @var string */ - public $item_key; + public $item_key = ''; /** * 配置值 * * @var string */ - public $item_value; + public $item_value = ''; public function getSource(): string { return 'kg_setting'; } -} +} \ No newline at end of file diff --git a/app/Models/Slide.php b/app/Models/Slide.php index d5675fff..4d72b708 100644 --- a/app/Models/Slide.php +++ b/app/Models/Slide.php @@ -20,84 +20,84 @@ class Slide extends Model * * @var int */ - public $id; + public $id = 0; /** * 标题 * * @var string */ - public $title; + public $title = ''; /** * 封面 * * @var string */ - public $cover; + public $cover = ''; /** * 摘要 * * @var string */ - public $summary; + public $summary = ''; /** * 内容 * * @var string */ - public $content; + public $content = ''; /** * 平台 * * @var int */ - public $platform; + public $platform = 0; /** * 目标 * * @var int */ - public $target; + public $target = 0; /** * 优先级 * * @var int */ - public $priority; + public $priority = 0; /** * 发布标识 * * @var int */ - public $published; + public $published = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -165,4 +165,4 @@ class Slide extends Model ]; } -} +} \ No newline at end of file diff --git a/app/Models/Task.php b/app/Models/Task.php index 268032a5..58fb19fc 100644 --- a/app/Models/Task.php +++ b/app/Models/Task.php @@ -10,8 +10,8 @@ class Task extends Model */ const TYPE_DELIVER = 1; // 发货 const TYPE_REFUND = 2; // 退款 - const TYPE_POINT_GIFT_AWARD = 3; // 积分礼品派发 - const TYPE_LUCKY_GIFT_AWARD = 4; // 抽奖礼品派发 + const TYPE_POINT_GIFT_DELIVER = 3; // 积分礼品派发 + const TYPE_LUCKY_GIFT_DELIVER = 4; // 抽奖礼品派发 const TYPE_NOTICE_ACCOUNT_LOGIN = 11; // 帐号登录通知 const TYPE_NOTICE_LIVE_BEGIN = 12; // 直播开始通知 @@ -39,63 +39,63 @@ class Task extends Model * * @var int */ - public $id; + public $id = 0; /** * 条目编号 * * @var int */ - public $item_id; + public $item_id = 0; /** * 条目类型 * * @var int */ - public $item_type; + public $item_type = 0; /** * 条目内容 * * @var string|array */ - public $item_info; + public $item_info = ''; /** * 优先级 * * @var int */ - public $priority; + public $priority = self::PRIORITY_LOW; /** * 状态标识 * * @var int */ - public $status; + public $status = self::STATUS_PENDING; /** * 重试次数 * * @var int */ - public $try_count; + public $try_count = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -129,4 +129,4 @@ class Task extends Model } } -} +} \ No newline at end of file diff --git a/app/Models/Topic.php b/app/Models/Topic.php index f4776907..6b5794b5 100644 --- a/app/Models/Topic.php +++ b/app/Models/Topic.php @@ -13,56 +13,56 @@ class Topic extends Model * * @var int */ - public $id; + public $id = 0; /** * 标题 * * @var string */ - public $title; + public $title = ''; /** * 简介 * * @var string */ - public $summary; + public $summary = ''; /** * 课程数量 * * @var int */ - public $course_count; + public $course_count = 0; /** * 发布标识 * * @var int */ - public $published; + public $published = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -102,4 +102,4 @@ class Topic extends Model $cache->rebuild(); } -} +} \ No newline at end of file diff --git a/app/Models/Trade.php b/app/Models/Trade.php index 0a3d24bf..3090222f 100644 --- a/app/Models/Trade.php +++ b/app/Models/Trade.php @@ -26,84 +26,84 @@ class Trade extends Model * * @var int */ - public $id; + public $id = 0; /** * 用户编号 * * @var int */ - public $owner_id; + public $owner_id = 0; /** * 订单编号 * * @var int */ - public $order_id; + public $order_id = 0; /** * 商户流水号 * * @var string */ - public $sn; + public $sn = ''; /** * 主题 * * @var string */ - public $subject; + public $subject = ''; /** * 金额 * * @var float */ - public $amount; + public $amount = 0.00; /** * 平台类型 * * @var int */ - public $channel; + public $channel = 0; /** * 平台流水号 * * @var string */ - public $channel_sn; + public $channel_sn = ''; /** * 状态类型 * * @var int */ - public $status; + public $status = self::STATUS_PENDING; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -171,4 +171,4 @@ class Trade extends Model ]; } -} +} \ No newline at end of file diff --git a/app/Models/TradeStatus.php b/app/Models/TradeStatus.php index 9b1a2f5a..175d095c 100644 --- a/app/Models/TradeStatus.php +++ b/app/Models/TradeStatus.php @@ -10,28 +10,28 @@ class TradeStatus extends Model * * @var int */ - public $id; + public $id = 0; /** * 交易编号 * * @var int */ - public $trade_id; + public $trade_id = 0; /** * 状态类型 * * @var int */ - public $status; + public $status = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; public function getSource(): string { @@ -43,4 +43,4 @@ class TradeStatus extends Model $this->create_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/Upload.php b/app/Models/Upload.php index c6e717f8..ed86f76e 100644 --- a/app/Models/Upload.php +++ b/app/Models/Upload.php @@ -23,70 +23,70 @@ class Upload extends Model * * @var int */ - public $id; + public $id = 0; /** * 名称 * * @var string */ - public $name; + public $name = ''; /** * 路径 * * @var string */ - public $path; + public $path = ''; /** * mime * * @var string */ - public $mime; + public $mime = ''; /** * md5 * * @var string */ - public $md5; + public $md5 = ''; /** - * 大小 + * 大小(字节) * * @var int */ - public $size; + public $size = 0; /** * 类型 * * @var int */ - public $type; + public $type = 0; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -122,4 +122,4 @@ class Upload extends Model $cache->rebuild(); } -} +} \ No newline at end of file diff --git a/app/Models/User.php b/app/Models/User.php index 4e007a8d..f4d7703c 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -3,6 +3,7 @@ namespace App\Models; use App\Caches\MaxUserId as MaxUserIdCache; +use App\Caches\User as UserCache; use App\Services\Sync\UserIndex as UserIndexSync; use Phalcon\Mvc\Model\Behavior\SoftDelete; use Phalcon\Text; @@ -216,6 +217,10 @@ class User extends Model 'avatar' => $this->avatar, ]); } + + $userCache = new UserCache(); + + $userCache->rebuild($this->id); } public function afterFetch() @@ -251,4 +256,4 @@ class User extends Model ]; } -} +} \ No newline at end of file diff --git a/app/Models/UserBalance.php b/app/Models/UserBalance.php index fc2529c7..8ab1334f 100644 --- a/app/Models/UserBalance.php +++ b/app/Models/UserBalance.php @@ -66,12 +66,13 @@ class UserBalance extends Model ); } + public function beforeCreate() + { + $this->create_time = time(); + } + public function beforeSave() { - if (empty($this->create_time)) { - $this->create_time = time(); - } - $this->update_time = time(); } diff --git a/app/Models/UserContact.php b/app/Models/UserContact.php index e8501376..790df7ca 100644 --- a/app/Models/UserContact.php +++ b/app/Models/UserContact.php @@ -104,4 +104,14 @@ class UserContact extends Model $this->update_time = time(); } -} + public function fullAddress() + { + return implode(' ', [ + $this->add_province, + $this->add_city, + $this->add_county, + $this->add_other, + ]); + } + +} \ No newline at end of file diff --git a/app/Models/UserSession.php b/app/Models/UserSession.php index 1e50498e..31fd144b 100644 --- a/app/Models/UserSession.php +++ b/app/Models/UserSession.php @@ -12,56 +12,56 @@ class UserSession extends Model * * @var int */ - public $id; + public $id = 0; /** * 用户编号 * * @var int */ - public $user_id; + public $user_id = 0; /** * 会话编号 * * @var string */ - public $session_id; + public $session_id = ''; /** * 终端类型 * * @var int */ - public $client_type; + public $client_type = 0; /** * 终端IP * * @var string */ - public $client_ip; + public $client_ip = ''; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -90,4 +90,4 @@ class UserSession extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/UserToken.php b/app/Models/UserToken.php index 8a1ee4d3..a3f6f642 100644 --- a/app/Models/UserToken.php +++ b/app/Models/UserToken.php @@ -12,56 +12,56 @@ class UserToken extends Model * * @var int */ - public $id; + public $id = 0; /** * 用户编号 * * @var int */ - public $user_id; + public $user_id = 0; /** * 令牌 * * @var string */ - public $token; + public $token = ''; /** * 终端类型 * * @var int */ - public $client_type; + public $client_type = 0; /** * 终端IP * * @var string */ - public $client_ip; + public $client_ip = ''; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -90,4 +90,4 @@ class UserToken extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Models/Vip.php b/app/Models/Vip.php index 26453113..b6a8446e 100644 --- a/app/Models/Vip.php +++ b/app/Models/Vip.php @@ -12,49 +12,49 @@ class Vip extends Model * * @var int */ - public $id; + public $id = 0; /** * 标题 * * @var string */ - public $title; + public $title = ''; /** * 期限(天) * * @var int */ - public $expiry; + public $expiry = 0; /** * 价格 * * @var float */ - public $price; + public $price = 0.00; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -88,4 +88,4 @@ class Vip extends Model $this->price = (float)$this->price; } -} +} \ No newline at end of file diff --git a/app/Models/WechatSubscribe.php b/app/Models/WechatSubscribe.php index e1633caa..0e2efe98 100644 --- a/app/Models/WechatSubscribe.php +++ b/app/Models/WechatSubscribe.php @@ -12,42 +12,42 @@ class WechatSubscribe extends Model * * @var int */ - public $id; + public $id = 0; /** * 用户编号 * * @var int */ - public $user_id; + public $user_id = 0; /** * 开放ID * * @var string */ - public $open_id; + public $open_id = ''; /** * 删除标识 * * @var int */ - public $deleted; + public $deleted = 0; /** * 创建时间 * * @var int */ - public $create_time; + public $create_time = 0; /** * 更新时间 * * @var int */ - public $update_time; + public $update_time = 0; public function getSource(): string { @@ -76,4 +76,4 @@ class WechatSubscribe extends Model $this->update_time = time(); } -} +} \ No newline at end of file diff --git a/app/Repos/PointHistory.php b/app/Repos/PointHistory.php index d427389a..234425ca 100644 --- a/app/Repos/PointHistory.php +++ b/app/Repos/PointHistory.php @@ -64,11 +64,12 @@ class PointHistory extends Repository /** * @param int $eventId * @param int $eventType + * @param string $date * @return PointHistoryModel|Model|bool */ - public function findDailyEventHistory($eventId, $eventType) + public function findDailyEventHistory($eventId, $eventType, $date) { - $createTime = strtotime(date('Y-m-d')); + $createTime = strtotime($date); return PointHistoryModel::findFirst([ 'conditions' => 'event_id = ?1 AND event_type = ?2 AND create_time > ?3', diff --git a/app/Repos/PointRedeem.php b/app/Repos/PointRedeem.php index c1e33f84..b5f4a877 100644 --- a/app/Repos/PointRedeem.php +++ b/app/Repos/PointRedeem.php @@ -5,8 +5,6 @@ namespace App\Repos; use App\Library\Paginator\Adapter\QueryBuilder as PagerQueryBuilder; use App\Models\PointRedeem as PointRedeemModel; use Phalcon\Mvc\Model; -use Phalcon\Mvc\Model\Resultset; -use Phalcon\Mvc\Model\ResultsetInterface; class PointRedeem extends Repository { @@ -31,6 +29,10 @@ class PointRedeem extends Repository $builder->andWhere('gift_type = :gift_type:', ['gift_type' => $where['gift_type']]); } + if (!empty($where['status'])) { + $builder->andWhere('status = :status:', ['status' => $where['status']]); + } + switch ($sort) { default: $orderBy = 'id DESC'; @@ -60,17 +62,12 @@ class PointRedeem extends Repository ]); } - /** - * @param array $ids - * @param string|array $columns - * @return ResultsetInterface|Resultset|PointRedeemModel[] - */ - public function findByIds($ids, $columns = '*') + public function countUserGiftRedeems($userId, $giftId) { - return PointRedeemModel::query() - ->columns($columns) - ->inWhere('id', $ids) - ->execute(); + return (int)PointRedeemModel::count([ + 'conditions' => 'user_id = :user_id: AND gift_id = :gift_id:', + 'bind' => ['user_id' => $userId, 'gift_id' => $giftId], + ]); } } diff --git a/app/Services/ChapterVod.php b/app/Services/ChapterVod.php index 89d6d292..ddbe927a 100644 --- a/app/Services/ChapterVod.php +++ b/app/Services/ChapterVod.php @@ -17,16 +17,11 @@ class ChapterVod extends Service return []; } - /** - * @var array $transcode - */ - $transcode = $vod->file_transcode; - $vod = new Vod(); $result = []; - foreach ($transcode as $key => $file) { + foreach ($vod->file_transcode as $key => $file) { $file['url'] = $vod->getPlayUrl($file['url']); $type = $this->getDefinitionType($file['height']); $result[$type] = $file; @@ -41,12 +36,9 @@ class ChapterVod extends Service $vodTemplates = $this->getVodTemplates(); - /** - * 腾讯云播放器只支持[od|hd|sd],遇到fd替换为od - */ foreach ($vodTemplates as $key => $template) { if ($height >= $template['height']) { - return $key == 'fd' ? $default : $key; + return $key; } } @@ -54,14 +46,14 @@ class ChapterVod extends Service } /** - * @return array + * 腾讯云播放器只支持[od|hd|sd],实际转码速率[hd|sd|fd],重新映射清晰度 */ protected function getVodTemplates() { return [ - 'hd' => ['height' => 720, 'rate' => 1800], - 'sd' => ['height' => 540, 'rate' => 1000], - 'fd' => ['height' => 360, 'rate' => 400], + 'od' => ['height' => 720, 'rate' => 1800], + 'hd' => ['height' => 540, 'rate' => 1000], + 'sd' => ['height' => 360, 'rate' => 400], ]; } diff --git a/app/Services/Logic/Chapter/BasicInfo.php b/app/Services/Logic/Chapter/BasicInfo.php index 65e88b25..8c571f8c 100644 --- a/app/Services/Logic/Chapter/BasicInfo.php +++ b/app/Services/Logic/Chapter/BasicInfo.php @@ -112,6 +112,8 @@ class BasicInfo extends Service $read = $chapterRepo->findChapterRead($chapter->id); + $read->content = kg_parse_markdown($read->content); + return [ 'id' => $chapter->id, 'title' => $chapter->title, diff --git a/app/Services/Logic/Chapter/ChapterLike.php b/app/Services/Logic/Chapter/ChapterLike.php index d917e83c..d564dd89 100644 --- a/app/Services/Logic/Chapter/ChapterLike.php +++ b/app/Services/Logic/Chapter/ChapterLike.php @@ -77,7 +77,7 @@ class ChapterLike extends Service protected function incrUserDailyChapterLikeCount(UserModel $user) { - $this->eventsManager->fire('userDailyCounter:incrChapterLikeCount', $this, $user); + $this->eventsManager->fire('UserDailyCounter:incrChapterLikeCount', $this, $user); } } diff --git a/app/Services/Logic/Consult/ConsultCreate.php b/app/Services/Logic/Consult/ConsultCreate.php index 7f21287d..369fd19a 100644 --- a/app/Services/Logic/Consult/ConsultCreate.php +++ b/app/Services/Logic/Consult/ConsultCreate.php @@ -147,7 +147,7 @@ class ConsultCreate extends Service protected function incrUserDailyConsultCount(UserModel $user) { - $this->eventsManager->fire('userDailyCounter:incrConsultCount', $this, $user); + $this->eventsManager->fire('UserDailyCounter:incrConsultCount', $this, $user); } } diff --git a/app/Services/Logic/Consult/ConsultLike.php b/app/Services/Logic/Consult/ConsultLike.php index c49adeef..e1c06fb8 100644 --- a/app/Services/Logic/Consult/ConsultLike.php +++ b/app/Services/Logic/Consult/ConsultLike.php @@ -78,7 +78,7 @@ class ConsultLike extends Service protected function incrUserDailyConsultLikeCount(UserModel $user) { - $this->eventsManager->fire('userDailyCounter:incrConsultLikeCount', $this, $user); + $this->eventsManager->fire('UserDailyCounter:incrConsultLikeCount', $this, $user); } } diff --git a/app/Services/Logic/Danmu/DanmuCreate.php b/app/Services/Logic/Danmu/DanmuCreate.php index 35fe1b26..47288358 100644 --- a/app/Services/Logic/Danmu/DanmuCreate.php +++ b/app/Services/Logic/Danmu/DanmuCreate.php @@ -53,7 +53,7 @@ class DanmuCreate extends Service protected function incrUserDailyDanmuCount(UserModel $user) { - $this->eventsManager->fire('userDailyCounter:incrDanmuCount', $this, $user); + $this->eventsManager->fire('UserDailyCounter:incrDanmuCount', $this, $user); } } diff --git a/app/Services/Logic/Notice/PointRedeemFinish.php b/app/Services/Logic/Notice/PointRedeemFinish.php new file mode 100644 index 00000000..2c88e21e --- /dev/null +++ b/app/Services/Logic/Notice/PointRedeemFinish.php @@ -0,0 +1,78 @@ +item_info['order']['id']; + + $orderRepo = new OrderRepo(); + + $order = $orderRepo->findById($orderId); + + $userRepo = new UserRepo(); + + $user = $userRepo->findById($order->owner_id); + + $params = [ + 'user' => [ + 'id' => $user->id, + 'name' => $user->name, + ], + 'order' => [ + 'sn' => $order->sn, + 'subject' => $order->subject, + 'amount' => $order->amount, + 'create_time' => $order->create_time, + 'update_time' => $order->update_time, + ], + ]; + + $subscribeRepo = new WechatSubscribeRepo(); + + $subscribe = $subscribeRepo->findByUserId($order->owner_id); + + if ($subscribe && $subscribe->deleted == 0) { + + $notice = new WechatOrderFinishNotice(); + + return $notice->handle($subscribe, $params); + + } else { + + $notice = new SmsOrderFinishNotice(); + + return $notice->handle($user, $params); + } + } + + public function createTask(OrderModel $order) + { + $task = new TaskModel(); + + $itemInfo = [ + 'order' => ['id' => $order->id], + ]; + + $task->item_id = $order->id; + $task->item_info = $itemInfo; + $task->item_type = TaskModel::TYPE_NOTICE_ORDER_FINISH; + $task->priority = TaskModel::PRIORITY_HIGH; + $task->status = TaskModel::STATUS_PENDING; + + $task->create(); + } + +} diff --git a/app/Services/Logic/Order/OrderCreate.php b/app/Services/Logic/Order/OrderCreate.php index b829b21e..d03ed8d5 100644 --- a/app/Services/Logic/Order/OrderCreate.php +++ b/app/Services/Logic/Order/OrderCreate.php @@ -221,7 +221,7 @@ class OrderCreate extends Service protected function incrUserDailyOrderCount(UserModel $user) { - $this->eventsManager->fire('userDailyCounter:incrOrderCount', $this, $user); + $this->eventsManager->fire('UserDailyCounter:incrOrderCount', $this, $user); } } diff --git a/app/Services/Logic/Point/GiftInfo.php b/app/Services/Logic/Point/GiftInfo.php index 89fc9ed5..4cb7caf8 100644 --- a/app/Services/Logic/Point/GiftInfo.php +++ b/app/Services/Logic/Point/GiftInfo.php @@ -28,8 +28,11 @@ class GiftInfo extends Service 'name' => $gift->name, 'cover' => $gift->cover, 'details' => $gift->details, + 'attrs' => $gift->attrs, 'type' => $gift->type, + 'stock' => $gift->stock, 'point' => $gift->point, + 'redeem_limit' => $gift->redeem_limit, 'redeem_count' => $gift->redeem_count, ]; } diff --git a/app/Services/Logic/Point/PointHistory.php b/app/Services/Logic/Point/PointHistory.php index 34b9f45a..ef6641fd 100644 --- a/app/Services/Logic/Point/PointHistory.php +++ b/app/Services/Logic/Point/PointHistory.php @@ -3,6 +3,7 @@ namespace App\Services\Logic\Point; use App\Models\ChapterUser as ChapterUserModel; +use App\Models\ImMessage as ImMessageModel; use App\Models\Order as OrderModel; use App\Models\PointHistory as PointHistoryModel; use App\Models\PointRedeem as PointRedeemModel; @@ -93,6 +94,7 @@ class PointHistory extends Service $eventInfo = [ 'point_redeem' => [ 'id' => $redeem->id, + 'gift_id' => $redeem->gift_id, 'gift_name' => $redeem->gift_name, 'gift_type' => $redeem->gift_type, 'gift_point' => $redeem->gift_point, @@ -130,6 +132,7 @@ class PointHistory extends Service $eventInfo = [ 'point_redeem' => [ 'id' => $redeem->id, + 'gift_id' => $redeem->gift_id, 'gift_name' => $redeem->gift_name, 'gift_type' => $redeem->gift_type, 'gift_point' => $redeem->gift_point, @@ -168,11 +171,11 @@ class PointHistory extends Service $eventId = $user->id; $eventType = PointHistoryModel::EVENT_SITE_VISIT; - $eventInfo = '每日登录'; + $eventInfo = '每日访问'; $historyRepo = new PointHistoryRepo(); - $history = $historyRepo->findDailyEventHistory($eventId, $eventType); + $history = $historyRepo->findDailyEventHistory($eventId, $eventType, date('Ymd')); if ($history) return; @@ -208,11 +211,11 @@ class PointHistory extends Service $eventId = $user->id; $eventType = PointHistoryModel::EVENT_ACCOUNT_REGISTER; - $eventInfo = '用户注册'; + $eventInfo = '帐号注册'; $historyRepo = new PointHistoryRepo(); - $history = $historyRepo->findDailyEventHistory($eventId, $eventType); + $history = $historyRepo->findDailyEventHistory($eventId, $eventType, date('Ymd')); if ($history) return; @@ -228,7 +231,7 @@ class PointHistory extends Service $this->handlePointHistory($history); } - public function handleLessonLearning(ChapterUserModel $chapterUser) + public function handleChapterStudy(ChapterUserModel $chapterUser) { $setting = $this->getSettings('point'); @@ -238,16 +241,16 @@ class PointHistory extends Service $eventRule = json_decode($setting['event_rule'], true); - $eventEnabled = $eventRule['chapter_learning']['enabled'] ?? 0; + $eventEnabled = $eventRule['chapter_study']['enabled'] ?? 0; if ($eventEnabled == 0) return; - $eventPoint = $eventRule['chapter_learning']['point'] ?? 0; + $eventPoint = $eventRule['chapter_study']['point'] ?? 0; if ($eventPoint <= 0) return; $eventId = $chapterUser->id; - $eventType = PointHistoryModel::EVENT_LESSON_LEARNING; + $eventType = PointHistoryModel::EVENT_CHAPTER_STUDY; $historyRepo = new PointHistoryRepo(); @@ -344,7 +347,7 @@ class PointHistory extends Service $this->handlePointHistory($history); } - public function handleGroupDiscuss(UserModel $user) + public function handleImDiscuss(ImMessageModel $message) { $setting = $this->getSettings('point'); @@ -354,24 +357,28 @@ class PointHistory extends Service $eventRule = json_decode($setting['event_rule'], true); - $eventEnabled = $eventRule['group_discuss']['enabled'] ?? 0; + $eventEnabled = $eventRule['im_discuss']['enabled'] ?? 0; if ($eventEnabled == 0) return; - $eventPoint = $eventRule['group_discuss']['point'] ?? 0; + $eventPoint = $eventRule['im_discuss']['point'] ?? 0; if ($eventPoint <= 0) return; - $eventId = $user->id; - $eventType = PointHistoryModel::EVENT_GROUP_DISCUSS; - $eventInfo = '群组讨论'; + $eventId = $message->sender_id; + $eventType = PointHistoryModel::EVENT_IM_DISCUSS; + $eventInfo = '每日微聊'; $historyRepo = new PointHistoryRepo(); - $history = $historyRepo->findEventHistory($eventId, $eventType); + $history = $historyRepo->findDailyEventHistory($eventId, $eventType, date('Ymd')); if ($history) return; + $userRepo = new UserRepo(); + + $user = $userRepo->findById($message->sender_id); + $history = new PointHistoryModel(); $history->user_id = $user->id; @@ -386,6 +393,8 @@ class PointHistory extends Service protected function handlePointHistory(PointHistoryModel $history) { + $logger = $this->getLogger('point'); + try { $this->db->begin(); @@ -419,20 +428,13 @@ class PointHistory extends Service $this->db->rollback(); - $this->logException($e); + $logger->error('Point History Exception ' . kg_json_encode([ + 'code' => $e->getCode(), + 'message' => $e->getMessage(), + ])); throw new \RuntimeException('sys.trans_rollback'); } } - protected function logException(\Exception $e) - { - $logger = $this->getLogger('point'); - - $logger->error('Point History Exception ' . kg_json_encode([ - 'code' => $e->getCode(), - 'message' => $e->getMessage(), - ])); - } - } diff --git a/app/Services/Logic/Point/PointRedeem.php b/app/Services/Logic/Point/PointRedeem.php index 16aa7c56..5be3cc65 100644 --- a/app/Services/Logic/Point/PointRedeem.php +++ b/app/Services/Logic/Point/PointRedeem.php @@ -2,12 +2,13 @@ namespace App\Services\Logic\Point; +use App\Library\Utils\Lock as LockUtil; use App\Models\PointGift as PointGiftModel; -use App\Models\PointHistory as PointHistoryModel; use App\Models\PointRedeem as PointRedeemModel; use App\Models\Task as TaskModel; use App\Models\User as UserModel; use App\Repos\User as UserRepo; +use App\Services\Logic\Point\PointHistory as PointHistoryService; use App\Services\Logic\PointGiftTrait; use App\Services\Logic\Service; use App\Validators\PointRedeem as PointRedeemValidator; @@ -34,9 +35,15 @@ class PointRedeem extends Service protected function createPointRedeem(PointGiftModel $gift, UserModel $user) { - $userRepo = new UserRepo(); + $logger = $this->getLogger('point'); - $balance = $userRepo->findUserBalance($user->id); + $itemId = "point_redeem:{$gift->id}"; + + $lockId = LockUtil::addLock($itemId); + + if ($lockId === false) { + throw new \RuntimeException('Add Lock Failed'); + } try { @@ -44,17 +51,34 @@ class PointRedeem extends Service $redeem = new PointRedeemModel(); + $redeem->user_id = $user->id; + $redeem->user_name = $user->name; $redeem->gift_id = $gift->id; $redeem->gift_type = $gift->type; $redeem->gift_name = $gift->name; $redeem->gift_point = $gift->point; + if ($gift->type == PointGiftModel::TYPE_GOODS) { + $userRepo = new UserRepo(); + $contact = $userRepo->findUserContact($user->id); + $redeem->contact_name = $contact->name; + $redeem->contact_phone = $contact->phone; + $redeem->contact_address = $contact->fullAddress(); + } + $result = $redeem->create(); if ($result === false) { throw new \RuntimeException('Create Point Redeem Failed'); } + $gift->stock -= 1; + $gift->redeem_count += 1; + + if ($gift->update() === false) { + throw new \RuntimeException('Decrease Gift Stock Failed'); + } + $task = new TaskModel(); $itemInfo = [ @@ -66,44 +90,16 @@ class PointRedeem extends Service ]; $task->item_id = $redeem->id; - $task->item_type = TaskModel::TYPE_POINT_GIFT_AWARD; + $task->item_type = TaskModel::TYPE_POINT_GIFT_DELIVER; $task->item_info = $itemInfo; $result = $task->create(); if ($result === false) { - throw new \RuntimeException('Create Async Task Failed'); + throw new \RuntimeException('Create Gift Deliver Task Failed'); } - $history = new PointHistoryModel(); - - $eventInfo = [ - 'gift' => [ - 'id' => $gift->id, - 'name' => $gift->name, - ] - ]; - - $history->user_id = $user->id; - $history->user_name = $user->name; - $history->event_id = $gift->id; - $history->event_type = PointHistoryModel::EVENT_POINT_REDEEM; - $history->event_point = $gift->point; - $history->event_info = $eventInfo; - - $result = $history->create(); - - if ($result === false) { - throw new \RuntimeException('Create Point History Failed'); - } - - $balance->point -= $gift->point; - - $result = $balance->update(); - - if ($result === false) { - throw new \RuntimeException('Update User Balance Failed'); - } + $this->handleRedeemPoint($redeem); $this->db->commit(); @@ -111,15 +107,23 @@ class PointRedeem extends Service $this->db->rollback(); - $this->logger->error('Point Redeem Exception ' . kg_json_encode([ - 'code' => $e->getCode(), + $logger->error('Point Redeem Exception ' . kg_json_encode([ + 'file' => $e->getFile(), + 'line' => $e->getLine(), 'message' => $e->getMessage(), - 'balance' => ['user_id' => $balance->id, 'point' => $balance->point], - 'gift' => ['id' => $gift->id, 'point' => $gift->point], ])); throw new \RuntimeException('sys.trans_rollback'); } + + LockUtil::releaseLock($itemId, $lockId); + } + + protected function handleRedeemPoint(PointRedeemModel $redeem) + { + $service = new PointHistoryService(); + + $service->handlePointRedeem($redeem); } } diff --git a/app/Services/Logic/Review/ReviewCreate.php b/app/Services/Logic/Review/ReviewCreate.php index b56d38fe..1b4d3c37 100644 --- a/app/Services/Logic/Review/ReviewCreate.php +++ b/app/Services/Logic/Review/ReviewCreate.php @@ -54,6 +54,8 @@ class ReviewCreate extends Service $this->updateCourseRating($course); + $this->eventsManager->fire('Review:afterCreate', $this, $review); + return $review; } diff --git a/app/Services/Logic/Review/ReviewLike.php b/app/Services/Logic/Review/ReviewLike.php index 033371a4..5ae74f52 100644 --- a/app/Services/Logic/Review/ReviewLike.php +++ b/app/Services/Logic/Review/ReviewLike.php @@ -78,7 +78,7 @@ class ReviewLike extends Service protected function incrUserDailyReviewLikeCount(UserModel $user) { - $this->eventsManager->fire('userDailyCounter:incrReviewLikeCount', $this, $user); + $this->eventsManager->fire('UserDailyCounter:incrReviewLikeCount', $this, $user); } } diff --git a/app/Services/Logic/User/Console/BalanceInfo.php b/app/Services/Logic/User/Console/BalanceInfo.php new file mode 100644 index 00000000..656d4253 --- /dev/null +++ b/app/Services/Logic/User/Console/BalanceInfo.php @@ -0,0 +1,32 @@ +getLoginUser(); + + $userRepo = new UserRepo(); + + $balance = $userRepo->findUserBalance($user->id); + + if (!$balance) { + return [ + 'cash' => 0.00, + 'point' => 0, + ]; + } + + return [ + 'cash' => $balance->cash, + 'point' => $balance->point, + ]; + } + +} diff --git a/app/Services/Logic/User/Console/PointHistory.php b/app/Services/Logic/User/Console/PointHistory.php new file mode 100644 index 00000000..1a655619 --- /dev/null +++ b/app/Services/Logic/User/Console/PointHistory.php @@ -0,0 +1,61 @@ +getLoginUser(); + + $pagerQuery = new PagerQuery(); + + $params = $pagerQuery->getParams(); + + $params['user_id'] = $user->id; + $params['deleted'] = 0; + + $sort = $pagerQuery->getSort(); + $page = $pagerQuery->getPage(); + $limit = $pagerQuery->getLimit(); + + $historyRepo = new PointHistoryRepo(); + + $pager = $historyRepo->paginate($params, $sort, $page, $limit); + + return $this->handlePager($pager); + } + + public function handlePager($pager) + { + if ($pager->total_items == 0) { + return $pager; + } + + $items = []; + + foreach ($pager->items as $item) { + $items[] = [ + 'id' => $item->id, + 'event_id' => $item->event_id, + 'event_type' => $item->event_type, + 'event_info' => $item->event_info, + 'event_point' => $item->event_point, + 'create_time' => $item->create_time, + ]; + } + + $pager->items = $items; + + return $pager; + } + +} diff --git a/app/Services/Logic/User/Console/PointRedeemList.php b/app/Services/Logic/User/Console/PointRedeemList.php index c124b457..9b65d41f 100644 --- a/app/Services/Logic/User/Console/PointRedeemList.php +++ b/app/Services/Logic/User/Console/PointRedeemList.php @@ -3,7 +3,7 @@ namespace App\Services\Logic\User\Console; use App\Library\Paginator\Query as PagerQuery; -use App\Repos\Order as OrderRepo; +use App\Repos\PointRedeem as PointRedeemRepo; use App\Services\Logic\Service; use App\Services\Logic\UserTrait; @@ -27,14 +27,14 @@ class PointRedeemList extends Service $page = $pagerQuery->getPage(); $limit = $pagerQuery->getLimit(); - $orderRepo = new OrderRepo(); + $redeemRepo = new PointRedeemRepo(); - $pager = $orderRepo->paginate($params, $sort, $page, $limit); + $pager = $redeemRepo->paginate($params, $sort, $page, $limit); - return $this->handleOrders($pager); + return $this->handlePager($pager); } - public function handleOrders($pager) + public function handlePager($pager) { if ($pager->total_items == 0) { return $pager; @@ -53,10 +53,15 @@ class PointRedeemList extends Service ], 'gift' => [ 'id' => $item->gift_id, - 'type' => $item->gift_type, 'name' => $item->gift_name, + 'type' => $item->gift_type, 'point' => $item->gift_point, ], + 'contact' => [ + 'name' => $item->contact_name, + 'phone' => $item->contact_phone, + 'address' => $item->contact_address, + ], ]; } diff --git a/app/Services/Pay/Alipay.php b/app/Services/Pay/Alipay.php index a8498d92..25ce01dc 100644 --- a/app/Services/Pay/Alipay.php +++ b/app/Services/Pay/Alipay.php @@ -193,7 +193,7 @@ class Alipay extends PayService $trade->channel_sn = $data->trade_no; - $this->eventsManager->fire('pay:afterPay', $this, $trade); + $this->eventsManager->fire('Trade:afterPay', $this, $trade); $trade = $tradeRepo->findById($trade->id); diff --git a/app/Services/Pay/Wxpay.php b/app/Services/Pay/Wxpay.php index ba94fb0e..89ee126a 100644 --- a/app/Services/Pay/Wxpay.php +++ b/app/Services/Pay/Wxpay.php @@ -194,7 +194,7 @@ class Wxpay extends PayService $trade->channel_sn = $data->transaction_id; - $this->eventsManager->fire('pay:afterPay', $this, $trade); + $this->eventsManager->fire('Trade:afterPay', $this, $trade); $trade = $tradeRepo->findById($trade->id); diff --git a/app/Validators/PointGift.php b/app/Validators/PointGift.php index c9fa1f13..d764c537 100644 --- a/app/Validators/PointGift.php +++ b/app/Validators/PointGift.php @@ -134,6 +134,17 @@ class PointGift extends Validator return $value; } + public function checkRedeemLimit($limit) + { + $value = $this->filter->sanitize($limit, ['trim', 'int']); + + if ($value < 1 || $value > 999999) { + throw new BadRequestException('point_gift.invalid_redeem_limit'); + } + + return $value; + } + public function checkPublishStatus($status) { if (!in_array($status, [0, 1])) { diff --git a/app/Validators/PointRedeem.php b/app/Validators/PointRedeem.php index 21d28729..6a64d590 100644 --- a/app/Validators/PointRedeem.php +++ b/app/Validators/PointRedeem.php @@ -2,17 +2,31 @@ namespace App\Validators; -use App\Exceptions\BadRequest; use App\Exceptions\BadRequest as BadRequestException; use App\Models\Course as CourseModel; use App\Models\PointGift as PointGiftModel; use App\Models\User as UserModel; use App\Repos\CourseUser as CourseUserRepo; +use App\Repos\PointRedeem as PointRedeemRepo; use App\Repos\User as UserRepo; + class PointRedeem extends Validator { + public function checkRedeem($id) + { + $redeemRepo = new PointRedeemRepo(); + + $redeem = $redeemRepo->findById($id); + + if (!$redeem) { + throw new BadRequestException('point_redeem.not_found'); + } + + return $redeem; + } + public function checkGift($giftId) { $validator = new PointGift(); @@ -22,6 +36,10 @@ class PointRedeem extends Validator public function checkIfAllowRedeem(PointGiftModel $gift, UserModel $user) { + $this->checkStock($gift); + + $this->checkRedeemLimit($gift, $user); + $this->checkPointBalance($gift, $user); if ($gift->type == PointGiftModel::TYPE_COURSE) { @@ -34,7 +52,7 @@ class PointRedeem extends Validator } elseif ($gift->type == PointGiftModel::TYPE_GOODS) { - $this->checkIfAllowRedeemCommodity($user); + $this->checkIfAllowRedeemGoods($user); } } @@ -52,12 +70,12 @@ class PointRedeem extends Validator $courseUser = $courseUserRepo->findCourseUser($course->id, $user->id); - if ($courseUser->expiry_time > time()) { + if ($courseUser && $courseUser->expiry_time > time()) { throw new BadRequestException('point_redeem.course_owned'); } } - protected function checkIfAllowRedeemCommodity(UserModel $user) + protected function checkIfAllowRedeemGoods(UserModel $user) { $userRepo = new UserRepo(); @@ -68,6 +86,24 @@ class PointRedeem extends Validator } } + protected function checkStock(PointGiftModel $gift) + { + if ($gift->stock < 1) { + throw new BadRequestException('point_redeem.no_enough_stock'); + } + } + + protected function checkRedeemLimit(PointGiftModel $gift, UserModel $user) + { + $redeemRepo = new PointRedeemRepo(); + + $count = $redeemRepo->countUserGiftRedeems($user->id, $gift->id); + + if ($count >= $gift->redeem_limit) { + throw new BadRequestException('point_redeem.reach_redeem_limit'); + } + } + protected function checkPointBalance(PointGiftModel $gift, UserModel $user) { $userRepo = new UserRepo(); diff --git a/config/errors.php b/config/errors.php index 37fa3374..cee4508b 100644 --- a/config/errors.php +++ b/config/errors.php @@ -377,13 +377,17 @@ $error['point_gift.invalid_cover'] = '无效的封面'; $error['point_gift.invalid_type'] = '无效的类型'; $error['point_gift.invalid_point'] = '无效的积分值(范围1-999999)'; $error['point_gift.invalid_stock'] = '无效的库存值(范围1-999999)'; +$error['point_gift.invalid_redeem_limit'] = '无效的兑换限额(范围1-999999)'; $error['point_gift.invalid_publish_status'] = '无效的发布状态'; +$error['point_redeem.not_found'] = '兑换不存在'; $error['point_redeem.course_not_published'] = '课程尚未发布'; $error['point_redeem.course_free'] = '课程当前免费,无需积分兑换'; $error['point_redeem.course_owned'] = '您已经拥有课程,无需积分兑换'; $error['point_redeem.no_user_contact'] = '您尚未设置收货地址,请前往用户中心设置'; +$error['point_redeem.reach_redeem_limit'] = '超出物品兑换限额'; $error['point_redeem.no_enough_point'] = '您的积分余额不足以抵扣此次兑换'; +$error['point_redeem.no_enough_stock'] = '兑换物品库存不足'; return $error; diff --git a/config/events.php b/config/events.php index 6349d6f2..f8caf678 100644 --- a/config/events.php +++ b/config/events.php @@ -1,15 +1,17 @@ Pay::class, - 'user' => User::class, - 'site' => Site::class, - 'account' => Account::class, - 'userDailyCounter' => UserDailyCounter::class, + 'UserDailyCounter' => UserDailyCounter::class, + 'ImMessage' => ImMessage::class, + 'Account' => Account::class, + 'Review' => Review::class, + 'Trade' => Trade::class, + 'Site' => Site::class, ]; \ No newline at end of file diff --git a/db/migrations/20210126024511_data_202101261130.php b/db/migrations/20210126024511_data_202101261130.php index f57ba6f3..51ecdd03 100644 --- a/db/migrations/20210126024511_data_202101261130.php +++ b/db/migrations/20210126024511_data_202101261130.php @@ -9,10 +9,10 @@ class Data202101261130 extends Phinx\Migration\AbstractMigration $eventRule = [ 'account_register' => ['enabled' => 1, 'point' => 100], - 'site_visit' => ['enabled' => 1, 'point' => 10], 'course_review' => ['enabled' => 1, 'point' => 50], - 'group_discuss' => ['enabled' => 1, 'point' => 10], - 'lesson_learning' => ['enabled' => 1, 'point' => 10], + 'chapter_study' => ['enabled' => 1, 'point' => 10], + 'site_visit' => ['enabled' => 1, 'point' => 10], + 'im_discuss' => ['enabled' => 1, 'point' => 10], ]; $rows = [ @@ -44,15 +44,4 @@ class Data202101261130 extends Phinx\Migration\AbstractMigration ->execute(); } - protected function initUserBalanceData() - { - $dataQuery = $this->getQueryBuilder()->select(['id'])->from('kg_user'); - - $this->getQueryBuilder() - ->insert(['user_id']) - ->into('kg_user_balance') - ->values($dataQuery) - ->execute(); - } - } diff --git a/db/migrations/20210213093244_schema_202102131730.php b/db/migrations/20210213093244_schema_202102131730.php new file mode 100644 index 00000000..848f31d0 --- /dev/null +++ b/db/migrations/20210213093244_schema_202102131730.php @@ -0,0 +1,519 @@ +table('kg_point_gift', [ + 'id' => false, + 'primary_key' => ['id'], + 'engine' => 'InnoDB', + 'encoding' => 'utf8mb4', + 'collation' => 'utf8mb4_general_ci', + 'comment' => '', + 'row_format' => 'DYNAMIC', + ]) + ->addColumn('id', 'integer', [ + 'null' => false, + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'identity' => 'enable', + 'comment' => '主键编号', + ]) + ->addColumn('name', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 100, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '名称', + 'after' => 'id', + ]) + ->addColumn('cover', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 100, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '封面', + 'after' => 'name', + ]) + ->addColumn('details', 'text', [ + 'null' => false, + 'limit' => 65535, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '详情', + 'after' => 'cover', + ]) + ->addColumn('attrs', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 1000, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '扩展属性', + 'after' => 'details', + ]) + ->addColumn('type', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '类型', + 'after' => 'attrs', + ]) + ->addColumn('stock', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '库存', + 'after' => 'type', + ]) + ->addColumn('point', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '所需积分', + 'after' => 'stock', + ]) + ->addColumn('published', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '发布标识', + 'after' => 'point', + ]) + ->addColumn('deleted', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '删除标识', + 'after' => 'published', + ]) + ->addColumn('redeem_limit', 'integer', [ + 'null' => false, + 'default' => '1', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '兑换限额', + 'after' => 'deleted', + ]) + ->addColumn('redeem_count', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '兑换数量', + 'after' => 'redeem_limit', + ]) + ->addColumn('create_time', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '创建时间', + 'after' => 'redeem_count', + ]) + ->addColumn('update_time', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '更新时间', + 'after' => 'create_time', + ]) + ->create(); + + $this->table('kg_point_history', [ + 'id' => false, + 'primary_key' => ['id'], + 'engine' => 'InnoDB', + 'encoding' => 'utf8mb4', + 'collation' => 'utf8mb4_general_ci', + 'comment' => '', + 'row_format' => 'DYNAMIC', + ]) + ->addColumn('id', 'integer', [ + 'null' => false, + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'identity' => 'enable', + 'comment' => '主键编号', + ]) + ->addColumn('user_id', 'integer', [ + 'null' => false, + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '用户编号', + 'after' => 'id', + ]) + ->addColumn('user_name', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 30, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '用户名称', + 'after' => 'user_id', + ]) + ->addColumn('event_id', 'integer', [ + 'null' => false, + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '事件编号', + 'after' => 'user_name', + ]) + ->addColumn('event_type', 'integer', [ + 'null' => false, + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '事件类型', + 'after' => 'event_id', + ]) + ->addColumn('event_info', 'string', [ + 'null' => false, + 'default' => '0', + 'limit' => 1000, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '事件内容', + 'after' => 'event_type', + ]) + ->addColumn('event_point', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'comment' => '事件积分', + 'after' => 'event_info', + ]) + ->addColumn('deleted', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '删除标识', + 'after' => 'event_point', + ]) + ->addColumn('create_time', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '创建时间', + 'after' => 'deleted', + ]) + ->addColumn('update_time', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '更新时间', + 'after' => 'create_time', + ]) + ->addIndex(['event_id', 'event_type'], [ + 'name' => 'event', + 'unique' => false, + ]) + ->addIndex(['user_id'], [ + 'name' => 'user_id', + 'unique' => false, + ]) + ->create(); + + $this->table('kg_point_redeem', [ + 'id' => false, + 'primary_key' => ['id'], + 'engine' => 'InnoDB', + 'encoding' => 'utf8mb4', + 'collation' => 'utf8mb4_general_ci', + 'comment' => '', + 'row_format' => 'DYNAMIC', + ]) + ->addColumn('id', 'integer', [ + 'null' => false, + 'limit' => MysqlAdapter::INT_REGULAR, + 'identity' => 'enable', + 'comment' => '主键编号', + ]) + ->addColumn('user_id', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '用户编号', + 'after' => 'id', + ]) + ->addColumn('user_name', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 30, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '用户名称', + 'after' => 'user_id', + ]) + ->addColumn('gift_id', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '礼品编号', + 'after' => 'user_name', + ]) + ->addColumn('gift_name', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 100, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '礼品名称', + 'after' => 'gift_id', + ]) + ->addColumn('gift_type', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '礼品类型', + 'after' => 'gift_name', + ]) + ->addColumn('gift_point', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '礼品积分', + 'after' => 'gift_type', + ]) + ->addColumn('contact_name', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 30, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '联系人', + 'after' => 'gift_point', + ]) + ->addColumn('contact_phone', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 30, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '联系电话', + 'after' => 'contact_name', + ]) + ->addColumn('contact_address', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 100, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '联系地址', + 'after' => 'contact_phone', + ]) + ->addColumn('remark', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 255, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '备注', + 'after' => 'contact_address', + ]) + ->addColumn('status', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '状态标识', + 'after' => 'remark', + ]) + ->addColumn('create_time', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '创建时间', + 'after' => 'status', + ]) + ->addColumn('update_time', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '更新时间', + 'after' => 'create_time', + ]) + ->addIndex(['gift_id'], [ + 'name' => 'gift_id', + 'unique' => false, + ]) + ->addIndex(['user_id'], [ + 'name' => 'user_id', + 'unique' => false, + ]) + ->create(); + + $this->table('kg_user_balance', [ + 'id' => false, + 'primary_key' => ['user_id'], + 'engine' => 'InnoDB', + 'encoding' => 'utf8mb4', + 'collation' => 'utf8mb4_general_ci', + 'comment' => '', + 'row_format' => 'DYNAMIC', + ]) + ->addColumn('user_id', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '用户编号', + ]) + ->addColumn('cash', 'decimal', [ + 'null' => false, + 'default' => '0.00', + 'precision' => '10', + 'scale' => '2', + 'comment' => '可用现金', + 'after' => 'user_id', + ]) + ->addColumn('point', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'comment' => '可用积分', + 'after' => 'cash', + ]) + ->addColumn('deleted', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '删除标识', + 'after' => 'point', + ]) + ->addColumn('create_time', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '创建时间', + 'after' => 'deleted', + ]) + ->addColumn('update_time', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '更新时间', + 'after' => 'create_time', + ]) + ->create(); + + $this->table('kg_user_contact', [ + 'id' => false, + 'primary_key' => ['user_id'], + 'engine' => 'InnoDB', + 'encoding' => 'utf8mb4', + 'collation' => 'utf8mb4_general_ci', + 'comment' => '', + 'row_format' => 'DYNAMIC', + ]) + ->addColumn('user_id', 'integer', [ + 'null' => false, + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '用户编号', + ]) + ->addColumn('name', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 30, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '姓名', + 'after' => 'user_id', + ]) + ->addColumn('phone', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 30, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '电话', + 'after' => 'name', + ]) + ->addColumn('add_province', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 30, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '地址(省)', + 'after' => 'phone', + ]) + ->addColumn('add_city', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 30, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '地址(市)', + 'after' => 'add_province', + ]) + ->addColumn('add_county', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 30, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '地址(区)', + 'after' => 'add_city', + ]) + ->addColumn('add_other', 'string', [ + 'null' => false, + 'default' => '', + 'limit' => 50, + 'collation' => 'utf8mb4_general_ci', + 'encoding' => 'utf8mb4', + 'comment' => '地址(详)', + 'after' => 'add_county', + ]) + ->addColumn('deleted', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '删除标识', + 'after' => 'add_other', + ]) + ->addColumn('create_time', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '创建时间', + 'after' => 'deleted', + ]) + ->addColumn('update_time', 'integer', [ + 'null' => false, + 'default' => '0', + 'limit' => MysqlAdapter::INT_REGULAR, + 'signed' => false, + 'comment' => '更新时间', + 'after' => 'create_time', + ]) + ->create(); + } + +} \ No newline at end of file diff --git a/db/migrations/schema.php b/db/migrations/schema.php deleted file mode 100644 index e564699d..00000000 --- a/db/migrations/schema.php +++ /dev/null @@ -1,16187 +0,0 @@ - - array( - 'DEFAULT_CHARACTER_SET_NAME' => 'utf8mb4', - 0 => 'utf8mb4', - 'DEFAULT_COLLATION_NAME' => 'utf8mb4_general_ci', - 1 => 'utf8mb4_general_ci', - ), - 'tables' => - array( - 'kg_account' => - array( - 'table' => - array( - 'table_name' => 'kg_account', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_account', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'email' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_account', - 'COLUMN_NAME' => 'email', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '邮箱', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'phone' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_account', - 'COLUMN_NAME' => 'phone', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '手机', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'password' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_account', - 'COLUMN_NAME' => 'password', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '32', - 'CHARACTER_OCTET_LENGTH' => '128', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(32)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '密码', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'salt' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_account', - 'COLUMN_NAME' => 'salt', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '32', - 'CHARACTER_OCTET_LENGTH' => '128', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(32)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '密盐', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_account', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_account', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_account', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'email' => - array( - 1 => - array( - 'Table' => 'kg_account', - 'Non_unique' => '1', - 'Key_name' => 'email', - 'Seq_in_index' => '1', - 'Column_name' => 'email', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'phone' => - array( - 1 => - array( - 'Table' => 'kg_account', - 'Non_unique' => '1', - 'Key_name' => 'phone', - 'Seq_in_index' => '1', - 'Column_name' => 'phone', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_account', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_area' => - array( - 'table' => - array( - 'table_name' => 'kg_area', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_area', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_area', - 'COLUMN_NAME' => 'type', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '3', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'code' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_area', - 'COLUMN_NAME' => 'code', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '编码', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'name' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_area', - 'COLUMN_NAME' => 'name', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '名称', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_area', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_audit' => - array( - 'table' => - array( - 'table_name' => 'kg_audit', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_audit', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_audit', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_name' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_audit', - 'COLUMN_NAME' => 'user_name', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户名称', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_ip' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_audit', - 'COLUMN_NAME' => 'user_ip', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户IP', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'req_route' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_audit', - 'COLUMN_NAME' => 'req_route', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '50', - 'CHARACTER_OCTET_LENGTH' => '200', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(50)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '请求路由', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'req_path' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_audit', - 'COLUMN_NAME' => 'req_path', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '请求路径', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'req_data' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_audit', - 'COLUMN_NAME' => 'req_data', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'text', - 'CHARACTER_MAXIMUM_LENGTH' => '65535', - 'CHARACTER_OCTET_LENGTH' => '65535', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'text', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '请求数据', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_audit', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_audit', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'user_id' => - array( - 1 => - array( - 'Table' => 'kg_audit', - 'Non_unique' => '1', - 'Key_name' => 'user_id', - 'Seq_in_index' => '1', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_category' => - array( - 'table' => - array( - 'table_name' => 'kg_category', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_category', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'parent_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_category', - 'COLUMN_NAME' => 'parent_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '父级编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'level' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_category', - 'COLUMN_NAME' => 'level', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '层级', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_category', - 'COLUMN_NAME' => 'type', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'name' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_category', - 'COLUMN_NAME' => 'name', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '名称', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'path' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_category', - 'COLUMN_NAME' => 'path', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '路径', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'priority' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_category', - 'COLUMN_NAME' => 'priority', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '30', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '优先级', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'published' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_category', - 'COLUMN_NAME' => 'published', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '发布标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_category', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'child_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_category', - 'COLUMN_NAME' => 'child_count', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '节点数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_category', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_category', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_category', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_chapter' => - array( - 'table' => - array( - 'table_name' => 'kg_chapter', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'parent_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'parent_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '父级编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'title' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'title', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '标题', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'summary' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'summary', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '255', - 'CHARACTER_OCTET_LENGTH' => '1020', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(255)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '简介', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'priority' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'priority', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '30', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '优先级', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'free' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'free', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '免费标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'model' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'model', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '模式类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'attrs' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'attrs', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '1000', - 'CHARACTER_OCTET_LENGTH' => '4000', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(1000)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '扩展属性', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'published' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'published', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '发布标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'resource_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'resource_count', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '资料数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'lesson_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'lesson_count', - 'ORDINAL_POSITION' => '13', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课时数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'user_count', - 'ORDINAL_POSITION' => '14', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '学员数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'consult_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'consult_count', - 'ORDINAL_POSITION' => '15', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '咨询数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'like_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'like_count', - 'ORDINAL_POSITION' => '16', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '点赞数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '17', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '18', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'course_id' => - array( - 1 => - array( - 'Table' => 'kg_chapter', - 'Non_unique' => '1', - 'Key_name' => 'course_id', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'parent_id' => - array( - 1 => - array( - 'Table' => 'kg_chapter', - 'Non_unique' => '1', - 'Key_name' => 'parent_id', - 'Seq_in_index' => '1', - 'Column_name' => 'parent_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_chapter', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_chapter_like' => - array( - 'table' => - array( - 'table_name' => 'kg_chapter_like', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Compact', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_like', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'chapter_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_like', - 'COLUMN_NAME' => 'chapter_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_like', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '标签编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_like', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_like', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_like', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'chapter_user' => - array( - 1 => - array( - 'Table' => 'kg_chapter_like', - 'Non_unique' => '1', - 'Key_name' => 'chapter_user', - 'Seq_in_index' => '1', - 'Column_name' => 'chapter_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - 2 => - array( - 'Table' => 'kg_chapter_like', - 'Non_unique' => '1', - 'Key_name' => 'chapter_user', - 'Seq_in_index' => '2', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_chapter_like', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_chapter_live' => - array( - 'table' => - array( - 'table_name' => 'kg_chapter_live', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_live', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_live', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'chapter_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_live', - 'COLUMN_NAME' => 'chapter_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '章节编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'start_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_live', - 'COLUMN_NAME' => 'start_time', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '开始时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'end_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_live', - 'COLUMN_NAME' => 'end_time', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '结束时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_limit' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_live', - 'COLUMN_NAME' => 'user_limit', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '100', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户限额', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'status' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_live', - 'COLUMN_NAME' => 'status', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '2', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '状态标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_live', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_live', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'chapter_id' => - array( - 1 => - array( - 'Table' => 'kg_chapter_live', - 'Non_unique' => '1', - 'Key_name' => 'chapter_id', - 'Seq_in_index' => '1', - 'Column_name' => 'chapter_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'course_id' => - array( - 1 => - array( - 'Table' => 'kg_chapter_live', - 'Non_unique' => '1', - 'Key_name' => 'course_id', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_chapter_live', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_chapter_read' => - array( - 'table' => - array( - 'table_name' => 'kg_chapter_read', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_read', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_read', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'chapter_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_read', - 'COLUMN_NAME' => 'chapter_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '章节编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'content' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_read', - 'COLUMN_NAME' => 'content', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'text', - 'CHARACTER_MAXIMUM_LENGTH' => '65535', - 'CHARACTER_OCTET_LENGTH' => '65535', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'text', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '内容', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_read', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_read', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'chapter_id' => - array( - 1 => - array( - 'Table' => 'kg_chapter_read', - 'Non_unique' => '1', - 'Key_name' => 'chapter_id', - 'Seq_in_index' => '1', - 'Column_name' => 'chapter_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'course_id' => - array( - 1 => - array( - 'Table' => 'kg_chapter_read', - 'Non_unique' => '1', - 'Key_name' => 'course_id', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_chapter_read', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_chapter_user' => - array( - 'table' => - array( - 'table_name' => 'kg_chapter_user', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_user', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_user', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'chapter_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_user', - 'COLUMN_NAME' => 'chapter_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '章节编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_user', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'plan_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_user', - 'COLUMN_NAME' => 'plan_id', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '计划编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'duration' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_user', - 'COLUMN_NAME' => 'duration', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '学习时长', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'position' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_user', - 'COLUMN_NAME' => 'position', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '播放位置', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'progress' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_user', - 'COLUMN_NAME' => 'progress', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '学习进度', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'consumed' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_user', - 'COLUMN_NAME' => 'consumed', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '消费标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_user', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_user', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_user', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'chapter_user' => - array( - 1 => - array( - 'Table' => 'kg_chapter_user', - 'Non_unique' => '1', - 'Key_name' => 'chapter_user', - 'Seq_in_index' => '1', - 'Column_name' => 'chapter_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - 2 => - array( - 'Table' => 'kg_chapter_user', - 'Non_unique' => '1', - 'Key_name' => 'chapter_user', - 'Seq_in_index' => '2', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'course_user' => - array( - 1 => - array( - 'Table' => 'kg_chapter_user', - 'Non_unique' => '1', - 'Key_name' => 'course_user', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - 2 => - array( - 'Table' => 'kg_chapter_user', - 'Non_unique' => '1', - 'Key_name' => 'course_user', - 'Seq_in_index' => '2', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_chapter_user', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_chapter_vod' => - array( - 'table' => - array( - 'table_name' => 'kg_chapter_vod', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_vod', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_vod', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'chapter_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_vod', - 'COLUMN_NAME' => 'chapter_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '章节编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'file_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_vod', - 'COLUMN_NAME' => 'file_id', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '32', - 'CHARACTER_OCTET_LENGTH' => '128', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(32)', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '文件编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'file_transcode' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_vod', - 'COLUMN_NAME' => 'file_transcode', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '1500', - 'CHARACTER_OCTET_LENGTH' => '6000', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(1500)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '文件属性', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_vod', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_chapter_vod', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'chapter_id' => - array( - 1 => - array( - 'Table' => 'kg_chapter_vod', - 'Non_unique' => '1', - 'Key_name' => 'chapter_id', - 'Seq_in_index' => '1', - 'Column_name' => 'chapter_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'course_id' => - array( - 1 => - array( - 'Table' => 'kg_chapter_vod', - 'Non_unique' => '1', - 'Key_name' => 'course_id', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'file_id' => - array( - 1 => - array( - 'Table' => 'kg_chapter_vod', - 'Non_unique' => '1', - 'Key_name' => 'file_id', - 'Seq_in_index' => '1', - 'Column_name' => 'file_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_chapter_vod', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_connect' => - array( - 'table' => - array( - 'table_name' => 'kg_connect', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_connect', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_connect', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'union_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_connect', - 'COLUMN_NAME' => 'union_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '64', - 'CHARACTER_OCTET_LENGTH' => '256', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(64)', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => 'union_id', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'open_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_connect', - 'COLUMN_NAME' => 'open_id', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '64', - 'CHARACTER_OCTET_LENGTH' => '256', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(64)', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '开放ID', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'open_name' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_connect', - 'COLUMN_NAME' => 'open_name', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '开放名称', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'open_avatar' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_connect', - 'COLUMN_NAME' => 'open_avatar', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '150', - 'CHARACTER_OCTET_LENGTH' => '600', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(150)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '开放头像', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'provider' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_connect', - 'COLUMN_NAME' => 'provider', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '提供方', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_connect', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_connect', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_connect', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'open_provider' => - array( - 1 => - array( - 'Table' => 'kg_connect', - 'Non_unique' => '1', - 'Key_name' => 'open_provider', - 'Seq_in_index' => '1', - 'Column_name' => 'open_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - 2 => - array( - 'Table' => 'kg_connect', - 'Non_unique' => '1', - 'Key_name' => 'open_provider', - 'Seq_in_index' => '2', - 'Column_name' => 'provider', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_connect', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'union_provider' => - array( - 1 => - array( - 'Table' => 'kg_connect', - 'Non_unique' => '1', - 'Key_name' => 'union_provider', - 'Seq_in_index' => '1', - 'Column_name' => 'union_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - 2 => - array( - 'Table' => 'kg_connect', - 'Non_unique' => '1', - 'Key_name' => 'union_provider', - 'Seq_in_index' => '2', - 'Column_name' => 'provider', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'user_id' => - array( - 1 => - array( - 'Table' => 'kg_connect', - 'Non_unique' => '1', - 'Key_name' => 'user_id', - 'Seq_in_index' => '1', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_consult' => - array( - 'table' => - array( - 'table_name' => 'kg_consult', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Compact', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'chapter_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'chapter_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '章节编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'owner_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'owner_id', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'replier_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'replier_id', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '回复者编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'question' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'question', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '1500', - 'CHARACTER_OCTET_LENGTH' => '6000', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(1500)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '问题', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'answer' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'answer', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '1500', - 'CHARACTER_OCTET_LENGTH' => '6000', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(1500)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '答案', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'rating' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'rating', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '评分', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'priority' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'priority', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '优先级', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'private' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'private', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '私密标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'published' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'published', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '发布标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'like_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'like_count', - 'ORDINAL_POSITION' => '13', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '点赞数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'reply_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'reply_time', - 'ORDINAL_POSITION' => '14', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '回复时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '15', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '16', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'chapter_id' => - array( - 1 => - array( - 'Table' => 'kg_consult', - 'Non_unique' => '1', - 'Key_name' => 'chapter_id', - 'Seq_in_index' => '1', - 'Column_name' => 'chapter_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'course_id' => - array( - 1 => - array( - 'Table' => 'kg_consult', - 'Non_unique' => '1', - 'Key_name' => 'course_id', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'owner_id' => - array( - 1 => - array( - 'Table' => 'kg_consult', - 'Non_unique' => '1', - 'Key_name' => 'owner_id', - 'Seq_in_index' => '1', - 'Column_name' => 'owner_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_consult', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_consult_like' => - array( - 'table' => - array( - 'table_name' => 'kg_consult_like', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Compact', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult_like', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'consult_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult_like', - 'COLUMN_NAME' => 'consult_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '咨询编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult_like', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult_like', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult_like', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_consult_like', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'consult_user' => - array( - 1 => - array( - 'Table' => 'kg_consult_like', - 'Non_unique' => '1', - 'Key_name' => 'consult_user', - 'Seq_in_index' => '1', - 'Column_name' => 'consult_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - 2 => - array( - 'Table' => 'kg_consult_like', - 'Non_unique' => '1', - 'Key_name' => 'consult_user', - 'Seq_in_index' => '2', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_consult_like', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_course' => - array( - 'table' => - array( - 'table_name' => 'kg_course', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'title' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'title', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '标题', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'cover' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'cover', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '封面', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'summary' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'summary', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '255', - 'CHARACTER_OCTET_LENGTH' => '1020', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(255)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '简介', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'keywords' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'keywords', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '关键字', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'details' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'details', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'text', - 'CHARACTER_MAXIMUM_LENGTH' => '65535', - 'CHARACTER_OCTET_LENGTH' => '65535', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'text', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '详情', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'category_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'category_id', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '分类编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'teacher_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'teacher_id', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '讲师编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'market_price' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'market_price', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'decimal', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'decimal(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '市场价格', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'vip_price' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'vip_price', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'decimal', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'decimal(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '会员价格', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'study_expiry' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'study_expiry', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '12', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '学习期限', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'refund_expiry' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'refund_expiry', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '30', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '退款期限', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'rating' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'rating', - 'ORDINAL_POSITION' => '13', - 'COLUMN_DEFAULT' => '5.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'float', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'float(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户评分', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'score' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'score', - 'ORDINAL_POSITION' => '14', - 'COLUMN_DEFAULT' => '0.0000', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'float', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '4', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'float(10,4) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '综合得分', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'model' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'model', - 'ORDINAL_POSITION' => '15', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '模型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'level' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'level', - 'ORDINAL_POSITION' => '16', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '难度', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'attrs' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'attrs', - 'ORDINAL_POSITION' => '17', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '1000', - 'CHARACTER_OCTET_LENGTH' => '4000', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(1000)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '扩展属性', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'featured' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'featured', - 'ORDINAL_POSITION' => '18', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '推荐标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'published' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'published', - 'ORDINAL_POSITION' => '19', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '发布标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '20', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'resource_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'resource_count', - 'ORDINAL_POSITION' => '21', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '资料数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'user_count', - 'ORDINAL_POSITION' => '22', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '学员数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'lesson_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'lesson_count', - 'ORDINAL_POSITION' => '23', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课时数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'package_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'package_count', - 'ORDINAL_POSITION' => '24', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '套餐数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'review_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'review_count', - 'ORDINAL_POSITION' => '25', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '评价数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'consult_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'consult_count', - 'ORDINAL_POSITION' => '26', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '咨询数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'favorite_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'favorite_count', - 'ORDINAL_POSITION' => '27', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '收藏数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '28', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '29', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_course', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_course_category' => - array( - 'table' => - array( - 'table_name' => 'kg_course_category', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Compact', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_category', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_category', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'category_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_category', - 'COLUMN_NAME' => 'category_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '分类编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_category', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'category_id' => - array( - 1 => - array( - 'Table' => 'kg_course_category', - 'Non_unique' => '1', - 'Key_name' => 'category_id', - 'Seq_in_index' => '1', - 'Column_name' => 'category_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'course_id' => - array( - 1 => - array( - 'Table' => 'kg_course_category', - 'Non_unique' => '1', - 'Key_name' => 'course_id', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_course_category', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_course_favorite' => - array( - 'table' => - array( - 'table_name' => 'kg_course_favorite', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Compact', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_favorite', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_favorite', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_favorite', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_favorite', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_favorite', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_favorite', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'course_id' => - array( - 1 => - array( - 'Table' => 'kg_course_favorite', - 'Non_unique' => '1', - 'Key_name' => 'course_id', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_course_favorite', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'user_id' => - array( - 1 => - array( - 'Table' => 'kg_course_favorite', - 'Non_unique' => '1', - 'Key_name' => 'user_id', - 'Seq_in_index' => '1', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_course_package' => - array( - 'table' => - array( - 'table_name' => 'kg_course_package', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Compact', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_package', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_package', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'package_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_package', - 'COLUMN_NAME' => 'package_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '套餐编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_package', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'course_id' => - array( - 1 => - array( - 'Table' => 'kg_course_package', - 'Non_unique' => '1', - 'Key_name' => 'course_id', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'package_id' => - array( - 1 => - array( - 'Table' => 'kg_course_package', - 'Non_unique' => '1', - 'Key_name' => 'package_id', - 'Seq_in_index' => '1', - 'Column_name' => 'package_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_course_package', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_course_rating' => - array( - 'table' => - array( - 'table_name' => 'kg_course_rating', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_rating', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'rating' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_rating', - 'COLUMN_NAME' => 'rating', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '5.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'float', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'float(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '综合评分', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'rating1' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_rating', - 'COLUMN_NAME' => 'rating1', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '5.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'float', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'float(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '维度1评分', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'rating2' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_rating', - 'COLUMN_NAME' => 'rating2', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '5.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'float', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'float(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '维度2评分', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'rating3' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_rating', - 'COLUMN_NAME' => 'rating3', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '5.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'float', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'float(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '维度3评分', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_rating', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_rating', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_course_rating', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_course_related' => - array( - 'table' => - array( - 'table_name' => 'kg_course_related', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Compact', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_related', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_related', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'related_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_related', - 'COLUMN_NAME' => 'related_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '相关编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_related', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'course_id' => - array( - 1 => - array( - 'Table' => 'kg_course_related', - 'Non_unique' => '1', - 'Key_name' => 'course_id', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_course_related', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_course_topic' => - array( - 'table' => - array( - 'table_name' => 'kg_course_topic', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Compact', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_topic', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_topic', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'topic_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_topic', - 'COLUMN_NAME' => 'topic_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '标签编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_topic', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'course_id' => - array( - 1 => - array( - 'Table' => 'kg_course_topic', - 'Non_unique' => '1', - 'Key_name' => 'course_id', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_course_topic', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'topic_id' => - array( - 1 => - array( - 'Table' => 'kg_course_topic', - 'Non_unique' => '1', - 'Key_name' => 'topic_id', - 'Seq_in_index' => '1', - 'Column_name' => 'topic_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_course_user' => - array( - 'table' => - array( - 'table_name' => 'kg_course_user', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_user', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_user', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_user', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'plan_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_user', - 'COLUMN_NAME' => 'plan_id', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '计划编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'role_type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_user', - 'COLUMN_NAME' => 'role_type', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '角色类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'source_type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_user', - 'COLUMN_NAME' => 'source_type', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '来源类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'duration' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_user', - 'COLUMN_NAME' => 'duration', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '学习时长', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'progress' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_user', - 'COLUMN_NAME' => 'progress', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '学习进度', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'reviewed' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_user', - 'COLUMN_NAME' => 'reviewed', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '评价标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_user', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'expiry_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_user', - 'COLUMN_NAME' => 'expiry_time', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '过期时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_user', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_course_user', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '13', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'course_id' => - array( - 1 => - array( - 'Table' => 'kg_course_user', - 'Non_unique' => '1', - 'Key_name' => 'course_id', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'course_user' => - array( - 1 => - array( - 'Table' => 'kg_course_user', - 'Non_unique' => '1', - 'Key_name' => 'course_user', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - 2 => - array( - 'Table' => 'kg_course_user', - 'Non_unique' => '1', - 'Key_name' => 'course_user', - 'Seq_in_index' => '2', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_course_user', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'user_id' => - array( - 1 => - array( - 'Table' => 'kg_course_user', - 'Non_unique' => '1', - 'Key_name' => 'user_id', - 'Seq_in_index' => '1', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_danmu' => - array( - 'table' => - array( - 'table_name' => 'kg_danmu', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_danmu', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_danmu', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'chapter_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_danmu', - 'COLUMN_NAME' => 'chapter_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '章节编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'owner_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_danmu', - 'COLUMN_NAME' => 'owner_id', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_danmu', - 'COLUMN_NAME' => 'time', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '时间轴', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'text' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_danmu', - 'COLUMN_NAME' => 'text', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '255', - 'CHARACTER_OCTET_LENGTH' => '1020', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(255)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '内容', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'color' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_danmu', - 'COLUMN_NAME' => 'color', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => 'white', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '颜色', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'size' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_danmu', - 'COLUMN_NAME' => 'size', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '字号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'position' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_danmu', - 'COLUMN_NAME' => 'position', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '位置', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'published' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_danmu', - 'COLUMN_NAME' => 'published', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '发布标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_danmu', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_danmu', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_danmu', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '13', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'chapter_id' => - array( - 1 => - array( - 'Table' => 'kg_danmu', - 'Non_unique' => '1', - 'Key_name' => 'chapter_id', - 'Seq_in_index' => '1', - 'Column_name' => 'chapter_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'owner_id' => - array( - 1 => - array( - 'Table' => 'kg_danmu', - 'Non_unique' => '1', - 'Key_name' => 'owner_id', - 'Seq_in_index' => '1', - 'Column_name' => 'owner_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_danmu', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_help' => - array( - 'table' => - array( - 'table_name' => 'kg_help', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_help', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'category_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_help', - 'COLUMN_NAME' => 'category_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '分类编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'title' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_help', - 'COLUMN_NAME' => 'title', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '标题', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'content' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_help', - 'COLUMN_NAME' => 'content', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'text', - 'CHARACTER_MAXIMUM_LENGTH' => '65535', - 'CHARACTER_OCTET_LENGTH' => '65535', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'text', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '内容', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'priority' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_help', - 'COLUMN_NAME' => 'priority', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '10', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '优先级', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'published' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_help', - 'COLUMN_NAME' => 'published', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '发布标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_help', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_help', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_help', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_help', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_im_friend_group' => - array( - 'table' => - array( - 'table_name' => 'kg_im_friend_group', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_friend_group', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_friend_group', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'UNI', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'name' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_friend_group', - 'COLUMN_NAME' => 'name', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '名称', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'priority' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_friend_group', - 'COLUMN_NAME' => 'priority', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '优先级', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_friend_group', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_friend_group', - 'COLUMN_NAME' => 'user_count', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '成员数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_friend_group', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_friend_group', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_im_friend_group', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'user_id' => - array( - 1 => - array( - 'Table' => 'kg_im_friend_group', - 'Non_unique' => '0', - 'Key_name' => 'user_id', - 'Seq_in_index' => '1', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_im_friend_user' => - array( - 'table' => - array( - 'table_name' => 'kg_im_friend_user', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_friend_user', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_friend_user', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'friend_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_friend_user', - 'COLUMN_NAME' => 'friend_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '目标编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'group_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_friend_user', - 'COLUMN_NAME' => 'group_id', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '分组编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'msg_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_friend_user', - 'COLUMN_NAME' => 'msg_count', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '消息数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_friend_user', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_friend_user', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_im_friend_user', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'user_friend' => - array( - 1 => - array( - 'Table' => 'kg_im_friend_user', - 'Non_unique' => '1', - 'Key_name' => 'user_friend', - 'Seq_in_index' => '1', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - 2 => - array( - 'Table' => 'kg_im_friend_user', - 'Non_unique' => '1', - 'Key_name' => 'user_friend', - 'Seq_in_index' => '2', - 'Column_name' => 'friend_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_im_group' => - array( - 'table' => - array( - 'table_name' => 'kg_im_group', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'owner_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group', - 'COLUMN_NAME' => 'owner_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '群主编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group', - 'COLUMN_NAME' => 'type', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'name' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group', - 'COLUMN_NAME' => 'name', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '名称', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'avatar' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group', - 'COLUMN_NAME' => 'avatar', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '头像', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'about' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group', - 'COLUMN_NAME' => 'about', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '255', - 'CHARACTER_OCTET_LENGTH' => '1020', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(255)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '简介', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'published' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group', - 'COLUMN_NAME' => 'published', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '发布标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group', - 'COLUMN_NAME' => 'user_count', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '成员数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'msg_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group', - 'COLUMN_NAME' => 'msg_count', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '消息数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '13', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_im_group', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_im_group_user' => - array( - 'table' => - array( - 'table_name' => 'kg_im_group_user', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group_user', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'group_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group_user', - 'COLUMN_NAME' => 'group_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '群组编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group_user', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'priority' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group_user', - 'COLUMN_NAME' => 'priority', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '优先级', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group_user', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_group_user', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'group_id' => - array( - 1 => - array( - 'Table' => 'kg_im_group_user', - 'Non_unique' => '1', - 'Key_name' => 'group_id', - 'Seq_in_index' => '1', - 'Column_name' => 'group_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'group_user' => - array( - 1 => - array( - 'Table' => 'kg_im_group_user', - 'Non_unique' => '1', - 'Key_name' => 'group_user', - 'Seq_in_index' => '1', - 'Column_name' => 'group_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - 2 => - array( - 'Table' => 'kg_im_group_user', - 'Non_unique' => '1', - 'Key_name' => 'group_user', - 'Seq_in_index' => '2', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_im_group_user', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'user_id' => - array( - 1 => - array( - 'Table' => 'kg_im_group_user', - 'Non_unique' => '1', - 'Key_name' => 'user_id', - 'Seq_in_index' => '1', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_im_message' => - array( - 'table' => - array( - 'table_name' => 'kg_im_message', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_message', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'chat_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_message', - 'COLUMN_NAME' => 'chat_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '对话编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'sender_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_message', - 'COLUMN_NAME' => 'sender_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '发送方', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'receiver_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_message', - 'COLUMN_NAME' => 'receiver_id', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '接收方', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'receiver_type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_message', - 'COLUMN_NAME' => 'receiver_type', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '接收方类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'content' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_message', - 'COLUMN_NAME' => 'content', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '3000', - 'CHARACTER_OCTET_LENGTH' => '12000', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(3000)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '内容', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'viewed' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_message', - 'COLUMN_NAME' => 'viewed', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '已读标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_message', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_message', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_message', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'chat_id' => - array( - 1 => - array( - 'Table' => 'kg_im_message', - 'Non_unique' => '1', - 'Key_name' => 'chat_id', - 'Seq_in_index' => '1', - 'Column_name' => 'chat_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_im_message', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'receiver' => - array( - 1 => - array( - 'Table' => 'kg_im_message', - 'Non_unique' => '1', - 'Key_name' => 'receiver', - 'Seq_in_index' => '1', - 'Column_name' => 'receiver_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - 2 => - array( - 'Table' => 'kg_im_message', - 'Non_unique' => '1', - 'Key_name' => 'receiver', - 'Seq_in_index' => '2', - 'Column_name' => 'receiver_type', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_im_notice' => - array( - 'table' => - array( - 'table_name' => 'kg_im_notice', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_notice', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'sender_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_notice', - 'COLUMN_NAME' => 'sender_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '发送方', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'receiver_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_notice', - 'COLUMN_NAME' => 'receiver_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '接收方', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'item_type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_notice', - 'COLUMN_NAME' => 'item_type', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '条目类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'item_info' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_notice', - 'COLUMN_NAME' => 'item_info', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '1500', - 'CHARACTER_OCTET_LENGTH' => '6000', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(1500)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '条目内容', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'viewed' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_notice', - 'COLUMN_NAME' => 'viewed', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '已读标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_notice', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_notice', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_notice', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_im_notice', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'receiver_id' => - array( - 1 => - array( - 'Table' => 'kg_im_notice', - 'Non_unique' => '1', - 'Key_name' => 'receiver_id', - 'Seq_in_index' => '1', - 'Column_name' => 'receiver_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'sender_id' => - array( - 1 => - array( - 'Table' => 'kg_im_notice', - 'Non_unique' => '1', - 'Key_name' => 'sender_id', - 'Seq_in_index' => '1', - 'Column_name' => 'sender_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_im_user' => - array( - 'table' => - array( - 'table_name' => 'kg_im_user', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_user', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'name' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_user', - 'COLUMN_NAME' => 'name', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '名称', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'avatar' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_user', - 'COLUMN_NAME' => 'avatar', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '头像', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'sign' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_user', - 'COLUMN_NAME' => 'sign', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '签名', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'skin' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_user', - 'COLUMN_NAME' => 'skin', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '皮肤', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'status' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_user', - 'COLUMN_NAME' => 'status', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => 'hide', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '15', - 'CHARACTER_OCTET_LENGTH' => '60', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(15)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '在线状态', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_user', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'friend_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_user', - 'COLUMN_NAME' => 'friend_count', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '好友数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'group_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_user', - 'COLUMN_NAME' => 'group_count', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '群组数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_user', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_im_user', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_im_user', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_learning' => - array( - 'table' => - array( - 'table_name' => 'kg_learning', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_learning', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'request_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_learning', - 'COLUMN_NAME' => 'request_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '64', - 'CHARACTER_OCTET_LENGTH' => '256', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(64)', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '请求编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_learning', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'chapter_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_learning', - 'COLUMN_NAME' => 'chapter_id', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课时编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_learning', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'plan_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_learning', - 'COLUMN_NAME' => 'plan_id', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '计划编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'duration' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_learning', - 'COLUMN_NAME' => 'duration', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '学习时长', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'position' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_learning', - 'COLUMN_NAME' => 'position', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '播放位置', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_learning', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'client_type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_learning', - 'COLUMN_NAME' => 'client_type', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '终端类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'client_ip' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_learning', - 'COLUMN_NAME' => 'client_ip', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '64', - 'CHARACTER_OCTET_LENGTH' => '256', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(64)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '终端IP', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'active_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_learning', - 'COLUMN_NAME' => 'active_time', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '活跃时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_learning', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '13', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_learning', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '14', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'chapter_user' => - array( - 1 => - array( - 'Table' => 'kg_learning', - 'Non_unique' => '1', - 'Key_name' => 'chapter_user', - 'Seq_in_index' => '1', - 'Column_name' => 'chapter_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - 2 => - array( - 'Table' => 'kg_learning', - 'Non_unique' => '1', - 'Key_name' => 'chapter_user', - 'Seq_in_index' => '2', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_learning', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'request_id' => - array( - 1 => - array( - 'Table' => 'kg_learning', - 'Non_unique' => '1', - 'Key_name' => 'request_id', - 'Seq_in_index' => '1', - 'Column_name' => 'request_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_migration' => - array( - 'table' => - array( - 'table_name' => 'kg_migration', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8_general_ci', - 'character_set_name' => 'utf8', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'version' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_migration', - 'COLUMN_NAME' => 'version', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'bigint', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '19', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'bigint', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'migration_name' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_migration', - 'COLUMN_NAME' => 'migration_name', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'YES', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '300', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8', - 'COLLATION_NAME' => 'utf8_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'start_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_migration', - 'COLUMN_NAME' => 'start_time', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'YES', - 'DATA_TYPE' => 'timestamp', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => '0', - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'timestamp', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'end_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_migration', - 'COLUMN_NAME' => 'end_time', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'YES', - 'DATA_TYPE' => 'timestamp', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => '0', - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'timestamp', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'breakpoint' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_migration', - 'COLUMN_NAME' => 'breakpoint', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_migration', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'version', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_nav' => - array( - 'table' => - array( - 'table_name' => 'kg_nav', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_nav', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'parent_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_nav', - 'COLUMN_NAME' => 'parent_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '父级编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'level' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_nav', - 'COLUMN_NAME' => 'level', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '层级', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'name' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_nav', - 'COLUMN_NAME' => 'name', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '名称', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'path' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_nav', - 'COLUMN_NAME' => 'path', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '路径', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'target' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_nav', - 'COLUMN_NAME' => 'target', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '_blank', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '打开方式', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'url' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_nav', - 'COLUMN_NAME' => 'url', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '链接地址', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'position' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_nav', - 'COLUMN_NAME' => 'position', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '位置', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'priority' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_nav', - 'COLUMN_NAME' => 'priority', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '30', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '优先级', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'published' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_nav', - 'COLUMN_NAME' => 'published', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '发布标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_nav', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'child_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_nav', - 'COLUMN_NAME' => 'child_count', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '子类数量', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_nav', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '13', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_nav', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '14', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_nav', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_online' => - array( - 'table' => - array( - 'table_name' => 'kg_online', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_online', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_online', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'client_type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_online', - 'COLUMN_NAME' => 'client_type', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '终端类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'client_ip' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_online', - 'COLUMN_NAME' => 'client_ip', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '64', - 'CHARACTER_OCTET_LENGTH' => '256', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(64)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '终端IP', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'active_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_online', - 'COLUMN_NAME' => 'active_time', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '活跃时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_online', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_online', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'active_time' => - array( - 1 => - array( - 'Table' => 'kg_online', - 'Non_unique' => '1', - 'Key_name' => 'active_time', - 'Seq_in_index' => '1', - 'Column_name' => 'active_time', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_online', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'user_id' => - array( - 1 => - array( - 'Table' => 'kg_online', - 'Non_unique' => '1', - 'Key_name' => 'user_id', - 'Seq_in_index' => '1', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_order' => - array( - 'table' => - array( - 'table_name' => 'kg_order', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'sn' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order', - 'COLUMN_NAME' => 'sn', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '32', - 'CHARACTER_OCTET_LENGTH' => '128', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(32)', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '订单编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'subject' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order', - 'COLUMN_NAME' => 'subject', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '订单标题', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'amount' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order', - 'COLUMN_NAME' => 'amount', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'decimal', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'decimal(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '订单金额', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'owner_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order', - 'COLUMN_NAME' => 'owner_id', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'item_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order', - 'COLUMN_NAME' => 'item_id', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '条目编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'item_type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order', - 'COLUMN_NAME' => 'item_type', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '条目类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'item_info' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order', - 'COLUMN_NAME' => 'item_info', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '3000', - 'CHARACTER_OCTET_LENGTH' => '12000', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(3000)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '条目内容', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'client_type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order', - 'COLUMN_NAME' => 'client_type', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '终端类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'client_ip' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order', - 'COLUMN_NAME' => 'client_ip', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '64', - 'CHARACTER_OCTET_LENGTH' => '256', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(64)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '终端IP', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'status' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order', - 'COLUMN_NAME' => 'status', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '状态标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '13', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '14', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'item' => - array( - 1 => - array( - 'Table' => 'kg_order', - 'Non_unique' => '1', - 'Key_name' => 'item', - 'Seq_in_index' => '1', - 'Column_name' => 'item_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - 2 => - array( - 'Table' => 'kg_order', - 'Non_unique' => '1', - 'Key_name' => 'item', - 'Seq_in_index' => '2', - 'Column_name' => 'item_type', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'owner_id' => - array( - 1 => - array( - 'Table' => 'kg_order', - 'Non_unique' => '1', - 'Key_name' => 'owner_id', - 'Seq_in_index' => '1', - 'Column_name' => 'owner_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_order', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'sn' => - array( - 1 => - array( - 'Table' => 'kg_order', - 'Non_unique' => '1', - 'Key_name' => 'sn', - 'Seq_in_index' => '1', - 'Column_name' => 'sn', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_order_status' => - array( - 'table' => - array( - 'table_name' => 'kg_order_status', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order_status', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'order_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order_status', - 'COLUMN_NAME' => 'order_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '订单编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'status' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order_status', - 'COLUMN_NAME' => 'status', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '订单状态', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_order_status', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'order_id' => - array( - 1 => - array( - 'Table' => 'kg_order_status', - 'Non_unique' => '1', - 'Key_name' => 'order_id', - 'Seq_in_index' => '1', - 'Column_name' => 'order_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_order_status', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_package' => - array( - 'table' => - array( - 'table_name' => 'kg_package', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Compact', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_package', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'title' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_package', - 'COLUMN_NAME' => 'title', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '标题', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'summary' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_package', - 'COLUMN_NAME' => 'summary', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '255', - 'CHARACTER_OCTET_LENGTH' => '1020', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(255)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '简介', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'market_price' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_package', - 'COLUMN_NAME' => 'market_price', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'decimal', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'decimal(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '市场价格', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'vip_price' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_package', - 'COLUMN_NAME' => 'vip_price', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'decimal', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'decimal(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '会员价格', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_package', - 'COLUMN_NAME' => 'course_count', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程数量', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'published' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_package', - 'COLUMN_NAME' => 'published', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '发布标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_package', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_package', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_package', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_package', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_page' => - array( - 'table' => - array( - 'table_name' => 'kg_page', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_page', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'title' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_page', - 'COLUMN_NAME' => 'title', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '标题', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'content' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_page', - 'COLUMN_NAME' => 'content', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'text', - 'CHARACTER_MAXIMUM_LENGTH' => '65535', - 'CHARACTER_OCTET_LENGTH' => '65535', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'text', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '内容', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'published' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_page', - 'COLUMN_NAME' => 'published', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '发布标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_page', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_page', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_page', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_page', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_refund' => - array( - 'table' => - array( - 'table_name' => 'kg_refund', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'owner_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund', - 'COLUMN_NAME' => 'owner_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'order_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund', - 'COLUMN_NAME' => 'order_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '订单编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'trade_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund', - 'COLUMN_NAME' => 'trade_id', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '交易编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'sn' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund', - 'COLUMN_NAME' => 'sn', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '32', - 'CHARACTER_OCTET_LENGTH' => '128', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(32)', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '退款序号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'subject' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund', - 'COLUMN_NAME' => 'subject', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '退款主题', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'amount' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund', - 'COLUMN_NAME' => 'amount', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'decimal', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'decimal(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '退款金额', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'status' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund', - 'COLUMN_NAME' => 'status', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '状态类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'apply_note' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund', - 'COLUMN_NAME' => 'apply_note', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '255', - 'CHARACTER_OCTET_LENGTH' => '1020', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(255)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '申请备注', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'review_note' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund', - 'COLUMN_NAME' => 'review_note', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '255', - 'CHARACTER_OCTET_LENGTH' => '1020', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(255)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '审核备注', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '13', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'order_id' => - array( - 1 => - array( - 'Table' => 'kg_refund', - 'Non_unique' => '1', - 'Key_name' => 'order_id', - 'Seq_in_index' => '1', - 'Column_name' => 'order_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'owner_id' => - array( - 1 => - array( - 'Table' => 'kg_refund', - 'Non_unique' => '1', - 'Key_name' => 'owner_id', - 'Seq_in_index' => '1', - 'Column_name' => 'owner_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_refund', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'sn' => - array( - 1 => - array( - 'Table' => 'kg_refund', - 'Non_unique' => '1', - 'Key_name' => 'sn', - 'Seq_in_index' => '1', - 'Column_name' => 'sn', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'trade_id' => - array( - 1 => - array( - 'Table' => 'kg_refund', - 'Non_unique' => '1', - 'Key_name' => 'trade_id', - 'Seq_in_index' => '1', - 'Column_name' => 'trade_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_refund_status' => - array( - 'table' => - array( - 'table_name' => 'kg_refund_status', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund_status', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'refund_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund_status', - 'COLUMN_NAME' => 'refund_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '订单编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'status' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund_status', - 'COLUMN_NAME' => 'status', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '订单状态', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_refund_status', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_refund_status', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'refund_id' => - array( - 1 => - array( - 'Table' => 'kg_refund_status', - 'Non_unique' => '1', - 'Key_name' => 'refund_id', - 'Seq_in_index' => '1', - 'Column_name' => 'refund_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_resource' => - array( - 'table' => - array( - 'table_name' => 'kg_resource', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Compact', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_resource', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_resource', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'chapter_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_resource', - 'COLUMN_NAME' => 'chapter_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '章节编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'upload_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_resource', - 'COLUMN_NAME' => 'upload_id', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '上传编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_resource', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_resource', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'chapter_id' => - array( - 1 => - array( - 'Table' => 'kg_resource', - 'Non_unique' => '1', - 'Key_name' => 'chapter_id', - 'Seq_in_index' => '1', - 'Column_name' => 'chapter_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'course_id' => - array( - 1 => - array( - 'Table' => 'kg_resource', - 'Non_unique' => '1', - 'Key_name' => 'course_id', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_resource', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_review' => - array( - 'table' => - array( - 'table_name' => 'kg_review', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review', - 'COLUMN_NAME' => 'course_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'owner_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review', - 'COLUMN_NAME' => 'owner_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'content' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review', - 'COLUMN_NAME' => 'content', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '1000', - 'CHARACTER_OCTET_LENGTH' => '4000', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(1000)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '内容', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'reply' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review', - 'COLUMN_NAME' => 'reply', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '1000', - 'CHARACTER_OCTET_LENGTH' => '4000', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(1000)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '回复', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'rating' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review', - 'COLUMN_NAME' => 'rating', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '5.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'float', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'float(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '综合评分', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'rating1' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review', - 'COLUMN_NAME' => 'rating1', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '5.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'float', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'float(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '维度1评分', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'rating2' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review', - 'COLUMN_NAME' => 'rating2', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '5.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'float', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'float(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '维度2评分', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'rating3' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review', - 'COLUMN_NAME' => 'rating3', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '5.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'float', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'float(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '维度3评分', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'anonymous' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review', - 'COLUMN_NAME' => 'anonymous', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '匿名标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'published' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review', - 'COLUMN_NAME' => 'published', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '发布标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'like_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review', - 'COLUMN_NAME' => 'like_count', - 'ORDINAL_POSITION' => '13', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '点赞数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '14', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '15', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'course_id' => - array( - 1 => - array( - 'Table' => 'kg_review', - 'Non_unique' => '1', - 'Key_name' => 'course_id', - 'Seq_in_index' => '1', - 'Column_name' => 'course_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'onwer_id' => - array( - 1 => - array( - 'Table' => 'kg_review', - 'Non_unique' => '1', - 'Key_name' => 'onwer_id', - 'Seq_in_index' => '1', - 'Column_name' => 'owner_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_review', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_review_like' => - array( - 'table' => - array( - 'table_name' => 'kg_review_like', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Compact', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review_like', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'review_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review_like', - 'COLUMN_NAME' => 'review_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '评价编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review_like', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review_like', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review_like', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_review_like', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_review_like', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'review_user' => - array( - 1 => - array( - 'Table' => 'kg_review_like', - 'Non_unique' => '1', - 'Key_name' => 'review_user', - 'Seq_in_index' => '1', - 'Column_name' => 'review_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - 2 => - array( - 'Table' => 'kg_review_like', - 'Non_unique' => '1', - 'Key_name' => 'review_user', - 'Seq_in_index' => '2', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_reward' => - array( - 'table' => - array( - 'table_name' => 'kg_reward', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_reward', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'smallint', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '5', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'smallint unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'title' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_reward', - 'COLUMN_NAME' => 'title', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '标题', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'price' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_reward', - 'COLUMN_NAME' => 'price', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'decimal', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'decimal(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '价格', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_reward', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_reward', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_reward', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_reward', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_role' => - array( - 'table' => - array( - 'table_name' => 'kg_role', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_role', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_role', - 'COLUMN_NAME' => 'type', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '2', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'name' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_role', - 'COLUMN_NAME' => 'name', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '名称', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'summary' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_role', - 'COLUMN_NAME' => 'summary', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '255', - 'CHARACTER_OCTET_LENGTH' => '1020', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(255)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '简介', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'routes' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_role', - 'COLUMN_NAME' => 'routes', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'text', - 'CHARACTER_MAXIMUM_LENGTH' => '65535', - 'CHARACTER_OCTET_LENGTH' => '65535', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'text', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '权限路由', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_role', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_role', - 'COLUMN_NAME' => 'user_count', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '成员数量', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_role', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_role', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_role', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_setting' => - array( - 'table' => - array( - 'table_name' => 'kg_setting', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_setting', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'section' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_setting', - 'COLUMN_NAME' => 'section', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '50', - 'CHARACTER_OCTET_LENGTH' => '200', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(50)', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '配置组', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'item_key' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_setting', - 'COLUMN_NAME' => 'item_key', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '50', - 'CHARACTER_OCTET_LENGTH' => '200', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(50)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '配置项', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'item_value' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_setting', - 'COLUMN_NAME' => 'item_value', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'text', - 'CHARACTER_MAXIMUM_LENGTH' => '65535', - 'CHARACTER_OCTET_LENGTH' => '65535', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'text', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '配置值', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_setting', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'section_key' => - array( - 1 => - array( - 'Table' => 'kg_setting', - 'Non_unique' => '0', - 'Key_name' => 'section_key', - 'Seq_in_index' => '1', - 'Column_name' => 'section', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - 2 => - array( - 'Table' => 'kg_setting', - 'Non_unique' => '0', - 'Key_name' => 'section_key', - 'Seq_in_index' => '2', - 'Column_name' => 'item_key', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_slide' => - array( - 'table' => - array( - 'table_name' => 'kg_slide', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_slide', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'title' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_slide', - 'COLUMN_NAME' => 'title', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '标题', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'cover' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_slide', - 'COLUMN_NAME' => 'cover', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '封面', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'summary' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_slide', - 'COLUMN_NAME' => 'summary', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '255', - 'CHARACTER_OCTET_LENGTH' => '1020', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(255)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '简介', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'content' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_slide', - 'COLUMN_NAME' => 'content', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '255', - 'CHARACTER_OCTET_LENGTH' => '1020', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(255)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '内容', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'platform' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_slide', - 'COLUMN_NAME' => 'platform', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '平台类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'target' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_slide', - 'COLUMN_NAME' => 'target', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '目标类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'priority' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_slide', - 'COLUMN_NAME' => 'priority', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '10', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '优先级', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'published' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_slide', - 'COLUMN_NAME' => 'published', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '发布状态', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_slide', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_slide', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_slide', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_slide', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_task' => - array( - 'table' => - array( - 'table_name' => 'kg_task', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_task', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'item_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_task', - 'COLUMN_NAME' => 'item_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '条目编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'item_type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_task', - 'COLUMN_NAME' => 'item_type', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '条目类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'item_info' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_task', - 'COLUMN_NAME' => 'item_info', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '3000', - 'CHARACTER_OCTET_LENGTH' => '12000', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(3000)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '条目内容', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'status' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_task', - 'COLUMN_NAME' => 'status', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '状态', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'priority' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_task', - 'COLUMN_NAME' => 'priority', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '30', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '优先级', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'try_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_task', - 'COLUMN_NAME' => 'try_count', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '重试数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_task', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_task', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'create_time' => - array( - 1 => - array( - 'Table' => 'kg_task', - 'Non_unique' => '1', - 'Key_name' => 'create_time', - 'Seq_in_index' => '1', - 'Column_name' => 'create_time', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_task', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_topic' => - array( - 'table' => - array( - 'table_name' => 'kg_topic', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Compact', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_topic', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'title' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_topic', - 'COLUMN_NAME' => 'title', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '标题', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'keywords' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_topic', - 'COLUMN_NAME' => 'keywords', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '关键字', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'summary' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_topic', - 'COLUMN_NAME' => 'summary', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '255', - 'CHARACTER_OCTET_LENGTH' => '1020', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(255)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '简介', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_topic', - 'COLUMN_NAME' => 'course_count', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程数量', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'published' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_topic', - 'COLUMN_NAME' => 'published', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '发布标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_topic', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_topic', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_topic', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_topic', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_trade' => - array( - 'table' => - array( - 'table_name' => 'kg_trade', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'owner_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade', - 'COLUMN_NAME' => 'owner_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'order_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade', - 'COLUMN_NAME' => 'order_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '订单编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'sn' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade', - 'COLUMN_NAME' => 'sn', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '32', - 'CHARACTER_OCTET_LENGTH' => '128', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(32)', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '交易序号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'subject' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade', - 'COLUMN_NAME' => 'subject', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '交易主题', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'amount' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade', - 'COLUMN_NAME' => 'amount', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'decimal', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'decimal(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '交易金额', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'channel' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade', - 'COLUMN_NAME' => 'channel', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '平台类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'channel_sn' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade', - 'COLUMN_NAME' => 'channel_sn', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '64', - 'CHARACTER_OCTET_LENGTH' => '256', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(64)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '平台序号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'status' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade', - 'COLUMN_NAME' => 'status', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '状态类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'order_id' => - array( - 1 => - array( - 'Table' => 'kg_trade', - 'Non_unique' => '1', - 'Key_name' => 'order_id', - 'Seq_in_index' => '1', - 'Column_name' => 'order_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'owner_id' => - array( - 1 => - array( - 'Table' => 'kg_trade', - 'Non_unique' => '1', - 'Key_name' => 'owner_id', - 'Seq_in_index' => '1', - 'Column_name' => 'owner_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_trade', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'sn' => - array( - 1 => - array( - 'Table' => 'kg_trade', - 'Non_unique' => '1', - 'Key_name' => 'sn', - 'Seq_in_index' => '1', - 'Column_name' => 'sn', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_trade_status' => - array( - 'table' => - array( - 'table_name' => 'kg_trade_status', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade_status', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'trade_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade_status', - 'COLUMN_NAME' => 'trade_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '订单编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'status' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade_status', - 'COLUMN_NAME' => 'status', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '订单状态', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_trade_status', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_trade_status', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'trade_id' => - array( - 1 => - array( - 'Table' => 'kg_trade_status', - 'Non_unique' => '1', - 'Key_name' => 'trade_id', - 'Seq_in_index' => '1', - 'Column_name' => 'trade_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_upload' => - array( - 'table' => - array( - 'table_name' => 'kg_upload', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_upload', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_upload', - 'COLUMN_NAME' => 'type', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '条目类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'name' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_upload', - 'COLUMN_NAME' => 'name', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '文件名', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'path' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_upload', - 'COLUMN_NAME' => 'path', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '路径', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'mime' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_upload', - 'COLUMN_NAME' => 'mime', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => 'mime', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'md5' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_upload', - 'COLUMN_NAME' => 'md5', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '32', - 'CHARACTER_OCTET_LENGTH' => '128', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(32)', - 'COLUMN_KEY' => 'UNI', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => 'md5', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'size' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_upload', - 'COLUMN_NAME' => 'size', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '大小', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_upload', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_upload', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_upload', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'md5' => - array( - 1 => - array( - 'Table' => 'kg_upload', - 'Non_unique' => '0', - 'Key_name' => 'md5', - 'Seq_in_index' => '1', - 'Column_name' => 'md5', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_upload', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_user' => - array( - 'table' => - array( - 'table_name' => 'kg_user', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'name' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'name', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '名称', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'avatar' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'avatar', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '100', - 'CHARACTER_OCTET_LENGTH' => '400', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(100)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '头像', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'title' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'title', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '头衔', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'about' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'about', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '255', - 'CHARACTER_OCTET_LENGTH' => '1020', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(255)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '简介', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'area' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'area', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '地区', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'gender' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'gender', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '3', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '性别', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'vip' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'vip', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '会员标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'locked' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'locked', - 'ORDINAL_POSITION' => '9', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '锁定标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '10', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'edu_role' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'edu_role', - 'ORDINAL_POSITION' => '11', - 'COLUMN_DEFAULT' => '1', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '教学角色', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'admin_role' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'admin_role', - 'ORDINAL_POSITION' => '12', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '后台角色', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'course_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'course_count', - 'ORDINAL_POSITION' => '13', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '课程数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'favorite_count' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'favorite_count', - 'ORDINAL_POSITION' => '14', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '收藏数', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'vip_expiry_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'vip_expiry_time', - 'ORDINAL_POSITION' => '15', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '会员期限', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'lock_expiry_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'lock_expiry_time', - 'ORDINAL_POSITION' => '16', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '锁定期限', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'active_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'active_time', - 'ORDINAL_POSITION' => '17', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '活跃时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '18', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '19', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'name' => - array( - 1 => - array( - 'Table' => 'kg_user', - 'Non_unique' => '1', - 'Key_name' => 'name', - 'Seq_in_index' => '1', - 'Column_name' => 'name', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_user', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_user_session' => - array( - 'table' => - array( - 'table_name' => 'kg_user_session', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_session', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_session', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'session_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_session', - 'COLUMN_NAME' => 'session_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '64', - 'CHARACTER_OCTET_LENGTH' => '256', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(64)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '会话编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'client_type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_session', - 'COLUMN_NAME' => 'client_type', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '终端类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'client_ip' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_session', - 'COLUMN_NAME' => 'client_ip', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '64', - 'CHARACTER_OCTET_LENGTH' => '256', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(64)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '终端IP', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_session', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_session', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_session', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_user_session', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'user_id' => - array( - 1 => - array( - 'Table' => 'kg_user_session', - 'Non_unique' => '1', - 'Key_name' => 'user_id', - 'Seq_in_index' => '1', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_user_token' => - array( - 'table' => - array( - 'table_name' => 'kg_user_token', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_token', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_token', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'token' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_token', - 'COLUMN_NAME' => 'token', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '64', - 'CHARACTER_OCTET_LENGTH' => '256', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(64)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '身份令牌', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'client_type' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_token', - 'COLUMN_NAME' => 'client_type', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '终端类型', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'client_ip' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_token', - 'COLUMN_NAME' => 'client_ip', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '64', - 'CHARACTER_OCTET_LENGTH' => '256', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(64)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '终端IP', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_token', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_token', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_user_token', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '8', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_user_token', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'user_id' => - array( - 1 => - array( - 'Table' => 'kg_user_token', - 'Non_unique' => '1', - 'Key_name' => 'user_id', - 'Seq_in_index' => '1', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_vip' => - array( - 'table' => - array( - 'table_name' => 'kg_vip', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_vip', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'title' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_vip', - 'COLUMN_NAME' => 'title', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '30', - 'CHARACTER_OCTET_LENGTH' => '120', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(30)', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '标题', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'expiry' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_vip', - 'COLUMN_NAME' => 'expiry', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '有效期', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'price' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_vip', - 'COLUMN_NAME' => 'price', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0.00', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'decimal', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '2', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'decimal(10,2) unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '价格', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_vip', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_vip', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_vip', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '7', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_vip', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - 'kg_wechat_subscribe' => - array( - 'table' => - array( - 'table_name' => 'kg_wechat_subscribe', - 'engine' => 'InnoDB', - 'table_comment' => '', - 'table_collation' => 'utf8mb4_general_ci', - 'character_set_name' => 'utf8mb4', - 'row_format' => 'Dynamic', - ), - 'columns' => - array( - 'id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_wechat_subscribe', - 'COLUMN_NAME' => 'id', - 'ORDINAL_POSITION' => '1', - 'COLUMN_DEFAULT' => NULL, - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'PRI', - 'EXTRA' => 'auto_increment', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '主键编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'user_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_wechat_subscribe', - 'COLUMN_NAME' => 'user_id', - 'ORDINAL_POSITION' => '2', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '用户编号', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'open_id' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_wechat_subscribe', - 'COLUMN_NAME' => 'open_id', - 'ORDINAL_POSITION' => '3', - 'COLUMN_DEFAULT' => '', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'varchar', - 'CHARACTER_MAXIMUM_LENGTH' => '64', - 'CHARACTER_OCTET_LENGTH' => '256', - 'NUMERIC_PRECISION' => NULL, - 'NUMERIC_SCALE' => NULL, - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => 'utf8mb4', - 'COLLATION_NAME' => 'utf8mb4_general_ci', - 'COLUMN_TYPE' => 'varchar(64)', - 'COLUMN_KEY' => 'MUL', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '开放ID', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'deleted' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_wechat_subscribe', - 'COLUMN_NAME' => 'deleted', - 'ORDINAL_POSITION' => '4', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '删除标识', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'create_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_wechat_subscribe', - 'COLUMN_NAME' => 'create_time', - 'ORDINAL_POSITION' => '5', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '创建时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - 'update_time' => - array( - 'TABLE_CATALOG' => 'def', - 'TABLE_NAME' => 'kg_wechat_subscribe', - 'COLUMN_NAME' => 'update_time', - 'ORDINAL_POSITION' => '6', - 'COLUMN_DEFAULT' => '0', - 'IS_NULLABLE' => 'NO', - 'DATA_TYPE' => 'int', - 'CHARACTER_MAXIMUM_LENGTH' => NULL, - 'CHARACTER_OCTET_LENGTH' => NULL, - 'NUMERIC_PRECISION' => '10', - 'NUMERIC_SCALE' => '0', - 'DATETIME_PRECISION' => NULL, - 'CHARACTER_SET_NAME' => NULL, - 'COLLATION_NAME' => NULL, - 'COLUMN_TYPE' => 'int unsigned', - 'COLUMN_KEY' => '', - 'EXTRA' => '', - 'PRIVILEGES' => 'select,insert,update,references', - 'COLUMN_COMMENT' => '更新时间', - 'GENERATION_EXPRESSION' => '', - 'SRS_ID' => NULL, - ), - ), - 'indexes' => - array( - 'open_id' => - array( - 1 => - array( - 'Table' => 'kg_wechat_subscribe', - 'Non_unique' => '1', - 'Key_name' => 'open_id', - 'Seq_in_index' => '1', - 'Column_name' => 'open_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'PRIMARY' => - array( - 1 => - array( - 'Table' => 'kg_wechat_subscribe', - 'Non_unique' => '0', - 'Key_name' => 'PRIMARY', - 'Seq_in_index' => '1', - 'Column_name' => 'id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - 'user_id' => - array( - 1 => - array( - 'Table' => 'kg_wechat_subscribe', - 'Non_unique' => '1', - 'Key_name' => 'user_id', - 'Seq_in_index' => '1', - 'Column_name' => 'user_id', - 'Collation' => 'A', - 'Sub_part' => NULL, - 'Packed' => NULL, - 'Null' => '', - 'Index_type' => 'BTREE', - 'Comment' => '', - 'Index_comment' => '', - ), - ), - ), - 'foreign_keys' => NULL, - ), - ), -); \ No newline at end of file diff --git a/public/static/admin/css/common.css b/public/static/admin/css/common.css index b5ef5dcc..c8977177 100644 --- a/public/static/admin/css/common.css +++ b/public/static/admin/css/common.css @@ -34,6 +34,14 @@ list-style: decimal; } +.kg-layer-content { + padding: 15px; +} + +.kg-layer-content .layui-table { + margin: 0; +} + .kg-body { padding: 15px; } diff --git a/public/static/admin/js/contact.js b/public/static/admin/js/contact.js new file mode 100644 index 00000000..c16d9f21 --- /dev/null +++ b/public/static/admin/js/contact.js @@ -0,0 +1,21 @@ +layui.use(['jquery', 'layer'], function () { + + var $ = layui.jquery; + var layer = layui.layer; + + $('.kg-contact').on('click', function () { + var content = '
' + + '' + + '' + + '' + + '
联系人手机号收货地址
' + $(this).data('name') + '' + $(this).data('phone') + '' + $(this).data('address') + '
' + + '
'; + layer.open({ + type: 1, + title: '联系信息', + area: ['800px', '160px'], + content: content + }); + }); + +}); \ No newline at end of file diff --git a/public/static/home/css/common.css b/public/static/home/css/common.css index 71c20321..a276fc1f 100644 --- a/public/static/home/css/common.css +++ b/public/static/home/css/common.css @@ -774,36 +774,40 @@ margin: 5px; } -.sidebar-teacher-card { +.sidebar-user-card { margin-bottom: 15px; } -.sidebar-teacher-card .avatar { +.sidebar-user-card .avatar { float: left; width: 60px; height: 60px; margin-right: 10px; } -.sidebar-teacher-card .avatar img { +.sidebar-user-card .avatar img { width: 100%; height: 100%; border-radius: 60px; } -.sidebar-teacher-card .info { +.sidebar-user-card .info { float: left; padding: 5px 0; } -.sidebar-teacher-card .info .name { +.sidebar-user-card .info .name { } -.sidebar-teacher-card .info .title { +.sidebar-user-card .info .title { color: #666; font-size: 12px; } +.sidebar-user-card .info span { + margin-right: 5px; +} + .topic-badge { padding: 2px 5px; margin-right: 5px; @@ -1846,12 +1850,10 @@ } .gift-meta .info .value { - font-size: 16px; color: #666; } -.gift-meta .info .price { - font-size: 16px; +.gift-meta .info .price, .sidebar-user-card .info .point { color: red; } diff --git a/public/static/home/js/point.gift.show.js b/public/static/home/js/point.gift.show.js index 8ece6379..a8df29bc 100644 --- a/public/static/home/js/point.gift.show.js +++ b/public/static/home/js/point.gift.show.js @@ -14,7 +14,7 @@ layui.use(['jquery', 'layer'], function () { success: function (res) { layer.msg(res.msg, {icon: 1}); setTimeout(function () { - window.location.href = '/uc/redeems'; + window.location.href = '/uc/point/redeems'; }, 3000); } }); diff --git a/scheduler.php b/scheduler.php index 477d2263..666bb7e4 100644 --- a/scheduler.php +++ b/scheduler.php @@ -25,6 +25,9 @@ $scheduler->php($script, $bin, ['--task' => 'vod_event', '--action' => 'main']) $scheduler->php($script, $bin, ['--task' => 'close_trade', '--action' => 'main']) ->at('*/13 * * * *'); +$scheduler->php($script, $bin, ['--task' => 'point_gift_deliver', '--action' => 'main']) + ->at('*/11 * * * *'); + $scheduler->php($script, $bin, ['--task' => 'close_order', '--action' => 'main']) ->hourly(3);