tsurumure преди 2 месеца
родител
ревизия
2bae4dd49b

+ 10 - 2
src/main/java/com/backendsys/modules/ai/chat/entity/Chat.java

@@ -1,14 +1,18 @@
 package com.backendsys.modules.ai.chat.entity;
 
+import com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeAdapter;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.google.gson.annotations.JsonAdapter;
 import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Size;
 import lombok.Data;
 
+import java.time.LocalDateTime;
+
 @Data
 @TableName("ai_chat")
 public class Chat {
@@ -52,7 +56,11 @@ public class Chat {
     @TableField(exist = false)
     private Boolean internet = false;       // 是否联网搜索
     private Integer del_flag;
-    private String create_time;
-    private String update_time;
+
+    @JsonAdapter(LocalDateTimeAdapter.class)
+    private LocalDateTime create_time;
+
+    @JsonAdapter(LocalDateTimeAdapter.class)
+    private LocalDateTime update_time;
 
 }

+ 9 - 2
src/main/java/com/backendsys/modules/ai/chat/entity/ChatHistory.java

@@ -1,14 +1,18 @@
 package com.backendsys.modules.ai.chat.entity;
 
+import com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeAdapter;
 import com.backendsys.entity.validator.RangeStringArray;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.google.gson.annotations.JsonAdapter;
 import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.Size;
 import lombok.Data;
 
+import java.time.LocalDateTime;
+
 @Data
 @TableName("ai_chat_history")
 public class ChatHistory {
@@ -30,7 +34,10 @@ public class ChatHistory {
     private Integer chat_count;
 
     private Integer del_flag;
-    private String create_time;
-    private String update_time;
+
+    @JsonAdapter(LocalDateTimeAdapter.class)
+    private LocalDateTime create_time;
+    @JsonAdapter(LocalDateTimeAdapter.class)
+    private LocalDateTime update_time;
 
 }

+ 2 - 2
src/main/java/com/backendsys/modules/cms/article/service/impl/ArticleServiceImpl.java

@@ -40,8 +40,8 @@ public class ArticleServiceImpl implements ArticleService {
     public PageEntity selectArticleList(Article article) {
         PageUtils.startPage();  // 分页
 
-//        List<Article> list = articleDao.selectList(new LambdaQueryWrapper<>());
-        List<Map<String, Object>> list = articleDao.selectArticleList(article);
+        List<Article> list = articleDao.selectList(new LambdaQueryWrapper<>());
+//        List<Map<String, Object>> list = articleDao.selectArticleList(article);
 
 //        // 1) 完成分页实体渲染
 //        PageEntity pageEntity = new PageInfoResult(list).toEntity();

+ 20 - 0
src/main/java/com/backendsys/modules/crt/service/impl/CrtLoraStyleServiceImpl.java

@@ -42,6 +42,11 @@ public class CrtLoraStyleServiceImpl implements CrtLoraStyleService {
         PageUtils.startPage();  // 分页
 
         List<Map<String, Object>> list = crtLoraStyleDao.selectCrtLoraStyleList(crtLoraStyle);
+
+        // 1) 完成分页实体渲染
+        PageEntity pageEntity = new PageInfoResult(list).toEntity();
+
+        // 2) 分页列表格式化
         if (!list.isEmpty()) {
 
             // 查询风格LoRA-当前用户的收藏状态,将收藏状态添加到 list 中
@@ -57,6 +62,11 @@ public class CrtLoraStyleServiceImpl implements CrtLoraStyleService {
             }).collect(Collectors.toList());
 
         }
+
+        // 3) 分页实体重新赋值
+        List<Object> objectList = list.stream().map(item -> (Object) item).collect(Collectors.toList());
+        pageEntity.setList(objectList);
+
         return new PageInfoResult(list).toEntity();
     }
 
@@ -81,6 +91,7 @@ public class CrtLoraStyleServiceImpl implements CrtLoraStyleService {
         wrapperCollect.orderByDesc(CrtLoraStyleCollect::getCreate_time);
         List<CrtLoraStyleCollect> crtLoraStyleCollectList = crtLoraStyleCollectDao.selectList(wrapperCollect);
 
+
         PageUtils.startPage();  // 分页
 
         // 根据ID集合,查询风格LoRA列表
@@ -100,6 +111,10 @@ public class CrtLoraStyleServiceImpl implements CrtLoraStyleService {
             // [DB] 查询风格LoRA列表 (已经收藏的
             list = crtLoraStyleDao.selectList(wrapper);
 
+            // 1) 完成分页实体渲染
+            PageEntity pageEntity = new PageInfoResult(list).toEntity();
+
+            // 2) 分页列表格式化
             // 按照 lora_style_ids 的顺序 (按创建时间倒序) 对 list 进行重新排序
             CollUtil.sort(list, Comparator.comparingInt(item -> collect_lora_style_ids.indexOf(item.getId())));
 
@@ -109,7 +124,12 @@ public class CrtLoraStyleServiceImpl implements CrtLoraStyleService {
                     item.setIs_collect(1);
                     return item;
                 }).collect(Collectors.toList());
+
+            // 3) 分页实体重新赋值
+            List<Object> objectList = list.stream().map(item -> (Object) item).collect(Collectors.toList());
+            pageEntity.setList(objectList);
         }
+
         return new PageInfoResult(list).toEntity();
     }
 

+ 9 - 3
src/main/java/com/backendsys/modules/upload/entity/SysFile.java

@@ -1,11 +1,14 @@
 package com.backendsys.modules.upload.entity;
 
+import com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeAdapter;
 import com.baomidou.mybatisplus.annotation.*;
+import com.google.gson.annotations.JsonAdapter;
 import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Size;
 import lombok.Data;
 
+import java.time.LocalDateTime;
 import java.util.List;
 
 @Data
@@ -67,8 +70,11 @@ public class SysFile {
     private Boolean is_exist;
 
     // "上传时间" 只有 秒传 和 合并重复MD5 的时候会更新,"编辑" 的时候不变
-    private String upload_time;
+    @JsonAdapter(LocalDateTimeAdapter.class)
+    private LocalDateTime upload_time;
 
-    private String create_time;
-    private String update_time;
+    @JsonAdapter(LocalDateTimeAdapter.class)
+    private LocalDateTime create_time;
+    @JsonAdapter(LocalDateTimeAdapter.class)
+    private LocalDateTime update_time;
 }

+ 7 - 1
src/main/java/com/backendsys/modules/upload/service/impl/SysFileMultipartServiceImpl.java

@@ -2,6 +2,7 @@ package com.backendsys.modules.upload.service.impl;
 
 import cn.hutool.core.codec.Base64;
 import cn.hutool.core.convert.Convert;
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.io.file.FileNameUtil;
@@ -39,6 +40,8 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -199,7 +202,10 @@ public class SysFileMultipartServiceImpl implements SysFileMultipartService {
                 sysFileEntity = sysFileEntityList.get(0);
                 // [DB] 更新文件 (文件分类、上传时间)
                 sysFileEntity.setCategory_id(multipartUploadParams.getCategory_id());
-                sysFileEntity.setUpload_time(DateUtil.now());
+
+                LocalDateTime nowLocalDateTime = (new DateTime()).toInstant().atZone(ZoneId.of("UTC")).toLocalDateTime();
+                sysFileEntity.setUpload_time(nowLocalDateTime);
+
                 sysFileDao.updateById(sysFileEntity);
             } else {
                 // [DB] 创建新的文件

+ 19 - 5
src/main/java/com/backendsys/modules/upload/service/impl/SysFileServiceImpl.java

@@ -3,6 +3,7 @@ package com.backendsys.modules.upload.service.impl;
 import cn.hutool.core.codec.Base64;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.convert.Convert;
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.crypto.digest.DigestUtil;
@@ -41,6 +42,8 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.net.URL;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.atomic.AtomicReference;
@@ -220,8 +223,10 @@ public class SysFileServiceImpl extends ServiceImpl<SysFileDao, SysFile> impleme
             // 设置缩略图
             sysFileEntity = setThumbUrl(sysFileEntity, UPLOAD_THUMB_SIZE.get(), UPLOAD_THUMB_SIZE.get(), StyleEnums.THUMB_BACKGROUND.getValue());
 
-            sysFileEntity.setCreate_time(DateUtil.now());
-            sysFileEntity.setUpdate_time(DateUtil.now());
+            LocalDateTime nowLocalDateTime = (new DateTime()).toInstant().atZone(ZoneId.of("UTC")).toLocalDateTime();
+            sysFileEntity.setCreate_time(nowLocalDateTime);
+            sysFileEntity.setUpdate_time(nowLocalDateTime);
+
             sysFileDao.insert(sysFileEntity);
 
             return sysFileEntity;
@@ -290,7 +295,10 @@ public class SysFileServiceImpl extends ServiceImpl<SysFileDao, SysFile> impleme
                     // [DB] 更新文件 (支持更换文件分类)
                     sysFileEntity.setIs_exist(true);
                     sysFileEntity.setCategory_id(category_id);
-                    sysFileEntity.setUpload_time(DateUtil.now());
+
+                    LocalDateTime nowLocalDateTime = (new DateTime()).toInstant().atZone(ZoneId.of("UTC")).toLocalDateTime();
+                    sysFileEntity.setUpload_time(nowLocalDateTime);
+
                     sysFileDao.updateById(sysFileEntity);
                 } else {
                     // [DB] 创建新的文件
@@ -471,7 +479,10 @@ public class SysFileServiceImpl extends ServiceImpl<SysFileDao, SysFile> impleme
         sysFileEntity.setSize(sysFileResult.getSize());
         sysFileEntity.setTarget(UPLOAD_TARGET);
         sysFileEntity.setTarget_label(TargetEnums.targetToLabel(UPLOAD_TARGET));
-        sysFileEntity.setUpload_time(DateUtil.now());
+
+        LocalDateTime nowLocalDateTime = (new DateTime()).toInstant().atZone(ZoneId.of("UTC")).toLocalDateTime();
+        sysFileEntity.setUpload_time(nowLocalDateTime);
+
         sysFileDao.insert(sysFileEntity);
 
         return sysFileResult;
@@ -526,7 +537,10 @@ public class SysFileServiceImpl extends ServiceImpl<SysFileDao, SysFile> impleme
         updateWrapper.eq(SysFile::getObject_key, target_object_key);
         SysFile updateEntity = new SysFile();
         updateEntity.setName(target_file_name);
-        updateEntity.setUpload_time(DateUtil.now());
+
+        LocalDateTime nowLocalDateTime = (new DateTime()).toInstant().atZone(ZoneId.of("UTC")).toLocalDateTime();
+        updateEntity.setUpload_time(nowLocalDateTime);
+
         sysFileDao.update(updateEntity, updateWrapper);
 
         // [DB] 批量删除 (除了 target_object_key 外的文件)

+ 2 - 2
src/main/resources/application-local.yml

@@ -171,9 +171,9 @@ baidu:
 
 # DeepSeek R1
 deepseek-r1:
-#  domain: http://localhost:11434
+  domain: http://localhost:11434
 #  domain: https://1wd05129tf963.vicp.fun
-  domain: http://10ue610iy6063.vicp.fun
+#  domain: http://10ue610iy6063.vicp.fun
 
 # DeepSeek API
 deepseek-api:

+ 2 - 2
src/main/resources/mapper/ai/chat/ChatDao.xml

@@ -30,8 +30,8 @@
         <result property="user_id" column="user_id" javaType="java.lang.Long" />
         <result property="robot_code" column="robot_code" />
         <result property="del_flag" column="del_flag" javaType="java.lang.Integer" />
-        <result property="create_time" column="create_time" />
-        <result property="update_time" column="update_time" />
+        <result property="create_time" column="create_time" typeHandler="com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeHandler" />
+        <result property="update_time" column="update_time" typeHandler="com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeHandler" />
     </resultMap>
 
     <!-- 查 列表 -->

+ 2 - 4
src/main/resources/mapper/cms/article/ArticleDao.xml

@@ -67,10 +67,8 @@
         <result property="description" column="description" />
         <result property="status" column="status" javaType="java.lang.Integer" />
         <result property="is_top" column="is_top" javaType="java.lang.Integer" />
-<!--        <result property="create_time" column="create_time"-->
-<!--                typeHandler="com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeHandler" />-->
-<!--        <result property="update_time" column="update_time"-->
-<!--                typeHandler="com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeHandler"/>-->
+<!--        <result property="create_time" column="create_time" typeHandler="com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeHandler" />-->
+<!--        <result property="update_time" column="update_time" typeHandler="com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeHandler"/>-->
         <result property="create_time" column="create_time" />
         <result property="update_time" column="update_time" />
         <result property="create_time_utc" column="create_time" javaType="java.lang.String" />

+ 7 - 3
src/main/resources/mapper/upload/SysFileDao.xml

@@ -69,9 +69,13 @@
         <result property="size" column="size" javaType="java.lang.Long" />
         <result property="md5" column="md5" />
         <result property="target" column="target" javaType="java.lang.Integer" />
-        <result property="upload_time" column="upload_time" />
-        <result property="create_time" column="create_time" />
-        <result property="update_time" column="update_time" />
+
+        <result property="upload_time" column="upload_time" typeHandler="com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeHandler" />
+        <result property="create_time" column="create_time" typeHandler="com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeHandler" />
+        <result property="update_time" column="update_time" typeHandler="com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeHandler" />
+<!--        <result property="upload_time" column="upload_time" typeHandler="com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeHandler" />-->
+<!--        <result property="create_time" column="create_time" typeHandler="com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeHandler" />-->
+<!--        <result property="update_time" column="update_time" typeHandler="com.backendsys.config.Mybatis.handler.timezone.LocalDateTimeHandler" />-->
     </resultMap>
 
     <select id="selectUploadFileSimple" resultMap="resultMapFileSimple">