任务的入库成功、入库失败,皆需要能够查询到发布记录的设计与实现(在 Yii 2.0 中具体实现,当响应状态码为 404、302 时,未执行到过滤器方法:afterAction($action, $result) 的分析解决) (二)

1、网址:https://www.shuijingwanwq.com/2020/01/08/3797/ ,当响应状态码为 404、302 时,未执行到过滤器方法:afterAction($action, $result) ,遗留下一个问题,有待于分析解决

{
    "code": 226004,
    "message": "数据验证失败:标题只能包含至多255个字符。"
}

2、当响应状态码为 422 时,如图1

当响应状态码为 422 时

图1

3、查看:Log Messages,已执行到过滤器方法:afterAction($action, $result),如图2

查看:Log Messages,已执行到过滤器方法:afterAction($action, $result)

图2

15:29:04.049	info	yii/db/Command::query
SHOW FULL COLUMNS FROM `cpa_pre_pub_log`
E:/wwwroot/channel-pub-api/common/services/PrePubLogService.php:147
E:/wwwroot/channel-pub-api/qq/filters/PrePubLogFilter.php:54

4、查看:Events,已触发 afterAction 事件,如图3

查看:Events,已触发 afterAction 事件

图3

15:29:04.061	afterAction	yii/base/ActionEvent	qq/modules/v1/controllers/ArticleController	否

5、当响应状态码为 404 时,如图4

当响应状态码为 404 时

图4

{
    "name": "Not Found",
    "message": "渠道的应用的来源UUID:8d72b7cc2ac911eab85a54ee75d2ebc0,不存在",
    "code": 202001,
    "status": 404,
    "type": "yii//web//NotFoundHttpException"
}

6、查看:Log Messages,未执行到过滤器方法:afterAction($action, $result),如图5

查看:Log Messages,未执行到过滤器方法:afterAction($action, $result)

图5

yii/web/NotFoundHttpException: 渠道的应用的来源UUID:8d72b7cc2ac911eab85a54ee75d2ebc0,不存在 in E:/wwwroot/channel-pub-api/common/services/ChannelAppSourceService.php:192
Stack trace:
#0 E:/wwwroot/channel-pub-api/common/services/ChannelAppSourceService.php(213): common/services/ChannelAppSourceService::findModelsByUuids(Array)
#1 E:/wwwroot/channel-pub-api/qq/rests/article/StandardCreateAction.php(171): common/services/ChannelAppSourceService::findModelsEnabledByUuids(Array)
#2 [internal function]: qq/rests/article/StandardCreateAction->run()
#3 E:/wwwroot/channel-pub-api/vendor/yiisoft/yii2/base/Action.php(94): call_user_func_array(Array, Array)
#4 E:/wwwroot/channel-pub-api/vendor/yiisoft/yii2/base/Controller.php(157): yii/base/Action->runWithParams(Array)
#5 E:/wwwroot/channel-pub-api/vendor/yiisoft/yii2/base/Module.php(528): yii/base/Controller->runAction('standard-create', Array)
#6 E:/wwwroot/channel-pub-api/vendor/yiisoft/yii2/web/Application.php(103): yii/base/Module->runAction('v1/article/stan...', Array)
#7 E:/wwwroot/channel-pub-api/vendor/yiisoft/yii2/base/Application.php(386): yii/web/Application->handleRequest(Object(yii/web/Request))
#8 E:/wwwroot/channel-pub-api/qq/web/index.php(17): yii/base/Application->run()
#9 {main}

7、查看:Events,未触发 afterAction 事件,如图6

查看:Events,未触发 afterAction 事件

图6

8、经过对比分析,发现:afterAction、afterRequest 皆不存在,如图7

经过对比分析,发现:afterAction、afterRequest 皆不存在

图7

