check_658.mjs 1.6 KB

12345678910111213141516171819202122232425262728
  1. import Miaoguo from '../src/model/miaoguo.js';
  2. const startDate = new Date(Date.now() - 30 * 86400000).toISOString().slice(0, 10);
  3. console.log('startDate =', startDate);
  4. // 重算的真实用户集合(与 updateMiaoguoTaskData 完全一致的 SQL)
  5. const users = await Miaoguo.RunSql([startDate],
  6. "select distinct mc.UserID from MiaoguoLearningRecord mlr inner join MiaoguoCard mc on mc.MiaoguoCardID=mlr.CardID where mlr.Flag=0 and mlr.CreateTime>=?;");
  7. const ids = users.map(u => Number(u.UserID));
  8. console.log('重算用户集合数量:', ids.length);
  9. console.log('658 是否在重算集合中:', ids.includes(658));
  10. // 658 最近一个月的学习记录(Flag=0)
  11. const lr = await Miaoguo.RunSql([658, startDate],
  12. "select count(*) as c, max(mlr.CreateTime) as lastTime from MiaoguoLearningRecord mlr inner join MiaoguoCard mc on mc.MiaoguoCardID=mlr.CardID where mlr.Flag=0 and mc.UserID=? and mlr.CreateTime>=?;");
  13. console.log('658 近30天 Flag=0 学习记录:', JSON.stringify(lr[0]));
  14. // 658 的 DayNumber=0 记录数
  15. const zero = await Miaoguo.RunSql([658],
  16. "select count(*) as total, sum(case when DayNumber=0 then 1 else 0 end) as zeroCnt, max(CreateTime) as lastTask from MiaoguoTask where CardTask>0 and UserID=?;");
  17. console.log('658 任务总数/其中Day=0/最后一天:', JSON.stringify(zero[0]));
  18. // 全库最近30天有任务但 DayNumber=0 的用户规模
  19. const scope = await Miaoguo.RunSql([startDate],
  20. "select count(distinct UserID) as users from MiaoguoTask where CardTask>0 and CreateTime>=? and DayNumber=0;");
  21. console.log('近30天存在 DayNumber=0 记录的用户数:', JSON.stringify(scope[0]));
  22. process.exit(0);