| | |
| | | package com.ruoyi.utils.tools; |
| | | |
| | | import com.ruoyi.common.core.redis.RedisCache; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.lang.reflect.Field; |
| | | import java.text.DecimalFormat; |
| | | import java.time.LocalTime; |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | * @Date: 2023年06月02日14:37 |
| | | * @Version: 1.0 |
| | | **/ |
| | | @Slf4j |
| | | public class ArdTool { |
| | | |
| | | /** |
| | |
| | | // String max = list.get(list.size() - 1).getKey(); |
| | | return min; |
| | | } |
| | | /** |
| | | * @描述 通过日夜切换时间判断当前使用通道号 |
| | | * @参数 [] |
| | | * @返回值 java.lang.Integer |
| | | * @创建人 刘苏义 |
| | | * @创建时间 2023/6/17 13:50 |
| | | * @修改人和其它信息 |
| | | */ |
| | | public static Integer getChannelBydayNightTime(String dayNightTime) |
| | | { |
| | | try { |
| | | // 获取当前时间 |
| | | LocalTime currentTime = LocalTime.now(); |
| | | String[] dayNight = dayNightTime.split("-"); |
| | | // 解析时间字符串 |
| | | LocalTime startTime = LocalTime.parse(dayNight[0]); |
| | | LocalTime endTime = LocalTime.parse(dayNight[1]); |
| | | |
| | | // 检查当前时间是否在给定的时间范围内 |
| | | boolean isWithinRange = !currentTime.isBefore(startTime) && !currentTime.isAfter(endTime); |
| | | // 输出结果 |
| | | if (isWithinRange) { |
| | | return 1; |
| | | } else { |
| | | return 2; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | log.error("光电切换获取通道异常:"+ex.getMessage()); |
| | | return 1; |
| | | } |
| | | } |
| | | /** |
| | | * 文件大小智能转换 |
| | | * 会将文件大小转换为最大满足单位 |
| | | * @param size(文件大小,单位为B) |
| | | * @return 文件大小 |
| | | */ |
| | | public static String formatFileSize(Long size) { |
| | | String sizeName = null; |
| | | if (1024 * 1024 > size && size >= 1024) { |
| | | sizeName = String.format("%.2f", size.doubleValue() / 1024) + "KB"; |
| | | } else if (1024 * 1024 * 1024 > size && size >= 1024 * 1024) { |
| | | sizeName = String.format("%.2f", size.doubleValue() / (1024 * 1024)) + "MB"; |
| | | } else if (size >= 1024 * 1024 * 1024) { |
| | | sizeName = String.format("%.2f", size.doubleValue() / (1024 * 1024 * 1024)) + "GB"; |
| | | } else { |
| | | sizeName = size.toString() + "B"; |
| | | } |
| | | return sizeName; |
| | | } |
| | | /** |
| | | * 文件大小智能转换 |
| | | * 会将文件大小转换为最大满足单位 |
| | | * @param size(文件大小,单位为B) |
| | | * @return 文件大小 |
| | | */ |
| | | public static String readableFileSize(long size) { |
| | | if (size <= 0) { |
| | | return "0"; |
| | | } |
| | | final String[] units = new String[]{"B", "KB", "MB", "GB", "TB"}; |
| | | int digitGroups = (int) (Math.log10(size) / Math.log10(1024)); |
| | | return new DecimalFormat("#,###.##").format(size / Math.pow(1024, digitGroups)) + " " + units[digitGroups]; |
| | | } |
| | | } |