小程序开发-服务端
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

#!/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. 建议运行测试确保修复正确"