dengsixing 5 månader sedan
förälder
incheckning
7f1bbcdccf

+ 65 - 0
src/main/java/com/fdkankan/scene/Interceptor/LastEditTimeAspect.java

@@ -0,0 +1,65 @@
+package com.fdkankan.scene.Interceptor;
+
+import cn.hutool.core.util.StrUtil;
+import com.fdkankan.common.constant.CommonStatus;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.constant.SceneStatus;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.redis.constant.RedisKey;
+import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.scene.entity.ScenePlus;
+import com.fdkankan.scene.service.IScenePlusService;
+import com.fdkankan.web.user.SSOLoginHelper;
+import com.fdkankan.web.user.SSOUser;
+import com.fdkankan.web.util.WebUtil;
+import java.io.IOException;
+import java.util.Date;
+import java.util.Objects;
+import javax.servlet.http.HttpServletRequest;
+import lombok.extern.log4j.Log4j2;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.After;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+@Log4j2
+@Aspect
+@Component
+@Order(101)
+public class LastEditTimeAspect {
+
+	@Autowired
+	private SSOLoginHelper ssoLoginHelper;
+	@Autowired
+	private RedisUtil redisUtil;
+	@Autowired
+	private IScenePlusService scenePlusService;
+
+
+	@Pointcut("@annotation(com.fdkankan.scene.annotation.LastEditTime)")
+	public void lastEditTime() {
+	}
+
+	/**
+	 * 前置通知 用于判断用户协作场景是否有协作权限
+	 *
+	 * @param joinPoint
+	 *            切点
+	 * @throws IOException
+	 */
+	@After("lastEditTime()")
+	public void after(JoinPoint joinPoint) throws Exception {
+		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+		String num = WebUtil.getParameter("num", joinPoint, request);
+        ScenePlus scenePlus= scenePlusService.getScenePlusByNum(num);
+        scenePlus.setLastEditTime(new Date());
+        scenePlusService.updateById(scenePlus);
+	}
+
+}

+ 10 - 0
src/main/java/com/fdkankan/scene/annotation/LastEditTime.java

