|
@@ -0,0 +1,83 @@
|
|
|
+//同步黑岩免费的发布时间
|
|
|
+const config = require("../etc/config.json");
|
|
|
+const mysql = require('mysql2/promise');
|
|
|
+const taskdbConfig = config.isDebug?config.debug_task_mysql:config.release_task_mysql
|
|
|
+const redis_help = require('../src/use_redis');
|
|
|
+const hy_search_book = require('../src/api/hy/hy_search_book');
|
|
|
+const helper = require("../src/helper");
|
|
|
+const CMD = {}
|
|
|
+async function processTask(){
|
|
|
+ let right_status = true
|
|
|
+ let connection = null
|
|
|
+ try{
|
|
|
+ connection = await mysql.createConnection({
|
|
|
+ ...taskdbConfig,
|
|
|
+ multipleStatements: true
|
|
|
+ });
|
|
|
+ //先获取100本没有发布时间的黑岩书籍
|
|
|
+ let sql = `SELECT * FROM video_product WHERE book_platform = ${config.platform_heiyanmf} AND publish_time IS NULL LIMIT 500`
|
|
|
+ console.log("sql:",sql)
|
|
|
+ const [rows] = await connection.execute(
|
|
|
+ sql
|
|
|
+ );
|
|
|
+
|
|
|
+ if(rows.length<=0){
|
|
|
+ throw 0
|
|
|
+ }
|
|
|
+
|
|
|
+ for (let index = 0; index < rows.length; index++) {
|
|
|
+ let video_product_info = rows[index]
|
|
|
+
|
|
|
+ // let data =
|
|
|
+ // console.log("data:",data)
|
|
|
+ let data = await CMD.search_parent_id(connection,video_product_info.product_parent_id)
|
|
|
+ if(data!=null){
|
|
|
+ let publish_time = helper.getDate7DaysBefore(data.publish_time,null,'YYYY-MM-DD')
|
|
|
+ await connection.execute(
|
|
|
+ `UPDATE video_product SET publish_time = "${publish_time}" WHERE id = ${video_product_info.id} `
|
|
|
+ );
|
|
|
+ }else{
|
|
|
+ await connection.execute(
|
|
|
+ ` UPDATE video_product SET status = 0 , publish_time = '2000-01-01 01:01:01' WHERE id = ${video_product_info.id} `
|
|
|
+ );
|
|
|
+ console.error("查无此书:",video_product_info)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }catch(e){
|
|
|
+ if(e==0){
|
|
|
+ right_status = false
|
|
|
+ }
|
|
|
+ console.error("processTask error:",e)
|
|
|
+ } finally{
|
|
|
+ if(connection!=null){
|
|
|
+ connection.end()
|
|
|
+ }
|
|
|
+ global.setTimeout(processTask, 2000);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+CMD.search_parent_id = async function(connection,product_parent_id) {
|
|
|
+ let sql = `SELECT * FROM video_product WHERE product_id = '${product_parent_id}' LIMIT 1`
|
|
|
+ const [rows] = await connection.execute(
|
|
|
+ sql
|
|
|
+ );
|
|
|
+ if(rows.length<=0){
|
|
|
+ return null
|
|
|
+ }
|
|
|
+ return rows[0]
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+CMD.init = async function(){
|
|
|
+ redis_help.connect((results)=>{
|
|
|
+ if(results){
|
|
|
+ processTask();
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+CMD.init()
|