| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- import commonModel from '../model/commonModel.js';
- import fs from 'fs';
- import { stringUtils } from '../util/stringClass.js';
- import aiController from '../api/yjbdc/aiController.js';
- async function runScript(){
- let id,word;
- try {
-
- const sql="select * from Words where BookID=110 and ExampleSentence is not null order by ID;;"
- let list = await commonModel.RunSql(null,sql);
- let count=list.length;
- const start=0;
- //count=10;
- // 添加延时函数,确保每分钟只发送9次请求(约每6.67秒一次请求)
- // const delay = (ms ) => new Promise(resolve => setTimeout(resolve, ms));
- // const requestDelay = 300; // 7秒,确保每分钟最多9次请求
-
- for(let i=start;i<count;i++){
- let item=list[i];
- id=item.ID;
- //获得单词
- word=item.Word;
- let exampleSentence=item.ExampleSentence;
- if (exampleSentence){
- try{
- exampleSentence=JSON.parse(exampleSentence);
- let sql2="update Words set ExampleSentence=?,Level='"+exampleSentence.CEFR_Level+"' where BookID<>110 and BookID not in (141,142,143,144,145,146,161,162,163,164,165,166,167,168) and ExampleSentence is null and Word='"+word+"';";
- //console.log(sql2);
- await commonModel.RunSql(item.ExampleSentence,sql2);
- }
- catch(e){
- //let sql2="update Words set ExampleSentence='' where ID="+id+";";
- console.log("出错:"+word);
- process.exit(1);
- //await commonModel.RunSql(item.ExampleSentence,sql2);
- }
- }
- else{
- console.log( word +" 空");
- process.exit(1);
- }
- console.log( i +"/"+ list.length);
-
- // 在每次请求后添加延时,除非是最后一个请求
- // if (i < count - 1) {
- // console.log(`等待 ${requestDelay/1000} 秒后继续下一个请求...`);
- // await delay(requestDelay);
- // }
- }
-
- console.log("完成");
- process.exit(1);
- } catch (error) {
- console.log(id + " " +word);
- console.error('Error executing script:', error);
- process.exit(1);
- }
- }
- async function runScript2(){
- let id,word;
- try {
-
- const sql="SELECT * FROM kylx365_db.Words where BookID=110 and ExampleSentence like '{\"word\"%}]}%例句%';"
- let list = await commonModel.RunSql(null,sql);
- let count=list.length;
- const start=0;
- //count=10;
-
- for(let i=start;i<count;i++){
- let item=list[i];
- id=item.ID;
- //获得单词
- word=item.Word;
- let exampleSentence=item.ExampleSentence;
- exampleSentence=exampleSentence.substr(exampleSentence.lastIndexOf("{\"word"),exampleSentence.lastIndexOf("}]}")+3);
- console.log(exampleSentence);
-
- let sql2="update Words set ExampleSentence=? where ID="+id+";";
- //console.log(sql2);
- await commonModel.RunSql(exampleSentence,sql2);
-
- console.log( i +"/"+ list.length);
- }
-
- console.log("完成");
- } catch (error) {
- console.log(id + " " +word);
- console.error('Error executing script:', error);
- }
- }
- // 处理Promise并添加错误捕获
- if (1==1){
- runScript().catch(error => {
- console.error('Error in runScript:', error);
- });
- }
- else
- runScript2();
|