//同步番茄免费的作者
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 video_product_controllers = require('../src/data_manager/Controllers/video_product_controllers');
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_fanqiemf} AND  author IS NULL  LIMIT 5`
        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 book_info =  await  video_product_controllers.getProductData({book_id:video_product_info.product_parent_id})
            if(book_info.success){
                let data =  await require('../src/api/fq/fq_search_book').search_mf_new_id(video_product_info.product_parent_id)
                if(data!=null&&data!=""){
                    let author = data.author
                    await connection.execute(
                        ` UPDATE video_product SET  author = '${author}' WHERE id = ${video_product_info.id}  `
                    );
                }else{
                    await connection.execute(
                        ` UPDATE video_product SET  author = 'NONE' 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.init = async function(){
    redis_help.connect((results)=>{
        if(results){
            processTask();
        }
    })

}

CMD.init()