15:29:04.061	afterAction	yii/base/ActionEvent	qq/modules/v1/controllers/ArticleController	否
15:29:04.064	afterAction	yii/base/ActionEvent	qq/modules/v1/Module	否
15:29:04.064	afterAction	yii/base/ActionEvent	yii/web/Application	否
15:29:04.064	afterRequest	yii/base/Event	yii/web/Application	否

9、分析:afterAction、afterRequest 存在的原因,查看文件:qq/rests/article/Action.php,原因可能在于是否抛出异常,而与响应状态码无关,响应状态码为 422 时,并非 HTTP 异常

    /**
     * 处理模型错误
     * @param object $model 模型
     * @return array
     * 格式如下:
     *
     * [
     *     'status' => false, // 失败
     *     'code' => 226004, // 返回码
     *     'message' => '数据验证失败:代码是无效的。', // 说明
     * ]
     *
     * @throws ServerErrorHttpException
     */
    public static function handleValidateError($model)
    {
        if ($model->hasErrors()) {
            $response = Yii::$app->getResponse();
            $response->setStatusCode(422, 'Data Validation Failed.');
            $firstError = '';
            foreach ($model->getFirstErrors() as $message) {
                $firstError = $message;
                break;
            }
            return ['status' => false, 'code' => 226004, 'message' => Yii::t('error', Yii::t('error', Yii::t('error', '226004'), ['first_error' => $firstError]))];
        } elseif (!$model->hasErrors()) {
            throw new ServerErrorHttpException('Failed to create the object for unknown reason.');
        }
    }

10、编辑文件:qq/rests/article/Action.php,抛出 HTTP 异常,响应状态码为 422,如图8

编辑文件:qq/rests/article/Action.php,抛出 HTTP 异常,响应状态码为 422

图8

    /**
     * 处理模型错误
     * @param object $model 模型
     * @return array
     * 格式如下:
     *
     * [
     *     'status' => false, // 失败
     *     'code' => 226004, // 返回码
     *     'message' => '数据验证失败:代码是无效的。', // 说明
     * ]
     *
     * @throws UnprocessableEntityHttpException
     * @throws ServerErrorHttpException
     */
    public static function handleValidateError($model)
    {
        if ($model->hasErrors()) {
            $response = Yii::$app->getResponse();
            // $response->setStatusCode(422, 'Data Validation Failed.');
            $firstError = '';
            foreach ($model->getFirstErrors() as $message) {
                $firstError = $message;
                break;
            }
            throw new UnprocessableEntityHttpException(Yii::t('error', Yii::t('error', Yii::t('error', '226004'), ['first_error' => $firstError])), 226004);
            // return ['status' => false, 'code' => 226004, 'message' => Yii::t('error', Yii::t('error', Yii::t('error', '226004'), ['first_error' => $firstError]))];
        } elseif (!$model->hasErrors()) {
            throw new ServerErrorHttpException('Failed to create the object for unknown reason.');
        }
    }
{
    "name": "Unprocessable entity",
    "message": "数据验证失败:标题只能包含至多255个字符。",
    "code": 226004,
    "status": 422,
    "type": "yii//web//UnprocessableEntityHttpException"
}

11、查看:Log Messages,未执行到过滤器方法:afterAction($action, $result),因此,得出结论,是否执行到过滤器方法:afterAction($action, $result),与响应状态码无关,与是否抛出 HTTP 异常有关。当抛出 HTTP 异常时,未执行到,否则,已执行到。

12、编辑动作方法文件:qq/rests/article/StandardCreateAction.php,捕获 HTTP 异常后,不抛出 HTTP 异常,转换为设置响应状态码,然后返回

    /**
     * Creates a new model.
     * @return array
     * @throws /Throwable
     */
    public function run()
    {
        try {
            // 方法代码
        } catch(/Throwable $e) {
            Yii::$app->response->statusCode = $e->statusCode;
            return ['code' => $e->getCode(), 'message' => $e->getMessage()];
        }
    }

13、复现步骤 5,当响应状态码为 404 时,如图9

复现步骤 5,当响应状态码为 404 时

