浏览代码

修复空间贴图顺序问题

dengsixing 3 年之前
父节点
当前提交
5457319fd2

+ 27 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/bean/BoxPhotoBean.java

@@ -0,0 +1,27 @@
+package com.fdkankan.scene.bean;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * <p>
+ * TODO
+ * </p>
+ *
+ * @author dengsixing
+ * @since 2022/5/10
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class BoxPhotoBean {
+
+    private Long createTime;
+
+    private JSONObject boxPhoto;
+
+}

+ 19 - 5
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -34,7 +34,9 @@ import com.fdkankan.redis.constant.RedisLockKey;
 import com.fdkankan.redis.util.RedisLockUtil;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.scene.api.dto.SceneInfoDTO;
+import com.fdkankan.scene.bean.BoxPhotoBean;
 import com.fdkankan.scene.bean.SceneJsonBean;
+import com.fdkankan.scene.bean.TagBean;
 import com.fdkankan.scene.callback.FdkkMiniReqErrorCallback;
 import com.fdkankan.scene.callback.FdkkMiniReqSuccessCallback;
 import com.fdkankan.scene.entity.SceneDataDownload;
@@ -64,6 +66,7 @@ import com.google.errorprone.annotations.Var;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Comparator;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -1564,24 +1567,35 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             for(int i=0;i<boxPhotosJson.size();++i){
                 JSONObject ele = boxPhotosJson.getJSONObject(i);
                 if(ele.getString("sid").equals(sid)){
+                    boxPhoto.put("createTime", ele.getLong("createTime"));
                     boxPhotosJson.set(i, boxPhoto);
                     exist = true;
                 }
             }
             //新增
             if(!exist){
+                boxPhoto.put("createTime", Calendar.getInstance().getTimeInMillis());
                 boxPhotosJson.add(boxPhoto);
             }
 
         }
         if(boxPhotosJson.size() != 0){
-            // JSONArray转list
-            List<JSONObject> list = JSONArray.parseArray(boxPhotosJson.toJSONString(), JSONObject.class);
-            CollUtil.reverse(list);
+
+            List<BoxPhotoBean> list = Lists.newArrayList();
+            for (Object o : boxPhotosJson) {
+                JSONObject jsonObject = (JSONObject)o;
+                list.add(BoxPhotoBean.builder().createTime(jsonObject.getLong("createTime")).boxPhoto(jsonObject).build());
+            }
+                //按创建时间倒叙排序
+            list.sort(Comparator.comparingLong(BoxPhotoBean::getCreateTime).reversed());
+
             // list转JSONArray
-            boxPhotosJson = JSONArray.parseArray(list.toString());
+            JSONArray array = new JSONArray();
+            list.stream().forEach(bean->{
+                array.add(bean.getBoxPhoto());
+            });
 
-            result = boxPhotosJson.toJSONString();
+            result = array.toJSONString();
         }
 
         return result;