@@ -0,0 +1,10 @@
+package com.fdkankan.scene.annotation;
+
+import java.lang.annotation.*;
+
+@Target({ElementType.PARAMETER, ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface LastEditTime {
+    String description() default "";
+}

+ 42 - 0
src/main/java/com/fdkankan/scene/controller/SceneEditController.java

@@ -4,6 +4,7 @@ import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.SceneInfoReqType;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.scene.annotation.CheckPermit;
+import com.fdkankan.scene.annotation.LastEditTime;
 import com.fdkankan.scene.service.*;
 import com.fdkankan.scene.vo.*;
 import com.fdkankan.web.controller.BaseController;
@@ -62,6 +63,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/base/save")
     public SceneEditInfoVO saveScene(@RequestBody @Validated SceneEditInfoParamVO param){
@@ -92,6 +94,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/saveInitialPage")
     public ResultData saveInitialPage(@RequestBody @Validated FileNameAndDataParamVO param) throws Exception {
@@ -107,6 +110,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/tag/save")
     public ResultData saveTag(@RequestBody @Validated SaveTagsParamVO param) throws Exception {
@@ -122,6 +126,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/tag/delete")
     public ResultData deleteTag(@RequestBody @Validated DeleteHotParamVO param) throws Exception {
@@ -151,6 +156,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/icons/delete")
     public ResultData deleteIcons(@RequestBody @Validated DeleteHotIconParamVO param) throws Exception {
@@ -166,6 +172,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/saveRoam")
     public ResultData saveRoam(@RequestBody @Validated BaseDataParamVO param) throws Exception {
@@ -181,6 +188,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/saveTagsVisible")
     public ResultData saveTagsVisible(@RequestBody @Validated SaveTagsVisibleParamVO param) throws Exception {
@@ -212,6 +220,7 @@ public class SceneEditController extends BaseController {
      * @param file
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/uploadModel")
     public ResultData uploadModel(@RequestParam("num") String num, @RequestParam("file") MultipartFile file) throws Exception {
@@ -230,6 +239,7 @@ public class SceneEditController extends BaseController {
      * @param file
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/linkPan/upload")
     public ResultData uploadLinkPan(
@@ -249,6 +259,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/linkPan/save")
     public ResultData saveLinkPan(@RequestBody @Validated SaveLinkPanParamVO param) throws Exception{
@@ -264,6 +275,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/linkPan/delete")
     public ResultData deleteLinkPan(@RequestBody @Validated DeleteLinkPanParamVO param) throws Exception {
@@ -279,6 +291,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/styles/delete")
     public ResultData deleteStyles(@RequestBody @Validated DeleteStylesParamVO param) throws Exception {
@@ -309,6 +322,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/cad/save")
     public ResultData saveCad(@RequestBody @Validated BaseDataParamVO param) throws Exception{
@@ -339,6 +353,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/cad/dxf/upload")
     public ResultData uploadDxf(@RequestParam MultipartFile file, @RequestParam String num, Integer subgroup) throws Exception{
@@ -354,6 +369,7 @@ public class SceneEditController extends BaseController {
      * @param num
      * @return
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/cad/reset")
     public ResultData resetCad(@RequestParam(value = "num") String num) throws Exception {
@@ -368,6 +384,7 @@ public class SceneEditController extends BaseController {
      * @date 2022/2/16
      * @return
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/cad/rename")
     public ResultData renameCad(@RequestBody @Validated RenameCadParamVO param) throws IOException {
@@ -399,6 +416,7 @@ public class SceneEditController extends BaseController {
      * @param file
      * @return java.util.List<java.lang.String>
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/uploadPanorama")
     public ResultData uploadPanorama(@RequestParam(value = "num") String num,
@@ -429,6 +447,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/video/box/save")
     public ResultData saveVideoBox(@RequestBody @Validated FileNameAndDataParamVO param) throws Exception {
@@ -444,6 +463,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/video/box/delete")
     public ResultData deleteVideoBox(@RequestBody @Validated DeleteSidParamVO param) throws Exception {
@@ -459,6 +479,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/photo/box/save")
     public ResultData savePhotoBox(@RequestBody @Validated BaseDataParamVO param) throws Exception {
@@ -474,6 +495,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/photo/box/delete")
     public ResultData deletePhotoBox(@RequestBody @Validated DeleteSidParamVO param) throws Exception {
@@ -507,6 +529,7 @@ public class SceneEditController extends BaseController {
      * @param file
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/uploadBallScreenVideo")
     public ResultData uploadBallScreenVideo(
@@ -639,6 +662,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/tour/save")
     public ResultData saveTour(@RequestBody @Validated BaseDataParamVO param) throws Exception{
@@ -654,12 +678,14 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/tour/delete")
     public ResultData deleteTour(@RequestBody @Validated BaseSceneParamVO param) throws Exception{
         return sceneEditService.deleteTour(param);
     }
 
+    @LastEditTime
     @PostMapping(value = "/tour/video/upload")
     public ResultData uploadTourVideo(@RequestParam("num") String num, @RequestParam("file") MultipartFile file) throws Exception {
         return downloadTourVideoService.uploadTourVideo(num, file);
@@ -679,6 +705,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/mosaics/add")
     public ResultData addMosaics(@RequestBody @Validated BaseDataParamVO param) throws Exception{
@@ -694,6 +721,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/mosaics/delete")
     public ResultData deleteMosaics(@RequestBody @Validated DeleteMosaicParamVO param) throws Exception{
@@ -724,6 +752,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/waterMark/add")
     public ResultData addWaterMark(@RequestBody @Validated BaseFileParamVO param) throws Exception{
@@ -739,6 +768,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.web.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/waterMark/delete")
     public ResultData deleteWaterMark(@RequestBody @Validated BaseFileParamVO param) throws Exception{
@@ -751,6 +781,7 @@ public class SceneEditController extends BaseController {
      * @return
      * @throws Exception
      */
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/filter/save")
     public ResultData saveFilter(@RequestBody @Validated SaveFiltersParamVO param) throws Exception{
@@ -778,12 +809,14 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping("/surveillance/save")
     ResultData saveSurveillance(@RequestBody @Validated SurveillanceParamVO param) throws Exception {
         return surveillanceService.saveSurveillance(param);
     }
 
+    @LastEditTime
     @CheckPermit
     @PostMapping("/surveillance/delete")
     public ResultData deleteSurveillance(@RequestBody @Validated BaseSidParamVO param) throws IOException {
@@ -807,6 +840,7 @@ public class SceneEditController extends BaseController {
      * @param file
      * @return com.fdkankan.common.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping("/model/box/upload")
     public ResultData uploadBoxModel(
@@ -825,6 +859,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping("/model/box/save")
     public ResultData saveBoxModel(@RequestBody @Validated BaseJsonDataParamVO param) throws Exception {
@@ -840,6 +875,7 @@ public class SceneEditController extends BaseController {
      * @param param
      * @return com.fdkankan.common.response.ResultData
      **/
+    @LastEditTime
     @CheckPermit
     @PostMapping("/model/box/delete")
     public ResultData delBoxModel(@RequestBody @Validated DeleteSidParamVO param) throws Exception {
@@ -850,6 +886,7 @@ public class SceneEditController extends BaseController {
      * 上传二维码和分享的logo
      * @return
      */
+    @LastEditTime
     @PostMapping(value = "/uploadShareLogo")
     public ResultData uploadShareLogo(@RequestParam("num") String num, @RequestParam("file") MultipartFile file) throws Exception {
         return scenePlusService.uploadShareLogo(num, file);
@@ -870,6 +907,7 @@ public class SceneEditController extends BaseController {
      * @return
      * @throws Exception
      */
+    @LastEditTime
     @CheckPermit
     @PostMapping("/billboards/save")
     public ResultData saveBillboards(@RequestBody @Validated BaseJsonArrayParamVO param) throws Exception {
@@ -882,6 +920,7 @@ public class SceneEditController extends BaseController {
      * @return
      * @throws Exception
      */
+    @LastEditTime
     @CheckPermit
     @PostMapping("/billboards/delete")
     public ResultData deleteBillboards(@RequestBody @Validated DeleteSidListParamVO param) throws Exception {
@@ -906,12 +945,14 @@ public class SceneEditController extends BaseController {
      * @return
      * @throws Exception
      */
+    @LastEditTime
     @CheckPermit
     @PostMapping("/billboards/styles/delete")
     public ResultData deleteBillboards(@RequestBody @Validated DeleteStylesParamVO param) throws Exception {
         return ResultData.ok(sceneEditInfoExtService.deleteBillboardsStyles(param));
     }
 
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/cutModel/save")
     public ResultData saveCutModel(@RequestBody @Validated BaseJsonArrayParamVO param) throws Exception {
@@ -924,6 +965,7 @@ public class SceneEditController extends BaseController {
         return ResultData.ok(cutModelService.listCutModel(param));
     }
 
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/cutModel/delete")
     public ResultData deleteCutModel(@RequestBody @Validated DeleteSidListParamVO param) throws Exception {

+ 3 - 0
src/main/java/com/fdkankan/scene/controller/SceneEditDrawController.java

@@ -4,6 +4,7 @@ import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.SceneInfoReqType;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.scene.annotation.CheckPermit;
+import com.fdkankan.scene.annotation.LastEditTime;
 import com.fdkankan.scene.service.*;
 import com.fdkankan.scene.vo.*;
 import com.fdkankan.web.controller.BaseController;
@@ -34,6 +35,7 @@ public class SceneEditDrawController extends BaseController {
         return ResultData.ok(sceneDrawService.listSceneDraw(num));
     }
 
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/save")
     public ResultData saveSceneDraw(@RequestBody @Validated BaseJsonArrayParamVO param) throws Exception {
@@ -41,6 +43,7 @@ public class SceneEditDrawController extends BaseController {
         return ResultData.ok();
     }
 
+    @LastEditTime
     @CheckPermit
     @PostMapping(value = "/delete")
     public ResultData deleteSceneDraw(@RequestBody @Validated DeleteSidListParamVO param) throws Exception {

+ 9 - 1
src/main/java/com/fdkankan/scene/entity/ScenePlus.java

@@ -15,7 +15,7 @@ import lombok.Setter;
  * 场景主表
  * </p>
  *
- * @author 
+ * @author
  * @since 2022-03-16
  */
 @Getter
@@ -112,6 +112,14 @@ public class ScenePlus implements Serializable {
     @TableField("update_time")
     private Date updateTime;
 
+
+    /**
+     * 最后编辑时间
+     */
+    @TableField("last_edit_time")
+    private Date lastEditTime;
+
+
     /**
      * 记录的状态,A: 生效,I: 禁用
      */

+ 4 - 0
src/main/java/com/fdkankan/scene/service/impl/SceneDownloadLogServiceImpl.java

@@ -30,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
@@ -251,17 +252,20 @@ public class SceneDownloadLogServiceImpl extends ServiceImpl<ISceneDownloadLogMa
             //写库
             sceneDownloadLog.setStatus(DownloadStatus.SUCCESS.code());
             sceneDownloadLog.setDownloadUrl(downLoadProgressBean.getUrl());
+            sceneDownloadLog.setUpdateTime(new Date());
             this.updateById(sceneDownloadLog);
 //            final Scene scene = sceneService.getBySceneCode(num);
 //            downLoadProgressBean.setUrl(this.publicUrl+":"+fdkkLaserConfig.getLaserPort()+ "/" + scene.getMapping() +downLoadProgressBean.getUrl());
             result.put("status", DownloadStatus.SUCCESS.code());
             result.put("percent", 100);
             result.put("rebuildOffline", this.rebuildOffline(sceneDownloadLog));
+            result.put("buildOfflineEndTime", sceneDownloadLog.getUpdateTime());
             return result;
         }
         if(downLoadProgressBean.getStatus()== 1003){//下载失败,更新数据库表
             //写库
             sceneDownloadLog.setStatus(DownloadStatus.FAILD.code());
+            sceneDownloadLog.setUpdateTime(new Date());
             this.updateById(sceneDownloadLog);
             result.put("status", DownloadStatus.SUCCESS.code());
             result.put("percent", downLoadProgressBean.getPercent());