xiewj 7 hónapja
szülő
commit
bcb423cd5b
97 módosított fájl, 2011 hozzáadás és 1033 törlés
  1. 1 0
      720yun_fd_consumer/gis_consumer/pom.xml
  2. 3 1
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/ConsumerApplication.java
  3. 48 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/config/MyBatisPlusConfig.java
  4. 29 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/constant/NavigationTypeEnum.java
  5. 1 1
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/DoSliceDTO.java
  6. 39 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/dto/InitWorkNavigationSceneDTO.java
  7. 1 1
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/OpenSceneMigrateDto.java
  8. 1 2
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/RelicsSceneInitQueueDTO.java
  9. 1 2
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/SceneQueueDTO.java
  10. 25 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/dto/WorkAddDto.java
  11. 43 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/dto/WorkCustomMaskDto.java
  12. 21 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/dto/WorkIdDto.java
  13. 13 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/dto/WorkMaskBatchSaveDTO.java
  14. 36 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/dto/WorkNavigationDTO.java
  15. 8 2
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/BaseEntity.java
  16. 6 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/BaseStrEntity.java
  17. 2 1
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/FodderEntity.java
  18. 2 1
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/ScenePanoEntity.java
  19. 41 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/WorkCustomButtonEntity.java
  20. 48 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/WorkCustomMaskEntity.java
  21. 2 1
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/WorkEntity.java
  22. 49 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/WorkNavigationEntity.java
  23. 45 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/WorkNavigationVo.java
  24. 32 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/handler/MyMetaObjectHandler.java
  25. 1 2
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/listener/DoSliceListener.java
  26. 0 62
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/listener/Fd720Listener.java
  27. 0 59
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/listener/Fd720Listener_2.java
  28. 100 99
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/listener/SceneListener.java
  29. 2 2
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/listener/SceneMigrateListener.java
  30. 2 2
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/listener/ScenePayStatusListener.java
  31. 2 1
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/mapper/FodderMapper.java
  32. 2 1
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/mapper/ScenePanoMapper.java
  33. 17 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/mapper/WorkCustomButtonMapper.java
  34. 17 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/mapper/WorkCustomMaskMapper.java
  35. 2 1
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/mapper/WorkMapper.java
  36. 20 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/mapper/WorkNavigationMapper.java
  37. 4 1
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/FodderService.java
  38. 0 52
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/IBaseService.java
  39. 0 53
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/IBaseStrService.java
  40. 2 1
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/ScenePanoService.java
  41. 18 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/WorkCustomButtonService.java
  42. 23 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/WorkCustomMaskService.java
  43. 25 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/WorkNavigationService.java
  44. 14 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/WorkNavigationSettingService.java
  45. 3 2
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/WorkService.java
  46. 3 2
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/FodderServiceImpl.java
  47. 0 185
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/IBaseServiceImpl.java
  48. 0 196
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/IBaseStrServiceImpl.java
  49. 7 15
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/ScenePanoServiceImpl.java
  50. 24 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/WorkCustomButtonServiceImpl.java
  51. 57 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/WorkCustomMaskServiceImpl.java
  52. 79 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/WorkNavigationServiceImpl.java
  53. 26 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/WorkNavigationSettingServiceImpl.java
  54. 9 12
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/WorkServiceImpl.java
  55. 45 0
      720yun_fd_consumer/gis_consumer/src/main/java/com/gis/vo/WorkCustomMaskVO.java
  56. 5 0
      720yun_fd_consumer/gis_consumer/src/main/resources/application-loc-site.yml
  57. 4 6
      720yun_fd_consumer/gis_consumer_oss/pom.xml
  58. 5 13
      720yun_fd_consumer/pom.xml
  59. 14 9
      720yun_fd_manage/gis_application/src/main/resources/application-locSit.yml
  60. 4 5
      720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/dto/WorkCoverTypeDto.java
  61. 3 0
      720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/dto/WorkLogoDto.java
  62. 1 1
      720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/entity/WorkBackgroundMusicEntity.java
  63. 4 4
      720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/entity/WorkCoverTypeEntity.java
  64. 3 0
      720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/entity/WorkLogoEntity.java
  65. 2 2
      720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/entity/WorkVisualAngle.java
  66. 4 4
      720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/vo/WorkCoverTypeVo.java
  67. 3 0
      720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/vo/WorkLogoVo.java
  68. 2 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/FodderService.java
  69. 1 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkBackgroundMusicService.java
  70. 1 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkCoverTypeService.java
  71. 1 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkCustomButtonService.java
  72. 2 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkCustomMaskService.java
  73. 1 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkExplanationService.java
  74. 1 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkHotService.java
  75. 1 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkLogoService.java
  76. 3 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkNavigationService.java
  77. 1 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkOpeningAnimationService.java
  78. 1 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkOpeningTipService.java
  79. 8 2
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkService.java
  80. 1 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkVisualAngleService.java
  81. 2 1
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/DirServiceImpl.java
  82. 7 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/FodderServiceImpl.java
  83. 5 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkBackgroundMusicServiceImpl.java
  84. 56 8
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkBaseSettingServiceImpl.java
  85. 5 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkCoverTypeServiceImpl.java
  86. 5 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkCustomButtonServiceImpl.java
  87. 34 2
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkCustomMaskServiceImpl.java
  88. 36 3
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkExplanationServiceImpl.java
  89. 34 1
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkHotServiceImpl.java
  90. 1 1
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkHotsFodderServiceImpl.java
  91. 5 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkLogoServiceImpl.java
  92. 10 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkNavigationServiceImpl.java
  93. 5 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkOpeningAnimationServiceImpl.java
  94. 5 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkOpeningTipServiceImpl.java
  95. 700 211
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkServiceImpl.java
  96. 5 0
      720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkVisualAngleServiceImpl.java
  97. 19 0
      720yun_fd_manage/gis_web/src/main/java/com/gis/web/controller/TestController.java

+ 1 - 0
720yun_fd_consumer/gis_consumer/pom.xml

@@ -19,6 +19,7 @@
             <artifactId>gis_consumer_oss</artifactId>
             <!--<version>1.1.1</version>-->
         </dependency>
+
     </dependencies>
 
     <build>

+ 3 - 1
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/ConsumerApplication.java

@@ -1,10 +1,12 @@
 package com.gis;
 
+import com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 
 
