From 3380161d7e7b71e32e0314efc273d67a5fdb598a Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期三, 23 九月 2026 14:29:46 +0800
Subject: [PATCH] 下载页域名修改

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java |   48 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 47 insertions(+), 1 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
index 9221d31..994d965 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
@@ -24,7 +24,9 @@
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.WebDataBinder;
 import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.InitBinder;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -34,6 +36,7 @@
 import javax.jws.soap.SOAPBinding;
 import javax.servlet.http.HttpServletResponse;
 import java.io.OutputStream;
+import java.beans.PropertyEditorSupport;
 import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -62,7 +65,50 @@
     private ICityService cityService;
 
     /**
-     * 导出赛事已报名用户列表
+     * 兼容活动表单提交的日期时间格式。
+     *
+     * @param binder Spring Web 数据绑定器
+     */
+    @InitBinder
+    public void initCompetitionDateBinder(WebDataBinder binder) {
+        binder.registerCustomEditor(Date.class, new PropertyEditorSupport() {
+            @Override
+            public void setAsText(String text) throws IllegalArgumentException {
+                if (ToolUtil.isEmpty(text)) {
+                    setValue(null);
+                    return;
+                }
+                Date parsedDate = parseCompetitionDate(text);
+                if (parsedDate == null) {
+                    throw new IllegalArgumentException("日期格式应为yyyy-MM-dd HH:mm或yyyy-MM-dd");
+                }
+                setValue(parsedDate);
+            }
+        });
+    }
+
+    /**
+     * 将活动表单日期文本解析为日期对象。
+     *
+     * @param value 日期文本
+     * @return 解析后的日期;格式不匹配时返回 {@code null}
+     */
+    private Date parseCompetitionDate(String value) {
+        String[] patterns = {"yyyy-MM-dd HH:mm", "yyyy-MM-dd"};
+        for (String pattern : patterns) {
+            try {
+                SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
+                dateFormat.setLenient(false);
+                return dateFormat.parse(value);
+            } catch (ParseException ignored) {
+                // 尝试下一个约定格式。
+            }
+        }
+        return null;
+    }
+
+    /**
+     * 导出活动已报名用户列表
      */
 
     @RequestMapping(value = "/export")

--
Gitblit v1.7.1