图9

{
    "code": 202001,
    "message": "渠道的应用的来源UUID:8d72b7cc2ac911eab85a54ee75d2ebc0,不存在"
}

14、查看:Log Messages,已执行到过滤器方法:afterAction($action, $result),SQL 如下,如图10

查看:Log Messages,已执行到过滤器方法:afterAction($action, $result),SQL 如下

图10

INSERT INTO `cpa_pre_pub_log` (`group_id`, `channel_id`, `channel_code`, `type`, `article_type_id`, `article_type_code`, `article_type_name`, `article_category_id`, `article_title`, `article_author`, `source`, `source_uuid`, `source_pub_user_id`, `source_callback_url`, `source_article_id`, `pub_log_code`, `pub_log_message`, `pub_log_body`, `status`, `is_deleted`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `channel_type_id`, `channel_type_code`, `channel_app_source_id`, `channel_app_source_uuid`) VALUES ('015ce30b116ce86058fa6ab4fea4ac63', 1, 'qq', 'pub', 1, 'standard', '标准(普通)', 15, '未来 10 年,“星光中国芯工程”计划投资 100 亿元用于芯片研发及大规模产业化。北京时间 2019 年 12 月 28 日,1999-2019“星光中国芯工程”创新成果与展望报告会在人民大会堂举行。会议回顾和总结了“星光中国芯工程”20 年来在核心技术自主创新、在研发成果大规模产业化、以及在满足国家重大工程技术需求方面取得的重要进展和成功经验,并对“星光中国芯工程”未来发展进行了规划和展望。中国工程院院士、“星光中国芯工程”总指挥、中星微电子集团创建人兼首席科学家邓中翰作了“星光中国芯工程”20 年成果与展望工作报告,报告中,邓中翰表示,在物理层面智能芯片的发展已经受到了物理规律的限制,看似已经接近了极限的时候,在信息层面的技术创新还远远没有碰到天花板。1999 年,邓中翰等一批海外爱国博士企业家回国承担并启动实施“星光中国芯工程”,在北京中关村设立中星微电子公司,致力于超大规模集成电路芯片的研发、设计及产业化工作。2001 年,中国第一颗百万门级超大规模数字多媒体芯片“星光一号”诞生。其后数年间,“星光多媒体”系列芯片被苹果、三星、飞利浦、惠普、LG、索尼、戴尔等国外知名品牌规模采用,占领了全球计算机图像输入芯片 60% 以上的市场份额,彻底结束了中国无“芯”的历史。', '高琳', 'spider', '825e6d5e36468cc4bf536799ce3565cf', 3, 'http://scms.wjdev.chinamcloud.cn/api/thirdPush/callBack', 1, 202001, '渠道的应用的来源UUID:8d72b7cc2ac911eab85a54ee75d2ebc0,不存在', 'a:17:{s:24:/"channel_app_source_uuids/";a:2:{i:0;s:32:/"8d72b7cc2ac911eab85a54ee75d2ebc0/";i:1;s:32:/"18cf06d22ac911eaa31854ee75d2ebc1/";}s:6:/"source/";s:6:/"spider/";s:11:/"source_uuid/";s:32:/"825e6d5e36468cc4bf536799ce3565cf/";s:18:/"source_pub_user_id/";i:3;s:19:/"source_callback_url/";s:55:/"http://scms.wjdev.chinamcloud.cn/api/thirdPush/callBack/";s:19:/"article_category_id/";i:15;s:5:/"title/";s:1525:/"未来 10 年,“星光中国芯工程”计划投资 100 亿元用于芯片研发及大规模产业化。北京时间 2019 年 12 月 28 日,1999-2019“星光中国芯工程”创新成果与展望报告会在人民大会堂举行。会议回顾和总结了“星光中国芯工程”20 年来在核心技术自主创新、在研发成果大规模产业化、以及在满足国家重大工程技术需求方面取得的重要进展和成功经验,并对“星光中国芯工程”未来发展进行了规划和展望。中国工程院院士、“星光中国芯工程”总指挥、中星微电子集团创建人兼首席科学家邓中翰作了“星光中国芯工程”20 年成果与展望工作报告,报告中,邓中翰表示,在物理层面智能芯片的发展已经受到了物理规律的限制,看似已经接近了极限的时候,在信息层面的技术创新还远远没有碰到天花板。1999 年,邓中翰等一批海外爱国博士企业家回国承担并启动实施“星光中国芯工程”,在北京中关村设立中星微电子公司,致力于超大规模集成电路芯片的研发、设计及产业化工作。2001 年,中国第一颗百万门级超大规模数字多媒体芯片“星光一号”诞生。其后数年间,“星光多媒体”系列芯片被苹果、三星、飞利浦、惠普、LG、索尼、戴尔等国外知名品牌规模采用,占领了全球计算机图像输入芯片 60% 以上的市场份额,彻底结束了中国无“芯”的历史。/";s:6:/"author/";s:6:/"高琳/";s:17:/"source_article_id/";i:1;s:7:/"content/";s:1525:/"未来 10 年,“星光中国芯工程”计划投资 100 亿元用于芯片研发及大规模产业化。北京时间 2019 年 12 月 28 日,1999-2019“星光中国芯工程”创新成果与展望报告会在人民大会堂举行。会议回顾和总结了“星光中国芯工程”20 年来在核心技术自主创新、在研发成果大规模产业化、以及在满足国家重大工程技术需求方面取得的重要进展和成功经验,并对“星光中国芯工程”未来发展进行了规划和展望。中国工程院院士、“星光中国芯工程”总指挥、中星微电子集团创建人兼首席科学家邓中翰作了“星光中国芯工程”20 年成果与展望工作报告,报告中,邓中翰表示,在物理层面智能芯片的发展已经受到了物理规律的限制,看似已经接近了极限的时候,在信息层面的技术创新还远远没有碰到天花板。1999 年,邓中翰等一批海外爱国博士企业家回国承担并启动实施“星光中国芯工程”,在北京中关村设立中星微电子公司,致力于超大规模集成电路芯片的研发、设计及产业化工作。2001 年,中国第一颗百万门级超大规模数字多媒体芯片“星光一号”诞生。其后数年间,“星光多媒体”系列芯片被苹果、三星、飞利浦、惠普、LG、索尼、戴尔等国外知名品牌规模采用,占领了全球计算机图像输入芯片 60% 以上的市场份额,彻底结束了中国无“芯”的历史。/";s:10:/"cover_pics/";a:1:{i:0;s:84:/"https://static001.infoq.cn/resource/image/7c/18/7c55c468adf1d616f48681c23e9b9518.png/";}s:10:/"cover_type/";i:1;s:3:/"tag/";s:62:/"百度,发布,推理引擎,Paddle Lite,华为,NPU,在线编译/";s:5:/"apply/";i:0;s:17:/"original_platform/";i:0;s:12:/"original_url/";s:0:/"/";s:15:/"original_author/";s:0:/"/";}', 3, 0, 1578548928, 1578548928, 0, 'b4f7b13a32a311ea9ad254ee75d2ebc1', 0, '', 0, '8d72b7cc2ac911eab85a54ee75d2ebc0'), ('015ce30b116ce86058fa6ab4fea4ac63', 1, 'qq', 'pub', 1, 'standard', '标准(普通)', 15, '未来 10 年,“星光中国芯工程”计划投资 100 亿元用于芯片研发及大规模产业化。北京时间 2019 年 12 月 28 日,1999-2019“星光中国芯工程”创新成果与展望报告会在人民大会堂举行。会议回顾和总结了“星光中国芯工程”20 年来在核心技术自主创新、在研发成果大规模产业化、以及在满足国家重大工程技术需求方面取得的重要进展和成功经验,并对“星光中国芯工程”未来发展进行了规划和展望。中国工程院院士、“星光中国芯工程”总指挥、中星微电子集团创建人兼首席科学家邓中翰作了“星光中国芯工程”20 年成果与展望工作报告,报告中,邓中翰表示,在物理层面智能芯片的发展已经受到了物理规律的限制,看似已经接近了极限的时候,在信息层面的技术创新还远远没有碰到天花板。1999 年,邓中翰等一批海外爱国博士企业家回国承担并启动实施“星光中国芯工程”,在北京中关村设立中星微电子公司,致力于超大规模集成电路芯片的研发、设计及产业化工作。2001 年,中国第一颗百万门级超大规模数字多媒体芯片“星光一号”诞生。其后数年间,“星光多媒体”系列芯片被苹果、三星、飞利浦、惠普、LG、索尼、戴尔等国外知名品牌规模采用,占领了全球计算机图像输入芯片 60% 以上的市场份额,彻底结束了中国无“芯”的历史。', '高琳', 'spider', '825e6d5e36468cc4bf536799ce3565cf', 3, 'http://scms.wjdev.chinamcloud.cn/api/thirdPush/callBack', 1, 202001, '渠道的应用的来源UUID:8d72b7cc2ac911eab85a54ee75d2ebc0,不存在', 'a:17:{s:24:/"channel_app_source_uuids/";a:2:{i:0;s:32:/"8d72b7cc2ac911eab85a54ee75d2ebc0/";i:1;s:32:/"18cf06d22ac911eaa31854ee75d2ebc1/";}s:6:/"source/";s:6:/"spider/";s:11:/"source_uuid/";s:32:/"825e6d5e36468cc4bf536799ce3565cf/";s:18:/"source_pub_user_id/";i:3;s:19:/"source_callback_url/";s:55:/"http://scms.wjdev.chinamcloud.cn/api/thirdPush/callBack/";s:19:/"article_category_id/";i:15;s:5:/"title/";s:1525:/"未来 10 年,“星光中国芯工程”计划投资 100 亿元用于芯片研发及大规模产业化。北京时间 2019 年 12 月 28 日,1999-2019“星光中国芯工程”创新成果与展望报告会在人民大会堂举行。会议回顾和总结了“星光中国芯工程”20 年来在核心技术自主创新、在研发成果大规模产业化、以及在满足国家重大工程技术需求方面取得的重要进展和成功经验,并对“星光中国芯工程”未来发展进行了规划和展望。中国工程院院士、“星光中国芯工程”总指挥、中星微电子集团创建人兼首席科学家邓中翰作了“星光中国芯工程”20 年成果与展望工作报告,报告中,邓中翰表示,在物理层面智能芯片的发展已经受到了物理规律的限制,看似已经接近了极限的时候,在信息层面的技术创新还远远没有碰到天花板。1999 年,邓中翰等一批海外爱国博士企业家回国承担并启动实施“星光中国芯工程”,在北京中关村设立中星微电子公司,致力于超大规模集成电路芯片的研发、设计及产业化工作。2001 年,中国第一颗百万门级超大规模数字多媒体芯片“星光一号”诞生。其后数年间,“星光多媒体”系列芯片被苹果、三星、飞利浦、惠普、LG、索尼、戴尔等国外知名品牌规模采用,占领了全球计算机图像输入芯片 60% 以上的市场份额,彻底结束了中国无“芯”的历史。/";s:6:/"author/";s:6:/"高琳/";s:17:/"source_article_id/";i:1;s:7:/"content/";s:1525:/"未来 10 年,“星光中国芯工程”计划投资 100 亿元用于芯片研发及大规模产业化。北京时间 2019 年 12 月 28 日,1999-2019“星光中国芯工程”创新成果与展望报告会在人民大会堂举行。会议回顾和总结了“星光中国芯工程”20 年来在核心技术自主创新、在研发成果大规模产业化、以及在满足国家重大工程技术需求方面取得的重要进展和成功经验,并对“星光中国芯工程”未来发展进行了规划和展望。中国工程院院士、“星光中国芯工程”总指挥、中星微电子集团创建人兼首席科学家邓中翰作了“星光中国芯工程”20 年成果与展望工作报告,报告中,邓中翰表示,在物理层面智能芯片的发展已经受到了物理规律的限制,看似已经接近了极限的时候,在信息层面的技术创新还远远没有碰到天花板。1999 年,邓中翰等一批海外爱国博士企业家回国承担并启动实施“星光中国芯工程”,在北京中关村设立中星微电子公司,致力于超大规模集成电路芯片的研发、设计及产业化工作。2001 年,中国第一颗百万门级超大规模数字多媒体芯片“星光一号”诞生。其后数年间,“星光多媒体”系列芯片被苹果、三星、飞利浦、惠普、LG、索尼、戴尔等国外知名品牌规模采用,占领了全球计算机图像输入芯片 60% 以上的市场份额,彻底结束了中国无“芯”的历史。/";s:10:/"cover_pics/";a:1:{i:0;s:84:/"https://static001.infoq.cn/resource/image/7c/18/7c55c468adf1d616f48681c23e9b9518.png/";}s:10:/"cover_type/";i:1;s:3:/"tag/";s:62:/"百度,发布,推理引擎,Paddle Lite,华为,NPU,在线编译/";s:5:/"apply/";i:0;s:17:/"original_platform/";i:0;s:12:/"original_url/";s:0:/"/";s:15:/"original_author/";s:0:/"/";}', 3, 0, 1578548928, 1578548928, 0, 'b4f7cd9632a311ea941c54ee75d2ebc1', 1, 'qq_cw', 13, '18cf06d22ac911eaa31854ee75d2ebc1')

