()
| 675 | } |
| 676 | |
| 677 | generateEnhancedStats() { |
| 678 | console.log('\n📊 Enhanced Database Statistics:'); |
| 679 | |
| 680 | // 技术分布统计 |
| 681 | this.db.all(` |
| 682 | SELECT |
| 683 | techniques, |
| 684 | COUNT(*) as count |
| 685 | FROM article_analysis |
| 686 | GROUP BY techniques |
| 687 | ORDER BY count DESC |
| 688 | LIMIT 10 |
| 689 | `, (err, techRows) => { |
| 690 | if (err) { |
| 691 | console.error('Error getting technique stats:', err); |
| 692 | return; |
| 693 | } |
| 694 | |
| 695 | console.log('\n🛠️ Top Techniques Distribution:'); |
| 696 | techRows.forEach((row, index) => { |
| 697 | const techs = JSON.parse(row.techniques); |
| 698 | console.log(` ${index + 1}. ${techs.join(', ')} (${row.count} articles)`); |
| 699 | }); |
| 700 | |
| 701 | // 难度级别分布 |
| 702 | this.db.all(` |
| 703 | SELECT |
| 704 | complexity_level, |
| 705 | COUNT(*) as count |
| 706 | FROM article_analysis |
| 707 | GROUP BY complexity_level |
| 708 | ORDER BY count DESC |
| 709 | `, (err, complexityRows) => { |
| 710 | if (err) { |
| 711 | console.error('Error getting complexity stats:', err); |
| 712 | return; |
| 713 | } |
| 714 | |
| 715 | console.log('\n📈 Complexity Level Distribution:'); |
| 716 | complexityRows.forEach(row => { |
| 717 | console.log(` ${row.complexity_level}: ${row.count} articles`); |
| 718 | }); |
| 719 | |
| 720 | console.log('\n🎉 Enhanced analysis completed!'); |
| 721 | process.exit(0); |
| 722 | }); |
| 723 | }); |
| 724 | } |
| 725 | |
| 726 | async fetchAllIssues() { |
| 727 | console.log('🚀 Starting to fetch iCSS repository issues...'); |
nothing calls this directly
no outgoing calls
no test coverage detected