AutoCheckUpdateController.class.php 1.78 KB
<?php
/**
 * 自动审核数据库升级脚本
 *
 * User: wangjiayu
 * Date: 2017-11-02
 */

namespace Frontend\Controller\UpdateDB;

class AutoCheckUpdateController extends AbstractController
{
    /**
     * 销售活动自动审核所需字段新增
     * @author wangjiayu
     * @date 2017-12-01
     */
    public function Index()
    {
        $sql = $this->_updateSql();
        if (empty($sql)) {
            exit('没有可升级的sql');
        }

        $db = \Think\Db::getInstance();
        try {
            $db->execute($sql);
        } catch (\Exception $e) {
            exit("数据库升级失败:" . $e->getMessage());
        }

        exit("数据库升级完成,执行sql如下:{$sql}");
    }

    /**
     * 待升级的sql
     *      1. oa_sale_activity(销售活动表),增加字段check_type
     *      2. oa_sale_comment(回帖表),增加字段autocheck_message
     *      3. oa_sale_comment(回帖表),增加字段 is_autochecked
     * @author wangjiayu
     * @return string
     */
    private function _updateSql()
    {
        $sql = "
              ALTER TABLE `oa_sale_activity` ADD `check_type` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '是否开启审核:0:未开启审核,1:人工审核,2:系统自动审核' AFTER `is_check_open`;
              ALTER TABLE `oa_sale_comment` ADD `autocheck_message` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '自动审核返回的信息' AFTER `check_time`;
              ALTER TABLE  `oa_sale_comment` ADD  `is_autochecked` TINYINT(1) NOT NULL DEFAULT  '0' COMMENT  '系统审核审核状态(0:系统尚未审核,1:系统已审核)' AFTER `check_time`;
              UPDATE  `oa_sale_activity` SET  `check_type` = 1 WHERE  `is_check_open` = 1
        ";
        return $sql;
    }
}