signinCalendar+apifix

Change-Id: I9c64341669a4eff45f871f1c7a19045049d4c376
diff --git a/src/main/java/com/example/g8backend/controller/UserController.java b/src/main/java/com/example/g8backend/controller/UserController.java
index 8019967..f9d0de4 100644
--- a/src/main/java/com/example/g8backend/controller/UserController.java
+++ b/src/main/java/com/example/g8backend/controller/UserController.java
@@ -3,13 +3,16 @@
 import com.example.g8backend.dto.ApiResponse;
 import com.example.g8backend.entity.Message;
 import com.example.g8backend.entity.User;
+import com.example.g8backend.entity.UserSignin;
 import com.example.g8backend.service.IUserService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.web.bind.annotation.*;
 import com.example.g8backend.service.ISigningService;
 
+import java.time.LocalDate;
 import java.util.List;
 import java.util.Map;
 
@@ -96,9 +99,20 @@
     private ISigningService signingService; // 修改接口名称
 
     @PostMapping("/signin")
-    public String signIn() {
-        Long userId = getCurrentUserId(); // 假设从安全上下文中获取用户ID
+    public ApiResponse<String> signIn() { // 修改返回类型为 ApiResponse
+        Long userId = getCurrentUserId();
         boolean success = signingService.signIn(userId);
-        return success ? "签到成功" : "今日已签到";
+        String message = success ? "签到成功" : "今日已签到";
+        return ApiResponse.success(message);
+    }
+
+    // 新增获取时间段内的签到记录接口
+    @GetMapping("/signins")
+    public ApiResponse<List<UserSignin>> getSignins(
+            @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate startDate,
+            @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate endDate) {
+        Long userId = getCurrentUserId();
+        List<UserSignin> signins = signingService.getSigninsByDateRange(userId, startDate, endDate);
+        return ApiResponse.success(signins);
     }
 }