15、获取企鹅号的应用的任务列表,列表中存在新增加的记录,查看获取企鹅号的应用的任务列表的 SQL 语句,符合预期,如图11

获取企鹅号的应用的任务列表,列表中存在新增加的记录,查看获取企鹅号的应用的任务列表的 SQL 语句,符合预期

图11

SELECT * FROM ((SELECT 'channel_app_task' AS 'model', `cpa_channel_app_task`.`id`, `cpa_task`.`group_id`, `cpa_channel_app_task`.`uuid`, `cpa_channel_app_task`.`channel_id`, `cpa_channel_app_task`.`channel_code`, `cpa_channel_app_task`.`channel_type_id`, `cpa_channel_app_task`.`channel_type_code`, `cpa_channel_app_task`.`channel_app_source_id`, `cpa_channel_app_task`.`channel_app_source_uuid`, `cpa_task`.`type`, `cpa_article_type`.`id` AS `article_type_id`, `cpa_article_type`.`code` AS `article_type_code`, `cpa_article_type`.`name` AS `article_type_name`, `cpa_qq_article`.`article_category_id`, `cpa_qq_article`.`title` AS `article_title`, `cpa_qq_article`.`author` AS `article_author`, `cpa_task`.`source`, `cpa_task`.`source_uuid`, `cpa_task`.`source_pub_user_id`, `cpa_task`.`source_callback_url`, `cpa_qq_article`.`source_article_id`, `cpa_pub_log`.`code` AS `pub_log_code`, `cpa_pub_log`.`message` AS `pub_log_message`, `cpa_channel_app_task`.`status`, `cpa_channel_app_task`.`is_deleted`, `cpa_channel_app_task`.`created_at`, `cpa_channel_app_task`.`updated_at`, `cpa_channel_app_task`.`deleted_at`, `cpa_channel_app_task`.`task_id`, `cpa_channel_app_task`.`have_pub_number`, `cpa_qq_cw_app`.`penguin_name`, `cpa_qq_transaction`.`article_url` FROM `cpa_channel_app_task` LEFT JOIN `cpa_task` ON `cpa_channel_app_task`.`task_id` = `cpa_task`.`id` LEFT JOIN `cpa_qq_article` ON `cpa_task`.`id` = `cpa_qq_article`.`task_id` LEFT JOIN `cpa_article_type` ON `cpa_qq_article`.`article_type_id` = `cpa_article_type`.`id` LEFT JOIN `cpa_qq_cw_app_task` ON `cpa_channel_app_task`.`id` = `cpa_qq_cw_app_task`.`channel_app_task_id` LEFT JOIN `cpa_qq_cw_app` ON `cpa_qq_cw_app_task`.`qq_cw_app_id` = `cpa_qq_cw_app`.`id` LEFT JOIN `cpa_pub_log` ON `cpa_channel_app_task`.`id` = `cpa_pub_log`.`channel_app_task_id` LEFT JOIN `cpa_qq_transaction` ON `cpa_qq_cw_app_task`.`id` = `cpa_qq_transaction`.`qq_app_task_id` AND `cpa_qq_transaction`.`type` = '1' WHERE ((`cpa_channel_app_task`.`is_deleted`=0) AND (`cpa_task`.`is_deleted`=0) AND (`cpa_qq_article`.`is_deleted`=0) AND (`cpa_article_type`.`is_deleted`=0) AND (`cpa_qq_cw_app_task`.`is_deleted`=0) AND (`cpa_qq_cw_app`.`is_deleted`=0)) AND (`cpa_task`.`group_id`='015ce30b116ce86058fa6ab4fea4ac63')) UNION ALL ( SELECT 'pre_pub_log' AS 'model', `cpa_pre_pub_log`.`id`, `cpa_pre_pub_log`.`group_id`, `cpa_pre_pub_log`.`uuid`, `cpa_pre_pub_log`.`channel_id`, `cpa_pre_pub_log`.`channel_code`, `cpa_pre_pub_log`.`channel_type_id`, `cpa_pre_pub_log`.`channel_type_code`, `cpa_pre_pub_log`.`channel_app_source_id`, `cpa_pre_pub_log`.`channel_app_source_uuid`, `cpa_pre_pub_log`.`type`, `cpa_pre_pub_log`.`article_type_id`, `cpa_pre_pub_log`.`article_type_code`, `cpa_pre_pub_log`.`article_type_name`, `cpa_pre_pub_log`.`article_category_id`, `cpa_pre_pub_log`.`article_title`, `cpa_pre_pub_log`.`article_author`, `cpa_pre_pub_log`.`source`, `cpa_pre_pub_log`.`source_uuid`, `cpa_pre_pub_log`.`source_pub_user_id`, `cpa_pre_pub_log`.`source_callback_url`, `cpa_pre_pub_log`.`source_article_id`, `cpa_pre_pub_log`.`pub_log_code`, `cpa_pre_pub_log`.`pub_log_message`, `cpa_pre_pub_log`.`status`, `cpa_pre_pub_log`.`is_deleted`, `cpa_pre_pub_log`.`created_at`, `cpa_pre_pub_log`.`updated_at`, `cpa_pre_pub_log`.`deleted_at`, 0 AS 'task_id', 3 AS 'have_pub_number', `cpa_qq_cw_app`.`penguin_name`, '' AS 'article_url' FROM `cpa_pre_pub_log` LEFT JOIN `cpa_qq_cw_app` ON `cpa_pre_pub_log`.`channel_app_source_id` = `cpa_qq_cw_app`.`channel_app_source_id` WHERE ((`cpa_pre_pub_log`.`is_deleted`=0) AND (`cpa_qq_cw_app`.`is_deleted`=0)) AND (`cpa_pre_pub_log`.`group_id`='015ce30b116ce86058fa6ab4fea4ac63') )) `model` ORDER BY `created_at` DESC, `id` DESC LIMIT 20

 

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/250509.html

(0)
上一篇 2022年4月29日
下一篇 2022年4月29日

相关推荐

发表回复

登录后才能评论