modifyArticleFavoriteTable(); $this->modifyCourseFavoriteTable(); $this->modifyArticleLikeTable(); $this->modifyChapterLikeTable(); $this->modifyCommentLikeTable(); $this->modifyConsultLikeTable(); $this->modifyReviewLikeTable(); $this->handlePointEventRules(); } protected function modifyArticleFavoriteTable() { $this->table('kg_article_favorite') ->addColumn('deleted', 'integer', [ 'null' => false, 'default' => '0', 'limit' => MysqlAdapter::INT_REGULAR, 'signed' => false, 'comment' => '删除标识', 'after' => 'user_id', ]) ->changeColumn('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', ]) ->save(); } protected function modifyCourseFavoriteTable() { $this->table('kg_course_favorite') ->addColumn('deleted', 'integer', [ 'null' => false, 'default' => '0', 'limit' => MysqlAdapter::INT_REGULAR, 'signed' => false, 'comment' => '删除标识', 'after' => 'user_id', ]) ->changeColumn('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', ]) ->save(); } protected function modifyArticleLikeTable() { $this->table('kg_article_like') ->addColumn('deleted', 'integer', [ 'null' => false, 'default' => '0', 'limit' => MysqlAdapter::INT_REGULAR, 'signed' => false, 'comment' => '删除标识', 'after' => 'user_id', ]) ->changeColumn('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', ]) ->save(); } protected function modifyChapterLikeTable() { $this->table('kg_chapter_like') ->addColumn('deleted', 'integer', [ 'null' => false, 'default' => '0', 'limit' => MysqlAdapter::INT_REGULAR, 'signed' => false, 'comment' => '删除标识', 'after' => 'user_id', ]) ->changeColumn('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', ]) ->save(); } protected function modifyCommentLikeTable() { $this->table('kg_comment_like') ->addColumn('deleted', 'integer', [ 'null' => false, 'default' => '0', 'limit' => MysqlAdapter::INT_REGULAR, 'signed' => false, 'comment' => '删除标识', 'after' => 'user_id', ]) ->changeColumn('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', ]) ->save(); } protected function modifyConsultLikeTable() { $this->table('kg_consult_like') ->addColumn('deleted', 'integer', [ 'null' => false, 'default' => '0', 'limit' => MysqlAdapter::INT_REGULAR, 'signed' => false, 'comment' => '删除标识', 'after' => 'user_id', ]) ->changeColumn('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', ]) ->save(); } protected function modifyReviewLikeTable() { $this->table('kg_review_like') ->addColumn('deleted', 'integer', [ 'null' => false, 'default' => '0', 'limit' => MysqlAdapter::INT_REGULAR, 'signed' => false, 'comment' => '删除标识', 'after' => 'user_id', ]) ->changeColumn('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', ]) ->save(); } protected function handlePointEventRules() { $setting = $this->getQueryBuilder() ->select('*') ->from('kg_setting') ->where(['section' => 'point', 'item_key' => 'event_rule']) ->execute()->fetch('assoc'); if (!$setting) return; $itemValue = json_decode($setting['item_value'], true); $itemValue['article_liked'] = ['point' => 1, 'enabled' => 1, 'limit' => 50]; $itemValue['question_liked'] = ['point' => 1, 'enabled' => 1, 'limit' => 50]; $itemValue['answer_liked'] = ['point' => 1, 'enabled' => 1, 'limit' => 50]; $itemValue = json_encode($itemValue); $this->getQueryBuilder() ->update('kg_setting') ->where(['id' => $setting['id']]) ->set('item_value', $itemValue) ->execute(); } }