yw_update_works.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. const config = require("./etc/config.json");
  2. const helper = require("./src/helper");
  3. const HttpClient = require("./src/HttpClient");
  4. const redis_help = require('./src/use_redis');
  5. const mysql = require('mysql2/promise');
  6. const tools = require("./tools");
  7. const video_product_controllers = require('./src/data_manager/Controllers/video_product_controllers');
  8. const dbConfig = config.isDebug?config.debug_mysql:config.release_mysql
  9. const CMD = {}
  10. let page_index = 1;
  11. async function processTask(){
  12. let right_status = true
  13. try{
  14. const result = await video_product_controllers.getDataByBookPlatform({book_platform:config.platform_yuewen},1400)
  15. console.log("result:",result)
  16. if(result.success){
  17. for (let index = 0; index < result.data.length; index++) {
  18. const product_item = result.data[index];
  19. let word = 0
  20. if(helper.checkChannel(product_item.words,"万")){
  21. const numMatch = product_item.words.match(/[\d.]+/);
  22. const num = parseFloat(numMatch[0]);
  23. word = Math.round(num * 10000)
  24. }else{
  25. word = Math.round(parseFloat(product_item.words))
  26. }
  27. await video_product_controllers.updateData({id:product_item.id},{
  28. words:word
  29. })
  30. await new Promise(resolve => setTimeout(resolve,100));
  31. }
  32. }
  33. }catch(e){
  34. if(e==0){
  35. right_status = false
  36. }
  37. console.error("processTask error:",e)
  38. } finally{
  39. if(right_status){
  40. page_index++;
  41. global.setTimeout(processTask, 1000);
  42. }
  43. }
  44. }
  45. CMD.init = async function(){
  46. redis_help.connect((results)=>{
  47. if(results){
  48. processTask();
  49. }
  50. })
  51. }
  52. CMD.init()