|  | @@ -0,0 +1,47 @@
 | 
	
		
			
				|  |  | +package thyyxxk.webserver.utils;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import lombok.extern.slf4j.Slf4j;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import java.util.Map;
 | 
	
		
			
				|  |  | +import java.util.TreeMap;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +@Slf4j
 | 
	
		
			
				|  |  | +public class ProgressBar {
 | 
	
		
			
				|  |  | +    public Map<Integer, String> map = new TreeMap<>();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public void show() {
 | 
	
		
			
				|  |  | +        StringBuilder a = new StringBuilder();
 | 
	
		
			
				|  |  | +        for (Map.Entry<Integer, String> item : map.entrySet()) {
 | 
	
		
			
				|  |  | +            a.append("任务")
 | 
	
		
			
				|  |  | +                    .append(item.getKey())
 | 
	
		
			
				|  |  | +                    .append(":")
 | 
	
		
			
				|  |  | +                    .append(item.getValue())
 | 
	
		
			
				|  |  | +                    .append("\n");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        log.info("\n{}", a);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public void drawProgressBar(int name, int total, int current) {
 | 
	
		
			
				|  |  | +        int progress = (int) (((double) current / total) * 100); // 计算进度百分比
 | 
	
		
			
				|  |  | +        StringBuilder progressBar = new StringBuilder("["); // 进度条字符串
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        for (int i = 0; i < 100; i += 5) { // 遍历 0 到 100
 | 
	
		
			
				|  |  | +            if (i < progress) {
 | 
	
		
			
				|  |  | +                progressBar.append("="); // 表示已完成的进度
 | 
	
		
			
				|  |  | +            } else if (i == progress) {
 | 
	
		
			
				|  |  | +                progressBar.append(">"); // 表示当前进度
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                progressBar.append(" "); // 表示未完成的进度
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        progressBar.append("] ")
 | 
	
		
			
				|  |  | +                .append(progress)
 | 
	
		
			
				|  |  | +                .append("%")
 | 
	
		
			
				|  |  | +                .append("当前:【").append(current).append("】")
 | 
	
		
			
				|  |  | +                .append("总:【").append(total).append("】");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        map.put(name, progressBar.toString());
 | 
	
		
			
				|  |  | +        show();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +}
 |