You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.8 KiB
53 lines
1.8 KiB
#!/bin/bash
|
|
|
|
echo "=== 修复DateUtil与LocalDateTime的兼容性问题 ==="
|
|
echo
|
|
|
|
# 查找所有使用DateUtil.date()的文件
|
|
files=$(find src/main/java -name "*.java" -exec grep -l "DateUtil.date()" {} \;)
|
|
|
|
echo "发现以下文件使用了DateUtil.date():"
|
|
for file in $files; do
|
|
echo " - $file"
|
|
done
|
|
|
|
echo
|
|
echo "开始修复..."
|
|
|
|
for file in $files; do
|
|
echo "处理文件: $file"
|
|
|
|
# 检查文件是否导入了LocalDateTime
|
|
if grep -q "import java.time.LocalDateTime" "$file"; then
|
|
echo " 发现LocalDateTime导入,检查是否需要修复..."
|
|
|
|
# 查找可能的问题模式
|
|
if grep -q "\.set.*Time(DateUtil\.date())" "$file"; then
|
|
echo " 发现setXxxTime(DateUtil.date())模式,需要修复"
|
|
# 替换setXxxTime(DateUtil.date())为setXxxTime(LocalDateTime.now())
|
|
sed -i '' 's/\.set\([^(]*Time\)(DateUtil\.date())/\.set\1(LocalDateTime.now())/g' "$file"
|
|
echo " ✅ 已修复setXxxTime方法调用"
|
|
fi
|
|
|
|
if grep -q "\.compareTo(DateUtil\.date())" "$file"; then
|
|
echo " 发现compareTo(DateUtil.date())模式,需要手动检查"
|
|
echo " ⚠️ 请手动检查此文件中的compareTo调用"
|
|
fi
|
|
|
|
if grep -q "DateUtil\.offsetDay.*\.compareTo(DateUtil\.date())" "$file"; then
|
|
echo " 发现复杂的日期比较模式,需要手动修复"
|
|
echo " ⚠️ 请手动检查此文件中的日期比较逻辑"
|
|
fi
|
|
else
|
|
echo " 未发现LocalDateTime导入,可能是合理的Date使用"
|
|
fi
|
|
|
|
echo
|
|
done
|
|
|
|
echo "=== 修复完成 ==="
|
|
echo
|
|
echo "请注意:"
|
|
echo "1. 自动修复了简单的setXxxTime(DateUtil.date())调用"
|
|
echo "2. 复杂的日期比较逻辑需要手动检查和修复"
|
|
echo "3. 建议运行测试确保修复正确"
|