App稳态、暂态报告功能支持

This commit is contained in:
xy
2026-03-25 13:28:46 +08:00
parent fcddc064f6
commit 7b9fb1628b
25 changed files with 850 additions and 62 deletions

View File

@@ -1,5 +1,11 @@
package com.njcn.harmonic.utils;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.njcn.common.pojo.exception.BusinessException;
import java.util.Date;
/**
* 数据公共工具类
*
@@ -7,6 +13,7 @@ package com.njcn.harmonic.utils;
* @version 1.0.0
* @createTime 2022/10/14 - 10:07
*/
public class PublicDataUtils {
/**
* 功能:下划线命名转驼峰命名
@@ -27,4 +34,40 @@ public class PublicDataUtils {
}
return under;
}
/**
* 计算指定月份的第一天 (格式yyyy-MM-dd)
* @param monthStr 月份字符串,格式为 yyyy-MM
* @return 月份第一天的日期字符串
*/
public static String calculateMonthStart(String monthStr) {
if (StrUtil.isBlank(monthStr)) {
return null;
}
try {
Date date = DateUtil.parse(monthStr, "yyyy-MM");
Date firstDayOfMonth = DateUtil.beginOfMonth(date);
return DateUtil.format(firstDayOfMonth, "yyyy-MM-dd");
} catch (Exception e) {
throw new BusinessException("时间格式不正确,请使用 yyyy-MM 格式");
}
}
/**
* 计算指定月份的最后一天 (格式yyyy-MM-dd)
* @param monthStr 月份字符串,格式为 yyyy-MM
* @return 月份最后一天的日期字符串
*/
public static String calculateMonthEnd(String monthStr) {
if (StrUtil.isBlank(monthStr)) {
return null;
}
try {
Date date = DateUtil.parse(monthStr, "yyyy-MM");
Date lastDayOfMonth = DateUtil.endOfMonth(date);
return DateUtil.format(lastDayOfMonth, "yyyy-MM-dd");
} catch (Exception e) {
throw new BusinessException("时间格式不正确,请使用 yyyy-MM 格式");
}
}
}