瀏覽代碼

处理请求参数时间序列化问题

DESKTOP-VAEGFGM\zqc 11 月之前
父節點
當前提交
f4dfe13be9

+ 2 - 1
menduner/menduner-im-biz/src/main/java/com/citu/module/menduner/im/controller/app/ImStatisticsController.java

@@ -31,7 +31,8 @@ public class ImStatisticsController {
      * @return CommonResult
      */
     @PostMapping("/im/recent/conversations/statistics")
-    public CommonResult<imRecentConversationsStatisticsRespVo> imRecentConversationsStatistics(@RequestBody ImRecentConversationsStatisticsReqVo reqVo){
+    public CommonResult<imRecentConversationsStatisticsRespVo>
+                    imRecentConversationsStatistics(@RequestBody ImRecentConversationsStatisticsReqVo reqVo){
         return service.imRecentConversationsStatistics(reqVo);
     }
 

+ 5 - 4
menduner/menduner-im-biz/src/main/java/com/citu/module/menduner/im/controller/app/base/statistics/ImRecentConversationsStatisticsReqVo.java

@@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
 
@@ -31,8 +32,8 @@ public class ImRecentConversationsStatisticsReqVo {
     private String type="0";
 
     @Schema(description = "自定义时间范围")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private LocalDateTime[] time;
+//    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private List<String> time;
 
     /**
      * 沟通类型
@@ -96,11 +97,11 @@ public class ImRecentConversationsStatisticsReqVo {
         this.type = type;
     }
 
-    public LocalDateTime[] getTime() {
+    public List<String> getTime() {
         return time;
     }
 
-    public void setTime(LocalDateTime[] time) {
+    public void setTime(List<String> time) {
         this.time = time;
     }
 }

+ 6 - 1
menduner/menduner-im-biz/src/main/java/com/citu/module/menduner/im/service/statistics/ImRecentConversationsStatisticsServiceImpl.java

@@ -10,6 +10,7 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoField;
 import java.time.temporal.TemporalField;
 import java.util.List;
@@ -80,9 +81,13 @@ public class ImRecentConversationsStatisticsServiceImpl implements ImRecentConve
         return CommonResult.success(resp);
     }
 
+    private LocalDateTime parseDateTime(String dateTimeStr) {
+        // 实现你的解析逻辑
+        return LocalDateTime.parse(dateTimeStr, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+    }
     public LocalDateTime[] generateDateTimeRange(ImRecentConversationsStatisticsReqVo reqVO) {
         if (ImRecentConversationsStatisticsReqVo.TYPE_CUSTOM.equals(reqVO.getType())) {
-            return reqVO.getTime();
+            return reqVO.getTime().stream().map(this::parseDateTime).toArray(LocalDateTime[]::new);
         }
         LocalDateTime[] dateTimeRange = new LocalDateTime[2];
         LocalDateTime now = LocalDateTime.now();