| 12345678910111213141516171819202122232425262728 |
- import Miaoguo from '../src/model/miaoguo.js';
- const startDate = new Date(Date.now() - 30 * 86400000).toISOString().slice(0, 10);
- console.log('startDate =', startDate);
- // 重算的真实用户集合(与 updateMiaoguoTaskData 完全一致的 SQL)
- const users = await Miaoguo.RunSql([startDate],
- "select distinct mc.UserID from MiaoguoLearningRecord mlr inner join MiaoguoCard mc on mc.MiaoguoCardID=mlr.CardID where mlr.Flag=0 and mlr.CreateTime>=?;");
- const ids = users.map(u => Number(u.UserID));
- console.log('重算用户集合数量:', ids.length);
- console.log('658 是否在重算集合中:', ids.includes(658));
- // 658 最近一个月的学习记录(Flag=0)
- const lr = await Miaoguo.RunSql([658, startDate],
- "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>=?;");
- console.log('658 近30天 Flag=0 学习记录:', JSON.stringify(lr[0]));
- // 658 的 DayNumber=0 记录数
- const zero = await Miaoguo.RunSql([658],
- "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=?;");
- console.log('658 任务总数/其中Day=0/最后一天:', JSON.stringify(zero[0]));
- // 全库最近30天有任务但 DayNumber=0 的用户规模
- const scope = await Miaoguo.RunSql([startDate],
- "select count(distinct UserID) as users from MiaoguoTask where CardTask>0 and CreateTime>=? and DayNumber=0;");
- console.log('近30天存在 DayNumber=0 记录的用户数:', JSON.stringify(scope[0]));
- process.exit(0);
|