|
@@ -1,6 +1,10 @@
|
|
|
package com.ruoyi.demo.utils.statistics;
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.hutool.core.lang.Console;
|
|
|
+import cn.hutool.core.util.IdUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.ruoyi.demo.entity.AttentionPoolStatistics;
|
|
|
import com.ruoyi.demo.mapper.AttentionPoolDao;
|
|
|
import com.ruoyi.demo.mapper.AttentionPoolStatisticsDao;
|
|
@@ -25,16 +29,23 @@ public class AttentionPoolStat {
|
|
|
|
|
|
public void insert() {
|
|
|
List<String> ins = poolDao.selectAllUser();
|
|
|
- for (String userId : ins) {
|
|
|
+ for (int i = 0; i < ins.size(); i++) {
|
|
|
+ String userId = ins.get(i);
|
|
|
AttentionPoolStatistics statistics = new AttentionPoolStatistics();
|
|
|
- statistics.setStatId(UUID.randomUUID().toString().replace("-", ""));
|
|
|
+ statistics.setStatId(IdUtil.getSnowflakeNextIdStr());
|
|
|
statistics.setAttentionCount(poolDao.selectCount(userId));
|
|
|
statistics.setClueCount(opportunitiesDao.selectCount(userId));
|
|
|
statistics.setOnlineCount(followUpDao.selectCountByWay(userId, "线上电话"));
|
|
|
statistics.setOfflineCount(followUpDao.selectCountByWay(userId, "实地考察"));
|
|
|
statistics.setUserId(userId);
|
|
|
statistics.setStatTime(DateUtil.date());
|
|
|
+
|
|
|
+ //先删除旧数据,再插入新数据
|
|
|
+ statisticsDao.delete(new LambdaQueryWrapper<AttentionPoolStatistics>().eq(AttentionPoolStatistics::getUserId, userId));
|
|
|
statisticsDao.insert(statistics);
|
|
|
+
|
|
|
+ //打印进度条
|
|
|
+ Console.print("{}当前进度:{} {}/{}", '\r', StrUtil.repeat('#', 50 * (i + 1) / ins.size()), (i + 1), ins.size());
|
|
|
}
|
|
|
}
|
|
|
}
|