-@SpringBootApplication
+@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, PageHelperAutoConfiguration.class})
 public class ConsumerApplication {
 
     public static void main(String[] args) {

+ 48 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/config/MyBatisPlusConfig.java

@@ -0,0 +1,48 @@
+package com.gis.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+@Configuration
+@EnableTransactionManagement
+@MapperScan({"com.gis.mapper"})
+public class MyBatisPlusConfig {
+    /*
+     * 分页插件,自动识别数据库类型
+     * 多租户,请参考官网【插件扩展】
+     */
+    /**
+     * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题
+     */
+
+    @Bean
+    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+        //向Mybatis过滤器链中添加分页拦截器
+        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
+        //还可以添加其他的拦截器
+        // 阻断插件
+        interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
+        return interceptor;
+    }
+    @Bean
+    ConfigurationCustomizer mybatisConfigurationCustomizer() {
+        return configuration -> configuration.addInterceptor(new com.github.pagehelper.PageInterceptor());
+    }
+
+    /**
+     * 如果是对全表的删除或更新操作,就会终止该操作
+     * https://baomidou.com/guide/interceptor-block-attack.html
+     */
+    public BlockAttackInnerInterceptor blockAttackInnerInterceptor()
+    {
+        return new BlockAttackInnerInterceptor();
+    }
+}

+ 29 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/constant/NavigationTypeEnum.java

@@ -0,0 +1,29 @@
+package com.gis.constant;
+
+/**
+ * 切图方式
+ */
+public enum NavigationTypeEnum {
+
+    GROUP("group", "分组"),
+    PANO("pano", "全景图"),
+    FDKK("4dkk", "官网场景"),
+    ;
+
+    private String code;
+    private String message;
+
+    private NavigationTypeEnum(String code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+    public String code() {
+        return code;
+    }
+
+    public String message() {
+        return message;
+    }
+
+}

+ 1 - 1
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/DoSliceDTO.java

@@ -1,4 +1,4 @@
-package com.gis.entity;
+package com.gis.dto;
 import lombok.Data;
 
 /**

+ 39 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/dto/InitWorkNavigationSceneDTO.java

@@ -0,0 +1,39 @@
+package com.gis.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * 作品导航表
+ *
+ * @author Xiewj
+ * @since 2023-09-08 18:13
+ */
+@Data
+public class InitWorkNavigationSceneDTO implements Serializable {
+
+    @NotBlank(message = "name不能为空")
+    @ApiModelProperty("名称")
+    private String name;
+
+    @ApiModelProperty("素材id,当type=pano时不能为空")
+    private Long fodderId;
+
+    @NotBlank(message = "type不能为空")
+    @ApiModelProperty("场景类型,pano-全景图,4dkk-官网场景")
+    private String type;
+
+    @NotBlank(message = "sceneCode不能为空")
+    @ApiModelProperty("场景码")
+    private String sceneCode;
+
+    @ApiModelProperty("官网场景版本")
+    private String version;
+
+    @ApiModelProperty("icon")
+    private String icon;
+
+}

+ 1 - 1
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/OpenSceneMigrateDto.java

@@ -1,4 +1,4 @@
-package com.gis.entity;
+package com.gis.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;

+ 1 - 2
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/RelicsSceneInitQueueDTO.java

@@ -1,9 +1,8 @@
-package com.gis.entity;
+package com.gis.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.time.LocalDateTime;
 import java.util.Date;
 
 /**

+ 1 - 2
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/SceneQueueDTO.java

@@ -1,6 +1,5 @@
-package com.gis.entity;
+package com.gis.dto;
 
-import com.alibaba.fastjson.JSONObject;
 import com.google.gson.JsonObject;
 import io.swagger.annotations.ApiModelProperty;
 

+ 25 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/dto/WorkAddDto.java

@@ -0,0 +1,25 @@
+package com.gis.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * Created by owen on 2021/2/22 0028 16:36
+ */
+@Data
+public class WorkAddDto {
+
+//    @ApiModelProperty(value = "封面图")
+//    private String icon;
+//
+//    @ApiModelProperty(value = "场景密码")
+//    private String password;
+
+    @ApiModelProperty(value = "选中的素材")
+    @NotEmpty(message = "至少选择一个素材")
+    private List<InitWorkNavigationSceneDTO> sceneDTOList;
+
+}

+ 43 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/dto/WorkCustomMaskDto.java

@@ -0,0 +1,43 @@
+package com.gis.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 遮罩设置表
+ *
+ * @author Xiewj
+ * @since 2023-09-06 14:37
+ */
+@Data
+public class WorkCustomMaskDto {
+
+
+    @ApiModelProperty(value = "对象ID")
+    private Long id;
+
+    @ApiModelProperty("wordid")
+    private String workId;
+
+    @ApiModelProperty("素材id")
+    private Long fodderId;
+
+    @ApiModelProperty("导航id")
+    private Long navigationId;
+
+    @ApiModelProperty("图片地址	")
+    private String icon;
+
+    @ApiModelProperty("开关 默认false")
+    private Boolean isShow;
+
+    @ApiModelProperty("类型 earth sky")
+    private String type;
+
+    @ApiModelProperty("缩放")
+    private Double scale;
+
+    @ApiModelProperty("随着场景转动")
+    private Boolean antidistorted;
+
+}

+ 21 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/dto/WorkIdDto.java

@@ -0,0 +1,21 @@
+package com.gis.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * Created by Xiewj on  2024年4月18日14:09:13
+ */
+@Data
+public class WorkIdDto {
+
+    @NotBlank(message = "workId不能为空")
+    @ApiModelProperty(value = "workId" ,required = true)
+    private String workId;
+
+
+
+
+}

+ 13 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/dto/WorkMaskBatchSaveDTO.java

@@ -0,0 +1,13 @@
+package com.gis.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+@Data
+public class WorkMaskBatchSaveDTO extends WorkIdDto{
+
+    @NotEmpty(message = "数据不能为空")
+    List<WorkCustomMaskDto> list;
+}

+ 36 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/dto/WorkNavigationDTO.java

@@ -0,0 +1,36 @@
+package com.gis.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * 作品导航表
+ *
+ * @author Xiewj
+ * @since 2023-09-08 18:13
+ */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class WorkNavigationDTO extends WorkIdDto implements Serializable {
+
+    @ApiModelProperty("id")
+    private Long id;
+
+    @ApiModelProperty("父菜单ID")
+    private Long parentId;
+
+    @ApiModelProperty("名称")
+    private String name;
+
+    @ApiModelProperty("排序")
+    private Integer sort;
+
+
+}

+ 8 - 2
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/BaseEntity.java

@@ -1,6 +1,7 @@
 package com.gis.entity;
 
 import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -13,7 +14,7 @@ import java.util.Date;
 public abstract class BaseEntity {
 
     @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @TableId(value = "id", type = IdType.AUTO)
     @Column(name = "id")
     @ApiModelProperty(value = "对象ID")
     private Long id;
@@ -21,18 +22,23 @@ public abstract class BaseEntity {
     @ApiModelProperty(value = "创建时间")
     @Temporal(TemporalType.TIMESTAMP)
     @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+    @TableField(fill = FieldFill.INSERT)
     private Date createTime;
 
     @ApiModelProperty(value = "修改时间")
     @Temporal(TemporalType.TIMESTAMP)
     @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+    @TableField(fill = FieldFill.UPDATE)
     private Date updateTime;
 
     /**
      * 用来批量操作的
      * 0代表未删除 , 1代表已经删除,默认写0
+     * 需要使用对象类型
      */
     @JsonIgnore
-    @JSONField(serialize = false)
+    @TableLogic(value = "0",delval = "1")
     private Integer isDelete;
+
+
 }

+ 6 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/BaseStrEntity.java

@@ -1,6 +1,9 @@
 package com.gis.entity;
 
 import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -20,11 +23,13 @@ public abstract class BaseStrEntity {
     @ApiModelProperty(value = "创建时间")
     @Temporal(TemporalType.TIMESTAMP)
     @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+    @TableField(fill = FieldFill.INSERT)
     private Date createTime;
 
     @ApiModelProperty(value = "修改时间")
     @Temporal(TemporalType.TIMESTAMP)
     @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+    @TableField(fill = FieldFill.UPDATE)
     private Date updateTime;
 
     /**
@@ -34,6 +39,7 @@ public abstract class BaseStrEntity {
      */
     @JsonIgnore
     @JSONField(serialize = false)
+    @TableLogic(value = "0",delval = "1")
     private Integer isDelete;
 
 

+ 2 - 1
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/FodderEntity.java

@@ -1,5 +1,6 @@
 package com.gis.entity;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -9,7 +10,7 @@ import java.io.Serializable;
 
 @Data
 @Entity
-@Table(name = "tb_fodder")
+@TableName( "tb_fodder")
 public class FodderEntity extends BaseEntity implements Serializable {
     private static final long serialVersionUID = -1428200960867373738L;
 

+ 2 - 1
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/ScenePanoEntity.java

@@ -1,5 +1,6 @@
 package com.gis.entity;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -15,7 +16,7 @@ import java.io.Serializable;
  */
 @Data
 @ApiModel("四维看看场景全景图表")
-@Table(name = "tb_scene_pano")
+@TableName( "tb_scene_pano")
 public class ScenePanoEntity extends BaseEntity implements Serializable  {
 
     private static final long serialVersionUID = 1L;

+ 41 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/WorkCustomButtonEntity.java

@@ -0,0 +1,41 @@
+package com.gis.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 自定义按钮设置表
+ *
+ * @author Xiewj
+ * @since 2023-09-06 14:50
+ */
+@Data
+@ApiModel("自定义按钮设置表")
+@TableName( "tb_work_custom_button")
+public class WorkCustomButtonEntity extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty("wordid")
+    private String workId;
+
+    @ApiModelProperty("开关 默认false")
+    private Integer isShow;
+
+    @ApiModelProperty("名称 电话 链接	")
+    private String name;
+
+    @ApiModelProperty("_self _blank 默认_self	")
+    private String openMethod;
+
+    @ApiModelProperty("value	")
+    private String value;
+
+    @ApiModelProperty("phone link	")
+    private String type;
+}

+ 48 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/WorkCustomMaskEntity.java

@@ -0,0 +1,48 @@
+package com.gis.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 遮罩设置表
+ *
+ * @author Xiewj
+ * @since 2023-09-06 14:37
+ */
+@Data
+@ApiModel("遮罩设置表")
+@TableName( "tb_work_custom_mask")
+public class WorkCustomMaskEntity extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty("wordid")
+    private String workId;
+
+    @ApiModelProperty("navigation_id")
+    private Long navigationId;
+
+    @ApiModelProperty("素材id")
+    private Long fodderId;
+
+    @ApiModelProperty("图片地址")
+    private String icon;
+
+    @ApiModelProperty("开关 默认false")
+    private Boolean isShow;
+
+    @ApiModelProperty("类型 earth sky")
+    private String type;
+
+    @ApiModelProperty("随着场景转动")
+    private Boolean antidistorted;
+
+    @ApiModelProperty("缩放")
+    private Double scale;
+
+}

+ 2 - 1
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/WorkEntity.java

@@ -1,6 +1,7 @@
 package com.gis.entity;
 
 import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -16,7 +17,7 @@ import java.util.Date;
  */
 @Data
 @Entity
-@Table(name = "tb_work")
+@TableName("tb_work")
 public class WorkEntity extends BaseStrEntity implements Serializable {
 
     private static final long serialVersionUID = 6827754544317282072L;

+ 49 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/WorkNavigationEntity.java

@@ -0,0 +1,49 @@
+package com.gis.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 作品导航表
+ *
+ * @author Xiewj
+ * @since 2023-09-08 18:13
+ */
+@Data
+@ApiModel("作品导航表")
+@TableName("tb_work_navigation")
+public class WorkNavigationEntity extends BaseEntity  implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("wordid")
+    private String workId;
+
+    @ApiModelProperty("父菜单ID")
+    private Long parentId;
+
+    @ApiModelProperty("名称")
+    private String name;
+
+    @ApiModelProperty("素材id")
+    private Long fodderId;
+
+    @ApiModelProperty("是否初始场景")
+    private Integer isFirstScene;
+
+    private String type;
+
+    private String sceneCode;
+
+    private String icon;
+
+    private String version;
+
+    private Integer sort;
+
+
+}

+ 45 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/entity/WorkNavigationVo.java

@@ -0,0 +1,45 @@
+package com.gis.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * 作品导航表
+ *
+ * @author Xiewj
+ * @since 2023-09-08 18:13
+ */
+
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@Data
+@ApiModel("作品导航表")
+public class WorkNavigationVo implements Serializable {
+
+
+    @ApiModelProperty(value = "对象ID")
+    private Long id;
+
+    @ApiModelProperty("wordid")
+    private String workId;
+
+    @ApiModelProperty("父菜单ID")
+    private Long parentId;
+
+    @ApiModelProperty("名称")
+    private String name;
+
+    private String type;
+
+    private String icon;
+
+    private String sceneCode;
+
+}

+ 32 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/handler/MyMetaObjectHandler.java

@@ -0,0 +1,32 @@
+package com.gis.handler;
+
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ * @description: 处理createTime,updateTime字段的插入和更新
+ * @author: Xiewj
+ * @date: 2021-08-16 15:32:55
+ **/
+@Slf4j
+@Component
+public class MyMetaObjectHandler implements MetaObjectHandler {
+
+    @Override
+    public void insertFill(MetaObject metaObject) {
+        // 起始版本 3.3.3(推荐)
+        this.strictInsertFill(metaObject, "createTime", () -> new Date(), Date.class);
+
+    }
+
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        // 起始版本 3.3.3(推荐)
+        this.setFieldValByName("updateTime", new Date(), metaObject);
+        this.strictUpdateFill(metaObject, "updateTime", () ->new Date(), Date.class);
+    }
+}

+ 1 - 2
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/listener/DoSliceListener.java

@@ -1,7 +1,7 @@
 package com.gis.listener;
 
 import com.alibaba.fastjson.JSONObject;
-import com.gis.entity.DoSliceDTO;
+import com.gis.dto.DoSliceDTO;
 import com.gis.service.FodderService;
 import com.rabbitmq.client.Channel;
 import lombok.extern.slf4j.Slf4j;
@@ -15,7 +15,6 @@ import org.springframework.util.ObjectUtils;
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
-import java.util.Map;
 
 /**
  * 消息监听器

+ 0 - 62
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/listener/Fd720Listener.java

@@ -1,62 +0,0 @@
-//package com.gis.listener;
-//
-//import com.gis.constant.RabbitConfig;
-//import com.gis.service.FodderService;
-//import lombok.extern.slf4j.Slf4j;
-//import org.slf4j.MDC;
-//import org.springframework.amqp.rabbit.annotation.RabbitHandler;
-//import org.springframework.amqp.rabbit.annotation.RabbitListener;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.stereotype.Component;
-//
-//
-///**
-// * Created by owen on 2021/1/12 0012 10:05
-// */
-//@Slf4j
-//@Component
-//@RabbitListener(queues = RabbitConfig.PANO_QUEUE,concurrency="1") // 指定监听队列
-//public class Fd720Listener {
-//
-//
-//
-//
-//    @Autowired
-//    FodderService fodderService;
-//
-//
-//    // 链路id
-//    static String traceId;
-//
-//
-//    @RabbitHandler
-//    public void getMessage(Long param)  {
-//        traceId = System.currentTimeMillis()+"";
-//        MDC.put("TRACE_ID", traceId);
-//
-//        log.info("监听消息_1_start: {}, uuid: {}", param, traceId);
-//        try {
-//            Thread.sleep(300);
-//        } catch (InterruptedException e) {
-//            e.printStackTrace();
-//        }
-//
-//        fodderService.doSlice(param, traceId);
-//
-//
-//        log.info("监听消息_1_end: {}, uuid: {}", param, traceId);
-//    }
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//}

+ 0 - 59
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/listener/Fd720Listener_2.java

@@ -1,59 +0,0 @@
-//package com.gis.listener;
-//
-//import com.gis.constant.RabbitConfig;
-//import com.gis.service.FodderService;
-//import lombok.extern.slf4j.Slf4j;
-//import org.slf4j.MDC;
-//import org.springframework.amqp.rabbit.annotation.RabbitHandler;
-//import org.springframework.amqp.rabbit.annotation.RabbitListener;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.stereotype.Component;
-//
-//
-///**
-// * Created by owen on 2021/12/24 0012 10:05
-// *
-// * 开启两个线程监听
-// */
-//@Slf4j
-//@Component
-//@RabbitListener(queues = RabbitConfig.PANO_QUEUE) // 指定监听队列
-//public class Fd720Listener_2 {
-//
-//
-//    @Autowired
-//    FodderService fodderService;
-//
-//
-//    // 链路id
-//    static String traceId;
-//
-//
-//    @RabbitHandler
-//    public void getMessage(Long param)  {
-//        traceId = System.currentTimeMillis()+"";
-//        MDC.put("TRACE_ID", traceId);
-//
-//        log.info("监听消息_2_start: {}, uuid: {}", param, traceId);
-//        try {
-//            Thread.sleep(300);
-//        } catch (InterruptedException e) {
-//            e.printStackTrace();
-//        }
-//
-//        fodderService.doSlice(param, traceId);
-//
-//
-//        log.info("监听消息_2_end: {}, uuid: {}", param, traceId);
-//    }
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//}

+ 100 - 99
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/listener/SceneListener.java

@@ -1,5 +1,7 @@
 package com.gis.listener;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.io.file.FileWriter;
 import cn.hutool.core.util.ObjectUtil;
@@ -12,17 +14,13 @@ import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.filestorage.FileStorageTemplate;
 import com.gis.constant.CmdConstant;
 import com.gis.constant.ConfigConstant;
-import com.gis.entity.RelicsSceneInitQueueDTO;
-import com.gis.entity.ScenePanoEntity;
-import com.gis.entity.SceneQueueDTO;
-import com.gis.entity.WorkEntity;
+import com.gis.dto.*;
+import com.gis.entity.*;
 import com.gis.exception.BaseRuntimeException;
 import com.gis.mq.RabbitMqProducerUtil;
 import com.gis.oss.util.FileAndOssUtil;
-import com.gis.service.ScenePanoService;
-import com.gis.service.WorkService;
+import com.gis.service.*;
 import com.gis.util.CmdUtils;
-import com.gis.util.FileUtils;
 import com.gis.util.QrCodeUtils;
 import com.gis.util.RandomUtils;
 import com.rabbitmq.client.Channel;
@@ -45,6 +43,7 @@ import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.util.*;
 import java.util.concurrent.*;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -81,6 +80,15 @@ public class SceneListener {
 
     @Value("${domain.4dkk}")
     public  String domain4dKK;
+
+    @Autowired
+    private WorkNavigationSettingService workNavigationSettingService;
+    @Autowired
+    private WorkNavigationService workNavigationService;
+    @Autowired
+    private WorkCustomMaskService workCustomMaskService;
+    @Autowired
+    private WorkCustomButtonService workCustomButtonService;
     /**
      * 全景场景初始化方法
      *
@@ -126,7 +134,7 @@ public class SceneListener {
                 if (ObjectUtil.isNotEmpty(param.getPayStatus())){
                     workEntity.setPayStatus(param.getPayStatus());
                 }
-                workService.update(workEntity);
+                workService.updateById(workEntity);
                 sendStartMq(param);
                 channel.basicAck(deliveryTag, false);
             }else if (ObjectUtil.isNotEmpty(param.getSceneCode())&&param.getStatus()==1) {
@@ -196,13 +204,13 @@ public class SceneListener {
                     workEntity.setPassword(param.getPwd());
                     workEntity.setIsPassword(1);
                 }
-                workService.update(workEntity);
+                workService.updateById(workEntity);
                 //清理旧数据
                 List<ScenePanoEntity> list = scenePanoService.findByWorkId(workEntity.getId());
                 for (ScenePanoEntity scenePanoEntity : list) {
                     scenePanoEntity.setIsDelete(1);
                     scenePanoEntity.setUpdateTime(new Date());
-                    scenePanoService.update(scenePanoEntity);
+                    scenePanoService.updateById(scenePanoEntity);
                 }
 
                 String visionUrl = "http://"+domain4dKK+"/oss/scene_view_data/"+param.getSceneCode()+"/images/vision.txt";
@@ -217,13 +225,14 @@ public class SceneListener {
                 }
 
                 //2,使用krpano工具生成全景图数据
-                List<Map<String,Object>> scenes=new ArrayList<>();
+                List<InitWorkNavigationSceneDTO> scenes = new ArrayList<>();
+
                 for (int i = 0; i < sweepLocations.size(); i++) {
                     JSONObject jsonObject = sweepLocations.getJSONObject(i);
                     String uuid = jsonObject.getString("uuid");
                     String id = jsonObject.getString("id");
                     String ossKey="scene_view_data/"+param.getSceneCode()+"/images/panoramas/"+uuid+".jpg";
-                    Map<String,Object> scene=new HashMap<>();
+                    InitWorkNavigationSceneDTO scene=new InitWorkNavigationSceneDTO();
                     ScenePanoEntity scenePanoEntity = this.doSlice(traceId ,ossKey, param.getSceneCode(), workEntity.getId(),uuid+".jpg",uuid,id);
                     //  "icon": "https://ossxiaoan.4dage.com/720yun_fd_manage/fd720_8nRkFlzpp/vtour/panos/fd720_8nRkFlzpp.tiles/thumb.jpg",
                     //   "sceneCode": "fd720_8nRkFlzpp",
@@ -231,32 +240,36 @@ public class SceneListener {
                     //  "category": 1,
                     //   "type": "pano",
                     //  "id": "s_xId8vevp",
-                    scene.put("icon", scenePanoEntity.getIcon());
-                    scene.put("sceneCode", scenePanoEntity.getSceneCode());
-                    scene.put("sceneTitle", id);
-                    scene.put("category", 1);
-                    scene.put("type", "pano");
+                    scene.setIcon(scenePanoEntity.getIcon());
+                    scene.setType("pano");
+                    scene.setName(id);
                     //id生成规则是 s_ 拼接,随机8位字符串,字母加数字组合,有大小写
-                    String customId = generateCustomId();
-                    scene.put("id", customId);
+                    scene.setSceneCode(scenePanoEntity.getSceneCode());
                     scenes.add(scene);
                     if (i==0){
                         workEntity.setIcon(scenePanoEntity.getIcon());
-                        workService.update(workEntity);
+                        workService.updateById(workEntity);
                     }
 
                 }
 
                 log.info("场景切图完成组装json");
-                //3,修改json文件,并创建work作品表数据,增加作品类型为相机拍摄全景图
-                JSONObject someDataToJson= this.editSomeData(workEntity,scenes);
+                //修改为创建数据库
+                String shareUrl = configConstant.domain4dKK + "/panorama/showMobile.html?id=" + workEntity.getId();
+                String qrCode = qrCodeUtils.generateLogoQrCode(shareUrl, configConstant.serverBasePath, configConstant.ossBasePath, ossUtil.calculateUrl(""), workEntity.getId());
+                workEntity.setQrCode(qrCode);
+                workEntity.setShare(shareUrl);
+
+                //创建tour.xml
+                this.saveTour(workEntity.getId());
 
+                WorkAddDto workAddDto = new WorkAddDto();
+                workAddDto.setSceneDTOList(scenes);
 
-                // 更新跟目录tour.xml 2022-09-15
-                this.updateTour(someDataToJson, workEntity.getId());
+                this.initData(workAddDto, workEntity);
 
                 workEntity.setCalcStatus(1);
-                workService.update(workEntity);
+                workService.updateById(workEntity);
                 sendEndMq(param);
                 updateOssStatusJson(param.getSceneCode(),1);
                 channel.basicAck(deliveryTag, false);
@@ -274,6 +287,65 @@ public class SceneListener {
     }
 
 
+
+    private void initData(WorkAddDto workAddDto, WorkEntity entity){
+        //添加默认分组
+        WorkNavigationDTO defaultGroup = WorkNavigationDTO.builder().parentId(0L).name("一级分组").sort(0).build();
+        defaultGroup.setWorkId(entity.getId());
+        WorkNavigationVo workNavigationVo = workNavigationSettingService.addGroup(defaultGroup);
+        List<WorkNavigationEntity> workNavigationEntities = BeanUtil.copyToList(workAddDto.getSceneDTOList(), WorkNavigationEntity.class);
+        AtomicInteger sort = new AtomicInteger(0);
+        workNavigationEntities.stream().forEach(v->{
+            v.setParentId(workNavigationVo.getId());
+            v.setWorkId(entity.getId());
+            v.setSort(sort.getAndAdd(1));
+        });
+        workNavigationService.saveBatch(workNavigationEntities);
+
+        //初始化遮罩数据
+        this.initMaskData(workNavigationEntities);
+
+        //初始化自定义按钮
+        this.initCustomButton(entity.getId());
+    }
+    private void initCustomButton(String workId){
+        WorkCustomButtonEntity phoneButton = new WorkCustomButtonEntity();
+        phoneButton.setWorkId(workId);
+        phoneButton.setIsShow(0);
+        phoneButton.setName("电话");
+        phoneButton.setType("phone");
+        phoneButton.setOpenMethod("_self");
+        phoneButton.setCreateTime(new Date());
+
+        WorkCustomButtonEntity linkButton = BeanUtil.toBean(phoneButton, WorkCustomButtonEntity.class);
+        linkButton.setName("链接");
+
+        workCustomButtonService.saveBatch(Arrays.asList(phoneButton, linkButton));
+
+    }
+
+    private void initMaskData(List<WorkNavigationEntity> workNavigations){
+        List<WorkCustomMaskEntity> list = new ArrayList<>();
+        workNavigations.stream().forEach(v->{
+            WorkCustomMaskEntity sky = new WorkCustomMaskEntity();
+            sky.setWorkId(v.getWorkId());
+            sky.setNavigationId(v.getId());
+            sky.setIsShow(true);
+            sky.setType("sky");
+            sky.setAntidistorted(true);
+            sky.setScale(1D);
+            list.add(sky);
+
+            WorkCustomMaskEntity earth = BeanUtil.toBean(sky, WorkCustomMaskEntity.class);
+            earth.setType("earth");
+            earth.setIsShow(false);
+            list.add(earth);
+        });
+        if(CollUtil.isNotEmpty(list)){
+            workCustomMaskService.saveBatch(list);
+        }
+    }
+
     private void updateOssStatusJson(String sceneCode, int status) throws IOException {
         //修改OSS,status状态 scene_view_data/场景码/data/status.json
         String statusJson = "scene_view_data/"+sceneCode+"/data/status.json";
@@ -393,7 +465,7 @@ public class SceneListener {
             size = size / 1024;
             log.info("fileSize: " + size);
             entity.setFileSize(size + "");
-            scenePanoService.update(entity);
+            scenePanoService.updateById(entity);
 
         }
 
@@ -452,7 +524,7 @@ public class SceneListener {
             entity.setStatus(2);
             future.cancel(true);
         } finally {
-            scenePanoService.update(entity);
+            scenePanoService.updateById(entity);
             log.info("切图流程, 更新数据库完成 : ");
         }
         log.info("切图流程结束 : ");
@@ -461,15 +533,10 @@ public class SceneListener {
 
     /**
      * 更新 tour.xml
-     * @param someDataToJson
      * @param id
      */
-    private void updateTour(JSONObject someDataToJson, String id) {
-        long startTime = System.currentTimeMillis();
-        String scenes = someDataToJson.getString("scenes");
-        BaseRuntimeException.isBlank(scenes, null, "someData的场景码参数未空");
+    private void saveTour(String id) {
         List<ScenePanoEntity> list = scenePanoService.findByWorkId(id);
-
         // 读取tour.xml模板
         String baseTour = getBaseTour();
         StringBuilder builder = new StringBuilder();
@@ -538,73 +605,7 @@ public class SceneListener {
     }
 
 
-    private JSONObject editSomeData(WorkEntity workEntity, List<Map<String, Object>> scenes){
-        // 如基someData作出修改,记得把代码里的someData 跟服务器里的someData都修改
-        String baseSomeDataPath = configConstant.serverBasePath + "baseData/someData.json";
-        String baseSomeDataSceneDataPath = configConstant.serverBasePath + "baseData/someDataSceneData.json";
-        log.info("服务器base someData.json path: {}", baseSomeDataPath);
-        // someData.json 内容
-        String content = null;
-        if (FileUtil.isFile(baseSomeDataPath)) {
-            log.info("使用服务器someData.json");
-            content = FileUtil.readUtf8String(baseSomeDataPath);
-        } else {
-            // 获取文件内容
-            log.info("创建someData.json");
-            content = FileUtils.getResourceContent("data/someData.json");
-            FileUtil.writeUtf8String(content, baseSomeDataPath);
-        }
-        String someDataSceneDatContent = null;
-        if (FileUtil.isFile(baseSomeDataSceneDataPath)) {
-            log.info("使用服务器SomeDataSceneData.json");
-            someDataSceneDatContent = FileUtil.readUtf8String(baseSomeDataSceneDataPath);
-        } else {
-            // 获取文件内容
-            log.info("创建SomeDataSceneData.json");
-            someDataSceneDatContent = FileUtils.getResourceContent("data/someDataSceneData.json");
-            FileUtil.writeUtf8String(someDataSceneDatContent, baseSomeDataSceneDataPath);
-        }
-
-
-        JSONObject jsonObject = JSONObject.parseObject(content);
-        jsonObject.put("id", workEntity.getId() + "");
-
-
-        // 创建二维码、二维码url
-        String shareUrl = configConstant.domain4dKK + "/panorama/showMobile.html?id=" + workEntity.getId();
-        String qrCode = qrCodeUtils.generateLogoQrCode(shareUrl, configConstant.serverBasePath, configConstant.ossBasePath, ossUtil.calculateUrl(""), workEntity.getId());
-        jsonObject.put("share", shareUrl);
-        jsonObject.put("qrCode", qrCode);
-        jsonObject.put("icon",workEntity.getIcon());
-        jsonObject.put("name",workEntity.getName());
-        if (ObjectUtil.isNotEmpty(workEntity.getPassword())){
-            jsonObject.put("password", workEntity.getPassword());
-        }
 
-        String ossKeyPath = configConstant.ossBasePath + workEntity.getId() + "/someData.json";
-        workEntity.setQrCode(qrCode);
-        workEntity.setShare(shareUrl);
-        workService.update(workEntity);
-
-        JSONArray scenesJson = new JSONArray();
-        for (Map<String, Object> scene : scenes) {
-            JSONObject SomeDataSceneDataJsonObject = JSONObject.parseObject(someDataSceneDatContent);
-            SomeDataSceneDataJsonObject.putAll(scene);
-            scenesJson.add(JSON.toJSON(SomeDataSceneDataJsonObject));
-        }
-        jsonObject.remove("scenes");
-        jsonObject.put("scenes",JSON.toJSON(scenesJson));
-
-        try {
-            fileAndOssUtil.upload(jsonObject.toJSONString().getBytes(), ossKeyPath);
-
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        String ossUrl = ossUtil.calculateUrl("") + ossKeyPath;
-        log.info("ossSomeData:{}", ossUrl);
-        return jsonObject;
-    }
 
 
     public static void main(String[] args) {

+ 2 - 2
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/listener/SceneMigrateListener.java

@@ -5,7 +5,7 @@ import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.gis.constant.ConfigConstant;
-import com.gis.entity.OpenSceneMigrateDto;
+import com.gis.dto.OpenSceneMigrateDto;
 import com.gis.entity.WorkEntity;
 import com.gis.mq.RabbitMqProducerUtil;
 import com.gis.oss.util.FileAndOssUtil;
@@ -76,7 +76,7 @@ public class SceneMigrateListener {
                 if (ObjectUtil.isNotNull(workEntity)) {
                     workEntity.setSnCode(param.getToSnCode());
                     workEntity.setUserId(param.getPhone());
-                    workService.update(workEntity);
+                    workService.updateById(workEntity);
                 }
             }
         }catch (Exception e){

+ 2 - 2
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/listener/ScenePayStatusListener.java

@@ -3,7 +3,7 @@ package com.gis.listener;
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
-import com.gis.entity.SceneQueueDTO;
+import com.gis.dto.SceneQueueDTO;
 import com.gis.entity.WorkEntity;
 import com.gis.service.WorkService;
 import com.rabbitmq.client.Channel;
@@ -64,7 +64,7 @@ public class ScenePayStatusListener {
                 if (ObjectUtil.isNotNull(workEntity)){
                     //修改状态
                     workEntity.setPayStatus(param.getPayStatus());
-                    workService.update(workEntity);
+                    workService.updateById(workEntity);
                 }
             }
             channel.basicAck(deliveryTag, false);

+ 2 - 1
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/mapper/FodderMapper.java

@@ -1,6 +1,7 @@
 package com.gis.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.entity.FodderEntity;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
@@ -9,7 +10,7 @@ import org.springframework.stereotype.Component;
 
 @Component
 @Mapper
-public interface FodderMapper extends IBaseMapper<FodderEntity, Long> {
+public interface FodderMapper extends BaseMapper<FodderEntity> {
 
     @Select("select * from tb_fodder where is_delete = 0 and id = #{id}")
     FodderEntity findById(Long id);

+ 2 - 1
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/mapper/ScenePanoMapper.java

@@ -1,5 +1,6 @@
 package com.gis.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.entity.ScenePanoEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -10,5 +11,5 @@ import org.apache.ibatis.annotations.Mapper;
 * @since 2024-04-03 18:01
 */
 @Mapper
-public interface ScenePanoMapper extends IBaseMapper<ScenePanoEntity,Long> {
+public interface ScenePanoMapper extends BaseMapper<ScenePanoEntity> {
 }

+ 17 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/mapper/WorkCustomButtonMapper.java

@@ -0,0 +1,17 @@
+package com.gis.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gis.entity.WorkCustomButtonEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Component;
+
+/**
+* 自定义按钮设置表 Mapper
+*
+* @author Xiewj
+* @since 2023-09-06 14:50
+*/
+@Component("WorkCustomButtonMapper")
+@Mapper
+public interface WorkCustomButtonMapper extends BaseMapper<WorkCustomButtonEntity> {
+}

+ 17 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/mapper/WorkCustomMaskMapper.java

@@ -0,0 +1,17 @@
+package com.gis.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gis.entity.WorkCustomMaskEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Component;
+
+/**
+* 遮罩设置表 Mapper
+*
+* @author Xiewj
+* @since 2023-09-06 14:37
+*/
+@Component("WorkCustomMaskMapper")
+@Mapper
+public interface WorkCustomMaskMapper extends BaseMapper<WorkCustomMaskEntity> {
+}

+ 2 - 1
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/mapper/WorkMapper.java

@@ -1,6 +1,7 @@
 package com.gis.mapper;
 
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gis.entity.WorkEntity;
 import org.apache.ibatis.annotations.*;
 import org.springframework.stereotype.Component;
@@ -10,7 +11,7 @@ import java.util.List;
 
 @Component
 @Mapper
-public interface WorkMapper extends IBaseStrMapper<WorkEntity, String> {
+public interface WorkMapper extends BaseMapper<WorkEntity> {
 
 
     @Update("UPDATE tb_work SET visit= visit + 1 where id = #{id}")

+ 20 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/mapper/WorkNavigationMapper.java

@@ -0,0 +1,20 @@
+package com.gis.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gis.entity.WorkNavigationEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Component;
+
+/**
+* 作品导航表 Mapper
+*
+* @author Xiewj
+* @since 2023-09-08 18:13
+*/
+@Component("WorkNavigationMapper")
+@Mapper
+public interface WorkNavigationMapper extends BaseMapper<WorkNavigationEntity> {
+
+//    List<WorkNavigationVo> selectList(@Param("dto") WorkNavigationDTO dto,@Param("workId")  String workId);
+
+}

+ 4 - 1
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/FodderService.java

@@ -1,9 +1,12 @@
 package com.gis.service;
 
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gis.entity.FodderEntity;
+
 /**
  * Created by owen on 2022/7/27 0027 16:54
  */
-public interface FodderService {
+public interface FodderService extends IService<FodderEntity> {
 
     void doSlice(Long param, String traceId);
 }

+ 0 - 52
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/IBaseService.java

@@ -1,52 +0,0 @@
-package com.gis.service;
-
-import com.github.pagehelper.PageInfo;
-import tk.mybatis.mapper.entity.Condition;
-
-import java.io.Serializable;
-import java.util.List;
-
-public interface IBaseService<T, ID extends Serializable> {
-
-    public abstract T findById(ID id);
-
-    public abstract T findOne(T entity);
-
-    public abstract List<T> findByIds(String ids);
-
-    public abstract long count();
-
-    public abstract boolean exists(ID id);
-
-    public abstract int save(T entity);
-
-    public abstract int update(T entity);
-
-    public abstract int updateAll(T entity);
-
-    public abstract int deleteById(ID id);
-
-    public abstract int deleteByIds(String ids);
-
-    public abstract int delete(T entity);
-
-    public abstract List<T> findAll(Condition condition, String orderBy);
-
-    public abstract List<T> findAll(Condition condition);
-
-    public abstract List<T> findAll();
-
-    public abstract PageInfo<T> findAll(int pageNum, int pageSize);
-
-    public abstract PageInfo<T> findAll(int pageNum, int pageSize, String orderBy);
-
-    public abstract PageInfo<T> findAll(Condition condition, int pageNum, int pageSize);
-
-    public abstract PageInfo<T> findAll(Condition condition, int pageNum, int pageSize, String orderBy);
-
-
-    public abstract String getUserNameForToken();
-
-
-
-}

+ 0 - 53
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/IBaseStrService.java

@@ -1,53 +0,0 @@
-package com.gis.service;
-
-import com.github.pagehelper.PageInfo;
-import tk.mybatis.mapper.entity.Condition;
-
-import java.io.Serializable;
-import java.util.List;
-
-public interface IBaseStrService<T, ID extends Serializable> {
-
-    public abstract T findById(ID id);
-
-    public abstract T findOne(T entity);
-
-    public abstract List<T> findByIds(String ids);
-
-    public abstract long count();
-
-    public abstract boolean exists(ID id);
-
-    public abstract int save(T entity);
-    public abstract int save2(T entity);
-
-    public abstract int update(T entity);
-
-    public abstract int updateAll(T entity);
-
-    public abstract int deleteById(ID id);
-
-    public abstract int deleteByIds(String ids);
-
-    public abstract int delete(T entity);
-
-    public abstract List<T> findAll(Condition condition, String orderBy);
-
-    public abstract List<T> findAll(Condition condition);
-
-    public abstract List<T> findAll();
-
-    public abstract PageInfo<T> findAll(int pageNum, int pageSize);
-
-    public abstract PageInfo<T> findAll(int pageNum, int pageSize, String orderBy);
-
-    public abstract PageInfo<T> findAll(Condition condition, int pageNum, int pageSize);
-
-    public abstract PageInfo<T> findAll(Condition condition, int pageNum, int pageSize, String orderBy);
-
-
-    public abstract String getUserNameForToken();
-
-
-
-}

+ 2 - 1
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/ScenePanoService.java

@@ -1,6 +1,7 @@
 package com.gis.service;
 
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.entity.ScenePanoEntity;
 
 import java.util.List;
@@ -11,7 +12,7 @@ import java.util.List;
  * @author Xiewj
  * @since 2024-04-03 18:01
  */
-public interface ScenePanoService extends IBaseService<ScenePanoEntity,Long> {
+public interface ScenePanoService extends IService<ScenePanoEntity> {
 
     ScenePanoEntity findByWorkIdAndName(String workId, String imgName);
     List<ScenePanoEntity> findByWorkId(String workId);

+ 18 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/WorkCustomButtonService.java

@@ -0,0 +1,18 @@
+package com.gis.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gis.entity.WorkCustomButtonEntity;
+
+import java.util.List;
+
+/**
+ * 自定义按钮设置表 服务类接口
+ *
+ * @author Xiewj
+ * @since 2023-09-06 14:50
+ */
+public interface WorkCustomButtonService extends IService<WorkCustomButtonEntity> {
+
+    List<WorkCustomButtonEntity> listByWorkId(String workId);
+
+}

+ 23 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/WorkCustomMaskService.java

@@ -0,0 +1,23 @@
+package com.gis.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gis.dto.WorkMaskBatchSaveDTO;
+import com.gis.entity.WorkCustomMaskEntity;
+import com.gis.vo.WorkCustomMaskVO;
+
+import java.util.List;
+
+/**
+ * 遮罩设置表 服务类接口
+ *
+ * @author Xiewj
+ * @since 2023-09-06 14:37
+ */
+public interface WorkCustomMaskService extends IService<WorkCustomMaskEntity> {
+
+    List<WorkCustomMaskVO> batchSave(WorkMaskBatchSaveDTO dto);
+
+    List<WorkCustomMaskEntity> listByWorkId(String workId);
+
+    void deleteByNavigationIds(List<Long> navigationIds);
+}

+ 25 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/WorkNavigationService.java

@@ -0,0 +1,25 @@
+package com.gis.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gis.entity.WorkNavigationEntity;
+
+import java.util.List;
+
+/**
+ * 作品导航表 服务类接口
+ *
+ * @author Xiewj
+ * @since 2023-09-08 18:13
+ */
+public interface WorkNavigationService extends IService<WorkNavigationEntity> {
+    List<WorkNavigationEntity> selectByParentId(long parentId);
+
+    List<WorkNavigationEntity> selectScenes(String workId);
+
+    List<WorkNavigationEntity> selectByWorkId(String workId);
+
+    void reSetFistSceneByWorkId(String workId);
+
+    List<Long> getDeleteIdList(String workId, List<Long> ids);
+
+}

+ 14 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/WorkNavigationSettingService.java

@@ -0,0 +1,14 @@
+package com.gis.service;
+
+import cn.hutool.core.lang.tree.Tree;
+import com.gis.dto.WorkNavigationDTO;
+import com.gis.entity.WorkNavigationVo;
+
+import java.util.List;
+import java.util.Map;
+
+public interface WorkNavigationSettingService {
+
+    WorkNavigationVo addGroup(WorkNavigationDTO dto);
+
+}

+ 3 - 2
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/WorkService.java

@@ -1,14 +1,15 @@
 package com.gis.service;
 
 
-import com.gis.entity.SceneQueueDTO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gis.dto.SceneQueueDTO;
 import com.gis.entity.WorkEntity;
 
 
 /**
  * Created by owen on 2020/3/11 0011 16:14
  */
-public interface WorkService extends IBaseService<WorkEntity, String>{
+public interface WorkService extends IService<WorkEntity> {
 
     WorkEntity entityAdd(SceneQueueDTO sceneQueueDTO);
     WorkEntity findByNum(String num);

+ 3 - 2
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/FodderServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.thread.ThreadUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.XmlUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.filestorage.FileStorageTemplate;
 import com.gis.constant.CmdConstant;
 import com.gis.constant.ConfigConstant;
@@ -33,7 +34,7 @@ import java.util.regex.Pattern;
  */
 @Slf4j
 @Service
-public class FodderServiceImpl implements FodderService {
+public class FodderServiceImpl extends ServiceImpl<FodderMapper,FodderEntity> implements FodderService {
 
     @Autowired
     ConfigConstant configConstant;
@@ -180,7 +181,7 @@ public class FodderServiceImpl implements FodderService {
             future.cancel(true);
         } finally {
             entity.setUpdateTime(new Date());
-            fodderMapper.updateByPrimaryKey(entity);
+            updateById(entity);
             log.info("切图流程, 更新数据库完成 : " + id);
         }
         log.info("切图流程结束 : " + id);

+ 0 - 185
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/IBaseServiceImpl.java

@@ -1,185 +0,0 @@
-package com.gis.service.impl;
-
-import com.gis.constant.ConfigConstant;
-import com.gis.entity.BaseEntity;
-import com.gis.mapper.IBaseMapper;
-import com.gis.service.IBaseService;
-import com.gis.util.JwtUtil;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.StringUtils;
-import tk.mybatis.mapper.entity.Condition;
-
-import javax.servlet.http.HttpServletRequest;
-import java.io.Serializable;
-import java.lang.reflect.ParameterizedType;
-import java.util.Date;
-import java.util.List;
-
-/**
- * Created by owen on 2020/2/18 0018 11:22
- */
-@Transactional
-public abstract class IBaseServiceImpl<T extends BaseEntity, ID extends Serializable> implements IBaseService<T, ID> {
-
-    @Autowired
-    public ConfigConstant configConstant;
-
-    @Autowired
-    protected HttpServletRequest request;
-
-    public abstract IBaseMapper<T, ID> getBaseMapper();
-
-    private Class<T> entityClass;
-
-    public IBaseServiceImpl(){
-        ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass();
-        entityClass = (Class<T>) pt.getActualTypeArguments()[0];
-    }
-
-    @Override
-    public T findById(ID id){
-        Condition condition = new Condition(entityClass);
-        condition.createCriteria().andEqualTo("id", id);
-        condition.and().andEqualTo("isDelete", 0);
-        List<T> ts = getBaseMapper().selectByCondition(condition);
-        if (ts != null && ts.size() > 0){
-            return ts.get(0);
-        }else{
-            return null;
-        }
-    }
-
-    @Override
-    public T findOne(T entity){
-        entity.setIsDelete(0);
-        return getBaseMapper().selectOne(entity);
-    }
-
-    @Override
-    public List<T> findAll(){
-        Condition condition = new Condition(entityClass);
-        condition.createCriteria().andEqualTo("isDelete", 0);
-        return getBaseMapper().selectByCondition(condition);
-    }
-
-    /**
-     * 根据主键字符串进行查询,类中只有存在一个带有@Id注解的字段
-     *
-     * @param ids 如 "1,2,3,4"
-     * @return
-     */
-    @Override
-    public List<T> findByIds(String ids){
-        return getBaseMapper().selectByIds(ids);
-    }
-
-    @Override
-    public long count(){
-        List<T> all = this.findAll();
-        if (all != null && all.size() > 0){
-            return all.size();
-        }
-        return 0;
-    }
-
-    @Override
-    public boolean exists(ID id){
-        return getBaseMapper().existsWithPrimaryKey(id);
-    }
-
-    @Override
-    public int save(T entity) {
-        //migration之后要删掉判断
-            entity.setCreateTime(new Date());
-            entity.setUpdateTime(new Date());
-        return getBaseMapper().insertSelective(entity);
-    }
-
-    @Override
-    public int update(T entity) {
-        //migration之后要删掉判断
-            entity.setUpdateTime(new Date());
-        return getBaseMapper().updateByPrimaryKeySelective(entity);
-    }
-
-    @Override
-    public int updateAll(T entity) {
-        //migration之后要删掉判断
-            entity.setUpdateTime(new Date());
-        return getBaseMapper().updateByPrimaryKey(entity);
-    }
-
-    @Override
-    public int deleteById(ID id) {
-        return getBaseMapper().deleteByPrimaryKey(id);
-    }
-
-    @Override
-    public int deleteByIds(String ids){
-        return getBaseMapper().deleteByIds(ids);
-    }
-
-    @Override
-    public int delete(T entity){
-        return getBaseMapper().delete(entity);
-    }
-
-    public List<T> findAll(Condition condition){
-        condition.and().andEqualTo("isDelete", 0);
-        return getBaseMapper().selectByCondition(condition);
-    }
-
-    public List<T> findAll(Condition condition, String orderBy){
-        condition.and().andEqualTo("isDelete", 0);
-        if (!StringUtils.isEmpty(orderBy)){
-            PageHelper.orderBy(orderBy);
-        }
-        return getBaseMapper().selectByCondition(condition);
-    }
-
-    public PageInfo<T> findAll(int pageNum, int pageSize){
-        PageHelper.startPage(pageNum, pageSize);
-        return new PageInfo<>(this.findAll());
-    }
-
-    public PageInfo<T> findAll(int pageNum, int pageSize, String orderBy){
-        PageHelper.startPage(pageNum, pageSize);
-        if (!StringUtils.isEmpty(orderBy)){
-            PageHelper.orderBy(orderBy);
-        }
-        return new PageInfo<>(this.findAll());
-    }
-
-    public PageInfo<T> findAll(Condition condition, int pageNum, int pageSize){
-        PageHelper.startPage(pageNum, pageSize);
-        return new PageInfo<>(this.findAll(condition));
-    }
-
-    public PageInfo<T> findAll(Condition condition, int pageNum, int pageSize, String orderBy){
-        PageHelper.startPage(pageNum, pageSize);
-        if (!StringUtils.isEmpty(orderBy)){
-            PageHelper.orderBy(orderBy);
-        }
-        return new PageInfo<>(this.findAll(condition));
-    }
-
-
-
-
-    public String getUserNameForToken(){
-        /** 获取header token */
-        String token = request.getHeader("token");
-        if (org.apache.commons.lang3.StringUtils.isNotBlank(token)){
-            return JwtUtil.getUsername(token);
-        }
-        return null;
-    }
-
-    public String getToken(){
-        /** 获取header token */
-        return request.getHeader("token");
-    }
-}

+ 0 - 196
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/IBaseStrServiceImpl.java

@@ -1,196 +0,0 @@
-package com.gis.service.impl;
-
-import cn.hutool.core.util.StrUtil;
-import com.gis.constant.ConfigConstant;
-import com.gis.entity.BaseStrEntity;
-import com.gis.mapper.IBaseStrMapper;
-import com.gis.service.IBaseStrService;
-import com.gis.util.JwtUtil;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.StringUtils;
-import tk.mybatis.mapper.entity.Condition;
-
-import javax.servlet.http.HttpServletRequest;
-import java.io.Serializable;
-import java.lang.reflect.ParameterizedType;
-import java.util.Date;
-import java.util.List;
-
-/**
- * Created by owen on 2020/2/18 0018 11:22
- */
-@Transactional
-public abstract class IBaseStrServiceImpl<T extends BaseStrEntity, ID extends Serializable> implements IBaseStrService<T, ID> {
-
-    @Autowired
-    public ConfigConstant configConstant;
-
-    @Autowired
-    protected HttpServletRequest request;
-
-    public abstract IBaseStrMapper<T, ID> getBaseMapper();
-
-    private Class<T> entityClass;
-
-    public IBaseStrServiceImpl(){
-        ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass();
-        entityClass = (Class<T>) pt.getActualTypeArguments()[0];
-    }
-
-    @Override
-    public T findById(ID id){
-        Condition condition = new Condition(entityClass);
-        condition.createCriteria().andEqualTo("id", id);
-        condition.and().andEqualTo("isDelete", 0);
-        List<T> ts = getBaseMapper().selectByCondition(condition);
-        if (ts != null && ts.size() > 0){
-            return ts.get(0);
-        }else{
-            return null;
-        }
-    }
-
-    @Override
-    public T findOne(T entity){
-        entity.setIsDelete(0);
-        return getBaseMapper().selectOne(entity);
-    }
-
-    @Override
-    public List<T> findAll(){
-        Condition condition = new Condition(entityClass);
-        condition.createCriteria().andEqualTo("isDelete", 0);
-        return getBaseMapper().selectByCondition(condition);
-    }
-
-    /**
-     * 根据主键字符串进行查询,类中只有存在一个带有@Id注解的字段
-     *
-     * @param ids 如 "1,2,3,4"
-     * @return
-     */
-    @Override
-    public List<T> findByIds(String ids){
-        return getBaseMapper().selectByIds(ids);
-    }
-
-    @Override
-    public long count(){
-        List<T> all = this.findAll();
-        if (all != null && all.size() > 0){
-            return all.size();
-        }
-        return 0;
-    }
-
-    @Override
-    public boolean exists(ID id){
-        return getBaseMapper().existsWithPrimaryKey(id);
-    }
-
-    @Override
-    public int save(T entity) {
-        //migration之后要删掉判断
-            entity.setCreateTime(new Date());
-            entity.setUpdateTime(new Date());
-        return getBaseMapper().insertSelective(entity);
-    }
-    public int save2(T entity) {
-        //migration之后要删掉判断
-        return getBaseMapper().insertSelective(entity);
-    }
-    @Override
-    public int update(T entity) {
-        //migration之后要删掉判断
-            entity.setUpdateTime(new Date());
-        return getBaseMapper().updateByPrimaryKeySelective(entity);
-    }
-
-    @Override
-    public int updateAll(T entity) {
-        //migration之后要删掉判断
-            entity.setUpdateTime(new Date());
-        return getBaseMapper().updateByPrimaryKey(entity);
-    }
-
-    @Override
-    public int deleteById(ID id) {
-        return getBaseMapper().deleteByPrimaryKey(id);
-    }
-
-    @Override
-    public int deleteByIds(String ids){
-        return getBaseMapper().deleteByIds(ids);
-    }
-
-    @Override
-    public int delete(T entity){
-        return getBaseMapper().delete(entity);
-    }
-
-    public List<T> findAll(Condition condition){
-        condition.and().andEqualTo("isDelete", 0);
-        return getBaseMapper().selectByCondition(condition);
-    }
-
-    public List<T> findAll(Condition condition, String orderBy){
-        condition.and().andEqualTo("isDelete", 0);
-        if (!StringUtils.isEmpty(orderBy)){
-            PageHelper.orderBy(orderBy);
-        }
-        return getBaseMapper().selectByCondition(condition);
-    }
-
-    public PageInfo<T> findAll(int pageNum, int pageSize){
-        PageHelper.startPage(pageNum, pageSize);
-        return new PageInfo<>(this.findAll());
-    }
-
-    public PageInfo<T> findAll(int pageNum, int pageSize, String orderBy){
-        PageHelper.startPage(pageNum, pageSize);
-        if (!StringUtils.isEmpty(orderBy)){
-            PageHelper.orderBy(orderBy);
-        }
-        return new PageInfo<>(this.findAll());
-    }
-
-    public PageInfo<T> findAll(Condition condition, int pageNum, int pageSize){
-        PageHelper.startPage(pageNum, pageSize);
-        return new PageInfo<>(this.findAll(condition));
-    }
-
-    public PageInfo<T> findAll(Condition condition, int pageNum, int pageSize, String orderBy){
-        PageHelper.startPage(pageNum, pageSize);
-        if (!StringUtils.isEmpty(orderBy)){
-            PageHelper.orderBy(orderBy);
-        }
-        return new PageInfo<>(this.findAll(condition));
-    }
-
-
-
-
-    public String getUserNameForToken(){
-        /** 获取header token */
-        String token = request.getHeader("token");
-        if (org.apache.commons.lang3.StringUtils.isNotBlank(token)){
-            return JwtUtil.getUsername(token);
-        }
-        return null;
-    }
-
-    public String getToken(){
-        /** 获取header token */
-        return request.getHeader("token");
-    }
-
-    public Integer getIsAdmin(){
-        if (StrUtil.isBlank(getToken())){
-            return null;
-        }
-        return JwtUtil.getIsAdmin(getToken());
-    }
-}

+ 7 - 15
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/ScenePanoServiceImpl.java

@@ -1,10 +1,11 @@
 package com.gis.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gis.entity.ScenePanoEntity;
 import com.gis.mapper.IBaseMapper;
 import com.gis.mapper.ScenePanoMapper;
 import com.gis.service.ScenePanoService;
-import com.gis.service.impl.IBaseServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -17,29 +18,20 @@ import java.util.List;
  * @since 2024-04-03 18:01
  */
 @Service
-public class ScenePanoServiceImpl extends IBaseServiceImpl<ScenePanoEntity, Long> implements ScenePanoService {
+public class ScenePanoServiceImpl extends ServiceImpl<ScenePanoMapper, ScenePanoEntity> implements ScenePanoService {
     @Autowired
 
     private ScenePanoMapper scenePanoMapper;
-    @Override
-    public IBaseMapper<ScenePanoEntity, Long> getBaseMapper() {
-        return this.scenePanoMapper;
-    }
 
     @Override
     public ScenePanoEntity findByWorkIdAndName(String workId, String imgName) {
-        ScenePanoEntity one=new ScenePanoEntity();
-        one.setWorkId(workId);
-        one.setName(imgName);
-        one.setIsDelete(0);
-        return getBaseMapper().selectOne(one);
+        return this.getOne(new LambdaQueryWrapper<ScenePanoEntity>().eq(ScenePanoEntity::getWorkId, workId).eq(ScenePanoEntity::getName, imgName));
+
     }
 
     @Override
     public List<ScenePanoEntity> findByWorkId(String workId) {
-        ScenePanoEntity one=new ScenePanoEntity();
-        one.setWorkId(workId);
-        one.setIsDelete(0);
-        return getBaseMapper().select(one);
+        return this.list(new LambdaQueryWrapper<ScenePanoEntity>().eq(ScenePanoEntity::getWorkId, workId));
+
     }
 }

+ 24 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/WorkCustomButtonServiceImpl.java

@@ -0,0 +1,24 @@
+package com.gis.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gis.entity.WorkCustomButtonEntity;
+import com.gis.mapper.WorkCustomButtonMapper;
+import com.gis.service.WorkCustomButtonService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 自定义按钮设置表 服务实现类
+ *
+ * @author Xiewj
+ * @since 2023-09-06 14:50
+ */
+@Service
+public class WorkCustomButtonServiceImpl extends ServiceImpl<WorkCustomButtonMapper, WorkCustomButtonEntity> implements WorkCustomButtonService {
+    @Override
+    public List<WorkCustomButtonEntity> listByWorkId(String workId) {
+        return list(new LambdaQueryWrapper<WorkCustomButtonEntity>().eq(WorkCustomButtonEntity::getWorkId, workId));
+    }
+}

+ 57 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/WorkCustomMaskServiceImpl.java

@@ -0,0 +1,57 @@
+package com.gis.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gis.dto.WorkCustomMaskDto;
+import com.gis.dto.WorkMaskBatchSaveDTO;
+import com.gis.entity.WorkCustomMaskEntity;
+import com.gis.exception.BaseRuntimeException;
+import com.gis.mapper.WorkCustomMaskMapper;
+import com.gis.service.WorkCustomMaskService;
+import com.gis.vo.WorkCustomMaskVO;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * 遮罩设置表 服务实现类
+ *
+ * @author Xiewj
+ * @since 2023-09-06 14:37
+ */
+@Service
+public class WorkCustomMaskServiceImpl extends ServiceImpl<WorkCustomMaskMapper, WorkCustomMaskEntity> implements WorkCustomMaskService {
+
+
+    @Override
+    public List<WorkCustomMaskVO> batchSave(WorkMaskBatchSaveDTO dto) {
+
+        List<WorkCustomMaskDto> list = dto.getList();
+        List<Long> ids = list.stream().filter(v -> Objects.nonNull(v.getId())).map(v -> v.getId()).collect(Collectors.toList());
+        if(CollUtil.isNotEmpty(ids)){
+            long count = this.count(new LambdaQueryWrapper<WorkCustomMaskEntity>().eq(WorkCustomMaskEntity::getWorkId, dto.getWorkId()).in(WorkCustomMaskEntity::getId, ids));
+            if(ids.size() != count){
+                throw new BaseRuntimeException("id有误");
+            }
+        }
+        List<WorkCustomMaskEntity> workCustomMaskEntities = BeanUtil.copyToList(list, WorkCustomMaskEntity.class);
+        workCustomMaskEntities.stream().forEach(v->v.setWorkId(dto.getWorkId()));
+        this.saveOrUpdateBatch(workCustomMaskEntities);
+
+        return BeanUtil.copyToList(workCustomMaskEntities, WorkCustomMaskVO.class);
+    }
+
+    @Override
+    public List<WorkCustomMaskEntity> listByWorkId(String workId) {
+        return this.list(new LambdaQueryWrapper<WorkCustomMaskEntity>().eq(WorkCustomMaskEntity::getWorkId, workId));
+    }
+
+    @Override
+    public void deleteByNavigationIds(List<Long> navigationIds) {
+        this.remove(new LambdaQueryWrapper<WorkCustomMaskEntity>().in(WorkCustomMaskEntity::getNavigationId, navigationIds));
+    }
+}

+ 79 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/WorkNavigationServiceImpl.java

@@ -0,0 +1,79 @@
+package com.gis.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gis.constant.NavigationTypeEnum;
+import com.gis.entity.WorkNavigationEntity;
+import com.gis.entity.WorkNavigationVo;
+import com.gis.mapper.WorkNavigationMapper;
+import com.gis.service.WorkNavigationService;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 作品导航表 服务实现类
+ *
+ * @author Xiewj
+ * @since 2023-09-08 18:13
+ */
+@Service
+public class WorkNavigationServiceImpl extends ServiceImpl<WorkNavigationMapper, WorkNavigationEntity> implements WorkNavigationService {
+
+    /**
+     * 得到子节点列表
+     */
+    private List<WorkNavigationVo> getChildList(List<WorkNavigationVo> list, WorkNavigationVo t) {
+        List<WorkNavigationVo> tlist = new ArrayList<WorkNavigationVo>();
+        Iterator<WorkNavigationVo> it = list.iterator();
+        while (it.hasNext()) {
+            WorkNavigationVo n = it.next();
+            if (n.getParentId().longValue() == t.getId().longValue()) {
+                tlist.add(n);
+            }
+        }
+        return tlist;
+    }
+
+    /**
+     * 判断是否有子节点
+     */
+    private boolean hasChild(List<WorkNavigationVo> list, WorkNavigationVo t) {
+        return getChildList(list, t).size() > 0;
+    }
+
+    @Override
+    public List<WorkNavigationEntity> selectByParentId(long parentId) {
+        return this.list(new LambdaQueryWrapper<WorkNavigationEntity>().eq(WorkNavigationEntity::getParentId, parentId));
+    }
+
+    @Override
+    public List<WorkNavigationEntity> selectScenes(String workId) {
+        List<WorkNavigationEntity> list = this.list(new LambdaQueryWrapper<WorkNavigationEntity>()
+                .eq(WorkNavigationEntity::getWorkId, workId)
+                .in(WorkNavigationEntity::getType, NavigationTypeEnum.FDKK.code(), NavigationTypeEnum.PANO.code()));
+        return list;
+    }
+
+    @Override
+    public List<WorkNavigationEntity> selectByWorkId(String workId) {
+        return this.list(new LambdaQueryWrapper<WorkNavigationEntity>().eq(WorkNavigationEntity::getWorkId, workId));
+    }
+
+    @Override
+    public void reSetFistSceneByWorkId(String workId) {
+        this.update(new LambdaUpdateWrapper<WorkNavigationEntity>().set(WorkNavigationEntity::getIsFirstScene, 0).eq(WorkNavigationEntity::getWorkId, workId));
+    }
+
+    @Override
+    public List<Long> getDeleteIdList(String workId, List<Long> ids) {
+        return this.list(new LambdaQueryWrapper<WorkNavigationEntity>()
+                .select(WorkNavigationEntity::getId)
+                .eq(WorkNavigationEntity::getWorkId, workId)
+                .notIn(WorkNavigationEntity::getId, ids)).stream().map(v->v.getId()).collect(Collectors.toList());
+    }
+}

+ 26 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/WorkNavigationSettingServiceImpl.java

@@ -0,0 +1,26 @@
+package com.gis.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.gis.constant.NavigationTypeEnum;
+import com.gis.dto.WorkNavigationDTO;
+import com.gis.entity.WorkNavigationEntity;
+import com.gis.entity.WorkNavigationVo;
+import com.gis.service.WorkNavigationService;
+import com.gis.service.WorkNavigationSettingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class WorkNavigationSettingServiceImpl implements WorkNavigationSettingService {
+    @Autowired
+    private WorkNavigationService workNavigationService;
+    @Override
+    public WorkNavigationVo addGroup(WorkNavigationDTO dto) {
+
+        WorkNavigationEntity entity = BeanUtil.toBean(dto, WorkNavigationEntity.class);
+        entity.setType(NavigationTypeEnum.GROUP.code());
+        workNavigationService.save(entity);
+
+        return BeanUtil.toBean(entity, WorkNavigationVo.class);
+    }
+}

+ 9 - 12
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/service/impl/WorkServiceImpl.java

@@ -1,10 +1,12 @@
 package com.gis.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gis.constant.ConfigConstant;
-import com.gis.entity.SceneQueueDTO;
+import com.gis.dto.SceneQueueDTO;
 import com.gis.entity.WorkEntity;
-import com.gis.mapper.IBaseStrMapper;
 import com.gis.mapper.WorkMapper;
 import com.gis.oss.util.FileAndOssUtil;
 import com.gis.service.WorkService;
@@ -22,7 +24,7 @@ import java.util.Date;
  */
 @Slf4j
 @Service
-public class WorkServiceImpl extends IBaseStrServiceImpl<WorkEntity, String> implements WorkService {
+public class WorkServiceImpl extends ServiceImpl<WorkMapper,WorkEntity> implements WorkService {
     @Autowired
     ConfigConstant configConstant;
 
@@ -35,9 +37,9 @@ public class WorkServiceImpl extends IBaseStrServiceImpl<WorkEntity, String> imp
 
     @Override
     public WorkEntity findByNum(String num) {
-        WorkEntity one=new WorkEntity();
-        one.setNum(num);
-        return getBaseMapper().selectOne(one);
+        LambdaQueryWrapper<WorkEntity> wrapper = Wrappers.lambdaQuery();
+        wrapper.eq(WorkEntity::getNum, num);
+        return getOne(wrapper);
     }
 
     @Override
@@ -67,16 +69,11 @@ public class WorkServiceImpl extends IBaseStrServiceImpl<WorkEntity, String> imp
         entity.setShootTime(sceneQueueDTO.getCreateTime());
         entity.setCreateTime(sceneQueueDTO.getCreateTime());
         entity.setUpdateTime(sceneQueueDTO.getCreateTime());
-        this.save2(entity);
+        save(entity);
         String id = entity.getId();
         log.info("创建对象完成: {}", id);
 
         return entity;
     }
 
-    @Override
-    public IBaseStrMapper<WorkEntity, String> getBaseMapper() {
-        return this.entityMapper;
-    }
-
 }

+ 45 - 0
720yun_fd_consumer/gis_consumer/src/main/java/com/gis/vo/WorkCustomMaskVO.java

@@ -0,0 +1,45 @@
+package com.gis.vo;
+
+import com.gis.entity.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 遮罩设置表
+ *
+ * @author Xiewj
+ * @since 2023-09-06 14:37
+ */
+@Data
+public class WorkCustomMaskVO extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty("wordid")
+    private String workId;
+
+    @ApiModelProperty("导航id")
+    private Long navigationId;
+
+    @ApiModelProperty("素材id")
+    private Long fodderId;
+
+    @ApiModelProperty("图片地址")
+    private String icon;
+
+    @ApiModelProperty("开关 默认false")
+    private Boolean isShow;
+
+    @ApiModelProperty("类型 earth sky")
+    private String type;
+
+    @ApiModelProperty("随着场景转动")
+    private Boolean antidistorted;
+
+    @ApiModelProperty("缩放")
+    private Double scale;
+
+}

+ 5 - 0
720yun_fd_consumer/gis_consumer/src/main/resources/application-loc-site.yml

@@ -67,8 +67,13 @@ tlog:
 queue:
     scene-queue: queue-pano-scene
     do-slice-queue: queue-do-slice
+    relics-init-queue: relics-init-queue
+    relics-update-name-queue: relics-update-name-queue
     pano-migrate-scene-queue: pano-migrate-scene-queue
     pano-paystatus-scene-queue: pano-paystatus-scene-queue
+    scene-queue-work: queue-pano-scene-work
+
+
 
 domain:
     4dkk: https://test.4dkankan.com

+ 4 - 6
720yun_fd_consumer/gis_consumer_oss/pom.xml

@@ -128,12 +128,6 @@
         <!--</dependency>-->
 
 
-        <!--tk.mybatis 依赖-->
-        <dependency>
-            <groupId>tk.mybatis</groupId>
-            <artifactId>mapper-spring-boot-starter</artifactId>
-        </dependency>
-
 
         <!--分页插件-->
         <dependency>
@@ -197,6 +191,10 @@
             <groupId>com.yomahub</groupId>
             <artifactId>tlog-all-spring-boot-starter</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+        </dependency>
     </dependencies>
 
 

+ 5 - 13
720yun_fd_consumer/pom.xml

@@ -36,8 +36,6 @@
         <shiro.version>1.3.2</shiro.version>
         <jwt.version>3.2.0</jwt.version>
         <jjwt.version>0.6.0</jjwt.version>
-        <tk.mybatis.version>2.0.2</tk.mybatis.version>
-        <tk.mapper.version>4.0.3</tk.mapper.version>
         <pagehelper.version>1.2.5</pagehelper.version>
         <knife4j.version>3.0.3</knife4j.version>
         <junit.version>4.12</junit.version>
@@ -51,6 +49,8 @@
         <cos.version>5.6.166</cos.version>
         <aliyun-sdk-oss.version>3.15.1</aliyun-sdk-oss.version>
 
+        <mybatisPlus.version>3.5.3.2</mybatisPlus.version>
+
     </properties>
 
 
@@ -183,18 +183,10 @@
             </dependency>
 
 
-            <!--tk.mybatis 依赖-->
             <dependency>
-                <groupId>tk.mybatis</groupId>
-                <artifactId>mapper-spring-boot-starter</artifactId>
-                <version>${tk.mybatis.version}</version>
-                <!-- tk.mybatis 跟springboot jap 包冲突-->
-                <exclusions>
-                    <exclusion>
-                        <groupId>javax.persistence</groupId>
-                        <artifactId>persistence-api</artifactId>
-                    </exclusion>
-                </exclusions>
+                <groupId>com.baomidou</groupId>
+                <artifactId>mybatis-plus-boot-starter</artifactId>
+                <version>${mybatisPlus.version}</version>
             </dependency>
 
 

+ 14 - 9
720yun_fd_manage/gis_application/src/main/resources/application-locSit.yml

@@ -10,15 +10,17 @@ logging:
     level:
         com:
             gis: debug
-oss:
-    bucket: oss-xiaoan
-    domain: https://ossxiaoan.4dage.com/
-    file:
-        path: ${project.name}/
-    key: LTAI5tSkKQbEmxxuTbPtHqK6
-    point: http://oss-cn-shenzhen.aliyuncs.com
-    secrecy: JI21tOnZbJuqt5NDRcQq2qvAUA4KTf
-    type: oss
+filestorage:
+    active: oss
+    oss:
+        endpoint: http://oss-cn-shenzhen.aliyuncs.com
+        internal-endpoint: http://oss-cn-shenzhen.aliyuncs.com
+        access-key: LTAI5tJwboCj3r4vUNkSmbyX
+        access-key-secret: meDy7VYAWbg8kZCKsoUZcIYQxigWOy
+        bucket: oss-xiaoan
+        bucket-custom-domain:
+            qjkankan: https://ossxiaoan.4dage.com/
+        full-path: true
 server:
     domain: ''
     file:
@@ -95,3 +97,6 @@ forest:
 queue:
     scene-queue: queue-pano-scene
     do-slice-queue: queue-do-slice
+    relics-update-name-queue: relics-update-name-queue
+config:
+    bashPath: ${project.name}/

+ 4 - 5
720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/dto/WorkCoverTypeDto.java

@@ -87,16 +87,15 @@ public class WorkCoverTypeDto {
     private String videoColorSelec;
 
     @ApiModelProperty("关联fodderId")
-    private int videoMoId;
-
+    private Integer videoMoId;
     @ApiModelProperty("关联fodderId")
-    private int cover_mo_id;
+    private Integer coverMoId;
 
     @ApiModelProperty("关联fodderId")
-    private int video_pc_id;
+    private Integer videoPcId;
 
     @ApiModelProperty("关联fodderId")
-    private int cover_pc_id;
+    private Integer coverPcId;
 
 //    @ApiModelProperty("fodderId集合 ")
 //    //string fodderId = string.Join(",", myList.Select(x => x.ToString()).ToArray());

+ 3 - 0
720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/dto/WorkLogoDto.java

@@ -36,4 +36,7 @@ public class WorkLogoDto   {
     @ApiModelProperty(" 默认false")
     private Boolean logoChange;
 
+    @ApiModelProperty("logoId就是素材id")
+    private Integer logoId;
+
 }

+ 1 - 1
720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/entity/WorkBackgroundMusicEntity.java

@@ -32,5 +32,5 @@ public class WorkBackgroundMusicEntity extends BaseEntity  implements Serializab
     private String ossPath;
 
     @ApiModelProperty("fodder_id")
-    private String fodderId;
+    private Long fodderId;
 }

+ 4 - 4
720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/entity/WorkCoverTypeEntity.java

@@ -86,14 +86,14 @@ public class WorkCoverTypeEntity extends BaseEntity implements Serializable {
     private String videoColorSelec;
 
     @ApiModelProperty("关联fodderId")
-    private int videoMoId;
+    private Integer videoMoId;
     @ApiModelProperty("关联fodderId")
-    private int coverMoId;
+    private Integer coverMoId;
 
     @ApiModelProperty("关联fodderId")
-    private int videoPcId;
+    private Integer videoPcId;
 
     @ApiModelProperty("关联fodderId")
-    private int coverPcId;
+    private Integer coverPcId;
 
 }

+ 3 - 0
720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/entity/WorkLogoEntity.java

@@ -31,4 +31,7 @@ public class WorkLogoEntity extends BaseEntity implements Serializable {
     @ApiModelProperty(" 默认false")
     private Boolean logoChange;
 
+    @ApiModelProperty(" logoId")
+    private Long logoId;
+
 }

+ 2 - 2
720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/entity/WorkVisualAngle.java

@@ -47,10 +47,10 @@ public class WorkVisualAngle implements Serializable {
     private Double hlookat;
 
     @TableField("vlookatmin")
-    private Integer vlookatmin;
+    private Integer vlookatmin=-90;
 
     @TableField("vlookatmax")
-    private Integer vlookatmax;
+    private Integer vlookatmax=90;
 
     @TableField("create_time")
     private Date createTime;

+ 4 - 4
720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/vo/WorkCoverTypeVo.java

@@ -81,16 +81,16 @@ public class WorkCoverTypeVo {
     private String videoColorSelec;
 
     @ApiModelProperty("关联fodderId")
-    private int videoMoId;
+    private Integer videoMoId;
 
     @ApiModelProperty("关联fodderId")
-    private int cover_mo_id;
+    private Integer coverMoId;
 
     @ApiModelProperty("关联fodderId")
-    private int video_pc_id;
+    private Integer videoPcId;
 
     @ApiModelProperty("关联fodderId")
-    private int cover_pc_id;
+    private Integer coverPcId;
 
 //    @ApiModelProperty("fodderId集合 ")
 //    //string fodderId = string.Join(",", myList.Select(x => x.ToString()).ToArray());

+ 3 - 0
720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/vo/WorkLogoVo.java

@@ -28,4 +28,7 @@ public class WorkLogoVo {
     @ApiModelProperty(" 默认false")
     private Boolean logoChange;
 
+    @ApiModelProperty(" logoId")
+    private Long logoId;
+
 }

+ 2 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/FodderService.java

@@ -54,4 +54,6 @@ public interface FodderService extends IService<FodderEntity> {
     Result handelRemove(Long id);
 
     void reToQueue();
+
+    FodderEntity findBySceneCode(String sceneCode);
 }

+ 1 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkBackgroundMusicService.java

@@ -13,4 +13,5 @@ public interface WorkBackgroundMusicService extends IService<WorkBackgroundMusic
 
     WorkBackgroundMusicEntity getByWorkId(String workId);
 
+    void removeByWorkId(String workId);
 }

+ 1 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkCoverTypeService.java

@@ -13,4 +13,5 @@ public interface WorkCoverTypeService extends IService<WorkCoverTypeEntity> {
 
     WorkCoverTypeEntity getByWorkId(String workId);
 
+    void removeByWorkId(String workId);
 }

+ 1 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkCustomButtonService.java

@@ -15,4 +15,5 @@ public interface WorkCustomButtonService extends IService<WorkCustomButtonEntity
 
     List<WorkCustomButtonEntity> listByWorkId(String workId);
 
+    void removeByWorkId(String workId);
 }

+ 2 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkCustomMaskService.java

@@ -21,4 +21,6 @@ public interface WorkCustomMaskService extends IService<WorkCustomMaskEntity> {
     List<WorkCustomMaskEntity> listByWorkId(String workId);
 
     void deleteByNavigationIds(List<Long> navigationIds);
+
+    void removeByWorkId(String workId);
 }

+ 1 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkExplanationService.java

@@ -24,4 +24,5 @@ public interface WorkExplanationService extends IService<WorkExplanation> {
     void deleteByNavigationIds(List<Long> navigationIds);
 
 
+    void removeByWorkId(String workId);
 }

+ 1 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkHotService.java

@@ -30,4 +30,5 @@ public interface WorkHotService extends IService<WorkHot> {
 
     void deleteByNavigationIds(List<Long> navigationIds);
 
+    void removeByWorkId(String workId);
 }

+ 1 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkLogoService.java

@@ -13,4 +13,5 @@ public interface WorkLogoService extends IService<WorkLogoEntity> {
 
     WorkLogoEntity getByWorkId(String workId);
 
+    void removeByWorkId(String workId);
 }

+ 3 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkNavigationService.java

@@ -22,4 +22,7 @@ public interface WorkNavigationService extends IService<WorkNavigationEntity> {
 
     List<Long> getDeleteIdList(String workId, List<Long> ids);
 
+    void removeByWorkId(String workId);
+
+    WorkNavigationEntity selectByWorkIdAndSomeDataSceneCode(String workId, String sceneCode);
 }

+ 1 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkOpeningAnimationService.java

@@ -13,4 +13,5 @@ public interface WorkOpeningAnimationService extends IService<WorkOpeningAnimati
 
     WorkOpeningAnimationEntity getByWorkId(String workId);
 
+    void removeByWorkId(String workId);
 }

+ 1 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkOpeningTipService.java

@@ -11,4 +11,5 @@ public interface WorkOpeningTipService extends IService<WorkOpeningTipEntity> {
 
     WorkOpeningTipEntity getByWorkId(String workId);
 
+    void removeByWorkId(String workId);
 }

+ 8 - 2
720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkService.java

@@ -54,8 +54,9 @@ public interface WorkService extends IService<WorkEntity> {
 
     Result delOss(String ossPath);
 
-    void fixSomeData(String workId,String active);
-    void fixSomeData2(String workId,String active);
+    void fixSomeData(String workId, String active);
+
+    void fixSomeData2(String workId, String active);
 
     Result getServiceUpTip();
 
@@ -68,4 +69,9 @@ public interface WorkService extends IService<WorkEntity> {
     WorkEntity findByIdOrNum(String id);
 
     Result getWorkSceneBySn(String snCode);
+
+    void someDataToDB(String id, String active);
+
+    void saveOrEditFodder(String workId, Object id, String type);
+
 }

+ 1 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/WorkVisualAngleService.java

@@ -23,4 +23,5 @@ public interface WorkVisualAngleService extends IService<WorkVisualAngle> {
 
     void deleteByNavigationIds(List<Long> navigationIds);
 
+    void removeByWorkId(String workId);
 }

+ 2 - 1
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/DirServiceImpl.java

@@ -15,6 +15,7 @@ import com.gis.domain.entity.DirEntity;
 import com.gis.mapper.DirMapper;
 import com.gis.service.DirService;
 import com.gis.service.FodderService;
+import com.gis.service.WorkHotsFodderService;
 import com.gis.service.WorkService;
 import com.gis.tree.DirTreeUtil;
 import com.gis.util.UserRequest;
@@ -42,7 +43,7 @@ public class DirServiceImpl extends ServiceImpl<DirMapper, DirEntity> implements
     WorkService workService;
 
     @Autowired
-    WorkHotsFodderServiceImpl workHotsFodderService;
+    WorkHotsFodderService workHotsFodderService;
 
     @Autowired
     UserRequest userRequest;

+ 7 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/FodderServiceImpl.java

@@ -740,4 +740,11 @@ public class FodderServiceImpl extends ServiceImpl<FodderMapper,FodderEntity> im
             rabbitMqProducer.sendByWorkQueue(doSliceQueue,map);
         }
     }
+
+    @Override
+    public FodderEntity findBySceneCode(String sceneCode) {
+        LambdaQueryWrapper<FodderEntity> wrapper =  Wrappers.lambdaQuery();
+        wrapper.eq(FodderEntity::getSceneCode, sceneCode);
+        return getOne(wrapper);
+    }
 }

+ 5 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkBackgroundMusicServiceImpl.java

@@ -20,4 +20,9 @@ public class WorkBackgroundMusicServiceImpl extends ServiceImpl<WorkBackgroundMu
     public WorkBackgroundMusicEntity getByWorkId(String workId) {
         return getOne(new LambdaQueryWrapper<WorkBackgroundMusicEntity>().eq(WorkBackgroundMusicEntity::getWorkId, workId));
     }
+
+    @Override
+    public void removeByWorkId(String workId) {
+        remove(new LambdaQueryWrapper<WorkBackgroundMusicEntity>().eq(WorkBackgroundMusicEntity::getWorkId, workId));
+    }
 }

+ 56 - 8
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkBaseSettingServiceImpl.java

@@ -2,6 +2,9 @@ package com.gis.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.gis.common.constant.SomeDataConstant;
 import com.gis.domain.dto.WorkBackgroundMusicDto;
 import com.gis.domain.dto.WorkBaseSettingDto;
 import com.gis.domain.entity.*;
@@ -30,7 +33,8 @@ public class WorkBaseSettingServiceImpl implements WorkBaseSettingService {
     private WorkLogoService workLogoService;
     @Autowired
     private WorkCustomButtonService workCustomButtonService;
-
+    @Autowired
+    WorkHotsFodderService workHotsFodderService;
     @Override
     public WorkBaseSettingVo save(WorkBaseSettingDto dto) {
 
@@ -53,6 +57,16 @@ public class WorkBaseSettingServiceImpl implements WorkBaseSettingService {
                 workOpeningTip.setId(WorkOpeningTipDb.getId());
             }
             workOpeningTipService.saveOrUpdate(workOpeningTip);
+
+            workHotsFodderService.removeByWorkIdAndType(dto.getWorkId(), SomeDataConstant.pcIcon);
+            if (ObjectUtil.isNotEmpty(workOpeningTip.getPcIconId())){
+                workService.saveOrEditFodder(dto.getWorkId(), workOpeningTip.getPcIconId(), SomeDataConstant.pcIcon);
+            }
+            workHotsFodderService.removeByWorkIdAndType(dto.getWorkId(), SomeDataConstant.appIcon);
+            if (ObjectUtil.isNotEmpty(workOpeningTip.getAppIconId())){
+                workService.saveOrEditFodder(dto.getWorkId(), workOpeningTip.getAppIconId(), SomeDataConstant.appIcon);
+            }
+
             vo.setWorkOpeningTip(BeanUtil.toBean(workOpeningTip, WorkOpeningTipVo.class));
         }
 
@@ -77,6 +91,23 @@ public class WorkBaseSettingServiceImpl implements WorkBaseSettingService {
                 workCoverType.setId(workCoverTypeDB.getId());
             }
             workCoverTypeService.saveOrUpdate(workCoverType);
+
+            workHotsFodderService.removeByWorkIdAndType(dto.getWorkId(), SomeDataConstant.coverInfo);
+
+            if (ObjUtil.isNotNull(workCoverType.getCoverMoId())){
+                workService.saveOrEditFodder(dto.getWorkId(), workCoverType.getCoverMoId(), SomeDataConstant.coverInfo);
+            }
+            if (ObjUtil.isNotNull(workCoverType.getCoverPcId())){
+                workService.saveOrEditFodder(dto.getWorkId(), workCoverType.getCoverPcId(), SomeDataConstant.coverInfo);
+            }
+            if (ObjUtil.isNotNull(workCoverType.getVideoMoId())){
+                workService.saveOrEditFodder(dto.getWorkId(), workCoverType.getVideoMoId(), SomeDataConstant.coverInfo);
+            }
+            if (ObjUtil.isNotNull(workCoverType.getVideoPcId())){
+                workService.saveOrEditFodder(dto.getWorkId(), workCoverType.getVideoPcId(), SomeDataConstant.coverInfo);
+            }
+
+
             vo.setWorkCoverType(BeanUtil.toBean(workCoverType, WorkCoverTypeVo.class));
         }
 
@@ -85,15 +116,26 @@ public class WorkBaseSettingServiceImpl implements WorkBaseSettingService {
             WorkBackgroundMusicEntity workBackgroundMusic = BeanUtil.toBean(dto.getWorkBackgroundMusic(), WorkBackgroundMusicEntity.class);
             WorkBackgroundMusicEntity workBackgroundMusicDB = workBackgroundMusicService.getByWorkId(dto.getWorkId());
             if(Objects.nonNull(workBackgroundMusicDB)){
-                if(Objects.isNull(workBackgroundMusic.getId())){//数据库中存在,但是传参id为空,则为清除
-                    workBackgroundMusicService.removeById(workBackgroundMusicDB.getId());
-                }else{
-                    workBackgroundMusic.setId(workBackgroundMusicDB.getId());
-                    workBackgroundMusic.setWorkId(dto.getWorkId());
-                    workBackgroundMusicService.saveOrUpdate(workBackgroundMusic);
-                    vo.setWorkBackgroundMusic(BeanUtil.toBean(workBackgroundMusic, WorkBackgroundMusicVo.class));
+                workBackgroundMusic.setId(workBackgroundMusicDB.getId());
+                workBackgroundMusic.setWorkId(dto.getWorkId());
+                workBackgroundMusicService.saveOrUpdate(workBackgroundMusic);
+                if (ObjUtil.isNotNull(workBackgroundMusic.getFodderId())){
+                    workHotsFodderService.removeByWorkIdAndType(dto.getWorkId(), SomeDataConstant.backgroundMusic);
+                    workService.saveOrEditFodder(dto.getWorkId(), workBackgroundMusic.getFodderId(), SomeDataConstant.backgroundMusic);
                 }
+                vo.setWorkBackgroundMusic(BeanUtil.toBean(workBackgroundMusic, WorkBackgroundMusicVo.class));
+            }else {
+                workBackgroundMusic.setWorkId(dto.getWorkId());
+                workBackgroundMusicService.saveOrUpdate(workBackgroundMusic);
+                if (ObjUtil.isNotNull(workBackgroundMusic.getFodderId())){
+                    workHotsFodderService.removeByWorkIdAndType(dto.getWorkId(), SomeDataConstant.backgroundMusic);
+                    workService.saveOrEditFodder(dto.getWorkId(), workBackgroundMusic.getFodderId(), SomeDataConstant.backgroundMusic);
+                }
+                vo.setWorkBackgroundMusic(BeanUtil.toBean(workBackgroundMusic, WorkBackgroundMusicVo.class));
             }
+        }else {
+            workBackgroundMusicService.removeByWorkId(dto.getWorkId());
+            workHotsFodderService.removeByWorkIdAndType(dto.getWorkId(), SomeDataConstant.backgroundMusic);
         }
 
         //自定义logo
@@ -105,6 +147,12 @@ public class WorkBaseSettingServiceImpl implements WorkBaseSettingService {
             }
             workLogo.setWorkId(dto.getWorkId());
             workLogoService.saveOrUpdate(workLogo);
+
+            workHotsFodderService.removeByWorkIdAndType(dto.getWorkId(), SomeDataConstant.logo);
+            if (ObjUtil.isNotNull(workLogo.getLogoId())){
+                workService.saveOrEditFodder(dto.getWorkId(), workLogo.getLogoId(), SomeDataConstant.logo);
+            }
+
             vo.setWorkLogo(BeanUtil.toBean(workLogo, WorkLogoVo.class));
         }
 

+ 5 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkCoverTypeServiceImpl.java

@@ -20,4 +20,9 @@ public class WorkCoverTypeServiceImpl extends ServiceImpl<WorkCoverTypeMapper,Wo
     public WorkCoverTypeEntity getByWorkId(String workId) {
         return getOne(new LambdaQueryWrapper<WorkCoverTypeEntity>().eq(WorkCoverTypeEntity::getWorkId, workId));
     }
+
+    @Override
+    public void removeByWorkId(String workId) {
+        remove(new LambdaQueryWrapper<WorkCoverTypeEntity>().eq(WorkCoverTypeEntity::getWorkId, workId));
+    }
 }

+ 5 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkCustomButtonServiceImpl.java

@@ -22,4 +22,9 @@ public class WorkCustomButtonServiceImpl extends ServiceImpl<WorkCustomButtonMap
     public List<WorkCustomButtonEntity> listByWorkId(String workId) {
         return list(new LambdaQueryWrapper<WorkCustomButtonEntity>().eq(WorkCustomButtonEntity::getWorkId, workId));
     }
+
+    @Override
+    public void removeByWorkId(String workId) {
+        remove(new LambdaQueryWrapper<WorkCustomButtonEntity>().eq(WorkCustomButtonEntity::getWorkId, workId));
+    }
 }

+ 34 - 2
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkCustomMaskServiceImpl.java

@@ -2,15 +2,21 @@ package com.gis.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gis.common.constant.SomeDataConstant;
 import com.gis.common.exception.BaseRuntimeException;
 import com.gis.domain.dto.WorkCustomMaskDto;
 import com.gis.domain.dto.WorkMaskBatchSaveDTO;
+import com.gis.domain.entity.WorkHotsFodderEntity;
+import com.gis.domain.entity.WorkNavigationEntity;
 import com.gis.domain.vo.WorkCustomMaskVO;
 import com.gis.mapper.WorkCustomMaskMapper;
 import com.gis.service.WorkCustomMaskService;
 import com.gis.domain.entity.WorkCustomMaskEntity;
+import com.gis.service.WorkHotsFodderService;
+import com.gis.service.WorkNavigationService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -26,8 +32,10 @@ import java.util.stream.Collectors;
  */
 @Service
 public class WorkCustomMaskServiceImpl extends ServiceImpl<WorkCustomMaskMapper,WorkCustomMaskEntity> implements WorkCustomMaskService {
-
-
+    @Autowired
+    WorkHotsFodderService workHotsFodderService;
+    @Autowired
+    private WorkNavigationService workNavigationService;
     @Override
     public List<WorkCustomMaskVO> batchSave(WorkMaskBatchSaveDTO dto) {
 
@@ -43,6 +51,25 @@ public class WorkCustomMaskServiceImpl extends ServiceImpl<WorkCustomMaskMapper,
         workCustomMaskEntities.stream().forEach(v->v.setWorkId(dto.getWorkId()));
         this.saveOrUpdateBatch(workCustomMaskEntities);
 
+        workHotsFodderService.removeByWorkIdAndType(dto.getWorkId(), SomeDataConstant.customMask_earth);
+        for (WorkCustomMaskEntity workCustomMaskEntity : workCustomMaskEntities) {
+            if (ObjUtil.isNotNull(workCustomMaskEntity.getFodderId())&& ObjUtil.isNotNull(workCustomMaskEntity.getNavigationId())){
+                WorkNavigationEntity workNavigationEntity = workNavigationService.getById(workCustomMaskEntity.getNavigationId());
+                WorkHotsFodderEntity workHotsFodderEntity = new WorkHotsFodderEntity();
+                if (workNavigationEntity != null){
+                    workHotsFodderEntity.setSceneCode(workNavigationEntity.getSceneCode());
+                }
+                workHotsFodderEntity.setFodderId(workCustomMaskEntity.getFodderId());
+                workHotsFodderEntity.setWorkId(dto.getWorkId());
+                if (workCustomMaskEntity.getType().equalsIgnoreCase("earth")){
+                    workHotsFodderEntity.setType(SomeDataConstant.customMask_earth);
+                }else if (workCustomMaskEntity.getType().equalsIgnoreCase("sky")){
+                    workHotsFodderEntity.setType(SomeDataConstant.customMask_sky);
+                }
+                workHotsFodderService.save(workHotsFodderEntity);
+            }
+        }
+
         return BeanUtil.copyToList(workCustomMaskEntities, WorkCustomMaskVO.class);
     }
 
@@ -55,4 +82,9 @@ public class WorkCustomMaskServiceImpl extends ServiceImpl<WorkCustomMaskMapper,
     public void deleteByNavigationIds(List<Long> navigationIds) {
         this.remove(new LambdaQueryWrapper<WorkCustomMaskEntity>().in(WorkCustomMaskEntity::getNavigationId, navigationIds));
     }
+
+    @Override
+    public void removeByWorkId(String workId) {
+        remove(new LambdaQueryWrapper<WorkCustomMaskEntity>().eq(WorkCustomMaskEntity::getWorkId, workId));
+    }
 }

+ 36 - 3
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkExplanationServiceImpl.java

@@ -2,16 +2,23 @@ package com.gis.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gis.common.constant.SomeDataConstant;
 import com.gis.common.exception.BaseRuntimeException;
 import com.gis.domain.dto.BathSaveWorkExplanationDto;
 import com.gis.domain.dto.WorkExplanationDto;
 import com.gis.domain.entity.WorkCustomMaskEntity;
 import com.gis.domain.entity.WorkExplanation;
+import com.gis.domain.entity.WorkHotsFodderEntity;
+import com.gis.domain.entity.WorkNavigationEntity;
 import com.gis.domain.vo.WorkExplanationVo;
 import com.gis.mapper.WorkExplanationMapper;
 import com.gis.service.WorkExplanationService;
+import com.gis.service.WorkHotsFodderService;
+import com.gis.service.WorkNavigationService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
@@ -29,17 +36,22 @@ import java.util.stream.Collectors;
  */
 @Service
 public class WorkExplanationServiceImpl extends ServiceImpl<WorkExplanationMapper, WorkExplanation> implements WorkExplanationService {
+    @Autowired
+    WorkHotsFodderService workHotsFodderService;
+
+    @Autowired
+    private WorkNavigationService workNavigationService;
 
     @Override
     public List<WorkExplanationVo> bathSaveWorkExplanation(BathSaveWorkExplanationDto dto) {
 
-        if(CollUtil.isEmpty(dto.getList())){
+        if (CollUtil.isEmpty(dto.getList())) {
             return null;
         }
         List<Long> idList = dto.getList().stream().filter(v -> Objects.nonNull(v.getId())).map(v -> v.getId()).collect(Collectors.toList());
-        if(CollUtil.isNotEmpty(idList)){
+        if (CollUtil.isNotEmpty(idList)) {
             long count = this.count(new LambdaQueryWrapper<WorkExplanation>().eq(WorkExplanation::getWorkId, dto.getWorkId()).in(WorkExplanation::getId, idList));
-            if(count != idList.size()){
+            if (count != idList.size()) {
                 throw new BaseRuntimeException("数据不正确");
             }
         }
@@ -53,6 +65,22 @@ public class WorkExplanationServiceImpl extends ServiceImpl<WorkExplanationMappe
 
         this.saveOrUpdateBatch(workExplanations);
 
+
+        for (WorkExplanation workExplanation : workExplanations) {
+            WorkNavigationEntity workNavigationEntity = workNavigationService.getById(workExplanation.getNavigationId());
+            if (workNavigationEntity != null) {
+                workHotsFodderService.removeBySceneCodeWorkIdAndType(workNavigationEntity.getSceneCode(), dto.getWorkId(), SomeDataConstant.explanation_audio);
+                if (ObjectUtil.isNotNull(workExplanation.getFodderId())) {
+                    WorkHotsFodderEntity workHotsFodderEntity = new WorkHotsFodderEntity();
+                    workHotsFodderEntity.setSceneCode(workNavigationEntity.getSceneCode());
+                    workHotsFodderEntity.setFodderId(workExplanation.getFodderId());
+                    workHotsFodderEntity.setWorkId(dto.getWorkId());
+                    workHotsFodderEntity.setName(workExplanation.getAudioName());
+                    workHotsFodderEntity.setType(SomeDataConstant.explanation_audio);
+                    workHotsFodderService.save(workHotsFodderEntity);
+                }
+            }
+        }
         return BeanUtil.copyToList(workExplanations, WorkExplanationVo.class);
     }
 
@@ -65,4 +93,9 @@ public class WorkExplanationServiceImpl extends ServiceImpl<WorkExplanationMappe
     public void deleteByNavigationIds(List<Long> navigationIds) {
         this.remove(new LambdaQueryWrapper<WorkExplanation>().in(WorkExplanation::getNavigationId, navigationIds));
     }
+
+    @Override
+    public void removeByWorkId(String workId) {
+        remove(new LambdaQueryWrapper<WorkExplanation>().eq(WorkExplanation::getWorkId, workId));
+    }
 }

+ 34 - 1
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkHotServiceImpl.java

@@ -2,18 +2,26 @@ package com.gis.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gis.common.constant.SomeDataConstant;
 import com.gis.common.exception.BaseRuntimeException;
 import com.gis.domain.dto.DeleteWorkHotDTO;
 import com.gis.domain.dto.SaveWorkHotDTO;
 import com.gis.domain.dto.WorkHotDTO;
 import com.gis.domain.entity.WorkExplanation;
 import com.gis.domain.entity.WorkHot;
+import com.gis.domain.entity.WorkHotsFodderEntity;
+import com.gis.domain.entity.WorkNavigationEntity;
 import com.gis.domain.vo.WorkHotVO;
 import com.gis.mapper.WorkHotMapper;
 import com.gis.service.WorkHotService;
+import com.gis.service.WorkHotsFodderService;
+import com.gis.service.WorkNavigationService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
@@ -28,8 +36,13 @@ import java.util.stream.Collectors;
  * @since 2024-05-23
  */
 @Service
+@Slf4j
 public class WorkHotServiceImpl extends ServiceImpl<WorkHotMapper, WorkHot> implements WorkHotService {
+    @Autowired
+    WorkHotsFodderService workHotsFodderService;
 
+    @Autowired
+    private WorkNavigationService workNavigationService;
     @Override
     public WorkHot getByWorkIdAndId(String workdId, Long id) {
         return this.getOne(new LambdaQueryWrapper<WorkHot>().eq(WorkHot::getId, id).eq(WorkHot::getWorkId, workdId));
@@ -68,11 +81,26 @@ public class WorkHotServiceImpl extends ServiceImpl<WorkHotMapper, WorkHot> impl
         if(CollUtil.isNotEmpty(deleteIds)){
             this.removeByIds(deleteIds);
         }
-
+        log.info("先删除关联热点数据");
+        workHotsFodderService.removeByWorkIdAndType( dto.getWorkId(), SomeDataConstant.hot);
         List<WorkHotVO> result = saveList.stream().map(v -> {
             WorkHotVO vo = BeanUtil.copyProperties(v, WorkHotVO.class, "content", "fodderId");
             vo.setContent(JSON.parseObject(v.getContent()));
             vo.setFodderId(JSON.parseArray(v.getFodderId()));
+            WorkNavigationEntity workNavigationEntity = workNavigationService.getById(v.getNavigationId());
+            if (ObjectUtil.isNotNull(workNavigationEntity)){
+                for (Object id : vo.getFodderId()) {
+                    WorkHotsFodderEntity entity = new WorkHotsFodderEntity();
+                    entity.setSceneCode(workNavigationEntity.getSceneCode());
+                    entity.setFodderId(Long.valueOf(String.valueOf(id)));
+                    entity.setWorkId(dto.getWorkId());
+                    entity.setTitle(vo.getHotspotTitle());
+                    entity.setName(vo.getName());
+                    entity.setType(SomeDataConstant.hot);
+                    workHotsFodderService.save(entity);
+                }
+            }
+
             return vo;
         }).collect(Collectors.toList());
 
@@ -93,4 +121,9 @@ public class WorkHotServiceImpl extends ServiceImpl<WorkHotMapper, WorkHot> impl
     public void deleteByNavigationIds(List<Long> navigationIds) {
         this.remove(new LambdaQueryWrapper<WorkHot>().in(WorkHot::getNavigationId, navigationIds));
     }
+
+    @Override
+    public void removeByWorkId(String workId) {
+        remove(new LambdaQueryWrapper<WorkHot>().eq(WorkHot::getWorkId, workId));
+    }
 }

+ 1 - 1
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkHotsFodderServiceImpl.java

@@ -73,7 +73,7 @@ public class WorkHotsFodderServiceImpl extends ServiceImpl<WorkHotsFodderMapper,
         wrapper.eq(WorkHotsFodderEntity::getWorkId, workId);
         wrapper.eq(WorkHotsFodderEntity::getIsDelete, 0);
         wrapper.eq(WorkHotsFodderEntity::getType, type);
-        remove(wrapper);
+        this.getBaseMapper().delete(wrapper);
     }
 
     @Override

+ 5 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkLogoServiceImpl.java

@@ -20,4 +20,9 @@ public class WorkLogoServiceImpl extends ServiceImpl<WorkLogoMapper,WorkLogoEnti
     public WorkLogoEntity getByWorkId(String workId) {
         return getOne(new LambdaQueryWrapper<WorkLogoEntity>().eq(WorkLogoEntity::getWorkId, workId));
     }
+
+    @Override
+    public void removeByWorkId(String workId) {
+        remove(new LambdaQueryWrapper<WorkLogoEntity>().eq(WorkLogoEntity::getWorkId, workId));
+    }
 }

+ 10 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkNavigationServiceImpl.java

@@ -77,4 +77,14 @@ public class WorkNavigationServiceImpl extends ServiceImpl<WorkNavigationMapper,
                 .eq(WorkNavigationEntity::getWorkId, workId)
                 .notIn(WorkNavigationEntity::getId, ids)).stream().map(v->v.getId()).collect(Collectors.toList());
     }
+
+    @Override
+    public void removeByWorkId(String workId) {
+        remove(new LambdaQueryWrapper<WorkNavigationEntity>().eq(WorkNavigationEntity::getWorkId, workId));
+    }
+
+    @Override
+    public WorkNavigationEntity selectByWorkIdAndSomeDataSceneCode(String workId, String sceneCode) {
+        return this.getOne(new LambdaQueryWrapper<WorkNavigationEntity>().eq(WorkNavigationEntity::getWorkId, workId).eq(WorkNavigationEntity::getSceneCode, sceneCode));
+    }
 }

+ 5 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkOpeningAnimationServiceImpl.java

@@ -21,4 +21,9 @@ public class WorkOpeningAnimationServiceImpl extends ServiceImpl<WorkOpeningAnim
     public WorkOpeningAnimationEntity getByWorkId(String workId) {
         return this.getOne(new LambdaQueryWrapper<WorkOpeningAnimationEntity>().eq(WorkOpeningAnimationEntity::getWorkId, workId));
     }
+
+    @Override
+    public void removeByWorkId(String workId) {
+        remove(new LambdaQueryWrapper<WorkOpeningAnimationEntity>().eq(WorkOpeningAnimationEntity::getWorkId, workId));
+    }
 }

+ 5 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkOpeningTipServiceImpl.java

@@ -18,6 +18,11 @@ public class WorkOpeningTipServiceImpl extends ServiceImpl<WorkOpeningTipMapper,
     public WorkOpeningTipEntity getByWorkId(String workId) {
         return getOne(new LambdaQueryWrapper<WorkOpeningTipEntity>().eq(WorkOpeningTipEntity::getWorkId, workId));
     }
+
+    @Override
+    public void removeByWorkId(String workId) {
+        remove(new LambdaQueryWrapper<WorkOpeningTipEntity>().eq(WorkOpeningTipEntity::getWorkId, workId));
+    }
 }
 
 

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 700 - 211
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkServiceImpl.java


+ 5 - 0
720yun_fd_manage/gis_service/src/main/java/com/gis/service/impl/WorkVisualAngleServiceImpl.java

@@ -79,4 +79,9 @@ public class WorkVisualAngleServiceImpl extends ServiceImpl<WorkVisualAngleMappe
     public void deleteByNavigationIds(List<Long> navigationIds) {
         this.remove(new LambdaQueryWrapper<WorkVisualAngle>().in(WorkVisualAngle::getNavigationId, navigationIds));
     }
+
+    @Override
+    public void removeByWorkId(String workId) {
+        remove(new LambdaQueryWrapper<WorkVisualAngle>().eq(WorkVisualAngle::getWorkId, workId));
+    }
 }

+ 19 - 0
720yun_fd_manage/gis_web/src/main/java/com/gis/web/controller/TestController.java

@@ -334,7 +334,26 @@ public class TestController extends BaseController {
         return Result.success();
     }
 
+    /**
+                1.8.0版本数据转换为数据库
+     * @return
+     */
+    @ApiOperation(value = "修复1.4.0版本somedata.json", notes = "修复1.4.0版本somedata.json")
+    @GetMapping("/someDataToDB")
+    public Result someDataToDB(String workId,String active) {
+
+        if (workId.equalsIgnoreCase("all")){
+            List<WorkEntity> all = workService.list();
+            for (WorkEntity workEntity : all) {
+                workService.someDataToDB(workEntity.getId(),active);
+
+            }
+        }else {
+            workService.someDataToDB(workId,active);
 
+        }
+        return Result.success();
+    }
 //    /**
 //     修复1.4.0版本somedata.json
 //     * @return