wuweihao преди 3 години
родител
ревизия
cee0203ef4
променени са 73 файла, в които са добавени 23483 реда и са изтрити 3446 реда
  1. 2 1
      gis_application/pom.xml
  2. 57 0
      gis_scene/pom.xml
  3. 112 0
      gis_scene/src/main/java/com/gis/scene/controller/SceneController.java
  4. 24 0
      gis_scene/src/main/java/com/gis/scene/entity/dto/RoamViableDto.java
  5. 38 0
      gis_scene/src/main/java/com/gis/scene/entity/dto/SceneDataDto.java
  6. 26 0
      gis_scene/src/main/java/com/gis/scene/entity/dto/ScenePageDto.java
  7. 63 0
      gis_scene/src/main/java/com/gis/scene/entity/po/SceneEntity.java
  8. 30 0
      gis_scene/src/main/java/com/gis/scene/mapper/SceneMapper.java
  9. 7340 0
      gis_scene/src/main/java/com/gis/scene/proto/BigSceneProto.java
  10. 4654 0
      gis_scene/src/main/java/com/gis/scene/proto/Common.java
  11. 4345 0
      gis_scene/src/main/java/com/gis/scene/proto/Visionmodeldata.java
  12. 37 0
      gis_scene/src/main/java/com/gis/scene/proto/constant/ConstantCmd.java
  13. 41 0
      gis_scene/src/main/java/com/gis/scene/proto/constant/ConstantFileName.java
  14. 61 0
      gis_scene/src/main/java/com/gis/scene/proto/constant/ConstantFilePath.java
  15. 156 0
      gis_scene/src/main/java/com/gis/scene/proto/format/CouchDBFormat.java
  16. 703 0
      gis_scene/src/main/java/com/gis/scene/proto/format/HtmlFormat.java
  17. 1338 0
      gis_scene/src/main/java/com/gis/scene/proto/format/JavaPropsFormat.java
  18. 1603 0
      gis_scene/src/main/java/com/gis/scene/proto/format/JsonFormat.java
  19. 602 0
      gis_scene/src/main/java/com/gis/scene/proto/format/SmileFormat.java
  20. 1333 0
      gis_scene/src/main/java/com/gis/scene/proto/format/XmlFormat.java
  21. 162 0
      gis_scene/src/main/java/com/gis/scene/proto/util/ConvertUtils.java
  22. 233 0
      gis_scene/src/main/java/com/gis/scene/proto/util/CreateObjUtil.java
  23. 61 0
      gis_scene/src/main/java/com/gis/scene/proto/util/StreamGobbler.java
  24. 35 0
      gis_scene/src/main/java/com/gis/scene/service/SceneService.java
  25. 425 0
      gis_scene/src/main/java/com/gis/scene/service/impl/SceneServiceImpl.java
  26. 0 39
      gis_wall/pom.xml
  27. 0 209
      gis_wall/src/main/java/com/gis/wall/controller/CollectionController.java
  28. 0 28
      gis_wall/src/main/java/com/gis/wall/mapper/TbCollectionMapper.java
  29. 0 46
      gis_wall/src/main/java/com/gis/wall/mapper/TbCollectionMapperCust.java
  30. 0 22
      gis_wall/src/main/java/com/gis/wall/mapper/TbCollectionTimeMapper.java
  31. 0 14
      gis_wall/src/main/java/com/gis/wall/mapper/TbCollectionTimeMapperCust.java
  32. 0 22
      gis_wall/src/main/java/com/gis/wall/mapper/TbCollectionTypeMapper.java
  33. 0 14
      gis_wall/src/main/java/com/gis/wall/mapper/TbCollectionTypeMapperCust.java
  34. 0 74
      gis_wall/src/main/java/com/gis/wall/pojo/TbCollection.java
  35. 0 45
      gis_wall/src/main/java/com/gis/wall/pojo/TbCollectionTime.java
  36. 0 45
      gis_wall/src/main/java/com/gis/wall/pojo/TbCollectionType.java
  37. 0 15
      gis_wall/src/main/java/com/gis/wall/request/RequestBase.java
  38. 0 60
      gis_wall/src/main/java/com/gis/wall/request/RequestCollection.java
  39. 0 71
      gis_wall/src/main/java/com/gis/wall/respon/ResponCollection.java
  40. 0 45
      gis_wall/src/main/java/com/gis/wall/respon/ResponExhibition.java
  41. 0 31
      gis_wall/src/main/java/com/gis/wall/respon/ResponStatistics.java
  42. 0 56
      gis_wall/src/main/java/com/gis/wall/service/ICollectionService.java
  43. 0 283
      gis_wall/src/main/java/com/gis/wall/service/impl/CollectionServiceImpl.java
  44. 0 43
      gis_wall/src/main/resources/b/SceneMapper.xml
  45. 0 93
      gis_wall/src/main/resources/b/TbAuthorityMapper.xml
  46. 0 106
      gis_wall/src/main/resources/b/TbEquipmentMapper.xml
  47. 0 9
      gis_wall/src/main/resources/b/TbEquipmentMapperCust.xml
  48. 0 93
      gis_wall/src/main/resources/b/TbExhibitionCollectionMapper.xml
  49. 0 19
      gis_wall/src/main/resources/b/TbExhibitionCollectionMapperCust.xml
  50. 0 145
      gis_wall/src/main/resources/b/TbExhibitionMapper.xml
  51. 0 62
      gis_wall/src/main/resources/b/TbExhibitionMapperCust.xml
  52. 0 82
      gis_wall/src/main/resources/b/TbExhibitionTypeMapper.xml
  53. 0 183
      gis_wall/src/main/resources/b/TbInformationMapper.xml
  54. 0 21
      gis_wall/src/main/resources/b/TbInformationMapperCust.xml
  55. 0 104
      gis_wall/src/main/resources/b/TbLogMapper.xml
  56. 0 18
      gis_wall/src/main/resources/b/TbLogMapperCust.xml
  57. 0 93
      gis_wall/src/main/resources/b/TbMenuMapper.xml
  58. 0 82
      gis_wall/src/main/resources/b/TbPositionMapper.xml
  59. 0 9
      gis_wall/src/main/resources/b/TbPositionMapperCust.xml
  60. 0 162
      gis_wall/src/main/resources/b/TbResourceMapper.xml
  61. 0 25
      gis_wall/src/main/resources/b/TbResourceMapperCust.xml
  62. 0 93
      gis_wall/src/main/resources/b/TbRoleMapper.xml
  63. 0 41
      gis_wall/src/main/resources/b/TbRoleMapperCust.xml
  64. 0 128
      gis_wall/src/main/resources/b/TbUserMapper.xml
  65. 0 42
      gis_wall/src/main/resources/b/TbUserMapperCust.xml
  66. 0 41
      gis_wall/src/main/resources/b/VideoMapper.xml
  67. 0 318
      gis_wall/src/main/resources/mapper/TbCollectionMapper.xml
  68. 0 128
      gis_wall/src/main/resources/mapper/TbCollectionMapperCust.xml
  69. 0 82
      gis_wall/src/main/resources/mapper/TbCollectionTimeMapper.xml
  70. 0 10
      gis_wall/src/main/resources/mapper/TbCollectionTimeMapperCust.xml
  71. 0 82
      gis_wall/src/main/resources/mapper/TbCollectionTypeMapper.xml
  72. 0 10
      gis_wall/src/main/resources/mapper/TbCollectionTypeMapperCust.xml
  73. 2 2
      pom.xml

+ 2 - 1
gis_application/pom.xml

@@ -24,9 +24,10 @@
             <artifactId>gis_cms</artifactId>
         </dependency>
 
+
         <dependency>
             <groupId>com.gis</groupId>
-            <artifactId>gis_wall</artifactId>
+            <artifactId>gis_scene</artifactId>
         </dependency>
     </dependencies>
 

+ 57 - 0
gis_scene/pom.xml

@@ -0,0 +1,57 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <parent>
+        <artifactId>museum_wuzhong</artifactId>
+        <groupId>com.gis</groupId>
+        <version>1.0.0</version>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>gis_scene</artifactId>
+    <packaging>jar</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.gis</groupId>
+            <artifactId>gis_common</artifactId>
+        </dependency>
+
+
+        <!-- 针对proto包 转换格式用-->
+        <dependency>
+            <groupId>com.google.protobuf</groupId>
+            <artifactId>protobuf-java</artifactId>
+            <version>3.2.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.googlecode.protobuf-java-format</groupId>
+            <artifactId>protobuf-java-format</artifactId>
+            <version>1.4</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.codehaus.jackson</groupId>
+            <artifactId>jackson-mapper-asl</artifactId>
+            <version>1.9.11</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.codehaus.jackson</groupId>
+            <artifactId>jackson-smile</artifactId>
+            <version>1.9.12</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.belerweb</groupId>
+            <artifactId>pinyin4j</artifactId>
+            <version>2.5.1</version>
+        </dependency>
+
+    </dependencies>
+
+
+
+
+
+</project>

+ 112 - 0
gis_scene/src/main/java/com/gis/scene/controller/SceneController.java

@@ -0,0 +1,112 @@
+package com.gis.scene.controller;
+
+import cn.hutool.core.io.FileUtil;
+import com.gis.common.base.aop.WebControllerLog;
+import com.gis.common.base.entity.dto.PageDto;
+import com.gis.common.constant.ConfigConstant;
+import com.gis.common.util.Result;
+import com.gis.scene.entity.dto.RoamViableDto;
+import com.gis.scene.entity.dto.SceneDataDto;
+import com.gis.scene.entity.po.SceneEntity;
+import com.gis.scene.service.SceneService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.validation.Valid;
+import java.util.Arrays;
+import java.util.List;
+
+
+/**
+ * Created by owen on 2020/5/8 0008 9:54
+ */
+@Slf4j
+@Api(tags = "场景管理")
+@RestController
+@RequestMapping("/cms/scene")
+public class SceneController  {
+
+    @Autowired
+    private SceneService sceneService;
+
+    @Autowired
+    ConfigConstant configConstant;
+
+
+    @ApiOperation("场景列表")
+    @PostMapping("list")
+    public Result<SceneEntity> list(@RequestBody PageDto param) {
+        return sceneService.search(param);
+    }
+
+
+    @ApiOperation("场景编辑")
+    @PostMapping("edit")
+    public Result edit(@Valid @RequestBody SceneDataDto param)  {
+        return sceneService.edit(param);
+    }
+
+    @ApiOperation("漫游可行")
+    @PostMapping("roamViable")
+    public Result roamViable(@RequestBody RoamViableDto param) throws Exception {
+        return sceneService.roamViable(param);
+    }
+
+
+    /**
+     * 场景,真删除
+     */
+    @WebControllerLog(description = "大场景-删除")
+    @ApiOperation("场景删除")
+    @GetMapping("removes/{ids}")
+    public Result removes(@PathVariable String ids) {
+//        List<SceneEntity> entities = sceneService.findByIds(ids);
+        String[] split = ids.split(",");
+        List<SceneEntity> entities = sceneService.listByIds(Arrays.asList(split));
+        String basePath = configConstant.serverBasePath;
+
+        for (SceneEntity entity: entities) {
+            FileUtil.del(basePath + entity.getPath());
+            sceneService.removeById(entity);
+        }
+
+        return Result.success();
+    }
+
+
+    @ApiOperation("场景详情")
+    @GetMapping("detail/{id}")
+    public Result detail(@PathVariable Long id) {
+        SceneEntity entity = sceneService.getById(id);
+        if (entity == null) {
+            log.error("对象id不存在 : {}", id);
+            return Result.failure("对象id不存在");
+        }
+        return Result.success(entity);
+    }
+
+
+    /**
+     * 只有一个场景是显示状态
+     */
+    @ApiOperation("场景显示")
+    @GetMapping("display/{id}")
+    public Result display(@PathVariable Long id) {
+        return sceneService.display(id);
+    }
+
+
+
+    @ApiOperation(value = "上传到指定场景码目录", notes = "热点-时间戳命名")
+    @PostMapping(value = "upload/{sceneCode}", consumes = {"multipart/form-data"})
+    public Result upload(MultipartFile file , @PathVariable String sceneCode) {
+        return sceneService.upload(file, sceneCode);
+    }
+
+
+
+}

+ 24 - 0
gis_scene/src/main/java/com/gis/scene/entity/dto/RoamViableDto.java

@@ -0,0 +1,24 @@
+package com.gis.scene.entity.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * Created by owen on 2020/7/27 0027 16:01
+ *
+ * 漫游可行
+ */
+
+@Data
+public class RoamViableDto {
+
+    @NotBlank(message = "场景码不能为空")
+    @ApiModelProperty(value = "场景码")
+    private String sceneCode;
+
+    @NotBlank(message = "漫游数据不能为空")
+    @ApiModelProperty(value = "漫游数据")
+    private String data;
+}

+ 38 - 0
gis_scene/src/main/java/com/gis/scene/entity/dto/SceneDataDto.java

@@ -0,0 +1,38 @@
+package com.gis.scene.entity.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+
+/**
+ * Created by Owen on 2019/10/28 0028 12:24
+ *
+ * 编辑场景使用
+ */
+@Data
+public class SceneDataDto {
+
+//    private String name;
+
+    @NotBlank(message = "场景码不能为空")
+    @ApiModelProperty(value = "场景码", required = true)
+    private String sceneCode;
+
+    /** data2.js */
+    private String hots;
+
+    private String guides;
+
+    /** someData.json model */
+    private String info;
+
+    /** data2.js */
+    private String tourAudio;
+
+    /** data2.js 数组*/
+    private String overlays;
+
+
+}

+ 26 - 0
gis_scene/src/main/java/com/gis/scene/entity/dto/ScenePageDto.java

@@ -0,0 +1,26 @@
+package com.gis.scene.entity.dto;
+
+import com.gis.common.base.entity.dto.PageDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+
+/**
+ * Created by Owen on 2020/08/18 0028 12:24
+ *
+ *
+ */
+@Data
+public class ScenePageDto extends PageDto {
+
+
+    @NotBlank(message = "类型不能为空")
+    @ApiModelProperty(value = "类型,in:室内, out:室外", required = true)
+    private String type;
+
+
+
+
+}

+ 63 - 0
gis_scene/src/main/java/com/gis/scene/entity/po/SceneEntity.java

@@ -0,0 +1,63 @@
+package com.gis.scene.entity.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.gis.common.base.entity.po.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+@Data
+@TableName(value = "tb_scene")
+public class SceneEntity extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = -8093446477843493946L;
+
+    @ApiModelProperty(value = "场景码")
+    private String sceneCode;
+
+    @ApiModelProperty(value = "存放地址")
+    private String path;
+
+    @ApiModelProperty(value = "场景名称")
+    private String sceneTitle;
+
+//    @ApiModelProperty(value = "场景url")
+//    private String webSite;
+
+//    @ApiModelProperty(value = "简介")
+//    private String description;
+
+//    @ApiModelProperty(value = "提交用户Id")
+//    private Long submitId;
+//
+//    @ApiModelProperty(value = "提交用户名称")
+//    private String submitName;
+//
+//    @ApiModelProperty(value = "审核者Id")
+//    private Long auditId;
+
+//    @ApiModelProperty(value = "状态,1:草稿中,2:待审核,3:审核不通过,4:审核通过")
+//    private Integer status;
+
+//    @ApiModelProperty(value = "原因")
+//    private String reason;
+
+    @ApiModelProperty(value = "是否显示,1:是, 0:否")
+    private Integer display;
+
+//    @ApiModelProperty(value = "类型,in:室内, out:室外")
+//    private String type;
+
+//    @ApiModelProperty(value = "排序")
+//    private Integer sort;
+
+    @ApiModelProperty(value = "浏览量")
+    private Integer visit;
+
+    @ApiModelProperty(value = "点赞量")
+    private Integer star;
+
+}

+ 30 - 0
gis_scene/src/main/java/com/gis/scene/mapper/SceneMapper.java

@@ -0,0 +1,30 @@
+package com.gis.scene.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gis.scene.entity.po.SceneEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+import org.springframework.stereotype.Component;
+
+
+@Component
+@Mapper
+public interface SceneMapper extends BaseMapper<SceneEntity> {
+
+    @Select("select * from tb_scene where is_delete=0 and scene_code = #{m}")
+    SceneEntity findBySceneCode(String m);
+
+    @Update("update tb_scene set display = 0 , update_time = NOW() where is_delete=0 and display = 1 ")
+    void setDisable();
+
+    @Update("update tb_scene set display = 1 , update_time = NOW() where is_delete=0 and id = #{id} ")
+    void setDisplay(Long id);
+
+    @Update("update tb_scene set star=star+1 , update_time = NOW() where is_delete=0 and id = #{id} ")
+    void addStar(Long id);
+
+    @Update("update tb_scene set visit=visit+1 , update_time = NOW() where is_delete=0 and id = #{id} ")
+    void addVisit(Long id);
+}

Файловите разлики са ограничени, защото са твърде много
+ 7340 - 0
gis_scene/src/main/java/com/gis/scene/proto/BigSceneProto.java


Файловите разлики са ограничени, защото са твърде много
+ 4654 - 0
gis_scene/src/main/java/com/gis/scene/proto/Common.java


Файловите разлики са ограничени, защото са твърде много
+ 4345 - 0
gis_scene/src/main/java/com/gis/scene/proto/Visionmodeldata.java


+ 37 - 0
gis_scene/src/main/java/com/gis/scene/proto/constant/ConstantCmd.java

@@ -0,0 +1,37 @@
+package com.gis.scene.proto.constant;
+
+public class ConstantCmd {
+
+	  //生成模型的命令
+	  public static final String BUILD_MODEL_COMMAND = "bash /home/ubuntu/bin/Launcher.sh ";
+
+	  // 生成切片图
+	  public static final String SLICE_SKYBOX = "bash /home/ubuntu/bin/Skybox.sh ";
+
+	  // 把obj文件传txt文件
+	  public static final String OBJ_TO_TXT = "bash /home/ubuntu/bin/obj2txt.sh ";
+
+//	  public static final String BUILD_MODEL_SFM_COMMAND = "bash /home/ubuntu/run_sfm.sh ";
+//
+//	  public static final String REBUILD_MODEL_FLLOR = "bash /home/ubuntu/bin/Panoramix_Floorplan.sh ";
+//	  //切图命令
+//	  public static final String CUT_IMG_COMMAND = "bash /home/ubuntu/OpenSfM/bin/run_cube.sh ";
+//	  //调整图片的命令
+//	  public static final String ADJUST_IMG_COMMAND = "/home/ubuntu/OpenSfM/bin/run_skybox ";
+//
+//
+//
+//	  //转台拼图命令
+//	  public static final String BUILD_PANORAMA = "AutopanoGiga /home/ubuntu/data/";
+//	  //六目,拼图,计算,切图(二代)
+//	  public static final String BUILD_FOR_SIX = "bash /home/ubuntu/run_all_m6.sh ";
+//
+//	//合并音频
+//	public static final String MERGE_VIDEO = "bash /monchickey/ffmpeg/bin/ff_synthesis.sh ";
+//
+//	//生成一段静音音频
+//	public static final String CREATE_MUTE_VIDEO = "bash /monchickey/ffmpeg/bin/ff_mtue.sh ";
+//
+//	public static final String OSS_UTIL_CP ="bash /opt/ossutil/oss.sh ";
+
+}

+ 41 - 0
gis_scene/src/main/java/com/gis/scene/proto/constant/ConstantFileName.java

@@ -0,0 +1,41 @@
+package com.gis.scene.proto.constant;
+
+public class ConstantFileName {
+//    //背景音乐
+//    public static final String BACKGROUND_MUSIC = "bg.mp3";
+//    //编辑页面,第二代
+//    public static final String MODEL_DATAFILE = "modeldata.json";
+//    public static final String HOT_DATAFILE = "hot.json";
+//    public static final String MEDIA_DATAFILE = "mediaInfo.json";
+//    public static final String SCREEN_CRP_DATAFILE = "screenCap";
+//    //导览(一代)
+//    public static final String GUIDE_DATAFILE = "tour.json";
+//
+//    //文件夹名称
+//    public static final String GUIDE_MEDIA_FOLDER = "guide";
+//    public static final String HOT_MEDIA_FOLDER = "hot";
+//    public static final String OTHER_MEDIA_FOLDER = "other";
+//
+//    //论坛过滤文档
+//    public static final String BBS_SENSITIVE = "SensitiveWord.txt";
+//    public static final String LOGO_NAME = "logo.jpg";
+//
+//    //app部分
+//    public static final String APP_FOLDER = "appupload";
+//
+//    public static final String FLOOR_LOGO_PIC_NAME = "floorLogoImg.png";
+//
+//    public static final String TOUR_LIST = "tourList.json";
+//    public static final String VOICE_NAME = "201810";
+//    public static final String WECHAT_VOICE_NAME = "wechat";
+//
+//    public static final String TOURLIST_FOLDER = "tour";
+//    //public static final String TEMPFILES = "tempFiles";
+//
+//
+//
+//    public static final String BUCKET_NAME = "4dkankan";
+
+    // 这个码要跟前端一致
+    public static final String modelUUID = "dacf7dfa24ae47fab8fcebfe4dc41ab9";
+}

+ 61 - 0
gis_scene/src/main/java/com/gis/scene/proto/constant/ConstantFilePath.java

@@ -0,0 +1,61 @@
+package com.gis.scene.proto.constant;
+
+public class ConstantFilePath {
+//    public static final String BASE_PATH = "/mnt/4Dkankan";
+//    //论坛上传图片后,服务器存放的地址
+//    public static final String BBS_IMAGES_PATH = "/mnt/4Dkankan/bbs/upload/image/";
+//    // 用户上传图片
+//    public static final String USER_IMAGES_PATH = "/mnt/4Dkankan/user/";
+//    // 图片暂存地址(创建二维码等)
+//    public static final String TEMP_IMAGES_PATH = "/mnt/4Dkankan/temp/upload/image/";
+//    // 场景
+////    public static final String SCENE_PATH = "/mnt/4Dkankan/scene/";
+//
+//    // 代理商
+//    public static final String AGENT_PATH = "/mnt/4Dkankan/agent/";
+//    // 场景二维码
+//    public static final String SCENE_QR_CODE_PATH = "/mnt/4Dkankan/sceneQRcode/";
+//    // excel
+//    public static final String EXCEL_PATH = "/mnt/4Dkankan/excel/";
+//    // medias
+//    public static final String MEDIAS_PATH = "/mnt/4Dkankan/medias/";
+//    // logo
+//    public static final String LOGO_PATH = "/mnt/4Dkankan/logo/";
+//    // login qr code
+//    public static final String LOGIN_QR_CODE_PATH = "/mnt/4Dkankan/login/qrcode/";
+//
+//    public static final String WEIXIN_CERT = "/mnt/home/ubuntu/user/apiclient_cert.p12";
+//
+//    public static final String PREFIX = "/home/user";
+//    public static final String CREATE_MODEL_PATH = PREFIX + "/photo_data/model/";
+//    //大场景
+//    public static final String CREATE_BIG_SCENE_PATH = PREFIX + "/photo_data/bigscene/";
+//    //生成模型的路径
+////    public static final String BUILD_MODEL_PATH = "/mnt/data/";
+//
+//
+//    //支付二维码图片存放路径
+//    public static final String ALI_QRCODE_FOLDER = "/mnt/4Dkankan/alicode/";
+//    public static final String WEIXIN_QRCODE_FOLDER = "/mnt/4Dkankan/weixincode/";
+//
+//    public static final String OSS_PREFIX = "home/";
+
+    //生成模型的路径, 计算模型使用
+//    public static final String BUILD_MODEL_PATH = "/data/kanfang/pano/";
+
+
+    // 123kanfang 保存到阿里云位置, 前面不能有/
+//    public static final String UPLOAD_SCENE_PATH = "4dkktmp/images/images";
+
+    // oss 存放路径
+    public static final String UPLOAD_HOUSE_PATH = "kanfang/house/";
+
+    // oss 算法生成文件存放路径(high: 垂直校验全景图, low: 生成模型缩略图)
+    /**
+     * oss 算法生成文件存放路径(high: 垂直校验全景图, low: 生成模型缩略图)
+     * images/images + d_场景码
+     * 场景码建议9位
+     */
+    public static final String OSS_IMAGE_PATH = "images/images";
+
+}

+ 156 - 0
gis_scene/src/main/java/com/gis/scene/proto/format/CouchDBFormat.java

@@ -0,0 +1,156 @@
+package com.gis.scene.proto.format;
+
+
+import com.google.protobuf.ExtensionRegistry;
+import com.google.protobuf.Message;
+import com.google.protobuf.UnknownFieldSet;
+
+import java.io.IOException;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: aantonov
+ * Date: Mar 16, 2010
+ * Time: 4:06:05 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class CouchDBFormat extends JsonFormat {
+
+    /**
+     * Outputs a textual representation of the Protocol Message supplied into the parameter output.
+     * (This representation is the new version of the classic "ProtocolPrinter" output from the
+     * original Protocol Buffer system)
+     */
+    public static void print(Message message, Appendable output) throws IOException {
+        CouchDBGenerator generator = new CouchDBGenerator(output);
+        generator.print("{");
+        print(message, generator);
+        generator.print("}");
+    }
+
+    /**
+     * Outputs a textual representation of {@code fields} to {@code output}.
+     */
+    public static void print(UnknownFieldSet fields, Appendable output) throws IOException {
+        CouchDBGenerator generator = new CouchDBGenerator(output);
+        generator.print("{");
+        printUnknownFields(fields, generator);
+        generator.print("}");
+    }
+
+    /**
+     * Like {@code print()}, but writes directly to a {@code String} and returns it.
+     */
+    public static String printToString(Message message) {
+        try {
+            StringBuilder text = new StringBuilder();
+            print(message, text);
+            return text.toString();
+        } catch (IOException e) {
+            throw new RuntimeException("Writing to a StringBuilder threw an IOException (should never happen).",
+                                       e);
+        }
+    }
+
+    /**
+     * Like {@code print()}, but writes directly to a {@code String} and returns it.
+     */
+    public static String printToString(UnknownFieldSet fields) {
+        try {
+            StringBuilder text = new StringBuilder();
+            print(fields, text);
+            return text.toString();
+        } catch (IOException e) {
+            throw new RuntimeException("Writing to a StringBuilder threw an IOException (should never happen).",
+                                       e);
+        }
+    }
+
+    /**
+     * Parse a text-format message from {@code input} and merge the contents into {@code builder}.
+     */
+    public static void merge(Readable input, Message.Builder builder) throws IOException {
+        merge(input, ExtensionRegistry.getEmptyRegistry(), builder);
+    }
+
+    /**
+     * Parse a text-format message from {@code input} and merge the contents into {@code builder}.
+     */
+    public static void merge(CharSequence input, Message.Builder builder) throws ParseException {
+        merge(input, ExtensionRegistry.getEmptyRegistry(), builder);
+    }
+
+    /**
+     * Parse a text-format message from {@code input} and merge the contents into {@code builder}.
+     * Extensions will be recognized if they are registered in {@code extensionRegistry}.
+     */
+    public static void merge(Readable input,
+                             ExtensionRegistry extensionRegistry,
+                             Message.Builder builder) throws IOException {
+        // Read the entire input to a String then parse that.
+
+        // If StreamTokenizer were not quite so crippled, or if there were a kind
+        // of Reader that could read in chunks that match some particular regex,
+        // or if we wanted to write a custom Reader to tokenize our stream, then
+        // we would not have to read to one big String. Alas, none of these is
+        // the case. Oh well.
+
+        merge(toStringBuilder(input), extensionRegistry, builder);
+    }
+
+    /**
+     * Parse a text-format message from {@code input} and merge the contents into {@code builder}.
+     * Extensions will be recognized if they are registered in {@code extensionRegistry}.
+     */
+    public static void merge(CharSequence input,
+                             ExtensionRegistry extensionRegistry,
+                             Message.Builder builder) throws ParseException {
+        Tokenizer tokenizer = new Tokenizer(input);
+
+        // Based on the state machine @ http://json.org/
+
+        tokenizer.consume("{"); // Needs to happen when the object starts.
+        while (!tokenizer.tryConsume("}")) { // Continue till the object is done
+            mergeField(tokenizer, extensionRegistry, builder);
+        }
+    }
+
+    protected static class Tokenizer extends JsonFormat.Tokenizer {
+
+        /**
+         * Construct a tokenizer that parses tokens from the given text.
+         */
+        public Tokenizer(CharSequence text) {
+            super(text);
+        }
+
+        @Override
+        public String consumeIdentifier() throws ParseException {
+            String id = super.consumeIdentifier();
+            if ("_id".equals(id)) {
+                return "id";
+            } else if ("_rev".equals(id)) {
+                return "rev";
+            }
+            return id;
+        }
+    }
+
+    protected static class CouchDBGenerator extends JsonFormat.JsonGenerator {
+
+        public CouchDBGenerator(Appendable output) {
+            super(output);
+        }
+
+        @Override
+        public void print(CharSequence text) throws IOException {
+            if ("id".equals(text)) {
+                super.print("_id");
+            } else if ("rev".equals(text)) {
+                super.print("_rev");
+            } else {
+                super.print(text);
+            }
+        }
+    }
+}

+ 703 - 0
gis_scene/src/main/java/com/gis/scene/proto/format/HtmlFormat.java

@@ -0,0 +1,703 @@
+package com.gis.scene.proto.format;
+/* 
+    Copyright (c) 2009, Orbitz World Wide
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without modification, 
+    are permitted provided that the following conditions are met:
+
+        * Redistributions of source code must retain the above copyright notice, 
+          this list of conditions and the following disclaimer.
+        * Redistributions in binary form must reproduce the above copyright notice, 
+          this list of conditions and the following disclaimer in the documentation 
+          and/or other materials provided with the distribution.
+        * Neither the name of the Orbitz World Wide nor the names of its contributors 
+          may be used to endorse or promote products derived from this software 
+          without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+
+import com.google.protobuf.ByteString;
+import com.google.protobuf.Descriptors.EnumValueDescriptor;
+import com.google.protobuf.Descriptors.FieldDescriptor;
+import com.google.protobuf.Message;
+import com.google.protobuf.UnknownFieldSet;
+
+import java.io.IOException;
+import java.math.BigInteger;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+/**
+ * Provide ascii html formatting support for proto2 instances.
+ * <p>
+ * (c) 2009-10 Orbitz World Wide. All Rights Reserved.
+ * 
+ * @author eliran.bivas@gmail.com Eliran Bivas
+ * @version $HtmlFormat.java Mar 12, 2009 4:00:33 PM$
+ */
+public final class HtmlFormat {
+
+    private static final String META_CONTENT = "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\" />";
+    private static final String MAIN_DIV_STYLE = "color: black; font-size: 14px; font-family: sans-serif; font-weight: bolder; margin-bottom: 10px;";
+    private static final String FIELD_NAME_STYLE = "font-weight: bold; color: #669966;font-size: 14px; font-family: sans-serif;";
+    private static final String FIELD_VALUE_STYLE = "color: #3300FF;font-size: 13px; font-family: sans-serif;";
+
+    /**
+     * Outputs a textual representation of the Protocol Message supplied into the parameter output.
+     * (This representation is the new version of the classic "ProtocolPrinter" output from the
+     * original Protocol Buffer system)
+     */
+    public static void print(Message message, Appendable output) throws IOException {
+        HtmlGenerator generator = new HtmlGenerator(output);
+        printTitle(message, generator);
+        print(message, generator);
+        generator.print("</body></html>");
+    }
+
+    private static void printTitle(final Message message, final HtmlGenerator generator) throws IOException {
+        generator.print("<html><head>");
+        generator.print(META_CONTENT);
+        generator.print("<title>");
+        generator.print(message.getDescriptorForType().getFullName());
+        generator.print("</title></head><body>");
+        generator.print("<div style=\"");
+        generator.print(MAIN_DIV_STYLE);
+        generator.print("\">message : ");
+        generator.print(message.getDescriptorForType().getFullName());
+        generator.print("</div>");
+    }
+
+    /**
+     * Outputs a textual representation of {@code fields} to {@code output}.
+     */
+    public static void print(UnknownFieldSet fields, Appendable output) throws IOException {
+        HtmlGenerator generator = new HtmlGenerator(output);
+        generator.print("<html>");
+        generator.print(META_CONTENT);
+        generator.print("</head><body>");
+        printUnknownFields(fields, generator);
+        generator.print("</body></html>");
+    }
+
+    /**
+     * Like {@code print()}, but writes directly to a {@code String} and returns it.
+     */
+    public static String printToString(Message message) {
+        try {
+            StringBuilder text = new StringBuilder();
+            print(message, text);
+            return text.toString();
+        } catch (IOException e) {
+            throw new RuntimeException("Writing to a StringBuilder threw an IOException (should never happen).",
+                                       e);
+        }
+    }
+
+    /**
+     * Like {@code print()}, but writes directly to a {@code String} and returns it.
+     */
+    public static String printToString(UnknownFieldSet fields) {
+        try {
+            StringBuilder text = new StringBuilder();
+            print(fields, text);
+            return text.toString();
+        } catch (IOException e) {
+            throw new RuntimeException("Writing to a StringBuilder threw an IOException (should never happen).",
+                                       e);
+        }
+    }
+
+    private static void print(Message message, HtmlGenerator generator) throws IOException {
+
+        for (Map.Entry<FieldDescriptor, Object> field : message.getAllFields().entrySet()) {
+            printField(field.getKey(), field.getValue(), generator);
+        }
+        printUnknownFields(message.getUnknownFields(), generator);
+    }
+
+    public static void printField(FieldDescriptor field, Object value, HtmlGenerator generator) throws IOException {
+
+        if (field.isRepeated()) {
+            // Repeated field. Print each element.
+            for (Object element : (List<?>) value) {
+                printSingleField(field, element, generator);
+            }
+        } else {
+            printSingleField(field, value, generator);
+        }
+    }
+
+    private static void printSingleField(FieldDescriptor field,
+                                         Object value,
+                                         HtmlGenerator generator) throws IOException {
+        if (field.isExtension()) {
+            generator.print("[<span style=\"");
+            generator.print(FIELD_NAME_STYLE);
+            generator.print("\">");
+            // We special-case MessageSet elements for compatibility with proto1.
+            if (field.getContainingType().getOptions().getMessageSetWireFormat()
+                            && (field.getType() == FieldDescriptor.Type.MESSAGE) && (field.isOptional())
+                            // object equality
+                            && (field.getExtensionScope() == field.getMessageType())) {
+                generator.print(field.getMessageType().getFullName());
+            } else {
+                generator.print(field.getFullName());
+            }
+            generator.print("</span>]");
+        } else {
+            generator.print("<span style=\"");
+            generator.print(FIELD_NAME_STYLE);
+            generator.print("\">");
+            if (field.getType() == FieldDescriptor.Type.GROUP) {
+                // Groups must be serialized with their original capitalization.
+                generator.print(field.getMessageType().getName());
+            } else {
+                generator.print(field.getName());
+            }
+            generator.print("</span>");
+        }
+
+        if (field.getJavaType() == FieldDescriptor.JavaType.MESSAGE) {
+            generator.print(" <span style=\"color: red;\">{</span><br/>");
+            generator.indent();
+        } else {
+            generator.print(": ");
+        }
+
+        printFieldValue(field, value, generator);
+
+        if (field.getJavaType() == FieldDescriptor.JavaType.MESSAGE) {
+            generator.outdent();
+            generator.print("<span style=\"color: red;\">}</span>");
+        }
+        generator.print("<br/>");
+    }
+
+    private static void printFieldValue(FieldDescriptor field, Object value, HtmlGenerator generator) throws IOException {
+        generator.print("<span style=\"");
+        generator.print(FIELD_VALUE_STYLE);
+        generator.print("\">");
+        switch (field.getType()) {
+            case INT32:
+            case INT64:
+            case SINT32:
+            case SINT64:
+            case SFIXED32:
+            case SFIXED64:
+            case FLOAT:
+            case DOUBLE:
+            case BOOL:
+                // Good old toString() does what we want for these types.
+                generator.print(value.toString());
+                break;
+
+            case UINT32:
+            case FIXED32:
+                generator.print(unsignedToString((Integer) value));
+                break;
+
+            case UINT64:
+            case FIXED64:
+                generator.print(unsignedToString((Long) value));
+                break;
+
+            case STRING:
+                generator.print("\"");
+                generator.print(value.toString());
+                generator.print("\"");
+                break;
+
+            case BYTES: {
+                generator.print("\"");
+                generator.print(escapeBytes((ByteString) value));
+                generator.print("\"");
+                break;
+            }
+
+            case ENUM: {
+                generator.print(((EnumValueDescriptor) value).getName());
+                break;
+            }
+
+            case MESSAGE:
+            case GROUP:
+                print((Message) value, generator);
+                break;
+        }
+        generator.print("</span>");
+    }
+
+    private static void printUnknownFields(UnknownFieldSet unknownFields, HtmlGenerator generator) throws IOException {
+        for (Map.Entry<Integer, UnknownFieldSet.Field> entry : unknownFields.asMap().entrySet()) {
+            UnknownFieldSet.Field field = entry.getValue();
+
+            for (long value : field.getVarintList()) {
+                generator.print(entry.getKey().toString());
+                generator.print(": ");
+                generator.print(unsignedToString(value));
+                generator.print("<br/>");
+            }
+            for (int value : field.getFixed32List()) {
+                generator.print(entry.getKey().toString());
+                generator.print(": ");
+                generator.print(String.format((Locale) null, "0x%08x", value));
+                generator.print("<br/>");
+            }
+            for (long value : field.getFixed64List()) {
+                generator.print(entry.getKey().toString());
+                generator.print(": ");
+                generator.print(String.format((Locale) null, "0x%016x", value));
+                generator.print("<br/>");
+            }
+            for (ByteString value : field.getLengthDelimitedList()) {
+                generator.print(entry.getKey().toString());
+                generator.print(": \"");
+                generator.print(escapeBytes(value));
+                generator.print("\"<br/>");
+            }
+            for (UnknownFieldSet value : field.getGroupList()) {
+                generator.print(entry.getKey().toString());
+                generator.print(" <span style=\"color: red;\">{</span><br/>");
+                generator.indent();
+                printUnknownFields(value, generator);
+                generator.outdent();
+                generator.print("<span style=\"color: red;\">}</span><br/>");
+            }
+        }
+    }
+
+    /**
+     * Convert an unsigned 32-bit integer to a string.
+     */
+    private static String unsignedToString(int value) {
+        if (value >= 0) {
+            return Integer.toString(value);
+        } else {
+            return Long.toString((value) & 0x00000000FFFFFFFFL);
+        }
+    }
+
+    /**
+     * Convert an unsigned 64-bit integer to a string.
+     */
+    private static String unsignedToString(long value) {
+        if (value >= 0) {
+            return Long.toString(value);
+        } else {
+            // Pull off the most-significant bit so that BigInteger doesn't think
+            // the number is negative, then set it again using setBit().
+            return BigInteger.valueOf(value & 0x7FFFFFFFFFFFFFFFL).setBit(63).toString();
+        }
+    }
+
+    /**
+     * An inner class for writing text to the output stream.
+     */
+    static private final class HtmlGenerator {
+
+        Appendable output;
+        boolean atStartOfLine = true;
+
+        public HtmlGenerator(Appendable output) {
+            this.output = output;
+        }
+
+        /**
+         * Indent text by two spaces. After calling Indent(), two spaces will be inserted at the
+         * beginning of each line of text. Indent() may be called multiple times to produce deeper
+         * indents.
+         * 
+         * @throws IOException
+         */
+        public void indent() throws IOException {
+            print("<div style=\"margin-left: 25px\">");
+        }
+
+        /**
+         * Reduces the current indent level by two spaces, or crashes if the indent level is zero.
+         * 
+         * @throws IOException
+         */
+        public void outdent() throws IOException {
+            print("</div>");
+        }
+
+        /**
+         * Print text to the output stream.
+         */
+        public void print(CharSequence text) throws IOException {
+            int size = text.length();
+            int pos = 0;
+
+            for (int i = 0; i < size; i++) {
+                if (text.charAt(i) == '\n') {
+                    write("<br/>", i - pos + 1);
+                    pos = i + 1;
+                    atStartOfLine = true;
+                }
+            }
+            write(text.subSequence(pos, size), size - pos);
+        }
+
+        private void write(CharSequence data, int size) throws IOException {
+            if (size == 0) {
+                return;
+            }
+            if (atStartOfLine) {
+                atStartOfLine = false;
+            }
+            output.append(data);
+        }
+    }
+
+    // =================================================================
+    // Utility functions
+    //
+    // Some of these methods are package-private because Descriptors.java uses
+    // them.
+
+    /**
+     * Escapes bytes in the format used in protocol buffer text format, which is the same as the
+     * format used for C string literals. All bytes that are not printable 7-bit ASCII characters
+     * are escaped, as well as backslash, single-quote, and double-quote characters. Characters for
+     * which no defined short-hand escape sequence is defined will be escaped using 3-digit octal
+     * sequences.
+     */
+    static String escapeBytes(ByteString input) {
+        StringBuilder builder = new StringBuilder(input.size());
+        for (int i = 0; i < input.size(); i++) {
+            byte b = input.byteAt(i);
+            switch (b) {
+                // Java does not recognize \a or \v, apparently.
+                case 0x07:
+                    builder.append("\\a");
+                    break;
+                case '\b':
+                    builder.append("\\b");
+                    break;
+                case '\f':
+                    builder.append("\\f");
+                    break;
+                case '\n':
+                    builder.append("\\n");
+                    break;
+                case '\r':
+                    builder.append("\\r");
+                    break;
+                case '\t':
+                    builder.append("\\t");
+                    break;
+                case 0x0b:
+                    builder.append("\\v");
+                    break;
+                case '\\':
+                    builder.append("\\\\");
+                    break;
+                case '\'':
+                    builder.append("\\\'");
+                    break;
+                case '"':
+                    builder.append("\\\"");
+                    break;
+                default:
+                    if (b >= 0x20) {
+                        builder.append((char) b);
+                    } else {
+                        builder.append('\\');
+                        builder.append((char) ('0' + ((b >>> 6) & 3)));
+                        builder.append((char) ('0' + ((b >>> 3) & 7)));
+                        builder.append((char) ('0' + (b & 7)));
+                    }
+                    break;
+            }
+        }
+        return builder.toString();
+    }
+
+    /**
+     * Un-escape a byte sequence as escaped using
+     * {@link #escapeBytes(com.googlecode.protobuf.format.ByteString)}. Two-digit hex escapes (starting with
+     * "\x") are also recognized.
+     */
+    static ByteString unescapeBytes(CharSequence input) throws InvalidEscapeSequence {
+        byte[] result = new byte[input.length()];
+        int pos = 0;
+        for (int i = 0; i < input.length(); i++) {
+            char c = input.charAt(i);
+            if (c == '\\') {
+                if (i + 1 < input.length()) {
+                    ++i;
+                    c = input.charAt(i);
+                    if (isOctal(c)) {
+                        // Octal escape.
+                        int code = digitValue(c);
+                        if ((i + 1 < input.length()) && isOctal(input.charAt(i + 1))) {
+                            ++i;
+                            code = code * 8 + digitValue(input.charAt(i));
+                        }
+                        if ((i + 1 < input.length()) && isOctal(input.charAt(i + 1))) {
+                            ++i;
+                            code = code * 8 + digitValue(input.charAt(i));
+                        }
+                        result[pos++] = (byte) code;
+                    } else {
+                        switch (c) {
+                            case 'a':
+                                result[pos++] = 0x07;
+                                break;
+                            case 'b':
+                                result[pos++] = '\b';
+                                break;
+                            case 'f':
+                                result[pos++] = '\f';
+                                break;
+                            case 'n':
+                                result[pos++] = '\n';
+                                break;
+                            case 'r':
+                                result[pos++] = '\r';
+                                break;
+                            case 't':
+                                result[pos++] = '\t';
+                                break;
+                            case 'v':
+                                result[pos++] = 0x0b;
+                                break;
+                            case '\\':
+                                result[pos++] = '\\';
+                                break;
+                            case '\'':
+                                result[pos++] = '\'';
+                                break;
+                            case '"':
+                                result[pos++] = '\"';
+                                break;
+
+                            case 'x':
+                                // hex escape
+                                int code = 0;
+                                if ((i + 1 < input.length()) && isHex(input.charAt(i + 1))) {
+                                    ++i;
+                                    code = digitValue(input.charAt(i));
+                                } else {
+                                    throw new InvalidEscapeSequence("Invalid escape sequence: '\\x' with no digits");
+                                }
+                                if ((i + 1 < input.length()) && isHex(input.charAt(i + 1))) {
+                                    ++i;
+                                    code = code * 16 + digitValue(input.charAt(i));
+                                }
+                                result[pos++] = (byte) code;
+                                break;
+
+                            default:
+                                throw new InvalidEscapeSequence("Invalid escape sequence: '\\" + c
+                                                                + "'");
+                        }
+                    }
+                } else {
+                    throw new InvalidEscapeSequence("Invalid escape sequence: '\\' at end of string.");
+                }
+            } else {
+                result[pos++] = (byte) c;
+            }
+        }
+
+        return ByteString.copyFrom(result, 0, pos);
+    }
+
+    /**
+     * Thrown by {@link JsonFormat#unescapeBytes} and {@link JsonFormat#unescapeText} when an
+     * invalid escape sequence is seen.
+     */
+    static class InvalidEscapeSequence extends IOException {
+
+        private static final long serialVersionUID = 1L;
+
+        public InvalidEscapeSequence(String description) {
+            super(description);
+        }
+    }
+
+    /**
+     * Like {@link #escapeBytes(com.googlecode.protobuf.format.ByteString)}, but escapes a text string.
+     * Non-ASCII characters are first encoded as UTF-8, then each byte is escaped individually as a
+     * 3-digit octal escape. Yes, it's weird.
+     */
+    static String escapeText(String input) {
+        return escapeBytes(ByteString.copyFromUtf8(input));
+    }
+
+    /**
+     * Un-escape a text string as escaped using {@link #escapeText(String)}. Two-digit hex escapes
+     * (starting with "\x") are also recognized.
+     */
+    static String unescapeText(String input) throws InvalidEscapeSequence {
+        return unescapeBytes(input).toStringUtf8();
+    }
+
+    /**
+     * Is this an octal digit?
+     */
+    private static boolean isOctal(char c) {
+        return ('0' <= c) && (c <= '7');
+    }
+
+    /**
+     * Is this a hex digit?
+     */
+    private static boolean isHex(char c) {
+        return (('0' <= c) && (c <= '9')) || (('a' <= c) && (c <= 'f'))
+        || (('A' <= c) && (c <= 'F'));
+    }
+
+    /**
+     * Interpret a character as a digit (in any base up to 36) and return the numeric value. This is
+     * like {@code Character.digit()} but we don't accept non-ASCII digits.
+     */
+    private static int digitValue(char c) {
+        if (('0' <= c) && (c <= '9')) {
+            return c - '0';
+        } else if (('a' <= c) && (c <= 'z')) {
+            return c - 'a' + 10;
+        } else {
+            return c - 'A' + 10;
+        }
+    }
+
+    /**
+     * Parse a 32-bit signed integer from the text. Unlike the Java standard {@code
+     * Integer.parseInt()}, this function recognizes the prefixes "0x" and "0" to signify
+     * hexidecimal and octal numbers, respectively.
+     */
+    static int parseInt32(String text) throws NumberFormatException {
+        return (int) parseInteger(text, true, false);
+    }
+
+    /**
+     * Parse a 32-bit unsigned integer from the text. Unlike the Java standard {@code
+     * Integer.parseInt()}, this function recognizes the prefixes "0x" and "0" to signify
+     * hexidecimal and octal numbers, respectively. The result is coerced to a (signed) {@code int}
+     * when returned since Java has no unsigned integer type.
+     */
+    static int parseUInt32(String text) throws NumberFormatException {
+        return (int) parseInteger(text, false, false);
+    }
+
+    /**
+     * Parse a 64-bit signed integer from the text. Unlike the Java standard {@code
+     * Integer.parseInt()}, this function recognizes the prefixes "0x" and "0" to signify
+     * hexidecimal and octal numbers, respectively.
+     */
+    static long parseInt64(String text) throws NumberFormatException {
+        return parseInteger(text, true, true);
+    }
+
+    /**
+     * Parse a 64-bit unsigned integer from the text. Unlike the Java standard {@code
+     * Integer.parseInt()}, this function recognizes the prefixes "0x" and "0" to signify
+     * hexidecimal and octal numbers, respectively. The result is coerced to a (signed) {@code long}
+     * when returned since Java has no unsigned long type.
+     */
+    static long parseUInt64(String text) throws NumberFormatException {
+        return parseInteger(text, false, true);
+    }
+
+    private static long parseInteger(String text, boolean isSigned, boolean isLong) throws NumberFormatException {
+        int pos = 0;
+
+        boolean negative = false;
+        if (text.startsWith("-", pos)) {
+            if (!isSigned) {
+                throw new NumberFormatException("Number must be positive: " + text);
+            }
+            ++pos;
+            negative = true;
+        }
+
+        int radix = 10;
+        if (text.startsWith("0x", pos)) {
+            pos += 2;
+            radix = 16;
+        } else if (text.startsWith("0", pos)) {
+            radix = 8;
+        }
+
+        String numberText = text.substring(pos);
+
+        long result = 0;
+        if (numberText.length() < 16) {
+            // Can safely assume no overflow.
+            result = Long.parseLong(numberText, radix);
+            if (negative) {
+                result = -result;
+            }
+
+            // Check bounds.
+            // No need to check for 64-bit numbers since they'd have to be 16 chars
+            // or longer to overflow.
+            if (!isLong) {
+                if (isSigned) {
+                    if ((result > Integer.MAX_VALUE) || (result < Integer.MIN_VALUE)) {
+                        throw new NumberFormatException("Number out of range for 32-bit signed integer: "
+                                                        + text);
+                    }
+                } else {
+                    if ((result >= (1L << 32)) || (result < 0)) {
+                        throw new NumberFormatException("Number out of range for 32-bit unsigned integer: "
+                                                        + text);
+                    }
+                }
+            }
+        } else {
+            BigInteger bigValue = new BigInteger(numberText, radix);
+            if (negative) {
+                bigValue = bigValue.negate();
+            }
+
+            // Check bounds.
+            if (!isLong) {
+                if (isSigned) {
+                    if (bigValue.bitLength() > 31) {
+                        throw new NumberFormatException("Number out of range for 32-bit signed integer: "
+                                                        + text);
+                    }
+                } else {
+                    if (bigValue.bitLength() > 32) {
+                        throw new NumberFormatException("Number out of range for 32-bit unsigned integer: "
+                                                        + text);
+                    }
+                }
+            } else {
+                if (isSigned) {
+                    if (bigValue.bitLength() > 63) {
+                        throw new NumberFormatException("Number out of range for 64-bit signed integer: "
+                                                        + text);
+                    }
+                } else {
+                    if (bigValue.bitLength() > 64) {
+                        throw new NumberFormatException("Number out of range for 64-bit unsigned integer: "
+                                                        + text);
+                    }
+                }
+            }
+
+            result = bigValue.longValue();
+        }
+
+        return result;
+    }
+}

Файловите разлики са ограничени, защото са твърде много
+ 1338 - 0
gis_scene/src/main/java/com/gis/scene/proto/format/JavaPropsFormat.java


Файловите разлики са ограничени, защото са твърде много
+ 1603 - 0
gis_scene/src/main/java/com/gis/scene/proto/format/JsonFormat.java


+ 602 - 0
gis_scene/src/main/java/com/gis/scene/proto/format/SmileFormat.java

@@ -0,0 +1,602 @@
+package com.gis.scene.proto.format;
+/* 
+	Copyright (c) 2009, Orbitz World Wide
+	All rights reserved.
+
+	Redistribution and use in source and binary forms, with or without modification, 
+	are permitted provided that the following conditions are met:
+
+		* Redistributions of source code must retain the above copyright notice, 
+		  this list of conditions and the following disclaimer.
+		* Redistributions in binary form must reproduce the above copyright notice, 
+		  this list of conditions and the following disclaimer in the documentation 
+		  and/or other materials provided with the distribution.
+		* Neither the name of the Orbitz World Wide nor the names of its contributors 
+		  may be used to endorse or promote products derived from this software 
+		  without specific prior written permission.
+
+	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+	"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+	LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+	A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+	OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+	SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+	LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+	DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+	THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+	(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+	OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+
+import com.google.protobuf.*;
+import com.google.protobuf.Descriptors.Descriptor;
+import com.google.protobuf.Descriptors.EnumDescriptor;
+import com.google.protobuf.Descriptors.EnumValueDescriptor;
+import com.google.protobuf.Descriptors.FieldDescriptor;
+import org.codehaus.jackson.JsonGenerator;
+import org.codehaus.jackson.JsonParseException;
+import org.codehaus.jackson.JsonParser;
+import org.codehaus.jackson.JsonToken;
+import org.codehaus.jackson.smile.SmileFactory;
+import org.codehaus.jackson.smile.SmileGenerator;
+import org.codehaus.jackson.smile.SmileParser;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.math.BigInteger;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+/**
+ * Provide ascii text parsing and formatting support for proto2 instances. The implementation
+ * largely follows google/protobuf/text_format.cc.
+ * <p>
+ * (c) 2011 Neustar, Inc. All Rights Reserved.
+ *
+ * @author jeffrey.damick@neustar.biz Jeffrey Damick
+ *         Based on the original code by:
+ * @author eliran.bivas@gmail.com Eliran Bivas
+ * @author aantonov@orbitz.com Alex Antonov
+ *         <p/>
+ * @author wenboz@google.com Wenbo Zhu
+ * @author kenton@google.com Kenton Varda
+ */
+public class SmileFormat {
+    private static SmileFactory smileFactory = new SmileFactory();
+	
+		
+    /**
+     * Outputs a Smile representation of the Protocol Message supplied into the parameter output.
+     * (This representation is the new version of the classic "ProtocolPrinter" output from the
+     * original Protocol Buffer system)
+     */
+    public static void print(Message message, OutputStream output) throws IOException {
+        JsonGenerator generator = createGenerator(output);
+    	print(message, generator);
+    	generator.close();
+    }
+    
+    /**
+     * Outputs a Smile representation of the Protocol Message supplied into the parameter output.
+     * (This representation is the new version of the classic "ProtocolPrinter" output from the
+     * original Protocol Buffer system)
+     */
+    public static void print(Message message, JsonGenerator generator) throws IOException {
+    	generator.writeStartObject();
+    	printMessage(message, generator);
+        generator.writeEndObject();
+        generator.flush();
+    }
+
+    /**
+     * Outputs a Smile representation of {@code fields} to {@code output}.
+     */
+    public static void print(UnknownFieldSet fields, OutputStream output) throws IOException {
+    	JsonGenerator generator = createGenerator(output);
+    	generator.writeStartObject();
+    	printUnknownFields(fields, generator);
+        generator.writeEndObject();
+        generator.close();
+    }
+    
+    
+    
+    /**
+     * Parse a text-format message from {@code input} and merge the contents into {@code builder}.
+     */
+    public static void merge(InputStream input, Message.Builder builder) throws IOException {
+        merge(input, ExtensionRegistry.getEmptyRegistry(), builder);
+    }
+
+        
+    /**
+     * Parse a text-format message from {@code input} and merge the contents into {@code builder}.
+     * Extensions will be recognized if they are registered in {@code extensionRegistry}.
+     * @throws IOException 
+     */
+    public static void merge(InputStream input,
+                             ExtensionRegistry extensionRegistry,
+                             Message.Builder builder) throws IOException {
+    	
+    	SmileParser parser = smileFactory.createJsonParser(input); 
+    	merge(parser, extensionRegistry, builder);
+    }
+    
+    /**
+     * Parse a text-format message from {@code input} and merge the contents into {@code builder}.
+     * Extensions will be recognized if they are registered in {@code extensionRegistry}.
+     * @throws IOException 
+     */
+    public static void merge(JsonParser parser,                 
+    						 ExtensionRegistry extensionRegistry,
+                             Message.Builder builder) throws IOException {
+    	
+        JsonToken token = parser.nextToken();
+        if (token.equals(JsonToken.START_OBJECT)) {
+        	token = parser.nextToken();
+        }
+        while (token != null && !token.equals(JsonToken.END_OBJECT)) {
+        	mergeField(parser, extensionRegistry, builder);
+        	token = parser.nextToken();
+        }
+        
+        // Test to make sure the tokenizer has reached the end of the stream.
+        if (parser.nextToken() != null) {
+            throw new RuntimeException("Expecting the end of the stream, but there seems to be more data!  Check the input for a valid JSON format.");
+        }
+    }
+    
+    
+    
+    protected static JsonGenerator createGenerator(OutputStream output) throws IOException {
+    	SmileGenerator generator = smileFactory.createJsonGenerator(output);
+    	generator.enable(SmileGenerator.Feature.WRITE_HEADER);
+    	generator.enable(SmileGenerator.Feature.WRITE_END_MARKER);
+    	return generator;
+    }
+
+    
+    protected static void printMessage(Message message, JsonGenerator generator) throws IOException {
+
+        for (Iterator<Map.Entry<FieldDescriptor, Object>> iter = message.getAllFields().entrySet().iterator(); iter.hasNext();) {
+            Map.Entry<FieldDescriptor, Object> field = iter.next();
+            printField(field.getKey(), field.getValue(), generator);
+        }
+        printUnknownFields(message.getUnknownFields(), generator);
+    }
+
+    public static void printField(FieldDescriptor field, Object value, JsonGenerator generator) throws IOException {
+
+        printSingleField(field, value, generator);
+    }
+
+    private static void printSingleField(FieldDescriptor field,
+                                         Object value,
+                                         JsonGenerator generator) throws IOException {
+        if (field.isExtension()) {
+            // We special-case MessageSet elements for compatibility with proto1.
+            if (field.getContainingType().getOptions().getMessageSetWireFormat()
+                && (field.getType() == FieldDescriptor.Type.MESSAGE) && (field.isOptional())
+                // object equality
+                && (field.getExtensionScope() == field.getMessageType())) {
+                generator.writeFieldName(field.getMessageType().getFullName());
+            } else {
+            	// extensions will have '.' in them, while normal fields wont..
+            	generator.writeFieldName(field.getFullName());
+            }
+        } else {
+            if (field.getType() == FieldDescriptor.Type.GROUP) {
+                // Groups must be serialized with their original capitalization.
+                generator.writeFieldName(field.getMessageType().getName());
+            } else {
+                generator.writeFieldName(field.getName());
+            }
+        }
+
+        // Done with the name, on to the value
+        if (field.isRepeated()) {
+            // Repeated field. Print each element.
+            generator.writeStartArray();
+            for (Iterator<?> iter = ((List<?>) value).iterator(); iter.hasNext();) {
+                printFieldValue(field, iter.next(), generator);
+            }
+            generator.writeEndArray();
+        } else {
+            printFieldValue(field, value, generator);
+        }
+    }
+
+    private static void printFieldValue(FieldDescriptor field, Object value, JsonGenerator generator) throws IOException {
+    	// TODO: look at using field.getType().getJavaType(), to simplify this..
+    	switch (field.getType()) {
+            case INT32:
+            case SINT32:
+            case SFIXED32:
+            	generator.writeNumber((Integer)value);
+            	break;
+            
+            case INT64:
+            case SINT64:
+            case SFIXED64:
+            	generator.writeNumber((Long)value);
+            	break;
+            	
+            case FLOAT:
+            	generator.writeNumber((Float)value);
+            	break;
+            	
+            case DOUBLE:
+            	generator.writeNumber((Double)value);
+            	break;
+            	
+            case BOOL:
+                // Good old toString() does what we want for these types.
+                generator.writeBoolean((Boolean)value);
+                break;
+
+            case UINT32:
+            case FIXED32:
+                generator.writeNumber(unsignedInt((Integer) value));
+                break;
+
+            case UINT64:
+            case FIXED64:
+                generator.writeNumber(unsignedLong((Long) value));
+                break;
+
+            case STRING:
+            	generator.writeString((String) value);
+                break;
+
+            case BYTES: {
+            	// Here we break with JsonFormat - since there is an issue with non-utf8 bytes..
+            	generator.writeBinary(((ByteString)value).toByteArray());
+                break;
+            }
+
+            case ENUM: {
+            	generator.writeString(((EnumValueDescriptor) value).getName());
+                break;
+            }
+
+            case MESSAGE:
+            case GROUP:
+            	generator.writeStartObject();
+                printMessage((Message) value, generator);
+                generator.writeEndObject();
+                break;
+        }
+    }
+
+    protected static void printUnknownFields(UnknownFieldSet unknownFields, JsonGenerator generator) throws IOException {
+        for (Map.Entry<Integer, UnknownFieldSet.Field> entry : unknownFields.asMap().entrySet()) {
+            UnknownFieldSet.Field field = entry.getValue();
+            
+            generator.writeArrayFieldStart(entry.getKey().toString());
+            for (long value : field.getVarintList()) {
+                generator.writeNumber(value);
+            }
+            for (int value : field.getFixed32List()) {
+                generator.writeNumber(value);
+            }
+            for (long value : field.getFixed64List()) {
+                generator.writeNumber(value);
+            }
+            for (ByteString value : field.getLengthDelimitedList()) {
+            	// here we break with the JsonFormat to support non-utf8 bytes
+            	generator.writeBinary(value.toByteArray());
+            }
+            for (UnknownFieldSet value : field.getGroupList()) {
+                generator.writeStartObject();
+                printUnknownFields(value, generator);
+                generator.writeEndObject();
+            }
+            generator.writeEndArray();
+        }
+    }
+
+
+
+    // =================================================================
+    // Parsing
+   
+    private static final Pattern DIGITS = Pattern.compile(
+          "[0-9]",
+          Pattern.CASE_INSENSITIVE);
+
+    /**
+     * Parse a single field from {@code parser} and merge it into {@code builder}. If a ',' is
+     * detected after the field ends, the next field will be parsed automatically
+     * @throws IOException 
+     * @throws JsonParseException 
+     */
+    protected static void mergeField(JsonParser parser,
+                                   ExtensionRegistry extensionRegistry,
+                                   Message.Builder builder) throws JsonParseException, IOException {
+        FieldDescriptor field = null;
+        Descriptor type = builder.getDescriptorForType();
+        boolean unknown = false;
+        ExtensionRegistry.ExtensionInfo extension = null;
+        JsonToken token = parser.getCurrentToken();
+
+        if (token != null) {
+            String name = parser.getCurrentName();
+            
+            if (name.contains(".")) {
+            	// should be an extension
+            	extension = extensionRegistry.findExtensionByName(name);
+                if (extension == null) {
+                    throw new RuntimeException("Extension \""
+                    		+ name + "\" not found in the ExtensionRegistry.");
+                } else if (extension.descriptor.getContainingType() != type) {
+                    throw new RuntimeException("Extension \"" + name
+                    		+ "\" does not extend message type \""
+                    		+ type.getFullName() + "\".");
+                }
+
+            	field = extension.descriptor;
+            } else {
+            	field = type.findFieldByName(name);
+            }
+
+            // Group names are expected to be capitalized as they appear in the
+            // .proto file, which actually matches their type names, not their field
+            // names.
+            if (field == null) {
+                // Explicitly specify US locale so that this code does not break when
+                // executing in Turkey.
+                String lowerName = name.toLowerCase(Locale.US);
+                field = type.findFieldByName(lowerName);
+                // If the case-insensitive match worked but the field is NOT a group,
+                if ((field != null) && (field.getType() != FieldDescriptor.Type.GROUP)) {
+                    field = null;
+                }
+            }
+            // Again, special-case group names as described above.
+            if ((field != null) && (field.getType() == FieldDescriptor.Type.GROUP)
+                && !field.getMessageType().getName().equals(name)
+                && !field.getMessageType().getFullName().equalsIgnoreCase(name) /* extension */) {
+                field = null;
+            }
+
+            // Last try to lookup by field-index if 'name' is numeric,
+            // which indicates a possible unknown field
+            if (field == null && DIGITS.matcher(name).matches()) {
+                field = type.findFieldByNumber(Integer.parseInt(name));
+                unknown = true;
+            }
+
+            // no throwing exceptions if field not found, since it could be a different version.
+            if (field == null) {
+            	UnknownFieldSet.Builder unknownsBuilder = UnknownFieldSet.newBuilder();
+            	handleMissingField(name, parser, extensionRegistry, unknownsBuilder);
+            	builder.setUnknownFields(unknownsBuilder.build());
+            }
+        }
+
+        if (field != null) {
+        	token = parser.nextToken();
+        	
+            boolean array = token.equals(JsonToken.START_ARRAY);
+
+            if (array) {
+            	token = parser.nextToken();
+                while (!token.equals(JsonToken.END_ARRAY)) {
+                    handleValue(parser, extensionRegistry, builder, field, extension, unknown);
+                    token = parser.nextToken();
+                }
+            } else {
+                handleValue(parser, extensionRegistry, builder, field, extension, unknown);
+            }
+        }
+    }
+
+    private static void handleMissingField(String fieldName, JsonParser parser,
+                                           ExtensionRegistry extensionRegistry,
+                                           UnknownFieldSet.Builder builder) throws IOException {
+    	
+        JsonToken token = parser.nextToken();
+        if (token.equals(JsonToken.START_OBJECT)) {
+            // Message structure
+        	token = parser.nextToken(); // skip name
+        	while (token != null && !token.equals(JsonToken.END_OBJECT)) {
+                handleMissingField(fieldName, parser, extensionRegistry, builder);
+                token = parser.nextToken(); // get } or field name
+            }
+        } else if (token.equals(JsonToken.START_ARRAY)) {
+            // Collection
+            do {
+                handleMissingField(fieldName, parser, extensionRegistry, builder);
+                token = parser.getCurrentToken(); // got value or ]
+            } while (token != null && !token.equals(JsonToken.END_ARRAY));
+        } else {
+            // Primitive value
+        	// NULL, INT, BOOL, STRING
+        	// nothing to do..
+        }
+    }
+
+    private static void handleValue(JsonParser parser,
+                                    ExtensionRegistry extensionRegistry,
+                                    Message.Builder builder,
+                                    FieldDescriptor field,
+                                    ExtensionRegistry.ExtensionInfo extension,
+                                    boolean unknown) throws IOException {
+
+        Object value = null;
+        if (field.getJavaType() == FieldDescriptor.JavaType.MESSAGE) {
+            value = handleObject(parser, extensionRegistry, builder, field, extension, unknown);
+        } else {
+            value = handlePrimitive(parser, field);
+        }
+        if (value != null) {
+            if (field.isRepeated()) {
+                builder.addRepeatedField(field, value);
+            } else {
+                builder.setField(field, value);
+            }
+        }
+    }
+
+    private static Object handlePrimitive(JsonParser parser, FieldDescriptor field) throws IOException {
+        Object value = null;
+        
+        JsonToken token = parser.getCurrentToken();
+        
+        if (token.equals(JsonToken.VALUE_NULL)) {
+            return value;
+        }
+        
+        switch (field.getType()) {
+            case INT32:
+            case SINT32:
+            case SFIXED32:
+            	value = parser.getIntValue();
+                break;
+
+            case INT64:
+            case SINT64:
+            case SFIXED64:
+            	value = parser.getLongValue();
+                break;
+
+            case UINT32:
+            case FIXED32:
+            	int valueInt = parser.getIntValue();
+            	if (valueInt < 0) {
+            		throw new NumberFormatException("Number must be positive: " + valueInt);
+            	}
+            	value = valueInt;
+                break;
+
+            case UINT64:
+            case FIXED64:
+            	long valueLong = parser.getLongValue();
+            	if (valueLong < 0) {
+            		throw new NumberFormatException("Number must be positive: " + valueLong);
+            	}
+            	value = valueLong;
+                break;
+
+            case FLOAT:
+            	value = parser.getFloatValue();
+                break;
+
+            case DOUBLE:
+            	value = parser.getDoubleValue();
+                break;
+
+            case BOOL:
+            	value = parser.getBooleanValue();
+                break;
+
+            case STRING:
+            	value = parser.getText();
+                break;
+
+            case BYTES:
+            	value = ByteString.copyFrom(parser.getBinaryValue());
+                break;
+
+            case ENUM: {
+                EnumDescriptor enumType = field.getEnumType();
+                if (token.equals(JsonToken.VALUE_NUMBER_INT)) {
+                    int number = parser.getIntValue();
+                    value = enumType.findValueByNumber(number);
+                    if (value == null) {
+                        throw new RuntimeException("Enum type \""
+                        		+ enumType.getFullName()
+                        		+ "\" has no value with number "
+                        		+ number + ".");
+                    }
+                } else {
+                    String id = parser.getText();
+                    value = enumType.findValueByName(id);
+                    if (value == null) {
+                    	throw new RuntimeException("Enum type \""
+                    			+ enumType.getFullName()
+                    			+ "\" has no value named \""
+                    			+ id + "\".");
+                    }
+                }
+                break;
+            }
+
+            case MESSAGE:
+            case GROUP:
+                throw new RuntimeException("Can't get here.");
+        }
+        return value;
+    }
+    
+
+    private static Object handleObject(JsonParser parser,
+                                       ExtensionRegistry extensionRegistry,
+                                       Message.Builder builder,
+                                       FieldDescriptor field,
+                                       ExtensionRegistry.ExtensionInfo extension,
+                                       boolean unknown) throws IOException {
+
+        Message.Builder subBuilder;
+        if (extension == null) {
+            subBuilder = builder.newBuilderForField(field);
+        } else {
+            subBuilder = extension.defaultInstance.newBuilderForType();
+        }
+
+        JsonToken token = parser.getCurrentToken();
+
+        if (unknown) {
+        	ByteString data = ByteString.copyFrom(parser.getBinaryValue());
+            try {
+                subBuilder.mergeFrom(data);
+                return subBuilder.build();
+            } catch (InvalidProtocolBufferException e) {
+                throw new RuntimeException("Failed to build " + field.getFullName() + " from " + data);
+            }
+        }
+
+        //token = parser.nextToken();
+        if (token.equals(JsonToken.START_OBJECT)) {
+	        token = parser.nextToken();
+	        while (token != null && !token.equals(JsonToken.END_OBJECT)) {
+	            mergeField(parser, extensionRegistry, subBuilder);
+	            token = parser.nextToken();
+	        }
+        }
+        return subBuilder.build();
+    }
+
+    // =================================================================
+    // Utility functions
+    //
+    // Some of these methods are package-private because Descriptors.java uses
+    // them.
+    
+    /**
+     * Convert an unsigned 32-bit integer to a string.
+     */
+    private static Integer unsignedInt(int value) {
+        if (value < 0) {
+            return (int) ((value) & 0x00000000FFFFFFFFL);
+        }
+        return value;
+    }
+
+    /**
+     * Convert an unsigned 64-bit integer to a string.
+     */
+    private static Long unsignedLong(long value) {
+        if (value < 0) {
+            // Pull off the most-significant bit so that BigInteger doesn't think
+            // the number is negative, then set it again using setBit().
+            return BigInteger.valueOf(value & 0x7FFFFFFFFFFFFFFFL).setBit(63).longValue();
+        }
+        return value;
+    }
+}

Файловите разлики са ограничени, защото са твърде много
+ 1333 - 0
gis_scene/src/main/java/com/gis/scene/proto/format/XmlFormat.java


+ 162 - 0
gis_scene/src/main/java/com/gis/scene/proto/util/ConvertUtils.java

@@ -0,0 +1,162 @@
+package com.gis.scene.proto.util;
+
+import com.gis.scene.proto.Visionmodeldata;
+import com.gis.scene.proto.format.JsonFormat;
+import lombok.extern.log4j.Log4j2;
+
+import java.io.*;
+import java.util.ArrayList;
+import java.util.List;
+
+@Log4j2
+public class ConvertUtils {
+
+    public static void convertVisionModelDataToTxt(String srcPath, String desPath) throws Exception {
+
+        BufferedOutputStream bos = null;
+        BufferedInputStream bis = null;
+        try {
+            File file = new File(srcPath);
+            FileInputStream fis = new FileInputStream(file);
+
+            Visionmodeldata.NavigationInfo data_NavigationInfo = Visionmodeldata.NavigationInfo.parseFrom(fis);
+
+            String jsonFormat1 = JsonFormat.printToString(data_NavigationInfo);
+            ByteArrayInputStream stream = new ByteArrayInputStream(jsonFormat1.getBytes());
+            bos = new BufferedOutputStream(new FileOutputStream(desPath));//设置输出路径
+            bis = new BufferedInputStream(stream);
+            int b = -1;
+            while ((b = bis.read()) != -1) {
+                bos.write(b);
+            }
+            //out.close();
+            bis.close();
+            bos.close();
+        } catch (Exception e) {
+            StringWriter trace = new StringWriter();
+            e.printStackTrace(new PrintWriter(trace));
+            log.error(trace.toString());
+        } finally {
+            if (bos != null) {
+                bos.close();
+            }
+            if (bis != null) {
+                bis.close();
+            }
+        }
+    }
+
+    public static void convertTxtToVisionModelData(String srcPath, String desPath) throws Exception {
+        BufferedOutputStream bos = null;
+        BufferedInputStream bis = null;
+        try {
+            Visionmodeldata.NavigationInfo.Builder builder = Visionmodeldata.NavigationInfo.newBuilder();
+            String jsonFormat = readTxtFileToJson(srcPath);
+            JsonFormat.merge(jsonFormat, builder);
+            byte[] buf = builder.build().toByteArray();
+
+            //把序列化后的数据写入本地磁盘
+            ByteArrayInputStream stream = new ByteArrayInputStream(buf);
+            bos = new BufferedOutputStream(new FileOutputStream(desPath));//设置输出路径
+            bis = new BufferedInputStream(stream);
+            int b = -1;
+            while ((b = bis.read()) != -1) {
+                bos.write(b);
+            }
+            bis.close();
+            bos.close();
+        } catch (Exception e) {
+            StringWriter trace = new StringWriter();
+            e.printStackTrace(new PrintWriter(trace));
+            log.error(trace.toString());
+        } finally {
+            if (bos != null) {
+                bos.close();
+            }
+            if (bis != null) {
+                bis.close();
+            }
+        }
+    }
+
+    public static String readTxtFileToJson(String filePath) {
+        try {
+            String encoding = "UTF-8";
+            File file = new File(filePath);
+            if (file.isFile() && file.exists()) {
+                InputStreamReader read = new InputStreamReader(
+                        new FileInputStream(file), encoding);
+                BufferedReader bufferedReader = new BufferedReader(read);
+                String lineTxt = null;
+                String result = "";
+                while ((lineTxt = bufferedReader.readLine()) != null) {
+                    result += lineTxt;
+                }
+                read.close();
+                return result;
+            } else {
+                return null;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+
+    public List<List<String>> descartes(List<List<String>> dimValue) {
+        List<List<String>> res = new ArrayList<>();
+        if (dimValue == null || dimValue.size() == 0)
+            return res;
+        backtrace(dimValue, 0, res, new ArrayList<>());
+        return res;
+
+    }
+
+    /**
+     * 递归回溯法求解
+     *
+     * @param dimValue 原始数据集合
+     * @param index 当前执行的集合索引
+     * @param result 结果集合
+     * @param curList 当前的单个结果集
+     */
+    private void backtrace(List<List<String>> dimValue, int index,
+                           List<List<String>> result, List<String> curList) {
+
+        if (curList.size() == dimValue.size())
+            result.add(new ArrayList<>(curList));
+        else
+            for (int j = 0; j < dimValue.get(index).size(); j++) {
+                curList.add(dimValue.get(index).get(j));
+                backtrace(dimValue, index + 1, result, curList);
+                curList.remove(curList.size() - 1);
+            }
+
+    }
+
+    public static void main(String[] args) {
+        List<String> list1 = new ArrayList<String>();
+        list1.add("普通会员");
+        list1.add("专业会员");
+        list1.add("商业会员");
+        List<String> list2 = new ArrayList<String>();
+        list2.add("1G");
+        list2.add("1T");
+        List<List<String>> dimValue = new ArrayList<List<String>>();
+        dimValue.add(list1);
+        dimValue.add(list2);
+
+        // 递归实现笛卡尔积
+        ConvertUtils s = new ConvertUtils();
+        List<List<String>> res = s.descartes(dimValue);
+        System.out.println("递归实现笛卡尔乘积: 共 " + res.size() + " 个结果");
+        for (List<String> list : res) {
+            for (String string : list) {
+                System.out.print(string + " ");
+            }
+            System.out.println();
+        }
+    }
+
+}

+ 233 - 0
gis_scene/src/main/java/com/gis/scene/proto/util/CreateObjUtil.java

@@ -0,0 +1,233 @@
+package com.gis.scene.proto.util;
+
+import com.gis.scene.proto.BigSceneProto;
+import com.gis.scene.proto.Common;
+import com.gis.scene.proto.constant.ConstantCmd;
+import com.gis.scene.proto.constant.ConstantFileName;
+import com.gis.scene.proto.format.JsonFormat;
+import com.gis.scene.proto.Visionmodeldata;
+import com.google.protobuf.TextFormat;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.Test;
+
+import java.io.*;
+
+/**
+ * Created by Owen on 2019/12/17 0017 11:40
+ *
+ * 3d模型数据转换工具类
+ */
+@Slf4j
+public class CreateObjUtil {
+
+
+    /**
+     * 调用算法 xx.sh 脚本
+     * @param command
+     */
+    public static void callshell(String command){
+        try {
+            Process process = Runtime.getRuntime().exec(command);
+            StreamGobbler errorGobbler = new StreamGobbler(process.getErrorStream(), "ERROR");
+            errorGobbler.start();
+            StreamGobbler outGobbler = new StreamGobbler(process.getInputStream(), "STDOUT");
+            outGobbler.start();
+            process.waitFor();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * txt to dam
+     * @param srcpath txt 地址
+     * @param despath 生成dam地址
+     * @throws Exception
+     */
+    public static void convertTxtToDam(String srcpath,String despath)throws Exception
+    {
+        try
+        {
+            BigSceneProto.binary_mesh.Builder builder= BigSceneProto.binary_mesh.newBuilder();
+            InputStream inputStream = new FileInputStream(srcpath);
+            InputStreamReader reader = new InputStreamReader(inputStream, "ASCII");
+            TextFormat.merge(reader, builder);
+            byte[] buf= builder.build().toByteArray();
+
+
+            //把序列化后的数据写入本地磁盘
+            ByteArrayInputStream stream = new ByteArrayInputStream(buf);
+            BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(despath));//设置输出路径
+            BufferedInputStream bis = new BufferedInputStream(stream);
+            int b = -1;
+            while ((b = bis.read()) != -1) {
+                bos.write(b);
+            }
+            bis.close();
+            bos.close();
+        }
+        catch(Exception e)
+        {
+            StringWriter trace=new StringWriter();
+            e.printStackTrace(new PrintWriter(trace));
+            log.error(trace.toString());
+        }
+    }
+
+
+    public static void convertDamToLzma(String folderName)throws Exception {
+        log.info("folderName: {}", folderName);
+        try {
+            String command = "lzma "+ folderName + ConstantFileName.modelUUID+"_50k.dam";
+            log.info("开始转换lzma :{}", command );
+            callshell(command);
+            log.info("转换lzma完毕");
+        }
+        catch(Exception e)
+        {
+            StringWriter trace=new StringWriter();
+            e.printStackTrace(new PrintWriter(trace));
+            log.error(trace.toString());
+        }
+
+    }
+
+
+    /**
+     * vision.txt转vision.modeldata
+     * @param srcpath
+     * @param despath
+     * @throws Exception
+     */
+    public static void convertTxtToVisionmodeldata(String srcpath,String despath)throws Exception
+    {
+        try
+        {
+            Visionmodeldata.NavigationInfo.Builder builder = Visionmodeldata.NavigationInfo.newBuilder();
+            String jsonFormat = readTxtFileToJson(srcpath);
+            JsonFormat.merge(jsonFormat, builder);
+            byte[] buf= builder.build().toByteArray();
+
+            //把序列化后的数据写入本地磁盘
+            ByteArrayInputStream stream = new ByteArrayInputStream(buf);
+            BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(despath));//设置输出路径
+            BufferedInputStream bis = new BufferedInputStream(stream);
+            int b = -1;
+            while ((b = bis.read()) != -1) {
+                bos.write(b);
+            }
+            bis.close();
+            bos.close();
+        }
+        catch(Exception e)
+        {
+            StringWriter trace=new StringWriter();
+            e.printStackTrace(new PrintWriter(trace));
+            log.error(trace.toString());
+        }
+    }
+
+    public static String readTxtFileToJson(String filePath){
+        try {
+            String encoding="UTF-8";
+            File file=new File(filePath);
+            if(file.isFile() && file.exists()){
+                InputStreamReader read = new InputStreamReader(
+                        new FileInputStream(file),encoding);
+                BufferedReader bufferedReader = new BufferedReader(read);
+                String lineTxt = null;
+                String result="";
+                while((lineTxt = bufferedReader.readLine()) != null){
+                    result+=lineTxt;
+                    //log.info(lineTxt);
+                }
+                read.close();
+                return result;
+            }else{
+                return null;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+
+    }
+
+    //开始建模
+    public static void build3dModel(String folderName,String isModel) throws Exception{
+        log.info("开始建模");
+        String command = ConstantCmd.BUILD_MODEL_COMMAND+folderName;
+        // cmd: bash /home/ubuntu/bin/Launcher.sh /data/kanfang/10002/pano
+        log.info("cmd: {}",command);
+        callshell(command);
+        log.info("计算完毕:" + command);
+    }
+
+    public static void convertTxtToVisionmodeldataCommon(String srcpath,String despath)throws Exception
+    {
+        try
+        {
+            Common.NavigationInfo.Builder builder = Common.NavigationInfo.newBuilder();
+            String jsonFormat = readTxtFileToJson(srcpath);
+            log.warn("jsonFormat: {}", jsonFormat);
+
+            // 临时处理,等算法处理好这个问题,可以删除此方法
+            jsonFormat = deviceJson(jsonFormat);
+
+            JsonFormat.merge(jsonFormat, builder);
+            byte[] buf= builder.build().toByteArray();
+
+            //把序列化后的数据写入本地磁盘
+            ByteArrayInputStream stream = new ByteArrayInputStream(buf);
+            BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(despath));//设置输出路径
+            BufferedInputStream bis = new BufferedInputStream(stream);
+            int b = -1;
+            while ((b = bis.read()) != -1) {
+                bos.write(b);
+            }
+            bis.close();
+            bos.close();
+        }
+        catch(Exception e)
+        {
+            StringWriter trace=new StringWriter();
+            e.printStackTrace(new PrintWriter(trace));
+            log.error(trace.toString());
+        }
+    }
+
+
+    private static String deviceJson(String str) {
+        String rep = "\"device\":vision_\\d,";
+        if (str.contains("\"device\":vision")) {
+            log.warn("device 临时特殊处理一下");
+            str = str.replaceAll(rep, "");
+        }
+        log.info("update json: {}", str);
+        return str;
+    }
+
+    public static void main(String[] args) {
+
+        String path = "F:\\test\\army\\convert\\";
+        try {
+            convertTxtToVisionmodeldata(path+"vision.txt", path+"vision.modeldata");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    @Test
+    public void modelDataTxtToDamTest(){
+        String path = "F:\\test\\army\\convert\\";
+//        ConstantFileName.modelUUID+"_50k.dam"
+        try {
+            convertTxtToDam(path+"test.txt", path+ConstantFileName.modelUUID+"_50k.dam");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+}

+ 61 - 0
gis_scene/src/main/java/com/gis/scene/proto/util/StreamGobbler.java

@@ -0,0 +1,61 @@
+package com.gis.scene.proto.util;
+
+import java.io.*;
+
+public class StreamGobbler extends Thread {
+
+	InputStream is;  
+    String type;  
+    OutputStream os;  
+
+    public StreamGobbler(InputStream is, String type) {  
+        this(is, type, null);  
+    }  
+
+    StreamGobbler(InputStream is, String type, OutputStream redirect) {  
+        this.is = is;  
+        this.type = type;  
+        this.os = redirect;  
+    }  
+
+    public void run() {  
+        InputStreamReader isr = null;  
+        BufferedReader br = null;  
+        PrintWriter pw = null;  
+        try {  
+            if (os != null)  
+                pw = new PrintWriter(os);  
+
+            isr = new InputStreamReader(is);  
+            br = new BufferedReader(isr);  
+            String line=null;  
+            while ( (line = br.readLine()) != null) {  
+                if (pw != null)  
+                    pw.println(line);  
+                System.out.println(type + ">" + line);      
+            }  
+
+            if (pw != null)  
+                pw.flush();  
+        } catch (IOException ioe) {  
+            ioe.printStackTrace();    
+        } finally{  
+            try {  
+            	if(pw!=null)
+            	{
+            		 pw.close();  
+            	}
+            	if(br!=null)
+            	{
+            		br.close();  
+            	}
+            	if(isr!=null)
+            	{
+            		isr.close();  
+            	}
+            } catch (IOException e) {  
+                e.printStackTrace();  
+            }  
+        }  
+    }  
+}

+ 35 - 0
gis_scene/src/main/java/com/gis/scene/service/SceneService.java

@@ -0,0 +1,35 @@
+package com.gis.scene.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gis.common.base.entity.dto.PageDto;
+import com.gis.common.base.service.IBaseService;
+import com.gis.common.util.Result;
+import com.gis.scene.entity.dto.RoamViableDto;
+import com.gis.scene.entity.dto.SceneDataDto;
+import com.gis.scene.entity.po.SceneEntity;
+import org.springframework.web.multipart.MultipartFile;
+
+
+/**
+ * Created by owen on 2020/3/11 0011 16:14
+ */
+public interface SceneService extends IService<SceneEntity> {
+
+
+    SceneEntity findBySceneCode(String m);
+
+    Result<SceneEntity> search(PageDto param);
+
+    Result roamViable(RoamViableDto param) throws Exception;
+
+    Result edit(SceneDataDto param);
+
+    Result display(Long id);
+
+    Result addStar(Long id);
+
+    Result addVisit(Long id);
+
+    Result upload(MultipartFile file, String sceneCode);
+}

+ 425 - 0
gis_scene/src/main/java/com/gis/scene/service/impl/SceneServiceImpl.java

@@ -0,0 +1,425 @@
+package com.gis.scene.service.impl;
+
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gis.common.base.entity.dto.PageDto;
+import com.gis.common.base.exception.BaseRuntimeException;
+import com.gis.common.constant.ConfigConstant;
+import com.gis.common.util.BaseUtil;
+import com.gis.common.util.FileUtils;
+import com.gis.common.util.Result;
+import com.gis.scene.entity.dto.RoamViableDto;
+import com.gis.scene.entity.dto.SceneDataDto;
+import com.gis.scene.entity.po.SceneEntity;
+import com.gis.scene.mapper.SceneMapper;
+import com.gis.scene.proto.util.ConvertUtils;
+import com.gis.scene.service.SceneService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.Map;
+import java.util.Set;
+
+
+/**
+ * Created by owen on 2020/3/11 0011 16:16
+ */
+@Slf4j
+@Service
+public class SceneServiceImpl extends ServiceImpl<SceneMapper,SceneEntity> implements SceneService {
+
+
+    @Autowired
+    ConfigConstant configConstant;
+
+    @Autowired
+    FileUtils fileUtils;
+
+
+    @Override
+    public SceneEntity findBySceneCode(String m) {
+        return baseMapper.findBySceneCode(m);
+    }
+
+    @Override
+    public Result<SceneEntity> search(PageDto param) {
+        BaseUtil.startPage(param);
+        IPage<SceneEntity> page = new Page<>(param.getPageNum(), param.getPageSize());
+
+        LambdaQueryWrapper<SceneEntity> wrapper = new LambdaQueryWrapper<>();
+        String searchKey = param.getSearchKey();
+        wrapper.like(StrUtil.isNotBlank(searchKey), SceneEntity::getSceneTitle, searchKey);
+        wrapper.orderByDesc(SceneEntity::getCreateTime);
+
+        return Result.success(this.page(page, wrapper));
+    }
+
+    /**
+     * 漫游可行
+     */
+    @Override
+    public Result roamViable(RoamViableDto param) throws Exception {
+        String sceneCode = param.getSceneCode();
+        SceneEntity entity = baseMapper.findBySceneCode(param.getSceneCode());
+        if (entity == null) {
+            log.error("场景不存在:{}", sceneCode);
+            return Result.failure("场景不存在");
+        }
+
+
+        // 1. 从oss下载vision.modeldata
+        String visionModelDataName = "vision.modeldata";
+        // 注意网络下载会有缓存,必须加时间戳
+        String localBasePath = configConstant.serverBasePath +"/data/" + sceneCode;
+
+        // 2. 将vision.modeldata 转 vision.json
+        String visionModelDataPath = localBasePath + "/" + visionModelDataName;
+        if (!FileUtil.exist(visionModelDataPath)) {
+            log.error("vision.modeldata不存在 : {}", visionModelDataPath);
+            return Result.failure("vision.modeldata不存在");
+        }
+
+
+        String visionJsonPath = localBasePath + "/vision.json";
+        ConvertUtils.convertVisionModelDataToTxt(visionModelDataPath, visionJsonPath);
+        if (!FileUtil.exist(visionJsonPath)) {
+            log.error("vision.json不存在 : {}", visionJsonPath);
+            return Result.failure("vision.modeldata不存在");
+        }
+
+        // 3. 编辑新数据到vision.json
+        JSONArray inputDates = JSONObject.parseArray(param.getData());
+
+        JSONObject visionJson = JSONObject.parseObject(FileUtil.readUtf8String(visionJsonPath));
+        JSONArray sweepLocations = visionJson.getJSONArray("sweepLocations");
+
+        for (int i = 0; i < sweepLocations.size(); i++) {
+            JSONObject pano = sweepLocations.getJSONObject(i);
+
+            for (int j = 0; j < inputDates.size(); j++) {
+                JSONObject jo = inputDates.getJSONObject(j);
+                String panoID = jo.getString("panoID");
+                JSONArray visibles3 = jo.getJSONArray("visibles3");
+
+                // 去掉uuid 的“-”
+                String uuid = pano.getString("uuid");
+//                String s = StringUtils.replaceAll(uuid, "-", "");
+                String s = uuid.replaceAll("-", "");
+                if (s.equals(panoID)) {
+                    log.info("uuid: {}, panoID: {}", uuid, panoID);
+                    pano.put("visibles", visibles3);
+                    log.info("visibles: {},visibles3:{}", pano.get("visibles"), visibles3);
+                }
+            }
+        }
+
+
+        // 删除旧vision.json,vision.modeldata
+        FileUtil.del(visionJsonPath);
+        FileUtil.del(visionModelDataPath);
+
+        // 写入新vision.json
+        FileUtil.writeUtf8String(visionJson.toJSONString(), visionJsonPath);
+        if (!FileUtil.exist(visionJsonPath)) {
+            log.error("new vision.json不存在");
+        }
+
+        log.info( "新vision.json创建完成 :{}", visionJsonPath);
+
+
+
+
+        // 4. 将vision.json转vision.modeldata
+        ConvertUtils.convertTxtToVisionModelData(visionJsonPath, visionModelDataPath);
+
+        // 5. 将新的vision.modeldata上传到oss
+        if (!FileUtil.exist(visionModelDataPath)) {
+            log.error("vision.modeldata不存在");
+        }
+        log.info("新" + visionModelDataName+ "创建完成 :{}", visionModelDataPath);
+
+
+        return Result.success();
+    }
+
+
+    @Override
+    public Result edit(SceneDataDto param){
+        BaseRuntimeException.isBlank(param, null, "参数不能为空");
+        String sceneCode = param.getSceneCode();
+        String basePath = configConstant.serverBasePath +"/data/" + sceneCode;
+
+        // 处理someData.json
+        doSomeData(param, sceneCode, basePath);
+        // 处理data2.js
+        doData2Js(param, basePath);
+        // 处理data.js
+        doDataJs(param.getHots(), basePath);
+
+
+        return null;
+    }
+
+    private void doSomeData(SceneDataDto param, String sceneCode, String basePath) {
+        SceneEntity entity = this.findBySceneCode(sceneCode);
+        BaseRuntimeException.isNull(entity, null, "场景不存在:" + sceneCode);
+
+        String someDataPath = basePath + "/someData.json";
+        BaseRuntimeException.isTrue(!FileUtil.isFile(someDataPath), null, "someData.json文件不存在");
+
+        // 读取someDataJson
+        String someData = FileUtil.readUtf8String(someDataPath);
+        JSONObject someDataJson = JSONObject.parseObject(someData);
+
+
+        String info = param.getInfo();
+        String guides = param.getGuides();
+        JSONArray guidesArray = new JSONArray();
+        if (guides != null) {
+            guidesArray = JSONObject.parseArray(guides);
+
+        }
+
+
+        if (info != null) {
+            JSONObject infoJson = JSONObject.parseObject(info);
+
+            // 处理model
+            JSONObject model = someDataJson.getJSONObject("model");
+            if (model != null) {
+                if (guidesArray != null) {
+                    model.put("images", guidesArray);
+                }
+
+            }
+
+            // 更新someDataJson
+            someDataJson.put("model", model);
+
+            // info信息添加到someDataJson最外层
+            Set<String> infoKey = infoJson.keySet();
+            for (String key : infoKey) {
+                someDataJson.put(key, infoJson.get(key));
+            }
+
+            // 删除旧someDataJson
+            FileUtil.del(someDataPath);
+            // 写入新someDataJson
+            FileUtil.writeUtf8String(someDataJson.toJSONString(), someDataPath);
+            log.info("处理完成: someData.json已写入服务");
+        }
+    }
+
+    private void doData2Js(SceneDataDto param, String basePath) {
+
+        // 使用参数
+        String guides = param.getGuides();
+        String tourAudio = param.getTourAudio();
+
+        String data2Path = basePath + "/data2.js";
+        BaseRuntimeException.isTrue(!FileUtil.isFile(data2Path), null, "data2.js文件不存在");
+
+
+        String data2 = FileUtil.readUtf8String(data2Path);
+        JSONObject data2Json = JSONObject.parseObject(data2);
+
+
+        if (tourAudio != null) {
+            data2Json.put("tourAudio", JSONObject.parseObject(tourAudio));
+        } else {
+            data2Json.put("tourAudio", new JSONObject());
+        }
+
+        // overlays是数组
+        String overlays = param.getOverlays();
+        if (overlays != null) {
+            data2Json.put("overlays", JSONObject.parseArray(overlays));
+        } else {
+            data2Json.put("overlays", new JSONArray());
+        }
+
+        // 处理guidesArray,将scan_id的值作为key, value:  time":40000
+        JSONObject audioJson = new JSONObject();
+        JSONObject timeJson = new JSONObject();
+        timeJson.put("time", 40000);
+        JSONArray guidesArray = new JSONArray();
+        if (guides != null) {
+            guidesArray = JSONObject.parseArray(guides);
+
+        }
+        if (guidesArray != null) {
+
+            // 将旧的audio字段删除
+            data2Json.remove("audio");
+
+            for (int i = 0; i < guidesArray.size() ; i++) {
+                JSONObject metadata = guidesArray.getJSONObject(i).getJSONObject("metadata");
+                if (metadata != null) {
+                    String scanId = metadata.getString("scan_id");
+                    BaseRuntimeException.isNull(scanId, null, "guides.metadata.scan_id为空: " + i);
+                    // Fastjson-fastjson中$ref对象重复引用问题,拿不到想要的效果
+                    audioJson.put(scanId, JSON.toJSONString(timeJson, SerializerFeature.DisableCircularReferenceDetect));
+
+                }
+            }
+
+            // 新增audio
+            data2Json.put("audio", audioJson);
+        }
+
+
+        // host在data2.js、data.js都需要处理
+        String hots = param.getHots();
+        log.info("input hots: {}", hots);
+        if (hots != null) {
+            // 获取所有key
+            JSONObject hotJson = JSONObject.parseObject(hots);
+
+            Set<String> strings = hotJson.keySet();
+            for (String key: strings) {
+                JSONObject subJson = hotJson.getJSONObject(key);
+
+                // 2021.04.02 处理link
+                String link = getLink(subJson, key);
+
+                // 将link 添加进去
+                subJson.put("link", link);
+            }
+            data2Json.put("hots", hotJson);
+        } else {
+            data2Json.put("hots", new JSONObject());
+        }
+
+        // 删除旧data2.js
+        FileUtil.del(data2Path);
+
+        // 写入新data2.js
+        FileUtil.writeUtf8String(data2Json.toJSONString(), data2Path);
+        log.info("处理完成: data2.js已写入服务");
+    }
+
+    private void doDataJs(String hots, String basePath) {
+
+        // 因为data.js只是热点信息,所以直接创建上传oss
+        JSONObject dataJsJson = new JSONObject();
+        if (hots != null) {
+            dataJsJson = JSONObject.parseObject(hots);
+
+            Set<String> strings = dataJsJson.keySet();
+            for (String key: strings) {
+                JSONObject subJson = dataJsJson.getJSONObject(key);
+                JSONObject infoAttribute = subJson.getJSONObject("infoAttribute");
+                if (infoAttribute != null) {
+                    Set<String> infoKey = infoAttribute.keySet();
+
+                    for (String s: infoKey) {
+                        Object val = null;
+                        // 添加到第一层, 空值不添加
+                        if ("images".equals(s) || "styleImg".equals(s) || "model".equals(s) || "video".equals(s) || "iframe".equals(s)) {
+                            JSONArray jsonArray = infoAttribute.getJSONArray(s);
+                            if (jsonArray.size() == 0) {
+                                continue;
+                            }
+                            val = jsonArray;
+
+                        } else {
+                            String a = infoAttribute.getString(s);
+                            if (StrUtil.isBlank(a)){
+                                continue;
+                            }
+                            val = a;
+                        }
+
+
+                        subJson.put(s, val);
+                    }
+
+                }
+
+                // 删除infoAttribute
+                subJson.remove("infoAttribute");
+
+            }
+
+        }
+
+        log.info("out data.js : {}", dataJsJson);
+
+        String dataPath = basePath + "/hot/js/data.js";
+        FileUtil.writeUtf8String(dataJsJson.toJSONString(), dataPath);
+        log.info("data.js保存路径: {}", dataPath);
+        log.info("处理完成: data.js已写入服务");
+
+    }
+
+
+
+    @Override
+    public Result display(Long id) {
+        SceneEntity entity = this.getById(id);
+        if (entity == null) {
+            return Result.failure("场景不存在, id: " + id);
+        }
+        // 需求:只有一个是可用;先禁用,再启用
+        baseMapper.setDisable();
+        baseMapper.setDisplay(id);
+        return Result.success();
+    }
+
+    @Override
+    public Result addStar(Long id) {
+        baseMapper.addStar(id);
+        return Result.success();
+    }
+
+    @Override
+    public Result addVisit(Long id) {
+        baseMapper.addVisit(id);
+        return Result.success();
+    }
+
+
+    @Override
+    public Result upload(MultipartFile file, String sceneCode) {
+        if (file == null) {
+            log.error("文件不能为空");
+            return Result.failure("文件不能为空");
+        }
+
+        SceneEntity entity = this.findBySceneCode(sceneCode);
+        if (entity == null) {
+            log.error("场景不存在: {}", sceneCode);
+            return Result.failure("场景不存在");
+        }
+
+        Map<String, Object> uploadMap = fileUtils.uploadMap(file, "/data/" + sceneCode + "/edit/hot", false);
+
+        return Result.success(uploadMap.get("filePath"));
+    }
+
+
+    /**
+     * 2021.04.02 处理infoAttribute的m_title
+     * String url  = "https://www.4dmodel.com/SuperTwo/hot_online/index.html?m=" + key;
+     * String url  = SERVER_DOMAIN + "edit-backstage/hot_online/index.html?m=" + key;
+     * m_title:[]
+     * 有值: link = "/edit-backstage/hot_online1/index.html?m=" + key
+     * 无值: link = "/edit-backstage/hot_online/index.html?m=" + key
+     */
+    private String getLink(JSONObject param, String key){
+        String url  = "/edit-backstage/hot_online1/index.html#/?m=" + key;
+        return url;
+    }
+
+
+}

+ 0 - 39
gis_wall/pom.xml

@@ -1,39 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <parent>
-        <artifactId>museum_wuzhong</artifactId>
-        <groupId>com.gis</groupId>
-        <version>1.0.0</version>
-    </parent>
-
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>gis_wall</artifactId>
-    <packaging>jar</packaging>
-
-    <dependencies>
-        <dependency>
-            <groupId>com.gis</groupId>
-            <artifactId>gis_admin</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>com.github.pagehelper</groupId>
-            <artifactId>pagehelper-spring-boot-starter</artifactId>
-            <!--<version>1.2.3</version>-->
-            <version>1.4.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-            <version>3.4</version>
-        </dependency>
-
-    </dependencies>
-
-
-
-
-
-</project>

+ 0 - 209
gis_wall/src/main/java/com/gis/wall/controller/CollectionController.java

@@ -1,209 +0,0 @@
-package com.gis.wall.controller;
-
-import com.gis.common.base.aop.WebControllerLog;
-import com.gis.common.constant.ConfigConstant;
-import com.gis.common.util.FileUtils;
-import com.gis.common.util.Result;
-import com.gis.wall.pojo.TbCollection;
-import com.gis.wall.request.RequestCollection;
-import com.gis.wall.respon.ResponCollection;
-import com.gis.wall.service.ICollectionService;
-import com.github.pagehelper.PageInfo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import springfox.documentation.annotations.ApiIgnore;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by Hb_zzZ on 2019/9/11.
- */
-@ApiIgnore
-@Api(tags = "文物库模块")
-@Controller
-@RequestMapping("/cms/collection")
-@Slf4j
-public class CollectionController {
-
-    @Autowired
-    private ICollectionService service;
-
-//    @Value("${upload.collection}")
-//    private String uploadPath;
-
-    @Autowired
-    ConfigConstant configConstant;
-
-    @Autowired
-    FileUtils fileUtils;
-
-    @PostMapping("timeList")
-    @ResponseBody
-    @ApiOperation("获取年代列表")
-    public Result timeList(){
-        return Result.success(service.timeList());
-    }
-
-    @PostMapping("typeList")
-    @ResponseBody
-    @ApiOperation("获取文物类别列表")
-    public Result typeList(@RequestBody RequestCollection bo){
-        return Result.success(service.typeList(bo));
-    }
-
-    @PostMapping("addCollection")
-    @ResponseBody
-    @WebControllerLog(description = "文物库-新增文物")
-    @ApiOperation("新增文物")
-    public Result addCollection(@RequestBody RequestCollection bo){
-        if(bo == null || StringUtils.isEmpty(bo.getName())  ||
-                bo.getTimeId() == null  || bo.getTypeId() == null){
-            return Result.failure("参数不能为空");
-        }
-
-        TbCollection collection = new TbCollection();
-        BeanUtils.copyProperties(bo, collection);
-        collection.setUnityUrl("/collection/unity/" + bo.getDirCode());
-        service.insert(collection);
-        return Result.success();
-    }
-
-    @PostMapping("updateCollection")
-    @ResponseBody
-    @WebControllerLog(description = "文物库-修改文物")
-    @ApiOperation("修改文物")
-    public Result updateCollection(@RequestBody RequestCollection bo){
-        if(bo == null || StringUtils.isEmpty(bo.getName()) ||
-                bo.getTimeId() == null  || bo.getTypeId() == null ){
-            return Result.failure("参数不能为空");
-        }
-
-        TbCollection collection = new TbCollection();
-        BeanUtils.copyProperties(bo, collection);
-        service.update(collection);
-        return Result.success();
-    }
-
-
-
-    @PostMapping("/deleteCollection")
-    @ResponseBody
-    @WebControllerLog(description = "文物库-删除文物")
-    @ApiOperation("删除文物")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "id", value = "文物id", dataType = "String")})
-    public Result deleteCollection(@RequestBody RequestCollection bo){
-        if(bo == null || bo.getId() == null){
-            return Result.failure("参数不能为空");
-        }
-        service.deleteById(bo.getId());
-        return Result.success();
-    }
-
-    @PostMapping("findById")
-    @ResponseBody
-    @WebControllerLog(description = "文物库-查询文物库详情")
-    @ApiOperation("查询文物库详情")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "id", value = "文物id", dataType = "String")})
-    public Result findById(@RequestBody RequestCollection bo){
-        if(bo == null || bo.getId() == null){
-            return Result.failure("参数不能为空");
-        }
-
-        return Result.success(service.findById(bo.getId()));
-    }
-
-    @PostMapping("list")
-    @ResponseBody
-    @WebControllerLog(description = "文物库-获取文物列表")
-    @ApiOperation("获取文物列表")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "timeId", value = "年代id", dataType = "String"),
-            @ApiImplicitParam(name = "typeId", value = "类型id", dataType = "String"),
-            @ApiImplicitParam(name = "name", value = "文物名称", dataType = "String"),
-            @ApiImplicitParam(name = "pageNum", value = "页码", dataType = "String"),
-            @ApiImplicitParam(name = "pageSize", value = "每页数量", dataType = "String")})
-    public Result list(@RequestBody RequestCollection bo){
-        List<ResponCollection> list = service.findList(bo);
-        PageInfo<ResponCollection> pageInfo = new PageInfo<>(list);
-        return Result.success(pageInfo);
-    }
-
-    @PostMapping("/upload")
-    @ResponseBody
-    @ApiOperation("上传文物图片")
-    public Result upload(@RequestParam(value = "filename", defaultValue = "") String name, @RequestParam("file") MultipartFile file){
-        if(file == null){
-            return Result.failure("参数不能为空");
-        }
-        String fileName = System.currentTimeMillis() + "_";
-        if(StringUtils.isNotEmpty(name)){
-            fileName = fileName + name;
-        }else {
-            fileName = fileName + file.getOriginalFilename();
-        }
-//        boolean flag = FileUtil.upload(file, uploadPath, fileName);
-
-
-        Map<String, Object> map = fileUtils.uploadMap(file, "/collection", false);
-        Object filePath = map.get("filePath");
-        log.info("图片地址:" + fileName);
-
-
-        return Result.success(filePath);
-    }
-
-
-    /**
-     * 2021-08-09
-     * @param file
-     * @param code
-     * @return
-     */
-    @PostMapping("/uploadCode")
-    @ApiOperation("上传Unity")
-    @ResponseBody
-    public Result uploadCode(MultipartFile file, String code){
-
-        return service.uploadCode(file, code);
-    }
-
-
-//    @PostMapping("/importCollection")
-//    @ResponseBody
-//    @ApiOperation("导入文物Excel")
-//    public AjaxJson importCollection(@RequestParam("file") MultipartFile file){
-//        if(file == null){
-//            return AjaxJson.failure("参数不能为空");
-//        }
-//        String fileName = System.currentTimeMillis() + "_" +  file.getOriginalFilename();
-//        log.info("导入文件保存地址:" + fileName);
-//        boolean flag = FileUtil.upload(file, uploadPath, fileName);
-//
-//        if(!flag){
-//            return AjaxJson.failure("导入文物数据失败");
-//        }
-//
-//        return service.importCollection(uploadPath + "/" + fileName);
-//    }
-
-
-
-    @GetMapping("addVisit/{id}")
-    @ResponseBody
-    @ApiOperation("保存访问量")
-    public Result addVisit(@PathVariable Long id){
-        return service.addVisit(id);
-    }
-}

+ 0 - 28
gis_wall/src/main/java/com/gis/wall/mapper/TbCollectionMapper.java

@@ -1,28 +0,0 @@
-package com.gis.wall.mapper;
-
-
-import com.gis.wall.pojo.TbCollection;
-import org.apache.ibatis.annotations.Mapper;
-import org.springframework.stereotype.Component;
-
-@Mapper
-@Component
-public interface TbCollectionMapper {
-    int deleteByPrimaryKey(Long id);
-
-    int insert(TbCollection record);
-
-    int insertSelective(TbCollection record);
-
-    TbCollection selectByPrimaryKey(Long id);
-
-    int updateByPrimaryKeySelective(TbCollection record);
-
-//    int updateByPrimaryKeyWithBLOBs(TbCollection record);
-
-    int updateByPrimaryKey(TbCollection record);
-
-    void addVisit(Long id);
-
-    Long countVisit();
-}

+ 0 - 46
gis_wall/src/main/java/com/gis/wall/mapper/TbCollectionMapperCust.java

@@ -1,46 +0,0 @@
-package com.gis.wall.mapper;
-
-
-import com.gis.wall.pojo.TbCollection;
-import com.gis.wall.pojo.TbCollectionTime;
-import com.gis.wall.pojo.TbCollectionType;
-import com.gis.wall.request.RequestCollection;
-import com.gis.wall.respon.ResponCollection;
-import com.gis.wall.respon.ResponStatistics;
-import org.apache.ibatis.annotations.Mapper;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-@Component
-public interface TbCollectionMapperCust {
-
-    List<TbCollectionTime> timeList();
-
-    List<TbCollectionType> typeList(RequestCollection bo);
-
-    List<ResponCollection> findList(RequestCollection bo);
-
-    List<ResponCollection> findListByExhibitionId(Long id);
-
-    List<ResponCollection> searchListByName(RequestCollection collection);
-
-    int addLikeNumById(Long id);
-
-    TbCollection findByName(String name);
-
-    int addOpenNumById(Long id);
-
-    int addSearchNumById(Long id);
-
-    int addDownloadNumById(Long id);
-
-    ResponStatistics collectionTotal();
-
-    List<ResponCollection> findListOrderBy(Map<String, String> map);
-
-    List<Map<String, Object>> typeTotal();
-
-}

+ 0 - 22
gis_wall/src/main/java/com/gis/wall/mapper/TbCollectionTimeMapper.java

@@ -1,22 +0,0 @@
-package com.gis.wall.mapper;
-
-
-import com.gis.wall.pojo.TbCollectionTime;
-import org.apache.ibatis.annotations.Mapper;
-import org.springframework.stereotype.Component;
-
-@Mapper
-@Component
-public interface TbCollectionTimeMapper {
-    int deleteByPrimaryKey(Long id);
-
-    int insert(TbCollectionTime record);
-
-    int insertSelective(TbCollectionTime record);
-
-    TbCollectionTime selectByPrimaryKey(Long id);
-
-    int updateByPrimaryKeySelective(TbCollectionTime record);
-
-    int updateByPrimaryKey(TbCollectionTime record);
-}

+ 0 - 14
gis_wall/src/main/java/com/gis/wall/mapper/TbCollectionTimeMapperCust.java

@@ -1,14 +0,0 @@
-package com.gis.wall.mapper;
-
-
-import com.gis.wall.pojo.TbCollectionTime;
-import org.apache.ibatis.annotations.Mapper;
-import org.springframework.stereotype.Component;
-
-@Mapper
-@Component
-public interface TbCollectionTimeMapperCust {
-
-    TbCollectionTime findByName(String name);
-
-}

+ 0 - 22
gis_wall/src/main/java/com/gis/wall/mapper/TbCollectionTypeMapper.java

@@ -1,22 +0,0 @@
-package com.gis.wall.mapper;
-
-
-import com.gis.wall.pojo.TbCollectionType;
-import org.apache.ibatis.annotations.Mapper;
-import org.springframework.stereotype.Component;
-
-@Mapper
-@Component
-public interface TbCollectionTypeMapper {
-    int deleteByPrimaryKey(Long id);
-
-    int insert(TbCollectionType record);
-
-    int insertSelective(TbCollectionType record);
-
-    TbCollectionType selectByPrimaryKey(Long id);
-
-    int updateByPrimaryKeySelective(TbCollectionType record);
-
-    int updateByPrimaryKey(TbCollectionType record);
-}

+ 0 - 14
gis_wall/src/main/java/com/gis/wall/mapper/TbCollectionTypeMapperCust.java

@@ -1,14 +0,0 @@
-package com.gis.wall.mapper;
-
-
-import com.gis.wall.pojo.TbCollectionType;
-import org.apache.ibatis.annotations.Mapper;
-import org.springframework.stereotype.Component;
-
-@Mapper
-@Component
-public interface TbCollectionTypeMapperCust {
-
-    TbCollectionType findByName(String name);
-
-}

+ 0 - 74
gis_wall/src/main/java/com/gis/wall/pojo/TbCollection.java

@@ -1,74 +0,0 @@
-package com.gis.wall.pojo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.Date;
-
-@Data
-public class TbCollection {
-    private Long id;
-
-    private String name;
-
-    private Long typeId;
-
-    private Long timeId;
-
-    private Date discoveryTime;
-
-    private Date repairTime;
-
-    private String venue;
-
-    private String unityPic;
-
-    private String unityUrl;
-
-    private String pic;
-
-    private String modelUrl;
-
-    private String contentUrl;
-
-    private Integer state;
-
-    private Date createTime;
-
-    private String description;
-
-    private String num;
-
-    private Integer likeNum;
-
-    private Integer openNum;
-
-    private Integer searchNum;
-
-    private Integer downloadNum;
-
-
-
-
-    @ApiModelProperty(value = "图片")
-    private String icon;
-
-    @ApiModelProperty(value = "目录code", notes = "上传文件使用")
-    private String dirCode;
-
-    @ApiModelProperty(value = "访问量")
-    private String visit;
-
-
-    // 2021-09-22
-    @ApiModelProperty(value = "类型: 2D 、 3D")
-    private String type;
-
-    @ApiModelProperty(value = "轮播板式", notes = "数组转字符串存储")
-    private String urlList;
-
-    @ApiModelProperty(value = "二维码")
-    private String qrCode;
-
-
-}

+ 0 - 45
gis_wall/src/main/java/com/gis/wall/pojo/TbCollectionTime.java

@@ -1,45 +0,0 @@
-package com.gis.wall.pojo;
-
-import java.util.Date;
-
-public class TbCollectionTime {
-    private Long id;
-
-    private String name;
-
-    private Integer state;
-
-    private Date createTime;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name == null ? null : name.trim();
-    }
-
-    public Integer getState() {
-        return state;
-    }
-
-    public void setState(Integer state) {
-        this.state = state;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-}

+ 0 - 45
gis_wall/src/main/java/com/gis/wall/pojo/TbCollectionType.java

@@ -1,45 +0,0 @@
-package com.gis.wall.pojo;
-
-import java.util.Date;
-
-public class TbCollectionType {
-    private Long id;
-
-    private String name;
-
-    private Integer state;
-
-    private Date createTime;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name == null ? null : name.trim();
-    }
-
-    public Integer getState() {
-        return state;
-    }
-
-    public void setState(Integer state) {
-        this.state = state;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-}

+ 0 - 15
gis_wall/src/main/java/com/gis/wall/request/RequestBase.java

@@ -1,15 +0,0 @@
-package com.gis.wall.request;
-
-import lombok.Data;
-
-import java.io.Serializable;
-
-@Data
-public class RequestBase implements Serializable {
-
-    private int pageNum;
-
-    private int pageSize;
-
-    private int start;
-}

+ 0 - 60
gis_wall/src/main/java/com/gis/wall/request/RequestCollection.java

@@ -1,60 +0,0 @@
-package com.gis.wall.request;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- * Created by Hb_zzZ on 2019/9/11.
- */
-@Data
-public class RequestCollection extends RequestBase{
-
-    private Long id;
-
-    private String name;
-
-    private Long typeId;
-
-    private Long timeId;
-
-    private Date discoveryTime;
-
-    private Date repairTime;
-
-    private String venue;
-
-    private String modelUrl;
-
-    private String contentUrl;
-
-    private Integer state;
-
-    private String description;
-
-    private String pic;
-
-    private String num;
-
-    private String unityPic;
-
-    private String unityUrl;
-
-    // 图片 2021-08-02
-    @ApiModelProperty(value = "图片")
-    private String icon;
-
-    @ApiModelProperty(value = "目录code", notes = "上传文件使用")
-    private String dirCode;
-
-    // 2021-09-22
-    @ApiModelProperty(value = "类型: 2D 、 3D")
-    private String type;
-
-    @ApiModelProperty(value = "轮播板式")
-    private String urlList;
-
-    @ApiModelProperty(value = "二维码")
-    private String qrCode;
-}

+ 0 - 71
gis_wall/src/main/java/com/gis/wall/respon/ResponCollection.java

@@ -1,71 +0,0 @@
-package com.gis.wall.respon;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * Created by Hb_zzZ on 2019/9/11.
- */
-@Data
-public class ResponCollection {
-
-    private Long id;
-
-    private String name;
-
-    private Long typeId;
-
-    private Long timeId;
-
-    private String discoveryTime;
-
-    private String repairTime;
-
-    private String venue;
-
-    private String modelUrl;
-
-    private String contentUrl;
-
-    private Integer state;
-
-    private String description;
-
-    private String typeName;
-
-    private String timeName;
-
-    private String pic;
-
-    private String num;
-
-    private Integer likeNum;
-
-    private Integer openNum;
-
-    private Integer searchNum;
-
-    private Integer downloadNum;
-
-    private String unityPic;
-
-    private String unityUrl;
-
-    // 图片 2021-08-02
-    @ApiModelProperty(value = "图片")
-    private String icon;
-
-    @ApiModelProperty(value = "目录code", notes = "上传文件使用")
-    private String dirCode;
-
-
-    // 2021-09-22
-    @ApiModelProperty(value = "类型: 2D 、 3D")
-    private String type;
-
-    @ApiModelProperty(value = "轮播板式")
-    private String urlList;
-
-    @ApiModelProperty(value = "二维码")
-    private String qrCode;
-}

+ 0 - 45
gis_wall/src/main/java/com/gis/wall/respon/ResponExhibition.java

@@ -1,45 +0,0 @@
-package com.gis.wall.respon;
-
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * Created by Hb_zzZ on 2019/9/12.
- */
-@Data
-public class ResponExhibition {
-
-    private Long id;
-
-    private String name;
-
-    private Long typeId;
-
-    private Long equipmentId;
-
-    private Integer state;
-
-    private String description;
-
-    private Long exhibitionId;
-
-    private Long collectionId;
-
-    private String collectionName;
-
-    private String typeName;
-
-    private String timeName;
-
-    private String equipmentName;
-
-    private String createTime;
-
-    private List<ResponCollection> collectionList;
-
-    private String webUrl;
-
-    private Long openNum;
-
-}

+ 0 - 31
gis_wall/src/main/java/com/gis/wall/respon/ResponStatistics.java

@@ -1,31 +0,0 @@
-package com.gis.wall.respon;
-
-import lombok.Data;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by Hb_zzZ on 2020/9/11.
- */
-@Data
-public class ResponStatistics {
-
-    private Long total;
-
-    private Long likeTotal;
-
-    private Long downloadNum;
-
-    private Long exhibitionTotal;
-
-    private List<ResponExhibition> exhibitionList;
-
-    List<ResponCollection> collectionSearchList;
-
-    List<ResponCollection> collectionLikeList;
-
-    List<ResponCollection> collectionOpenList;
-
-    List<Map<String, Object>> collectionTypeTotal;
-}

+ 0 - 56
gis_wall/src/main/java/com/gis/wall/service/ICollectionService.java

@@ -1,56 +0,0 @@
-package com.gis.wall.service;
-
-import com.gis.common.util.Result;
-import com.gis.wall.pojo.TbCollection;
-import com.gis.wall.pojo.TbCollectionTime;
-import com.gis.wall.pojo.TbCollectionType;
-import com.gis.wall.request.RequestCollection;
-import com.gis.wall.respon.ResponCollection;
-import com.gis.wall.respon.ResponStatistics;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by Hb_zzZ on 2019/9/11.
- */
-public interface ICollectionService {
-
-    List<TbCollectionType> typeList(RequestCollection bo);
-
-    List<TbCollectionTime> timeList();
-
-    int insert(TbCollection bo);
-
-    int update(TbCollection bo);
-
-    ResponCollection findById(Long id);
-
-    List<ResponCollection> findList(RequestCollection bo);
-
-    int addLikeNumById(Long id);
-
-//    Result importCollection(String fileUrl);
-
-    List<ResponCollection> searchCollection(RequestCollection bo);
-
-    int addSearchNum(Long id);
-
-    int addDownloadNum(Long id);
-
-    ResponStatistics collectionTotal();
-
-    List<ResponCollection> findListOrderBy(Map<String, String> map);
-
-    List<Map<String, Object>> typeTotal();
-
-    int deleteById(Long id);
-
-    Result uploadCode(MultipartFile file, String code);
-
-    Result addVisit(Long id);
-
-
-    Long countVisit();
-}

+ 0 - 283
gis_wall/src/main/java/com/gis/wall/service/impl/CollectionServiceImpl.java

@@ -1,283 +0,0 @@
-package com.gis.wall.service.impl;
-
-import cn.hutool.core.io.FileUtil;
-import com.gis.common.constant.ConfigConstant;
-import com.gis.common.util.Result;
-import com.gis.wall.mapper.*;
-import com.gis.wall.pojo.TbCollection;
-import com.gis.wall.pojo.TbCollectionTime;
-import com.gis.wall.pojo.TbCollectionType;
-import com.gis.wall.request.RequestCollection;
-import com.gis.wall.respon.ResponCollection;
-import com.gis.wall.respon.ResponStatistics;
-import com.gis.wall.service.ICollectionService;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.util.StringUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by Hb_zzZ on 2019/9/11.
- */
-@Slf4j
-@Service
-public class CollectionServiceImpl implements ICollectionService {
-
-    @Autowired
-    private TbCollectionMapper mapper;
-
-    @Autowired
-    private TbCollectionMapperCust mapperCust;
-
-    @Autowired
-    private TbCollectionTypeMapper typeMapper;
-
-    @Autowired
-    private TbCollectionTypeMapperCust typeMapperCust;
-
-    @Autowired
-    private TbCollectionTimeMapper timeMapper;
-
-    @Autowired
-    private TbCollectionTimeMapperCust timeMapperCust;
-
-//    @Autowired
-//    private TbExhibitionCollectionMapperCust exhibitionCollectionMapperCust;
-
-    @Autowired
-    ConfigConstant configConstant;
-
-    @Override
-    public List<TbCollectionType> typeList(RequestCollection bo) {
-        return mapperCust.typeList(bo);
-    }
-
-    @Override
-    public List<TbCollectionTime> timeList() {
-        return mapperCust.timeList();
-    }
-
-    @Override
-    public int insert(TbCollection bo) {
-        return mapper.insertSelective(bo);
-    }
-
-    @Override
-    public int update(TbCollection bo) {
-        return mapper.updateByPrimaryKeySelective(bo);
-    }
-
-    @Override
-    public ResponCollection findById(Long id) {
-        TbCollection collection = mapper.selectByPrimaryKey(id);
-        if(collection == null){
-            return null;
-        }
-        ResponCollection result = new ResponCollection();
-        BeanUtils.copyProperties(collection, result);
-//        String typeImages = collection.getTypeImages();
-//        if (StringUtils.isNotBlank(typeImages)){
-//            List<String> images = Arrays.asList(StrUtil.split(typeImages, ","));
-//            result.setTypeImages(images);
-//        }
-        TbCollectionType type = typeMapper.selectByPrimaryKey(collection.getTypeId());
-        if(type != null){
-            result.setTypeName(type.getName());
-        }
-
-        TbCollectionTime time = timeMapper.selectByPrimaryKey(collection.getTimeId());
-        if(time != null){
-            result.setTimeName(time.getName());
-        }
-
-        if(collection.getDiscoveryTime() != null){
-            result.setDiscoveryTime(String.valueOf(collection.getDiscoveryTime().getTime()));
-        }
-        if(collection.getRepairTime() != null){
-            result.setRepairTime(String.valueOf(collection.getRepairTime().getTime()));
-        }
-
-        mapperCust.addOpenNumById(id);
-
-        return result;
-    }
-
-
-
-    @Override
-    public List<ResponCollection> findList(RequestCollection bo) {
-        if(bo == null){
-            bo = new RequestCollection();
-            bo.setState(0);
-            return mapperCust.findList(bo);
-        }
-        int pageNum = bo.getPageNum() == 0? 1: bo.getPageNum();
-        int pageSize = bo.getPageSize() == 0? 10: bo.getPageSize();
-        PageHelper.startPage(pageNum, pageSize);
-
-        return mapperCust.findList(bo);
-    }
-
-    @Override
-    public int addLikeNumById(Long id) {
-        return mapperCust.addLikeNumById(id);
-    }
-
-//    @Override
-//    public Result importCollection(String fileUrl) {
-//        TbCollection collection = null;
-//        TbCollectionType collectionType = null;
-//        TbCollectionTime collectionTime = null;
-//        StringBuilder error = new StringBuilder();
-//        StringBuilder errorNum = new StringBuilder("");
-//
-//        ImportExeclUtil poi = new ImportExeclUtil();
-//        List<List<String>> list = poi.read(fileUrl);
-//        if (list != null) {
-//            for (int i = 0; i < list.size(); i++) {
-//                List<String> cellList = list.get(i);
-//                if(i == 0){
-//                    continue;
-//                }
-////                if(cellList.size() < 7){
-//                if(cellList.size() < 6){
-//                    return Result.failure("导入数据根式不正常");
-//                }
-//                if(StringUtil.isEmpty(cellList.get(0).toString().trim()) ||
-//                        StringUtil.isEmpty(cellList.get(1).toString().trim()) ||
-//                        StringUtil.isEmpty(cellList.get(2).toString().trim()) ||
-//                        StringUtil.isEmpty(cellList.get(3).toString().trim()) ||
-//                        StringUtil.isEmpty(cellList.get(4).toString().trim())){
-//                    errorNum.append(cellList.get(0).toString().trim()).append(";");
-//                    continue;
-//                }
-//
-//                collection = mapperCust.findByName(cellList.get(1).toString().trim());
-//                collectionType = typeMapperCust.findByName(cellList.get(2).toString().trim());
-//                collectionTime = timeMapperCust.findByName(cellList.get(3).toString().trim());
-//                if(collectionType == null || collectionTime == null){
-//                    errorNum.append(cellList.get(0).toString().trim()).append(";");
-//                    continue;
-//                }
-//                if(collection == null){
-//                    collection = new TbCollection();
-//                    collection.setName(cellList.get(1).toString().trim());
-//                    collection.setTypeId(collectionType.getId());
-//                    collection.setTimeId(collectionTime.getId());
-//                    collection.setNum(cellList.get(4).toString().trim());
-//                    collection.setDescription(cellList.get(5).toString().trim());
-//                    collection.setCreateTime(new Date());
-//                    mapper.insertSelective(collection);
-//                    continue;
-//                }
-//                collection.setName(cellList.get(1).toString().trim());
-//                collection.setTypeId(collectionType.getId());
-//                collection.setTimeId(collectionTime.getId());
-//                collection.setNum(cellList.get(4).toString().trim());
-//                collection.setDescription(cellList.get(5).toString().trim());
-//                mapper.updateByPrimaryKeySelective(collection);
-//            }
-//
-//        }
-//        if(StringUtil.isNotEmpty(errorNum.toString())){
-//            error.append("序号").append(errorNum.toString()).append("内容导入失败");
-//            return Result.failure(error.toString());
-//        }
-//        return Result.success();
-//    }
-
-    @Override
-    public List<ResponCollection> searchCollection(RequestCollection bo) {
-        return mapperCust.searchListByName(bo);
-    }
-
-    @Override
-    public int addSearchNum(Long id) {
-        return mapperCust.addSearchNumById(id);
-    }
-
-    @Override
-    public int addDownloadNum(Long id) {
-        return mapperCust.addDownloadNumById(id);
-    }
-
-    @Override
-    public ResponStatistics collectionTotal() {
-        return mapperCust.collectionTotal();
-    }
-
-    @Override
-    public List<ResponCollection> findListOrderBy(Map<String, String> map) {
-        return mapperCust.findListOrderBy(map);
-    }
-
-    @Override
-    public List<Map<String, Object>> typeTotal() {
-        return mapperCust.typeTotal();
-    }
-
-//    @Override
-//    public int deleteById(Long id) {
-//        exhibitionCollectionMapperCust.deleteByCollectionId(id);
-//        return mapper.deleteByPrimaryKey(id);
-//    }
-
-        @Override
-    public int deleteById(Long id) {
-        return mapper.deleteByPrimaryKey(id);
-    }
-
-    @Override
-    public Result uploadCode(MultipartFile file, String code) {
-
-        if(file == null){
-            return Result.failure("参数不能为空");
-        }
-
-        // 拦截非法文件
-        List<String> legalSuffix = Arrays.asList("obj","png","ab");
-        String originalFilename = file.getOriginalFilename();
-        String suffix = StringUtils.substringAfterLast(originalFilename, ".");
-        suffix = StringUtils.lowerCase(suffix);
-
-        if (!legalSuffix.contains(suffix)){
-            return Result.failure(3001, "非法文件");
-        }
-
-        String filePath = "/collection/unity/" + code +"/" +  originalFilename;
-        String savePath = configConstant.serverBasePath + filePath;
-        try {
-            FileUtil.writeFromStream(file.getInputStream(), savePath);
-            log.info("图片地址:" + savePath);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        return Result.success((Object)filePath);
-    }
-
-    @Override
-    public Result addVisit(Long id) {
-        mapper.addVisit(id);
-        return Result.success();
-    }
-
-    @Override
-    public Long countVisit() {
-        return mapper.countVisit();
-    }
-
-    public static void main(String[] args) {
-        CollectionServiceImpl service = new CollectionServiceImpl();
-
-//        service.importCollection("F:\\文档\\下载\\高淳文物导入模板.xlsx");
-    }
-}

+ 0 - 43
gis_wall/src/main/resources/b/SceneMapper.xml

@@ -1,43 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.base.SceneMapper">-->
-  <!--<resultMap id="BaseResultMap" type="com.fdage.entity.SceneEntity">-->
-    <!--&lt;!&ndash;<id column="id" jdbcType="BIGINT" property="id" />&ndash;&gt;-->
-    <!--&lt;!&ndash;<result column="name" jdbcType="VARCHAR" property="name" />&ndash;&gt;-->
-  <!--</resultMap>-->
-
-  <!--<select id="findAll" parameterType="java.lang.Long" resultMap="BaseResultMap">-->
-   <!--select * from tb_scene where is_delete=0 order by create_time desc;-->
-  <!--</select>-->
-
-  <!--<select id="findById" parameterType="java.lang.Long" resultMap="BaseResultMap">-->
-   <!--select * from tb_scene where is_delete=0 and id=#{id};-->
-  <!--</select>-->
-
-
-    <!--<insert id="insert" parameterType="com.fdage.entity.SceneEntity">-->
-    <!--insert into tb_scene (-->
-    <!--name, url_scene, thumb, file_name-->
-    <!--)-->
-    <!--values (-->
-    <!--#{name} ,#{urlScene} ,#{thumb} ,#{fileName}-->
-    <!--)-->
-  <!--</insert>-->
-
-
-    <!--<update id="update" parameterType="com.fdage.entity.SceneEntity">-->
-    <!--update tb_scene set-->
-    <!--name=#{name},-->
-    <!--url_scene=#{urlScene},-->
-    <!--thumb=#{thumb},-->
-    <!--file_name=#{fileName},-->
-    <!--update_time=#{updateTime}-->
-   <!--where id=#{id} and is_delete=0;-->
-  <!--</update>-->
-
-
-    <!--<update id="remove" parameterType="com.fdage.entity.SceneEntity">-->
-      <!--update tb_scene set is_delete=1, update_time=NOW() where id=#{id} and is_delete=0;-->
-  <!--</update>-->
-
-<!--</mapper>-->

+ 0 - 93
gis_wall/src/main/resources/b/TbAuthorityMapper.xml

@@ -1,93 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.base.TbAuthorityMapper">-->
-  <!--<resultMap id="BaseResultMap" type="com.fdage.pojo.TbAuthority">-->
-    <!--<id column="id" jdbcType="BIGINT" property="id" />-->
-    <!--<result column="role_id" jdbcType="BIGINT" property="roleId" />-->
-    <!--<result column="menu_id" jdbcType="BIGINT" property="menuId" />-->
-    <!--<result column="state" jdbcType="INTEGER" property="state" />-->
-    <!--<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />-->
-  <!--</resultMap>-->
-  <!--<sql id="Base_Column_List">-->
-    <!--id, role_id, menu_id, state, create_time-->
-  <!--</sql>-->
-  <!--<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">-->
-    <!--select -->
-    <!--<include refid="Base_Column_List" />-->
-    <!--from tb_authority-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</select>-->
-  <!--<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">-->
-    <!--delete from tb_authority-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</delete>-->
-  <!--<insert id="insert" parameterType="com.fdage.pojo.TbAuthority">-->
-    <!--insert into tb_authority (id, role_id, menu_id, -->
-      <!--state, create_time)-->
-    <!--values (#{id,jdbcType=BIGINT}, #{roleId,jdbcType=BIGINT}, #{menuId,jdbcType=BIGINT}, -->
-      <!--#{state,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP})-->
-  <!--</insert>-->
-  <!--<insert id="insertSelective" parameterType="com.fdage.pojo.TbAuthority">-->
-    <!--insert into tb_authority-->
-    <!--<trim prefix="(" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--id,-->
-      <!--</if>-->
-      <!--<if test="roleId != null">-->
-        <!--role_id,-->
-      <!--</if>-->
-      <!--<if test="menuId != null">-->
-        <!--menu_id,-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state,-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time,-->
-      <!--</if>-->
-    <!--</trim>-->
-    <!--<trim prefix="values (" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--#{id,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="roleId != null">-->
-        <!--#{roleId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="menuId != null">-->
-        <!--#{menuId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--#{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--#{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</trim>-->
-  <!--</insert>-->
-  <!--<update id="updateByPrimaryKeySelective" parameterType="com.fdage.pojo.TbAuthority">-->
-    <!--update tb_authority-->
-    <!--<set>-->
-      <!--<if test="roleId != null">-->
-        <!--role_id = #{roleId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="menuId != null">-->
-        <!--menu_id = #{menuId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state = #{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time = #{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</set>-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-  <!--<update id="updateByPrimaryKey" parameterType="com.fdage.pojo.TbAuthority">-->
-    <!--update tb_authority-->
-    <!--set role_id = #{roleId,jdbcType=BIGINT},-->
-      <!--menu_id = #{menuId,jdbcType=BIGINT},-->
-      <!--state = #{state,jdbcType=INTEGER},-->
-      <!--create_time = #{createTime,jdbcType=TIMESTAMP}-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-<!--</mapper>-->

+ 0 - 106
gis_wall/src/main/resources/b/TbEquipmentMapper.xml

@@ -1,106 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.base.TbEquipmentMapper">-->
-  <!--<resultMap id="BaseResultMap" type="com.fdage.pojo.TbEquipment">-->
-    <!--<id column="id" jdbcType="BIGINT" property="id" />-->
-    <!--<result column="name" jdbcType="VARCHAR" property="name" />-->
-    <!--<result column="uuid" jdbcType="VARCHAR" property="uuid" />-->
-    <!--<result column="position_id" jdbcType="BIGINT" property="positionId" />-->
-    <!--<result column="state" jdbcType="INTEGER" property="state" />-->
-    <!--<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />-->
-  <!--</resultMap>-->
-  <!--<sql id="Base_Column_List">-->
-    <!--id, name, uuid, position_id, state, create_time-->
-  <!--</sql>-->
-  <!--<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">-->
-    <!--select -->
-    <!--<include refid="Base_Column_List" />-->
-    <!--from tb_equipment-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</select>-->
-  <!--<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">-->
-    <!--delete from tb_equipment-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</delete>-->
-  <!--<insert id="insert" parameterType="com.fdage.pojo.TbEquipment">-->
-    <!--insert into tb_equipment (id, name, uuid, -->
-      <!--position_id, state, create_time-->
-      <!--)-->
-    <!--values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{uuid,jdbcType=VARCHAR}, -->
-      <!--#{positionId,jdbcType=BIGINT}, #{state,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}-->
-      <!--)-->
-  <!--</insert>-->
-  <!--<insert id="insertSelective" parameterType="com.fdage.pojo.TbEquipment">-->
-    <!--insert into tb_equipment-->
-    <!--<trim prefix="(" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--id,-->
-      <!--</if>-->
-      <!--<if test="name != null">-->
-        <!--name,-->
-      <!--</if>-->
-      <!--<if test="uuid != null">-->
-        <!--uuid,-->
-      <!--</if>-->
-      <!--<if test="positionId != null">-->
-        <!--position_id,-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state,-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time,-->
-      <!--</if>-->
-    <!--</trim>-->
-    <!--<trim prefix="values (" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--#{id,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="name != null">-->
-        <!--#{name,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="uuid != null">-->
-        <!--#{uuid,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="positionId != null">-->
-        <!--#{positionId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--#{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--#{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</trim>-->
-  <!--</insert>-->
-  <!--<update id="updateByPrimaryKeySelective" parameterType="com.fdage.pojo.TbEquipment">-->
-    <!--update tb_equipment-->
-    <!--<set>-->
-      <!--<if test="name != null">-->
-        <!--name = #{name,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="uuid != null">-->
-        <!--uuid = #{uuid,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="positionId != null">-->
-        <!--position_id = #{positionId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state = #{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time = #{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</set>-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-  <!--<update id="updateByPrimaryKey" parameterType="com.fdage.pojo.TbEquipment">-->
-    <!--update tb_equipment-->
-    <!--set name = #{name,jdbcType=VARCHAR},-->
-      <!--uuid = #{uuid,jdbcType=VARCHAR},-->
-      <!--position_id = #{positionId,jdbcType=BIGINT},-->
-      <!--state = #{state,jdbcType=INTEGER},-->
-      <!--create_time = #{createTime,jdbcType=TIMESTAMP}-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-<!--</mapper>-->

+ 0 - 9
gis_wall/src/main/resources/b/TbEquipmentMapperCust.xml

@@ -1,9 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.cust.TbEquipmentMapperCust">-->
-  <!--<select id="findList" resultType="com.fdage.respon.ResponEquipment">-->
-    <!--select -->
-      <!--a.id, a.name, a.uuid, a.position_id as positionId, a.state, a.create_time as createTime, b.name as positionName-->
-    <!--from tb_equipment a left join tb_position b on a.position_id = b.id-->
-  <!--</select>-->
-<!--</mapper>-->

+ 0 - 93
gis_wall/src/main/resources/b/TbExhibitionCollectionMapper.xml

@@ -1,93 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.base.TbExhibitionCollectionMapper">-->
-  <!--<resultMap id="BaseResultMap" type="com.fdage.pojo.TbExhibitionCollection">-->
-    <!--<id column="id" jdbcType="BIGINT" property="id" />-->
-    <!--<result column="exhibition_id" jdbcType="BIGINT" property="exhibitionId" />-->
-    <!--<result column="collection_id" jdbcType="BIGINT" property="collectionId" />-->
-    <!--<result column="state" jdbcType="INTEGER" property="state" />-->
-    <!--<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />-->
-  <!--</resultMap>-->
-  <!--<sql id="Base_Column_List">-->
-    <!--id, exhibition_id, collection_id, state, create_time-->
-  <!--</sql>-->
-  <!--<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">-->
-    <!--select -->
-    <!--<include refid="Base_Column_List" />-->
-    <!--from tb_exhibition_collection-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</select>-->
-  <!--<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">-->
-    <!--delete from tb_exhibition_collection-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</delete>-->
-  <!--<insert id="insert" parameterType="com.fdage.pojo.TbExhibitionCollection">-->
-    <!--insert into tb_exhibition_collection (id, exhibition_id, collection_id, -->
-      <!--state, create_time)-->
-    <!--values (#{id,jdbcType=BIGINT}, #{exhibitionId,jdbcType=BIGINT}, #{collectionId,jdbcType=BIGINT}, -->
-      <!--#{state,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP})-->
-  <!--</insert>-->
-  <!--<insert id="insertSelective" parameterType="com.fdage.pojo.TbExhibitionCollection">-->
-    <!--insert into tb_exhibition_collection-->
-    <!--<trim prefix="(" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--id,-->
-      <!--</if>-->
-      <!--<if test="exhibitionId != null">-->
-        <!--exhibition_id,-->
-      <!--</if>-->
-      <!--<if test="collectionId != null">-->
-        <!--collection_id,-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state,-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time,-->
-      <!--</if>-->
-    <!--</trim>-->
-    <!--<trim prefix="values (" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--#{id,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="exhibitionId != null">-->
-        <!--#{exhibitionId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="collectionId != null">-->
-        <!--#{collectionId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--#{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--#{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</trim>-->
-  <!--</insert>-->
-  <!--<update id="updateByPrimaryKeySelective" parameterType="com.fdage.pojo.TbExhibitionCollection">-->
-    <!--update tb_exhibition_collection-->
-    <!--<set>-->
-      <!--<if test="exhibitionId != null">-->
-        <!--exhibition_id = #{exhibitionId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="collectionId != null">-->
-        <!--collection_id = #{collectionId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state = #{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time = #{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</set>-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-  <!--<update id="updateByPrimaryKey" parameterType="com.fdage.pojo.TbExhibitionCollection">-->
-    <!--update tb_exhibition_collection-->
-    <!--set exhibition_id = #{exhibitionId,jdbcType=BIGINT},-->
-      <!--collection_id = #{collectionId,jdbcType=BIGINT},-->
-      <!--state = #{state,jdbcType=INTEGER},-->
-      <!--create_time = #{createTime,jdbcType=TIMESTAMP}-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-<!--</mapper>-->

+ 0 - 19
gis_wall/src/main/resources/b/TbExhibitionCollectionMapperCust.xml

@@ -1,19 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.cust.TbExhibitionCollectionMapperCust">-->
-  <!--<delete id="deleteByExhibitionId" parameterType="java.lang.Long">-->
-    <!--delete from tb_exhibition_collection-->
-    <!--where exhibition_id = #{exhibitionId,jdbcType=BIGINT}-->
-  <!--</delete>-->
-
-  <!--<select id="findExhibitionCollection" parameterType="java.lang.Long" resultType="com.fdage.respon.ResponExhibition">-->
-    <!--select exhibition_id as exhibitionId, collection_id as collectionId-->
-    <!--FROM tb_exhibition_collection-->
-    <!--where exhibition_id = #{exhibitionId}-->
-  <!--</select>-->
-
-  <!--<delete id="deleteByCollectionId" parameterType="java.lang.Long">-->
-    <!--delete from tb_exhibition_collection-->
-    <!--where collection_id = #{collectionId,jdbcType=BIGINT}-->
-  <!--</delete>-->
-<!--</mapper>-->

+ 0 - 145
gis_wall/src/main/resources/b/TbExhibitionMapper.xml

@@ -1,145 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.base.TbExhibitionMapper">-->
-  <!--<resultMap id="BaseResultMap" type="com.fdage.pojo.TbExhibition">-->
-    <!--<id column="id" jdbcType="BIGINT" property="id" />-->
-    <!--<result column="name" jdbcType="VARCHAR" property="name" />-->
-    <!--<result column="web_url" jdbcType="VARCHAR" property="webUrl" />-->
-    <!--<result column="type_id" jdbcType="BIGINT" property="typeId" />-->
-    <!--<result column="equipment_id" jdbcType="BIGINT" property="equipmentId" />-->
-    <!--<result column="state" jdbcType="INTEGER" property="state" />-->
-    <!--<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />-->
-  <!--</resultMap>-->
-  <!--<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.fdage.pojo.TbExhibition">-->
-    <!--<result column="description" jdbcType="LONGVARCHAR" property="description" />-->
-  <!--</resultMap>-->
-  <!--<sql id="Base_Column_List">-->
-    <!--id, name,web_url, type_id, equipment_id, state, create_time-->
-  <!--</sql>-->
-  <!--<sql id="Blob_Column_List">-->
-    <!--description-->
-  <!--</sql>-->
-  <!--<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="ResultMapWithBLOBs">-->
-    <!--select -->
-    <!--<include refid="Base_Column_List" />-->
-    <!--,-->
-    <!--<include refid="Blob_Column_List" />-->
-    <!--from tb_exhibition-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</select>-->
-  <!--<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">-->
-    <!--delete from tb_exhibition-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</delete>-->
-  <!--<insert id="insert" parameterType="com.fdage.pojo.TbExhibition" useGeneratedKeys="true" keyProperty="id">-->
-    <!--insert into tb_exhibition (id, name, type_id, web_url,-->
-      <!--equipment_id, state, create_time, -->
-      <!--description)-->
-    <!--values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{typeId,jdbcType=BIGINT}, #{webUrl,jdbcType=VARCHAR},-->
-      <!--#{equipmentId,jdbcType=BIGINT}, #{state,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, -->
-      <!--#{description,jdbcType=LONGVARCHAR})-->
-  <!--</insert>-->
-  <!--<insert id="insertSelective" parameterType="com.fdage.pojo.TbExhibition" useGeneratedKeys="true" keyProperty="id">-->
-    <!--insert into tb_exhibition-->
-    <!--<trim prefix="(" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--id,-->
-      <!--</if>-->
-      <!--<if test="name != null">-->
-        <!--name,-->
-      <!--</if>-->
-      <!--<if test="typeId != null">-->
-        <!--type_id,-->
-      <!--</if>-->
-      <!--<if test="webUrl != null">-->
-        <!--web_url,-->
-      <!--</if>-->
-      <!--<if test="equipmentId != null">-->
-        <!--equipment_id,-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state,-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time,-->
-      <!--</if>-->
-      <!--<if test="description != null">-->
-        <!--description,-->
-      <!--</if>-->
-    <!--</trim>-->
-    <!--<trim prefix="values (" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--#{id,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="name != null">-->
-        <!--#{name,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="typeId != null">-->
-        <!--#{typeId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="webUrl != null">-->
-        <!--#{webUrl,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="equipmentId != null">-->
-        <!--#{equipmentId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--#{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--#{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-      <!--<if test="description != null">-->
-        <!--#{description,jdbcType=LONGVARCHAR},-->
-      <!--</if>-->
-    <!--</trim>-->
-  <!--</insert>-->
-  <!--<update id="updateByPrimaryKeySelective" parameterType="com.fdage.pojo.TbExhibition">-->
-    <!--update tb_exhibition-->
-    <!--<set>-->
-      <!--<if test="name != null">-->
-        <!--name = #{name,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="typeId != null">-->
-        <!--type_id = #{typeId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="webUrl != null">-->
-        <!--web_url = #{webUrl,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="equipmentId != null">-->
-        <!--equipment_id = #{equipmentId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state = #{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time = #{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-      <!--<if test="description != null">-->
-        <!--description = #{description,jdbcType=LONGVARCHAR},-->
-      <!--</if>-->
-    <!--</set>-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-  <!--<update id="updateByPrimaryKeyWithBLOBs" parameterType="com.fdage.pojo.TbExhibition">-->
-    <!--update tb_exhibition-->
-    <!--set name = #{name,jdbcType=VARCHAR},-->
-      <!--type_id = #{typeId,jdbcType=BIGINT},-->
-      <!--web_url = #{webUrl,jdbcType=VARCHAR},-->
-      <!--equipment_id = #{equipmentId,jdbcType=BIGINT},-->
-      <!--state = #{state,jdbcType=INTEGER},-->
-      <!--create_time = #{createTime,jdbcType=TIMESTAMP},-->
-      <!--description = #{description,jdbcType=LONGVARCHAR}-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-  <!--<update id="updateByPrimaryKey" parameterType="com.fdage.pojo.TbExhibition">-->
-    <!--update tb_exhibition-->
-    <!--set name = #{name,jdbcType=VARCHAR},-->
-      <!--type_id = #{typeId,jdbcType=BIGINT},-->
-      <!--web_url = #{webUrl,jdbcType=VARCHAR},-->
-      <!--equipment_id = #{equipmentId,jdbcType=BIGINT},-->
-      <!--state = #{state,jdbcType=INTEGER},-->
-      <!--create_time = #{createTime,jdbcType=TIMESTAMP}-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-<!--</mapper>-->

+ 0 - 62
gis_wall/src/main/resources/b/TbExhibitionMapperCust.xml

@@ -1,62 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.cust.TbExhibitionMapperCust">-->
-    <!--<select id="findCollectionByExhibition" parameterType="java.lang.Long" resultType="com.fdage.respon.ResponExhibition">-->
-        <!--select b.name, c.name as timeName, d.name as typeName, b.id-->
-        <!--FROM tb_exhibition_collection a LEFT JOIN tb_collection b ON a.collection_id = b.id-->
-        <!--LEFT JOIN tb_collection_time c ON b.time_id = c.id-->
-        <!--LEFT JOIN tb_exhibition_type d on b.type_id = d.id-->
-        <!--where a.exhibition_id = #{id}-->
-    <!--</select>-->
-
-    <!--<select id="findList" parameterType="com.fdage.request.RequestExhibition" resultType="com.fdage.respon.ResponExhibition">-->
-        <!--select a.id, a.name , b.name as equipmentName, c.name as typeName, a.create_time as createTime, a.state,-->
-          <!--b.id as equipmentId, c.id as typeId, a.description, a.web_url as webUrl-->
-        <!--FROM tb_exhibition a LEFT JOIN tb_equipment b ON a.equipment_id = b.id-->
-        <!--LEFT JOIN tb_exhibition_type c on a.type_id = c.id-->
-        <!--where 1 = 1-->
-        <!--<if test="name != null and name != ''">-->
-            <!--and a.name LIKE CONCAT('%', #{name}, '%')-->
-        <!--</if>-->
-        <!--<if test="state != null">-->
-            <!--and a.state = #{state}-->
-        <!--</if>-->
-    <!--</select>-->
-
-    <!--<select id="getExhibitionByEquipmentId" parameterType="java.lang.Long" resultType="com.fdage.respon.ResponExhibition">-->
-        <!--select a.id, a.name , b.name as equipmentName, c.name as typeName, a.create_time as createTime, a.state, a.web_url as webUrl-->
-        <!--FROM tb_exhibition a LEFT JOIN tb_equipment b ON a.equipment_id = b.id-->
-        <!--LEFT JOIN tb_exhibition_type c on a.type_id = c.id-->
-        <!--where a.state = 0 and a.equipment_id = #{id}-->
-    <!--</select>-->
-
-    <!--<update id="updateStateByEquipmentId" parameterType="java.lang.Long">-->
-        <!--update tb_exhibition-->
-        <!--set state = 1-->
-        <!--where equipment_id = #{id,jdbcType=BIGINT}-->
-    <!--</update>-->
-
-    <!--<select id="typeList" resultType="com.fdage.pojo.TbExhibitionType">-->
-        <!--select id, name-->
-        <!--from tb_exhibition_type-->
-    <!--</select>-->
-
-    <!--<update id="addOpenNum" parameterType="java.lang.Long">-->
-        <!--update tb_exhibition-->
-        <!--set open_num = open_num + 1-->
-        <!--where id = #{id,jdbcType=BIGINT}-->
-    <!--</update>-->
-
-    <!--<select id="exhibitionTotal" resultType="java.lang.Long">-->
-        <!--SELECT COUNT(DISTINCT(collection_id))-->
-        <!--FROM `tb_exhibition_collection`-->
-    <!--</select>-->
-
-    <!--<select id="findListOrderBy" resultType="com.fdage.respon.ResponExhibition">-->
-        <!--select a.id, a.name , b.name as equipmentName, c.name as typeName, a.create_time as createTime, a.state,-->
-        <!--b.id as equipmentId, c.id as typeId, a.description, a.web_url as webUrl, a.open_num as openNum-->
-        <!--FROM tb_exhibition a LEFT JOIN tb_equipment b ON a.equipment_id = b.id-->
-        <!--LEFT JOIN tb_exhibition_type c on a.type_id = c.id-->
-        <!--ORDER BY a.open_num desc-->
-    <!--</select>-->
-<!--</mapper>-->

+ 0 - 82
gis_wall/src/main/resources/b/TbExhibitionTypeMapper.xml

@@ -1,82 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.base.TbExhibitionTypeMapper">-->
-  <!--<resultMap id="BaseResultMap" type="com.fdage.pojo.TbExhibitionType">-->
-    <!--<id column="id" jdbcType="BIGINT" property="id" />-->
-    <!--<result column="name" jdbcType="VARCHAR" property="name" />-->
-    <!--<result column="state" jdbcType="INTEGER" property="state" />-->
-    <!--<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />-->
-  <!--</resultMap>-->
-  <!--<sql id="Base_Column_List">-->
-    <!--id, name, state, create_time-->
-  <!--</sql>-->
-  <!--<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">-->
-    <!--select -->
-    <!--<include refid="Base_Column_List" />-->
-    <!--from tb_exhibition_type-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</select>-->
-  <!--<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">-->
-    <!--delete from tb_exhibition_type-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</delete>-->
-  <!--<insert id="insert" parameterType="com.fdage.pojo.TbExhibitionType">-->
-    <!--insert into tb_exhibition_type (id, name, state, -->
-      <!--create_time)-->
-    <!--values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{state,jdbcType=INTEGER}, -->
-      <!--#{createTime,jdbcType=TIMESTAMP})-->
-  <!--</insert>-->
-  <!--<insert id="insertSelective" parameterType="com.fdage.pojo.TbExhibitionType">-->
-    <!--insert into tb_exhibition_type-->
-    <!--<trim prefix="(" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--id,-->
-      <!--</if>-->
-      <!--<if test="name != null">-->
-        <!--name,-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state,-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time,-->
-      <!--</if>-->
-    <!--</trim>-->
-    <!--<trim prefix="values (" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--#{id,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="name != null">-->
-        <!--#{name,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--#{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--#{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</trim>-->
-  <!--</insert>-->
-  <!--<update id="updateByPrimaryKeySelective" parameterType="com.fdage.pojo.TbExhibitionType">-->
-    <!--update tb_exhibition_type-->
-    <!--<set>-->
-      <!--<if test="name != null">-->
-        <!--name = #{name,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state = #{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time = #{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</set>-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-  <!--<update id="updateByPrimaryKey" parameterType="com.fdage.pojo.TbExhibitionType">-->
-    <!--update tb_exhibition_type-->
-    <!--set name = #{name,jdbcType=VARCHAR},-->
-      <!--state = #{state,jdbcType=INTEGER},-->
-      <!--create_time = #{createTime,jdbcType=TIMESTAMP}-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-<!--</mapper>-->

+ 0 - 183
gis_wall/src/main/resources/b/TbInformationMapper.xml

@@ -1,183 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.base.TbInformationMapper">-->
-  <!--<resultMap id="BaseResultMap" type="com.fdage.pojo.TbInformation">-->
-    <!--<id column="id" jdbcType="BIGINT" property="id" />-->
-    <!--<result column="name" jdbcType="VARCHAR" property="name" />-->
-    <!--<result column="type" jdbcType="INTEGER" property="type" />-->
-    <!--<result column="content_url" jdbcType="VARCHAR" property="contentUrl" />-->
-    <!--<result column="content_num" jdbcType="INTEGER" property="contentNum" />-->
-    <!--<result column="order_num" jdbcType="INTEGER" property="orderNum" />-->
-    <!--<result column="state" jdbcType="INTEGER" property="state" />-->
-    <!--<result column="start_time" jdbcType="TIMESTAMP" property="startTime" />-->
-    <!--<result column="end_time" jdbcType="TIMESTAMP" property="endTime" />-->
-    <!--<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />-->
-  <!--</resultMap>-->
-  <!--<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.fdage.pojo.TbInformation">-->
-    <!--<result column="description" jdbcType="LONGVARCHAR" property="description" />-->
-  <!--</resultMap>-->
-  <!--<sql id="Base_Column_List">-->
-    <!--id, name, type, content_url, content_num, order_num, state, start_time, end_time, create_time-->
-  <!--</sql>-->
-  <!--<sql id="Blob_Column_List">-->
-    <!--description-->
-  <!--</sql>-->
-  <!--<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="ResultMapWithBLOBs">-->
-    <!--select -->
-    <!--<include refid="Base_Column_List" />-->
-    <!--,-->
-    <!--<include refid="Blob_Column_List" />-->
-    <!--from tb_information-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</select>-->
-  <!--<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">-->
-    <!--delete from tb_information-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</delete>-->
-  <!--<insert id="insert" parameterType="com.fdage.pojo.TbInformation">-->
-    <!--insert into tb_information (id, name, type, -->
-      <!--content_url, content_num, order_num, state,-->
-      <!--start_time, end_time, create_time, -->
-      <!--description)-->
-    <!--values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{type,jdbcType=INTEGER}, -->
-      <!--#{contentUrl,jdbcType=VARCHAR}, #{contentNum,jdbcType=INTEGER}, #{orderNum,jdbcType=INTEGER}, #{state,jdbcType=INTEGER},-->
-      <!--#{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP}, -->
-      <!--#{description,jdbcType=LONGVARCHAR})-->
-  <!--</insert>-->
-  <!--<insert id="insertSelective" parameterType="com.fdage.pojo.TbInformation">-->
-    <!--insert into tb_information-->
-    <!--<trim prefix="(" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--id,-->
-      <!--</if>-->
-      <!--<if test="name != null">-->
-        <!--name,-->
-      <!--</if>-->
-      <!--<if test="type != null">-->
-        <!--type,-->
-      <!--</if>-->
-      <!--<if test="contentUrl != null">-->
-        <!--content_url,-->
-      <!--</if>-->
-      <!--<if test="contentNum != null">-->
-        <!--content_num,-->
-      <!--</if>-->
-      <!--<if test="orderNum != null">-->
-        <!--order_num,-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state,-->
-      <!--</if>-->
-      <!--<if test="startTime != null">-->
-        <!--start_time,-->
-      <!--</if>-->
-      <!--<if test="endTime != null">-->
-        <!--end_time,-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time,-->
-      <!--</if>-->
-      <!--<if test="description != null">-->
-        <!--description,-->
-      <!--</if>-->
-    <!--</trim>-->
-    <!--<trim prefix="values (" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--#{id,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="name != null">-->
-        <!--#{name,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="type != null">-->
-        <!--#{type,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="contentUrl != null">-->
-        <!--#{contentUrl,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="contentNum != null">-->
-        <!--#{contentNum,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="orderNum != null">-->
-        <!--#{orderNum,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--#{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="startTime != null">-->
-        <!--#{startTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-      <!--<if test="endTime != null">-->
-        <!--#{endTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--#{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-      <!--<if test="description != null">-->
-        <!--#{description,jdbcType=LONGVARCHAR},-->
-      <!--</if>-->
-    <!--</trim>-->
-  <!--</insert>-->
-  <!--<update id="updateByPrimaryKeySelective" parameterType="com.fdage.pojo.TbInformation">-->
-    <!--update tb_information-->
-    <!--<set>-->
-      <!--<if test="name != null">-->
-        <!--name = #{name,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="type != null">-->
-        <!--type = #{type,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="contentUrl != null">-->
-        <!--content_url = #{contentUrl,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="contentNum != null">-->
-        <!--content_num = #{contentNum,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="orderNum != null">-->
-        <!--order_num = #{orderNum,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state = #{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="startTime != null">-->
-        <!--start_time = #{startTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-      <!--<if test="endTime != null">-->
-        <!--end_time = #{endTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time = #{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-      <!--<if test="description != null">-->
-        <!--description = #{description,jdbcType=LONGVARCHAR},-->
-      <!--</if>-->
-    <!--</set>-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-  <!--<update id="updateByPrimaryKeyWithBLOBs" parameterType="com.fdage.pojo.TbInformation">-->
-    <!--update tb_information-->
-    <!--set name = #{name,jdbcType=VARCHAR},-->
-      <!--type = #{type,jdbcType=INTEGER},-->
-      <!--content_url = #{contentUrl,jdbcType=VARCHAR},-->
-      <!--content_num = #{contentNum,jdbcType=INTEGER},-->
-      <!--order_num = #{orderNum,jdbcType=INTEGER},-->
-      <!--state = #{state,jdbcType=INTEGER},-->
-      <!--start_time = #{startTime,jdbcType=TIMESTAMP},-->
-      <!--end_time = #{endTime,jdbcType=TIMESTAMP},-->
-      <!--create_time = #{createTime,jdbcType=TIMESTAMP},-->
-      <!--description = #{description,jdbcType=LONGVARCHAR}-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-  <!--<update id="updateByPrimaryKey" parameterType="com.fdage.pojo.TbInformation">-->
-    <!--update tb_information-->
-    <!--set name = #{name,jdbcType=VARCHAR},-->
-      <!--type = #{type,jdbcType=INTEGER},-->
-      <!--content_url = #{contentUrl,jdbcType=VARCHAR},-->
-      <!--content_num = #{contentNum,jdbcType=INTEGER},-->
-      <!--order_num = #{orderNum,jdbcType=INTEGER},-->
-      <!--state = #{state,jdbcType=INTEGER},-->
-      <!--start_time = #{startTime,jdbcType=TIMESTAMP},-->
-      <!--end_time = #{endTime,jdbcType=TIMESTAMP},-->
-      <!--create_time = #{createTime,jdbcType=TIMESTAMP}-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-<!--</mapper>-->

+ 0 - 21
gis_wall/src/main/resources/b/TbInformationMapperCust.xml

@@ -1,21 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.cust.TbInformationMapperCust">-->
-  <!--<select id="findList" parameterType="com.fdage.request.RequestInformation" resultType="com.fdage.respon.ResponInformation">-->
-    <!--select-->
-      <!--id, name, type, content_url as contentUrl, content_num as contentNum, order_num as orderNum, state, start_time as startTime,-->
-      <!--end_time as endTime, create_time as createTime, description-->
-    <!--from tb_information-->
-    <!--where 1 = 1-->
-    <!--<if test="type != null">-->
-      <!--and type = #{type}-->
-    <!--</if>-->
-    <!--<if test="name != null and name != ''">-->
-      <!--and name like CONCAT('%', #{name}, '%')-->
-    <!--</if>-->
-    <!--<if test="state != null">-->
-      <!--and state = #{state}-->
-    <!--</if>-->
-    <!--ORDER BY order_num, create_time DESC-->
-  <!--</select>-->
-<!--</mapper>-->

+ 0 - 104
gis_wall/src/main/resources/b/TbLogMapper.xml

@@ -1,104 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.base.TbLogMapper">-->
-  <!--<resultMap id="BaseResultMap" type="com.fdage.pojo.TbLog">-->
-    <!--<id column="id" jdbcType="BIGINT" property="id" />-->
-    <!--<result column="user_id" jdbcType="BIGINT" property="userId" />-->
-    <!--<result column="type" jdbcType="VARCHAR" property="type" />-->
-    <!--<result column="description" jdbcType="VARCHAR" property="description" />-->
-    <!--<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />-->
-    <!--<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />-->
-  <!--</resultMap>-->
-  <!--<sql id="Base_Column_List">-->
-    <!--id, user_id, type, description, update_time, create_time-->
-  <!--</sql>-->
-  <!--<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">-->
-    <!--select -->
-    <!--<include refid="Base_Column_List" />-->
-    <!--from tb_log-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</select>-->
-  <!--<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">-->
-    <!--delete from tb_log-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</delete>-->
-  <!--<insert id="insert" parameterType="com.fdage.pojo.TbUser">-->
-    <!--insert into tb_log (id, user_id, type, description, update_time, create_time)-->
-    <!--values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{type,jdbcType=VARCHAR},-->
-      <!--#{description,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP})-->
-  <!--</insert>-->
-  <!--<insert id="insertSelective" parameterType="com.fdage.pojo.TbUser">-->
-    <!--insert into tb_log-->
-    <!--<trim prefix="(" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--id,-->
-      <!--</if>-->
-      <!--<if test="userId != null">-->
-        <!--user_id,-->
-      <!--</if>-->
-      <!--<if test="description != null">-->
-        <!--description,-->
-      <!--</if>-->
-      <!--<if test="type != null">-->
-        <!--type,-->
-      <!--</if>-->
-      <!--<if test="updateTime != null">-->
-        <!--update_time,-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time,-->
-      <!--</if>-->
-    <!--</trim>-->
-    <!--<trim prefix="values (" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--#{id,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="userId != null">-->
-        <!--#{userId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="description != null">-->
-        <!--#{description,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="type != null">-->
-        <!--#{type,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="updateTime != null">-->
-        <!--#{updateTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--#{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</trim>-->
-  <!--</insert>-->
-  <!--<update id="updateByPrimaryKeySelective" parameterType="com.fdage.pojo.TbUser">-->
-    <!--update tb_log-->
-    <!--<set>-->
-      <!--<if test="userId != null">-->
-        <!--user_id = #{userId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="description != null">-->
-        <!--description = #{password,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="type != null">-->
-        <!--type = #{type,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="updateTime != null">-->
-        <!--update_time = #{updateTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time = #{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</set>-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-  <!--<update id="updateByPrimaryKey" parameterType="com.fdage.pojo.TbUser">-->
-    <!--update tb_log-->
-    <!--set-->
-      <!--user_id = #{userId,jdbcType=BIGINT},-->
-      <!--description = #{description,jdbcType=VARCHAR},-->
-      <!--type = #{type,jdbcType=VARCHAR},-->
-      <!--update_time = #{updateTime,jdbcType=TIMESTAMP},-->
-      <!--create_time = #{createTime,jdbcType=TIMESTAMP}-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-<!--</mapper>-->

+ 0 - 18
gis_wall/src/main/resources/b/TbLogMapperCust.xml

@@ -1,18 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.cust.TbLogMapperCust">-->
-  <!--<select id="findList" parameterType="com.fdage.request.RequestLog" resultType="com.fdage.pojo.TbLog">-->
-    <!--select-->
-    <!--a.id, a.user_id as userId, a.type, a.description, a.update_time AS updateTime,-->
-    <!--a.create_time as createTime, b.user_name as userName-->
-    <!--from tb_log a left join tb_user b on a.user_id = b.id-->
-    <!--where 1 = 1-->
-    <!--<if test="type != null">-->
-      <!--and type like CONCAT('%', #{type}, '%')-->
-    <!--</if>-->
-    <!--<if test="description != null">-->
-      <!--and description like CONCAT('%', #{description}, '%')-->
-    <!--</if>-->
-    <!--ORDER BY id desc-->
-  <!--</select>-->
-<!--</mapper>-->

+ 0 - 93
gis_wall/src/main/resources/b/TbMenuMapper.xml

@@ -1,93 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.base.TbMenuMapper">-->
-  <!--<resultMap id="BaseResultMap" type="com.fdage.pojo.TbMenu">-->
-    <!--<id column="id" jdbcType="BIGINT" property="id" />-->
-    <!--<result column="menu_name" jdbcType="VARCHAR" property="menuName" />-->
-    <!--<result column="parent_id" jdbcType="BIGINT" property="parentId" />-->
-    <!--<result column="type" jdbcType="INTEGER" property="type" />-->
-    <!--<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />-->
-  <!--</resultMap>-->
-  <!--<sql id="Base_Column_List">-->
-    <!--id, menu_name, parent_id, type, create_time-->
-  <!--</sql>-->
-  <!--<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">-->
-    <!--select -->
-    <!--<include refid="Base_Column_List" />-->
-    <!--from tb_menu-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</select>-->
-  <!--<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">-->
-    <!--delete from tb_menu-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</delete>-->
-  <!--<insert id="insert" parameterType="com.fdage.pojo.TbMenu" useGeneratedKeys="true" keyProperty="id">-->
-    <!--insert into tb_menu (id, menu_name, parent_id, -->
-      <!--type, create_time)-->
-    <!--values (#{id,jdbcType=BIGINT}, #{menuName,jdbcType=VARCHAR}, #{parentId,jdbcType=BIGINT}, -->
-      <!--#{type,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP})-->
-  <!--</insert>-->
-  <!--<insert id="insertSelective" parameterType="com.fdage.pojo.TbMenu"  useGeneratedKeys="true" keyProperty="id">-->
-    <!--insert into tb_menu-->
-    <!--<trim prefix="(" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--id,-->
-      <!--</if>-->
-      <!--<if test="menuName != null">-->
-        <!--menu_name,-->
-      <!--</if>-->
-      <!--<if test="parentId != null">-->
-        <!--parent_id,-->
-      <!--</if>-->
-      <!--<if test="type != null">-->
-        <!--type,-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time,-->
-      <!--</if>-->
-    <!--</trim>-->
-    <!--<trim prefix="values (" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--#{id,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="menuName != null">-->
-        <!--#{menuName,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="parentId != null">-->
-        <!--#{parentId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="type != null">-->
-        <!--#{type,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--#{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</trim>-->
-  <!--</insert>-->
-  <!--<update id="updateByPrimaryKeySelective" parameterType="com.fdage.pojo.TbMenu">-->
-    <!--update tb_menu-->
-    <!--<set>-->
-      <!--<if test="menuName != null">-->
-        <!--menu_name = #{menuName,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="parentId != null">-->
-        <!--parent_id = #{parentId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="type != null">-->
-        <!--type = #{type,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time = #{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</set>-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-  <!--<update id="updateByPrimaryKey" parameterType="com.fdage.pojo.TbMenu">-->
-    <!--update tb_menu-->
-    <!--set menu_name = #{menuName,jdbcType=VARCHAR},-->
-      <!--parent_id = #{parentId,jdbcType=BIGINT},-->
-      <!--type = #{type,jdbcType=INTEGER},-->
-      <!--create_time = #{createTime,jdbcType=TIMESTAMP}-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-<!--</mapper>-->

+ 0 - 82
gis_wall/src/main/resources/b/TbPositionMapper.xml

@@ -1,82 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.base.TbPositionMapper">-->
-  <!--<resultMap id="BaseResultMap" type="com.fdage.pojo.TbPosition">-->
-    <!--<id column="id" jdbcType="BIGINT" property="id" />-->
-    <!--<result column="name" jdbcType="VARCHAR" property="name" />-->
-    <!--<result column="state" jdbcType="INTEGER" property="state" />-->
-    <!--<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />-->
-  <!--</resultMap>-->
-  <!--<sql id="Base_Column_List">-->
-    <!--id, name, state, create_time-->
-  <!--</sql>-->
-  <!--<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">-->
-    <!--select -->
-    <!--<include refid="Base_Column_List" />-->
-    <!--from tb_position-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</select>-->
-  <!--<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">-->
-    <!--delete from tb_position-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</delete>-->
-  <!--<insert id="insert" parameterType="com.fdage.pojo.TbPosition">-->
-    <!--insert into tb_position (id, name, state, -->
-      <!--create_time)-->
-    <!--values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{state,jdbcType=INTEGER}, -->
-      <!--#{createTime,jdbcType=TIMESTAMP})-->
-  <!--</insert>-->
-  <!--<insert id="insertSelective" parameterType="com.fdage.pojo.TbPosition">-->
-    <!--insert into tb_position-->
-    <!--<trim prefix="(" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--id,-->
-      <!--</if>-->
-      <!--<if test="name != null">-->
-        <!--name,-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state,-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time,-->
-      <!--</if>-->
-    <!--</trim>-->
-    <!--<trim prefix="values (" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--#{id,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="name != null">-->
-        <!--#{name,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--#{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--#{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</trim>-->
-  <!--</insert>-->
-  <!--<update id="updateByPrimaryKeySelective" parameterType="com.fdage.pojo.TbPosition">-->
-    <!--update tb_position-->
-    <!--<set>-->
-      <!--<if test="name != null">-->
-        <!--name = #{name,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state = #{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time = #{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</set>-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-  <!--<update id="updateByPrimaryKey" parameterType="com.fdage.pojo.TbPosition">-->
-    <!--update tb_position-->
-    <!--set name = #{name,jdbcType=VARCHAR},-->
-      <!--state = #{state,jdbcType=INTEGER},-->
-      <!--create_time = #{createTime,jdbcType=TIMESTAMP}-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-<!--</mapper>-->

+ 0 - 9
gis_wall/src/main/resources/b/TbPositionMapperCust.xml

@@ -1,9 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.cust.TbPositionMapperCust">-->
-  <!--<select id="list" resultMap="com.fdage.dao.base.TbPositionMapper.BaseResultMap">-->
-    <!--select -->
-    <!--<include refid="com.fdage.dao.base.TbPositionMapper.Base_Column_List" />-->
-    <!--from tb_position-->
-  <!--</select>-->
-<!--</mapper>-->

+ 0 - 162
gis_wall/src/main/resources/b/TbResourceMapper.xml

@@ -1,162 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.base.TbResourceMapper">-->
-  <!--<resultMap id="BaseResultMap" type="com.fdage.pojo.TbResource">-->
-    <!--<id column="id" jdbcType="BIGINT" property="id" />-->
-    <!--<result column="name" jdbcType="VARCHAR" property="name" />-->
-    <!--<result column="url" jdbcType="VARCHAR" property="url" />-->
-    <!--<result column="description" jdbcType="VARCHAR" property="description" />-->
-    <!--<result column="resource_type" jdbcType="VARCHAR" property="resourceType" />-->
-    <!--<result column="resource_key" jdbcType="VARCHAR" property="resourceKey" />-->
-    <!--<result column="parent_id" jdbcType="INTEGER" property="parentId" />-->
-    <!--<result column="sort" jdbcType="INTEGER" property="sort" />-->
-    <!--<result column="rec_status" jdbcType="VARCHAR" property="recStatus" />-->
-    <!--<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />-->
-    <!--<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />-->
-  <!--</resultMap>-->
-  <!--<sql id="Base_Column_List">-->
-    <!--id, name, url, resource_type, resource_key, description, parent_id, sort, rec_status, create_time, update_time-->
-  <!--</sql>-->
-  <!--<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">-->
-    <!--select -->
-    <!--<include refid="Base_Column_List" />-->
-    <!--from tb_resource-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</select>-->
-  <!--<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">-->
-    <!--delete from tb_resource-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</delete>-->
-  <!--<insert id="insert" parameterType="com.fdage.pojo.TbResource" useGeneratedKeys="true" keyProperty="id">-->
-    <!--insert into tb_resource (id, name, url, resource_type, resource_key, description, parent_id,-->
-     <!--sort, rec_status, create_time, update_time)-->
-    <!--values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{url,jdbcType=VARCHAR}, -->
-      <!--#{resourceType,jdbcType=VARCHAR}, #{resourceKey,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, -->
-      <!--#{sort,jdbcType=INTEGER}, #{recStatus,jdbcType=VARCHAR}, #{parentId,jdbcType=INTEGER}, -->
-      <!--#{createTime,jdbcType=TIMESTAMP}), #{updateTime,jdbcType=TIMESTAMP})-->
-  <!--</insert>-->
-  <!--<insert id="insertSelective" parameterType="com.fdage.pojo.TbResource" useGeneratedKeys="true" keyProperty="id">-->
-    <!--insert into tb_resource-->
-    <!--<trim prefix="(" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--id,-->
-      <!--</if>-->
-      <!--<if test="name != null">-->
-        <!--name,-->
-      <!--</if>-->
-      <!--<if test="url != null">-->
-        <!--url,-->
-      <!--</if>-->
-      <!--<if test="resourceType != null">-->
-        <!--resource_type,-->
-      <!--</if>-->
-      <!--<if test="resourceKey != null">-->
-        <!--resource_key,-->
-      <!--</if>-->
-      <!--<if test="description != null">-->
-        <!--description,-->
-      <!--</if>-->
-      <!--<if test="parentId != null">-->
-        <!--parent_id,-->
-      <!--</if>-->
-      <!--<if test="sort != null">-->
-        <!--sort,-->
-      <!--</if>-->
-      <!--<if test="recStatus != null">-->
-        <!--rec_status,-->
-      <!--</if>-->
-      <!--<if test="updateTime != null">-->
-        <!--update_time,-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time,-->
-      <!--</if>-->
-    <!--</trim>-->
-    <!--<trim prefix="values (" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--#{id,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="name != null">-->
-        <!--#{name,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="url != null">-->
-        <!--#{url,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="resourceType != null">-->
-        <!--#{resourceType,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="resourceKey != null">-->
-        <!--#{resourceKey,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-      <!--<if test="description != null">-->
-        <!--#{description,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="parentId != null">-->
-        <!--#{parentId,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="sort != null">-->
-        <!--#{sort,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="recStatus != null">-->
-        <!--#{recStatus,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="updateTime != null">-->
-        <!--#{updateTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--#{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</trim>-->
-  <!--</insert>-->
-  <!--<update id="updateByPrimaryKeySelective" parameterType="com.fdage.pojo.TbResource">-->
-    <!--update tb_resource-->
-    <!--<set>-->
-      <!--<if test="name != null">-->
-        <!--name = #{name,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="url != null">-->
-        <!--url = #{url,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="resourceType != null">-->
-        <!--resource_type = #{resourceType,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="resourceKey != null">-->
-        <!--resource_key = #{resourceKey,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-      <!--<if test="description != null">-->
-        <!--description = #{description,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="parentId != null">-->
-        <!--parent_id = #{parentId,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="sort != null">-->
-        <!--sort = #{sort,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="recStatus != null">-->
-        <!--rec_status = #{recStatus,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="updateTime != null">-->
-        <!--update_time = #{updateTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time = #{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</set>-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-  <!--<update id="updateByPrimaryKey" parameterType="com.fdage.pojo.TbResource">-->
-    <!--update tb_resource-->
-    <!--set -->
-      <!--name = #{name,jdbcType=VARCHAR},-->
-      <!--url = #{url,jdbcType=VARCHAR},-->
-      <!--resource_type = #{resourceType,jdbcType=INTEGER},-->
-      <!--resource_key = #{resourceKey,jdbcType=TIMESTAMP},-->
-      <!--description = #{description,jdbcType=VARCHAR},-->
-      <!--parent_id = #{parentId,jdbcType=INTEGER},-->
-      <!--sort = #{sort,jdbcType=INTEGER},-->
-      <!--rec_status = #{recStatus,jdbcType=VARCHAR},-->
-      <!--update_time = #{updateTime,jdbcType=TIMESTAMP},-->
-      <!--create_time = #{createTime,jdbcType=TIMESTAMP},-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-<!--</mapper>-->

+ 0 - 25
gis_wall/src/main/resources/b/TbResourceMapperCust.xml

@@ -1,25 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.cust.TbResourceMapperCust">-->
-
-  <!--<select id="findAll" parameterType="java.lang.Long" resultMap="com.fdage.dao.base.TbResourceMapper.BaseResultMap">-->
-    <!--select -->
-    <!--<include refid="com.fdage.dao.base.TbResourceMapper.Base_Column_List" />-->
-    <!--from tb_resource WHERE rec_status = 'A'-->
-  <!--</select>-->
-
-  <!--<select id="findResourceByUserId" parameterType="java.lang.Long" resultMap="com.fdage.dao.base.TbResourceMapper.BaseResultMap">-->
-    <!--select b.id, b.name, b.parent_id, b.resource_type, b.resource_key from-->
-      <!--((tb_user u left join tb_user_role ur on u.id = ur.user_id)-->
-      <!--join tb_role r on r.id = ur.role_id)-->
-      <!--join tb_role_resource a on r.id = a.role_id-->
-      <!--join tb_resource b on b.id = a.resource_id WHERE u.id = #{userId}-->
-  <!--</select>-->
-
-  <!--<select id="findResourceByRoleId" parameterType="java.lang.Long" resultMap="com.fdage.dao.base.TbResourceMapper.BaseResultMap">-->
-    <!--SELECT b.id, b.name, b.parent_id, b.resource_type, b.resource_key FROM-->
-        <!--tb_role_resource a-->
-        <!--JOIN tb_resource b ON b.id = a.resource_id WHERE a.role_id = #{roleId}-->
-  <!--</select>-->
-
-<!--</mapper>-->

+ 0 - 93
gis_wall/src/main/resources/b/TbRoleMapper.xml

@@ -1,93 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.base.TbRoleMapper">-->
-  <!--<resultMap id="BaseResultMap" type="com.fdage.pojo.TbRole">-->
-    <!--<id column="id" jdbcType="BIGINT" property="id" />-->
-    <!--<result column="role_name" jdbcType="VARCHAR" property="roleName" />-->
-    <!--<result column="description" jdbcType="VARCHAR" property="description" />-->
-    <!--<result column="state" jdbcType="INTEGER" property="state" />-->
-    <!--<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />-->
-  <!--</resultMap>-->
-  <!--<sql id="Base_Column_List">-->
-    <!--id, role_name, description, state, create_time-->
-  <!--</sql>-->
-  <!--<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">-->
-    <!--select -->
-    <!--<include refid="Base_Column_List" />-->
-    <!--from tb_role-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</select>-->
-  <!--<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">-->
-    <!--delete from tb_role-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</delete>-->
-  <!--<insert id="insert" parameterType="com.fdage.pojo.TbRole" useGeneratedKeys="true" keyProperty="id">-->
-    <!--insert into tb_role (id, role_name, description, -->
-      <!--state, create_time)-->
-    <!--values (#{id,jdbcType=BIGINT}, #{roleName,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, -->
-      <!--#{state,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP})-->
-  <!--</insert>-->
-  <!--<insert id="insertSelective" parameterType="com.fdage.pojo.TbRole" useGeneratedKeys="true" keyProperty="id">-->
-    <!--insert into tb_role-->
-    <!--<trim prefix="(" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--id,-->
-      <!--</if>-->
-      <!--<if test="roleName != null">-->
-        <!--role_name,-->
-      <!--</if>-->
-      <!--<if test="description != null">-->
-        <!--description,-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state,-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time,-->
-      <!--</if>-->
-    <!--</trim>-->
-    <!--<trim prefix="values (" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--#{id,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="roleName != null">-->
-        <!--#{roleName,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="description != null">-->
-        <!--#{description,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--#{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--#{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</trim>-->
-  <!--</insert>-->
-  <!--<update id="updateByPrimaryKeySelective" parameterType="com.fdage.pojo.TbRole">-->
-    <!--update tb_role-->
-    <!--<set>-->
-      <!--<if test="roleName != null">-->
-        <!--role_name = #{roleName,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="description != null">-->
-        <!--description = #{description,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state = #{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time = #{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</set>-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-  <!--<update id="updateByPrimaryKey" parameterType="com.fdage.pojo.TbRole">-->
-    <!--update tb_role-->
-    <!--set role_name = #{roleName,jdbcType=VARCHAR},-->
-      <!--description = #{description,jdbcType=VARCHAR},-->
-      <!--state = #{state,jdbcType=INTEGER},-->
-      <!--create_time = #{createTime,jdbcType=TIMESTAMP}-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-<!--</mapper>-->

+ 0 - 41
gis_wall/src/main/resources/b/TbRoleMapperCust.xml

@@ -1,41 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.cust.TbRoleMapperCust">-->
-
-  <!--<select id="findRoleResourceByRoleId" resultType="java.lang.String">-->
-    <!--select resource_id from tb_role_resource where role_id= #{userId}-->
-  <!--</select>-->
-
-  <!--<delete id="deleteRoleResource" parameterType="java.lang.Long">-->
-    <!--delete from tb_role_resource where role_id=#{roleId}-->
-  <!--</delete>-->
-
-  <!--<insert id="saveRoleResource" parameterType="Map">-->
-    <!--insert into tb_role_resource (role_id, resource_id) values (#{roleId}, #{resourceId});-->
-  <!--</insert>-->
-
-  <!--<insert id="saveRoleUser" parameterType="Map">-->
-    <!--insert into tb_user_role (role_id, user_id) values (#{roleId}, #{userId});-->
-  <!--</insert>-->
-
-  <!--<delete id="deleteRoleUser" parameterType="java.lang.Long">-->
-    <!--delete from tb_user_role where user_id = #{userId}-->
-  <!--</delete>-->
-
-  <!--<select id="findRoleList" resultType="com.fdage.respon.ResponRole">-->
-    <!--select id, role_name as roleName, description, state, create_time as createTime, role_key as roleKey from tb_role-->
-  <!--</select>-->
-
-  <!--<select id="findUserNameByRoleId" parameterType="java.lang.Long" resultType="java.lang.String">-->
-    <!--SELECT a.user_name AS userName FROM `tb_user` a LEFT JOIN `tb_user_role` b ON a.id = b.user_id-->
-	<!--LEFT JOIN `tb_role` c ON b.role_id = c.id WHERE c.id = #{roleId}-->
-  <!--</select>-->
-
-  <!--<select id="findUserByRoleId" parameterType="java.lang.Long" resultType="com.fdage.respon.ResponUser">-->
-    <!--SELECT a.id, a.user_name as userName, a.password, a.role_id as roleId, a.phone, a.head, a.state,-->
-      <!--a.create_time AS createTime-->
-    <!--FROM `tb_user` a LEFT JOIN `tb_user_role` b ON a.id = b.user_id-->
-    <!--LEFT JOIN `tb_role` c ON b.role_id = c.id WHERE c.id = #{roleId}-->
-  <!--</select>-->
-
-<!--</mapper>-->

+ 0 - 128
gis_wall/src/main/resources/b/TbUserMapper.xml

@@ -1,128 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.base.TbUserMapper">-->
-  <!--<resultMap id="BaseResultMap" type="com.fdage.pojo.TbUser">-->
-    <!--<id column="id" jdbcType="BIGINT" property="id" />-->
-    <!--<result column="user_name" jdbcType="VARCHAR" property="userName" />-->
-    <!--<result column="password" jdbcType="VARCHAR" property="password" />-->
-    <!--<result column="role_id" jdbcType="BIGINT" property="roleId" />-->
-    <!--<result column="phone" jdbcType="VARCHAR" property="phone" />-->
-    <!--<result column="head" jdbcType="VARCHAR" property="head" />-->
-    <!--<result column="state" jdbcType="INTEGER" property="state" />-->
-    <!--<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />-->
-  <!--</resultMap>-->
-  <!--<sql id="Base_Column_List">-->
-    <!--id, user_name, password, role_id, phone, head, state, create_time-->
-  <!--</sql>-->
-  <!--<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">-->
-    <!--select -->
-    <!--<include refid="Base_Column_List" />-->
-    <!--from tb_user-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</select>-->
-  <!--<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">-->
-    <!--delete from tb_user-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</delete>-->
-  <!--<insert id="insert" parameterType="com.fdage.pojo.TbUser" useGeneratedKeys="true" keyProperty="id">-->
-    <!--insert into tb_user (id, user_name, password, -->
-      <!--role_id, phone, head, -->
-      <!--state, create_time)-->
-    <!--values (#{id,jdbcType=BIGINT}, #{userName,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, -->
-      <!--#{roleId,jdbcType=BIGINT}, #{phone,jdbcType=VARCHAR}, #{head,jdbcType=VARCHAR}, -->
-      <!--#{state,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP})-->
-  <!--</insert>-->
-  <!--<insert id="insertSelective" parameterType="com.fdage.pojo.TbUser" useGeneratedKeys="true" keyProperty="id">-->
-    <!--insert into tb_user-->
-    <!--<trim prefix="(" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--id,-->
-      <!--</if>-->
-      <!--<if test="userName != null">-->
-        <!--user_name,-->
-      <!--</if>-->
-      <!--<if test="password != null">-->
-        <!--password,-->
-      <!--</if>-->
-      <!--<if test="roleId != null">-->
-        <!--role_id,-->
-      <!--</if>-->
-      <!--<if test="phone != null">-->
-        <!--phone,-->
-      <!--</if>-->
-      <!--<if test="head != null">-->
-        <!--head,-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state,-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time,-->
-      <!--</if>-->
-    <!--</trim>-->
-    <!--<trim prefix="values (" suffix=")" suffixOverrides=",">-->
-      <!--<if test="id != null">-->
-        <!--#{id,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="userName != null">-->
-        <!--#{userName,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="password != null">-->
-        <!--#{password,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="roleId != null">-->
-        <!--#{roleId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="phone != null">-->
-        <!--#{phone,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="head != null">-->
-        <!--#{head,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--#{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--#{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</trim>-->
-  <!--</insert>-->
-  <!--<update id="updateByPrimaryKeySelective" parameterType="com.fdage.pojo.TbUser">-->
-    <!--update tb_user-->
-    <!--<set>-->
-      <!--<if test="userName != null">-->
-        <!--user_name = #{userName,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="password != null">-->
-        <!--password = #{password,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="roleId != null">-->
-        <!--role_id = #{roleId,jdbcType=BIGINT},-->
-      <!--</if>-->
-      <!--<if test="phone != null">-->
-        <!--phone = #{phone,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="head != null">-->
-        <!--head = #{head,jdbcType=VARCHAR},-->
-      <!--</if>-->
-      <!--<if test="state != null">-->
-        <!--state = #{state,jdbcType=INTEGER},-->
-      <!--</if>-->
-      <!--<if test="createTime != null">-->
-        <!--create_time = #{createTime,jdbcType=TIMESTAMP},-->
-      <!--</if>-->
-    <!--</set>-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-  <!--<update id="updateByPrimaryKey" parameterType="com.fdage.pojo.TbUser">-->
-    <!--update tb_user-->
-    <!--set user_name = #{userName,jdbcType=VARCHAR},-->
-      <!--password = #{password,jdbcType=VARCHAR},-->
-      <!--role_id = #{roleId,jdbcType=BIGINT},-->
-      <!--phone = #{phone,jdbcType=VARCHAR},-->
-      <!--head = #{head,jdbcType=VARCHAR},-->
-      <!--state = #{state,jdbcType=INTEGER},-->
-      <!--create_time = #{createTime,jdbcType=TIMESTAMP}-->
-    <!--where id = #{id,jdbcType=BIGINT}-->
-  <!--</update>-->
-<!--</mapper>-->

+ 0 - 42
gis_wall/src/main/resources/b/TbUserMapperCust.xml

@@ -1,42 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.cust.TbUserMapperCust">-->
-  <!--<select id="findByUserName" parameterType="java.lang.String" resultMap="com.fdage.dao.base.TbUserMapper.BaseResultMap">-->
-    <!--select -->
-    <!--<include refid="com.fdage.dao.base.TbUserMapper.Base_Column_List" />-->
-    <!--from tb_user-->
-    <!--where user_name = #{userName}-->
-  <!--</select>-->
-
-  <!--<select id="findUserList" parameterType="com.fdage.pojo.TbUser" resultType="com.fdage.respon.ResponUser">-->
-    <!--select-->
-      <!--a.id, a.user_name as userName, a.password, a.role_id as roleId, a.phone, a.head, a.state,-->
-      <!--a.create_time AS createTime, c.id as roleId, c.role_name as roleName-->
-    <!--from tb_user a left join tb_user_role b on a.id = b.user_id-->
-    <!--left join tb_role c on b.role_id = c.id-->
-    <!--where 1 = 1-->
-    <!--<if test="state != null">-->
-      <!--and a.state = #{state}-->
-    <!--</if>-->
-    <!--<if test="userName != null">-->
-      <!--and a.user_name like CONCAT('%', #{userName}, '%')-->
-    <!--</if>-->
-
-    <!--ORDER by a.create_time DESC-->
-  <!--</select>-->
-
-  <!--<select id="roleList" resultType="com.fdage.pojo.TbRole">-->
-  <!--select id, role_name as roleName, description, state-->
-  <!--from tb_role where state = 0-->
-<!--</select>-->
-
-  <!--<select id="findUserRoleByUserId" resultType="java.lang.Integer">-->
-    <!--select role_id from tb_user_role where user_id= #{userId}-->
-  <!--</select>-->
-
-  <!--<select id="findRoleByUserId" parameterType="java.lang.Long" resultType="java.lang.String">-->
-    <!--select r.role_key from-->
-    <!--(tb_user u left join tb_user_role ur on u.id = ur.user_id) left join tb_role r on r.id = ur.role_id-->
-    <!--WHERE u.id = #{id}-->
-  <!--</select>-->
-<!--</mapper>-->

+ 0 - 41
gis_wall/src/main/resources/b/VideoMapper.xml

@@ -1,41 +0,0 @@
-<!--<?xml version="1.0" encoding="UTF-8"?>-->
-<!--<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">-->
-<!--<mapper namespace="com.fdage.dao.base.VideoMapper">-->
-  <!--<resultMap id="BaseResultMap" type="com.fdage.entity.VideoEntity">-->
-  <!--</resultMap>-->
-
-  <!--<select id="findAll" parameterType="java.lang.Long" resultMap="BaseResultMap">-->
-   <!--select * from tb_video where is_delete=0 order by create_time desc;-->
-  <!--</select>-->
-
-  <!--<select id="findById" parameterType="java.lang.Long" resultMap="BaseResultMap">-->
-   <!--select * from tb_video where is_delete=0 and id=#{id};-->
-  <!--</select>-->
-
-
-    <!--<insert id="insert" parameterType="com.fdage.entity.VideoEntity">-->
-    <!--insert into tb_video (-->
-    <!--name, url_video, thumb, file_name-->
-    <!--)-->
-    <!--values (-->
-    <!--#{name} ,#{urlVideo} ,#{thumb} ,#{fileName}-->
-    <!--)-->
-  <!--</insert>-->
-
-
-    <!--<update id="update" parameterType="com.fdage.entity.VideoEntity">-->
-    <!--update tb_video set-->
-    <!--name=#{name},-->
-    <!--url_video=#{urlVideo},-->
-    <!--thumb=#{thumb},-->
-    <!--file_name=#{fileName},-->
-    <!--update_time=#{updateTime}-->
-   <!--where id=#{id} and is_delete=0;-->
-  <!--</update>-->
-
-
-    <!--<update id="remove" parameterType="com.fdage.entity.VideoEntity">-->
-      <!--update tb_video set is_delete=1, update_time=NOW() where id=#{id} and is_delete=0;-->
-  <!--</update>-->
-
-<!--</mapper>-->

+ 0 - 318
gis_wall/src/main/resources/mapper/TbCollectionMapper.xml

@@ -1,318 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.gis.wall.mapper.TbCollectionMapper">
-  <resultMap id="BaseResultMap" type="com.gis.wall.pojo.TbCollection">
-    <id column="id" jdbcType="BIGINT" property="id" />
-    <result column="name" jdbcType="VARCHAR" property="name" />
-    <result column="type_id" jdbcType="BIGINT" property="typeId" />
-    <result column="time_id" jdbcType="BIGINT" property="timeId" />
-    <result column="num" jdbcType="VARCHAR" property="num" />
-    <result column="discovery_time" jdbcType="TIMESTAMP" property="discoveryTime" />
-    <result column="repair_time" jdbcType="TIMESTAMP" property="repairTime" />
-    <result column="venue" jdbcType="VARCHAR" property="venue" />
-    <result column="unity_pic" jdbcType="VARCHAR" property="unityPic" />
-    <result column="unity_url" jdbcType="VARCHAR" property="unityUrl" />
-    <result column="pic" jdbcType="VARCHAR" property="pic" />
-    <result column="model_url" jdbcType="VARCHAR" property="modelUrl" />
-    <result column="content_url" jdbcType="VARCHAR" property="contentUrl" />
-    <result column="state" jdbcType="INTEGER" property="state" />
-    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
-    <result column="like_num" jdbcType="BIGINT" property="likeNum" />
-    <result column="open_num" jdbcType="BIGINT" property="openNum" />
-    <result column="search_num" jdbcType="BIGINT" property="searchNum" />
-    <result column="download_num" jdbcType="BIGINT" property="downloadNum" />
-    <result column="icon" jdbcType="VARCHAR" property="icon" />
-    <result column="dir_code" jdbcType="VARCHAR" property="dirCode" />
-    <result column="visit" jdbcType="BIGINT" property="visit" />
-  </resultMap>
-  <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.gis.wall.pojo.TbCollection">
-    <result column="description" jdbcType="LONGVARCHAR" property="description" />
-  </resultMap>
-  <sql id="Base_Column_List">
-    id, name, type_id, time_id, num, dir_code, icon, discovery_time, repair_time, venue, pic, unity_pic, unity_url, model_url, content_url,
-    state, create_time, like_num, open_num, search_num, download_num, type, url_list, qr_code
-  </sql>
-  <sql id="Blob_Column_List">
-    description
-  </sql>
-
-  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="ResultMapWithBLOBs">
-    select 
-    <include refid="Base_Column_List" />
-    ,
-    <include refid="Blob_Column_List" />
-    from tb_collection
-    where id = #{id,jdbcType=BIGINT}
-  </select>
-
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
-    delete from tb_collection
-    where id = #{id,jdbcType=BIGINT}
-  </delete>
-
-  <select id="countVisit" resultType="java.lang.Long">
-    SELECT SUM(visit) from tb_collection;
-  </select>
-
-
-  <update id="addVisit" parameterType="java.lang.Long">
-    update tb_collection set visit = visit + 1  where id = #{id,jdbcType=BIGINT}
-  </update>
-
-
-  <insert id="insert" parameterType="com.gis.wall.pojo.TbCollection">
-    insert into tb_collection (id, name, type_id, 
-      time_id, num, discovery_time, repair_time,
-      venue, pic, model_url, unity_pic, unity_url,
-      content_url, state, create_time, icon, dir_code,
-      description)
-    values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{typeId,jdbcType=BIGINT},
-      #{timeId,jdbcType=BIGINT}, #{num,jdbcType=VARCHAR}, #{discoveryTime,jdbcType=TIMESTAMP}, #{repairTime,jdbcType=TIMESTAMP},
-      #{venue,jdbcType=VARCHAR}, #{pic,jdbcType=VARCHAR}, #{modelUrl,jdbcType=VARCHAR},
-      #{unityPic,jdbcType=VARCHAR}, #{unityUrl,jdbcType=VARCHAR},
-      #{contentUrl,jdbcType=VARCHAR}, #{state,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{icon,jdbcType=VARCHAR}, #{dirCode,jdbcType=VARCHAR},
-      #{description,jdbcType=LONGVARCHAR})
-  </insert>
-  <insert id="insertSelective" parameterType="com.gis.wall.pojo.TbCollection">
-    insert into tb_collection
-    <trim prefix="(" suffix=")" suffixOverrides=",">
-      <if test="id != null">
-        id,
-      </if>
-      <if test="name != null">
-        name,
-      </if>
-      <if test="typeId != null">
-        type_id,
-      </if>
-      <if test="timeId != null">
-        time_id,
-      </if>
-      <if test="num != null">
-        num,
-      </if>
-      <if test="discoveryTime != null">
-        discovery_time,
-      </if>
-      <if test="repairTime != null">
-        repair_time,
-      </if>
-      <if test="venue != null">
-        venue,
-      </if>
-      <if test="unityPic != null">
-        unity_pic,
-      </if>
-      <if test="unityUrl != null">
-        unity_url,
-      </if>
-      <if test="pic != null">
-        pic,
-      </if>
-      <if test="modelUrl != null">
-        model_url,
-      </if>
-      <if test="contentUrl != null">
-        content_url,
-      </if>
-      <if test="state != null">
-        state,
-      </if>
-      <if test="createTime != null">
-        create_time,
-      </if>
-      <if test="description != null">
-        description,
-      </if>
-      <if test="icon != null">
-        icon,
-      </if>
-      <if test="dirCode != null">
-        dir_code,
-      </if>
-      <if test="urlList != null">
-        url_list ,
-      </if>
-      <if test="type != null">
-        type ,
-      </if>
-      <if test="qrCode != null">
-        qr_code ,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides=",">
-      <if test="id != null">
-        #{id,jdbcType=BIGINT},
-      </if>
-      <if test="name != null">
-        #{name,jdbcType=VARCHAR},
-      </if>
-      <if test="typeId != null">
-        #{typeId,jdbcType=BIGINT},
-      </if>
-      <if test="timeId != null">
-        #{timeId,jdbcType=BIGINT},
-      </if>
-      <if test="num != null">
-        #{num,jdbcType=VARCHAR},
-      </if>
-      <if test="discoveryTime != null">
-        #{discoveryTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="repairTime != null">
-        #{repairTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="venue != null">
-        #{venue,jdbcType=VARCHAR},
-      </if>
-      <if test="unityPic != null">
-        #{unityPic,jdbcType=VARCHAR},
-      </if>
-      <if test="unityUrl != null">
-        #{unityUrl,jdbcType=VARCHAR},
-      </if>
-      <if test="pic != null">
-        #{pic,jdbcType=VARCHAR},
-      </if>
-      <if test="modelUrl != null">
-        #{modelUrl,jdbcType=VARCHAR},
-      </if>
-      <if test="contentUrl != null">
-        #{contentUrl,jdbcType=VARCHAR},
-      </if>
-      <if test="state != null">
-        #{state,jdbcType=INTEGER},
-      </if>
-      <if test="createTime != null">
-        #{createTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="description != null">
-        #{description,jdbcType=LONGVARCHAR},
-      </if>
-      <if test="icon != null">
-        #{icon,jdbcType=VARCHAR},
-      </if>
-      <if test="dirCode != null">
-        #{dirCode,jdbcType=VARCHAR},
-      </if>
-
-      <if test="urlList != null">
-        #{urlList,jdbcType=VARCHAR},
-      </if>
-      <if test="type != null">
-        #{type,jdbcType=VARCHAR},
-      </if>
-      <if test="qrCode != null">
-        #{qrCode,jdbcType=VARCHAR},
-      </if>
-    </trim>
-  </insert>
-  <update id="updateByPrimaryKeySelective" parameterType="com.gis.wall.pojo.TbCollection">
-    update tb_collection
-    <set>
-      <if test="name != null">
-        name = #{name,jdbcType=VARCHAR},
-      </if>
-      <if test="typeId != null">
-        type_id = #{typeId,jdbcType=BIGINT},
-      </if>
-      <if test="timeId != null">
-        time_id = #{timeId,jdbcType=BIGINT},
-      </if>
-      <if test="num != null">
-        num = #{num,jdbcType=VARCHAR},
-      </if>
-      <if test="discoveryTime != null">
-        discovery_time = #{discoveryTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="repairTime != null">
-        repair_time = #{repairTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="venue != null">
-        venue = #{venue,jdbcType=VARCHAR},
-      </if>
-      <if test="unityPic != null">
-        unity_pic = #{unityPic,jdbcType=VARCHAR},
-      </if>
-      <if test="unityUrl != null">
-        unity_url = #{unityUrl,jdbcType=VARCHAR},
-      </if>
-      <if test="pic != null">
-        pic = #{pic,jdbcType=VARCHAR},
-      </if>
-      <if test="modelUrl != null">
-        model_url = #{modelUrl,jdbcType=VARCHAR},
-      </if>
-      <if test="contentUrl != null">
-        content_url = #{contentUrl,jdbcType=VARCHAR},
-      </if>
-      <if test="state != null">
-        state = #{state,jdbcType=INTEGER},
-      </if>
-      <if test="createTime != null">
-        create_time = #{createTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="description != null">
-        description = #{description,jdbcType=LONGVARCHAR},
-      </if>
-      <if test="icon != null">
-        icon = #{icon,jdbcType=VARCHAR},
-      </if>
-      <if test="dirCode != null">
-        dir_code = #{dirCode,jdbcType=VARCHAR},
-      </if>
-      <if test="urlList != null">
-        url_list = #{urlList,jdbcType=VARCHAR},
-      </if>
-      <if test="type != null">
-        type = #{type,jdbcType=VARCHAR},
-      </if>
-      <if test="qrCode != null">
-        qr_code = #{qrCode,jdbcType=VARCHAR},
-      </if>
-
-    </set>
-    where id = #{id,jdbcType=BIGINT}
-  </update>
-  <update id="updateByPrimaryKeyWithBLOBs" parameterType="com.gis.wall.pojo.TbCollection">
-    update tb_collection
-    set name = #{name,jdbcType=VARCHAR},
-      type_id = #{typeId,jdbcType=BIGINT},
-      time_id = #{timeId,jdbcType=BIGINT},
-      num = #{num,jdbcType=VARCHAR},
-      discovery_time = #{discoveryTime,jdbcType=TIMESTAMP},
-      repair_time = #{repairTime,jdbcType=TIMESTAMP},
-      venue = #{venue,jdbcType=VARCHAR},
-      unity_pic = #{unityPic,jdbcType=VARCHAR},
-      unity_url = #{unityUrl,jdbcType=VARCHAR},
-      pic = #{pic,jdbcType=VARCHAR},
-      model_url = #{modelUrl,jdbcType=VARCHAR},
-      content_url = #{contentUrl,jdbcType=VARCHAR},
-      state = #{state,jdbcType=INTEGER},
-      create_time = #{createTime,jdbcType=TIMESTAMP},
-      icon = #{icon,jdbcType=VARCHAR},
-      dir_code = #{dirCode,jdbcType=VARCHAR},
-      description = #{description,jdbcType=LONGVARCHAR}
-    where id = #{id,jdbcType=BIGINT}
-  </update>
-  <update id="updateByPrimaryKey" parameterType="com.gis.wall.pojo.TbCollection">
-    update tb_collection
-    set name = #{name,jdbcType=VARCHAR},
-      type_id = #{typeId,jdbcType=BIGINT},
-      time_id = #{timeId,jdbcType=BIGINT},
-      num = #{num,jdbcType=VARCHAR},
-      discovery_time = #{discoveryTime,jdbcType=TIMESTAMP},
-      repair_time = #{repairTime,jdbcType=TIMESTAMP},
-      venue = #{venue,jdbcType=VARCHAR},
-      unity_pic = #{unityPic,jdbcType=VARCHAR},
-      unity_url = #{unityUrl,jdbcType=VARCHAR},
-      pic = #{pic,jdbcType=VARCHAR},
-      model_url = #{modelUrl,jdbcType=VARCHAR},
-      content_url = #{contentUrl,jdbcType=VARCHAR},
-      state = #{state,jdbcType=INTEGER},
-       icon = #{icon,jdbcType=VARCHAR},
-      dir_code = #{dirCode,jdbcType=VARCHAR},
-      create_time = #{createTime,jdbcType=TIMESTAMP}
-    where id = #{id,jdbcType=BIGINT}
-  </update>
-</mapper>

+ 0 - 128
gis_wall/src/main/resources/mapper/TbCollectionMapperCust.xml

@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.gis.wall.mapper.TbCollectionMapperCust">
-  <select id="timeList" resultType="com.gis.wall.pojo.TbCollectionTime">
-    select id, name
-    from tb_collection_time
-    order by order_num
-  </select>
-
-  <select id="typeList" resultType="com.gis.wall.pojo.TbCollectionType">
-    select id, name
-    from tb_collection_type
-    WHERE 1 = 1
-    <if test="state != null">
-      and state = #{state}
-    </if>
-  </select>
-
-  <select id="findList" parameterType="com.gis.wall.request.RequestCollection" resultType="com.gis.wall.respon.ResponCollection">
-    select a.id, a.name, a.type_id as typeId, a.time_id as timeId, a.discovery_time as discoveryTime,
-    a.repair_time as repairTime, a.venue, a.model_url as modelUrl, a.content_url as contentUrl, a.state,
-    a.create_time as createTime, a.description, b.name as timeName, c.name as typeName, a.pic, a.num,
-    a.like_num as likeNum, a.open_num as openNum, a.search_num as searchNum, download_num as downloadNum,
-    a.unity_pic as unityPic, a.unity_url as unityUrl, a.icon, a.dir_code as dirCode, a.type, a.url_list, a.qr_code
-    from tb_collection a LEFT JOIN tb_collection_time b on a.time_id = b.id
-    LEFT JOIN tb_collection_type c ON a.type_id = c.id
-    WHERE 1 = 1
-    <if test="typeId != null">
-      and a.type_id = #{typeId}
-    </if>
-    <if test="timeId != null">
-      and a.time_id = #{timeId}
-    </if>
-    <if test="name != null and name != ''">
-      and a.name LIKE CONCAT('%', #{name}, '%')
-    </if>
-    <if test="state != null">
-      and a.state = #{state}
-    </if>
-  </select>
-
-  <select id="findListByExhibitionId" parameterType="java.lang.Long" resultType="com.gis.wall.respon.ResponCollection">
-    select a.id, a.name, a.type_id as typeId, a.time_id as timeId, a.discovery_time as discoveryTime,
-    a.repair_time as repairTime, a.venue, a.model_url as modelUrl, a.content_url as contentUrl, a.state,
-    a.create_time as createTime, a.description, b.name as timeName, c.name as typeName, a.pic, a.num,
-    a.like_num as likeNum, a.open_num as openNum, a.search_num as searchNum, download_num as downloadNum,
-     a.unity_pic as unityPic, a.unity_url as unityUrl, a.type, a.url_list, a.qr_code
-    from tb_collection a LEFT JOIN tb_collection_time b on a.time_id = b.id
-    LEFT JOIN tb_collection_type c ON a.type_id = c.id
-    LEFT JOIN tb_exhibition_collection d ON a.id = d.collection_id
-    WHERE d.exhibition_id = #{id}
-  </select>
-
-  <select id="searchListByName" parameterType="com.gis.wall.request.RequestCollection" resultType="com.gis.wall.respon.ResponCollection">
-    select a.id, a.name, a.type_id as typeId, a.time_id as timeId, a.discovery_time as discoveryTime,
-    a.repair_time as repairTime, a.venue, a.model_url as modelUrl, a.content_url as contentUrl, a.state,
-    a.create_time as createTime, a.description, b.name as timeName, c.name as typeName, a.pic, a.num,
-    a.like_num as likeNum, a.open_num as openNum, a.search_num as searchNum, download_num as downloadNum,
-    a.unity_pic as unityPic, a.unity_url as unityUrl, a.type, a.url_list, a.qr_code
-    from tb_collection a LEFT JOIN tb_collection_time b on a.time_id = b.id
-    LEFT JOIN tb_collection_type c ON a.type_id = c.id
-    WHERE 1 = 1
-    <if test="name != null and name != ''">
-      and a.name LIKE CONCAT('%', #{name}, '%')
-    </if>
-
-    <if test="typeId != null and typeId != ''">
-      and a.type_id = #{typeId}
-    </if>
-
-  </select>
-
-  <update id="addLikeNumById" parameterType="java.lang.Long">
-    UPDATE tb_collection SET like_num = like_num + 1 WHERE id = #{id}
-  </update>
-
-  <update id="addOpenNumById" parameterType="java.lang.Long">
-    UPDATE tb_collection SET open_num = open_num + 1 WHERE id = #{id}
-  </update>
-
-  <update id="addSearchNumById" parameterType="java.lang.Long">
-    UPDATE tb_collection SET search_num = search_num + 1 WHERE id = #{id}
-  </update>
-
-  <update id="addDownloadNumById" parameterType="java.lang.Long">
-    UPDATE tb_collection SET download_num = download_num + 1 WHERE id = #{id}
-  </update>
-
-  <select id="findByName" parameterType="java.lang.String" resultMap="com.gis.wall.mapper.TbCollectionMapper.BaseResultMap">
-    select
-    <include refid="com.gis.wall.mapper.TbCollectionMapper.Base_Column_List" />
-    ,
-    <include refid="com.gis.wall.mapper.TbCollectionMapper.Blob_Column_List" />
-    from tb_collection
-    where name = #{name}
-  </select>
-
-  <select id="collectionTotal" resultType="com.gis.wall.respon.ResponStatistics">
-    SELECT COUNT(*) AS total, SUM(like_num) AS likeTotal, SUM(download_num) AS downloadNum
-    FROM `tb_collection`
-  </select>
-
-  <select id="findListOrderBy" parameterType="List" resultType="com.gis.wall.respon.ResponCollection">
-    select a.id, a.name, a.type_id as typeId, a.time_id as timeId, a.discovery_time as discoveryTime,
-    a.repair_time as repairTime, a.venue, a.model_url as modelUrl, a.content_url as contentUrl, a.state,
-    a.create_time as createTime, a.description, b.name as timeName, c.name as typeName, a.pic, a.num,
-    a.like_num as likeNum, a.open_num as openNum, a.search_num as searchNum, download_num as downloadNum,
-    a.unity_pic as unityPic, a.unity_url as unityUrl, a.type, a.url_list, a.qr_code
-    from tb_collection a LEFT JOIN tb_collection_time b on a.time_id = b.id
-    LEFT JOIN tb_collection_type c ON a.type_id = c.id
-    WHERE 1 = 1
-    <choose>
-      <when test="sidx != null and sidx.trim() != ''">
-        order by ${sidx} ${order}
-      </when>
-      <otherwise>
-        order by a.id desc
-      </otherwise>
-    </choose>
-
-  </select>
-
-  <select id="typeTotal" resultType="Map">
-    SELECT SUM(a.type_id) AS typeNum, b.name AS typeName
-    FROM `tb_collection` a LEFT JOIN `tb_collection_type` b ON a.type_id = b.id
-    GROUP BY a.type_id
-  </select>
-</mapper>

+ 0 - 82
gis_wall/src/main/resources/mapper/TbCollectionTimeMapper.xml

@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.gis.wall.mapper.TbCollectionTimeMapper">
-  <resultMap id="BaseResultMap" type="com.gis.wall.pojo.TbCollectionTime">
-    <id column="id" jdbcType="BIGINT" property="id" />
-    <result column="name" jdbcType="VARCHAR" property="name" />
-    <result column="state" jdbcType="INTEGER" property="state" />
-    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
-  </resultMap>
-  <sql id="Base_Column_List">
-    id, name, state, create_time
-  </sql>
-  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
-    select 
-    <include refid="Base_Column_List" />
-    from tb_collection_time
-    where id = #{id,jdbcType=BIGINT}
-  </select>
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
-    delete from tb_collection_time
-    where id = #{id,jdbcType=BIGINT}
-  </delete>
-  <insert id="insert" parameterType="com.gis.wall.pojo.TbCollectionTime">
-    insert into tb_collection_time (id, name, state, 
-      create_time)
-    values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{state,jdbcType=INTEGER}, 
-      #{createTime,jdbcType=TIMESTAMP})
-  </insert>
-  <insert id="insertSelective" parameterType="com.gis.wall.pojo.TbCollectionTime">
-    insert into tb_collection_time
-    <trim prefix="(" suffix=")" suffixOverrides=",">
-      <if test="id != null">
-        id,
-      </if>
-      <if test="name != null">
-        name,
-      </if>
-      <if test="state != null">
-        state,
-      </if>
-      <if test="createTime != null">
-        create_time,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides=",">
-      <if test="id != null">
-        #{id,jdbcType=BIGINT},
-      </if>
-      <if test="name != null">
-        #{name,jdbcType=VARCHAR},
-      </if>
-      <if test="state != null">
-        #{state,jdbcType=INTEGER},
-      </if>
-      <if test="createTime != null">
-        #{createTime,jdbcType=TIMESTAMP},
-      </if>
-    </trim>
-  </insert>
-  <update id="updateByPrimaryKeySelective" parameterType="com.gis.wall.pojo.TbCollectionTime">
-    update tb_collection_time
-    <set>
-      <if test="name != null">
-        name = #{name,jdbcType=VARCHAR},
-      </if>
-      <if test="state != null">
-        state = #{state,jdbcType=INTEGER},
-      </if>
-      <if test="createTime != null">
-        create_time = #{createTime,jdbcType=TIMESTAMP},
-      </if>
-    </set>
-    where id = #{id,jdbcType=BIGINT}
-  </update>
-  <update id="updateByPrimaryKey" parameterType="com.gis.wall.pojo.TbCollectionTime">
-    update tb_collection_time
-    set name = #{name,jdbcType=VARCHAR},
-      state = #{state,jdbcType=INTEGER},
-      create_time = #{createTime,jdbcType=TIMESTAMP}
-    where id = #{id,jdbcType=BIGINT}
-  </update>
-</mapper>

+ 0 - 10
gis_wall/src/main/resources/mapper/TbCollectionTimeMapperCust.xml

@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.gis.wall.mapper.TbCollectionTimeMapperCust">
-  <select id="findByName" parameterType="java.lang.String" resultMap="com.gis.wall.mapper.TbCollectionTimeMapper.BaseResultMap">
-    select 
-    <include refid="com.gis.wall.mapper.TbCollectionTimeMapper.Base_Column_List" />
-    from tb_collection_time
-    where name = #{name}
-  </select>
-</mapper>

+ 0 - 82
gis_wall/src/main/resources/mapper/TbCollectionTypeMapper.xml

@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.gis.wall.mapper.TbCollectionTypeMapper">
-  <resultMap id="BaseResultMap" type="com.gis.wall.pojo.TbCollectionType">
-    <id column="id" jdbcType="BIGINT" property="id" />
-    <result column="name" jdbcType="VARCHAR" property="name" />
-    <result column="state" jdbcType="INTEGER" property="state" />
-    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
-  </resultMap>
-  <sql id="Base_Column_List">
-    id, name, state, create_time
-  </sql>
-  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
-    select 
-    <include refid="Base_Column_List" />
-    from tb_collection_type
-    where id = #{id,jdbcType=BIGINT}
-  </select>
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
-    delete from tb_collection_type
-    where id = #{id,jdbcType=BIGINT}
-  </delete>
-  <insert id="insert" parameterType="com.gis.wall.pojo.TbCollectionType">
-    insert into tb_collection_type (id, name, state, 
-      create_time)
-    values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{state,jdbcType=INTEGER}, 
-      #{createTime,jdbcType=TIMESTAMP})
-  </insert>
-  <insert id="insertSelective" parameterType="com.gis.wall.pojo.TbCollectionType">
-    insert into tb_collection_type
-    <trim prefix="(" suffix=")" suffixOverrides=",">
-      <if test="id != null">
-        id,
-      </if>
-      <if test="name != null">
-        name,
-      </if>
-      <if test="state != null">
-        state,
-      </if>
-      <if test="createTime != null">
-        create_time,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides=",">
-      <if test="id != null">
-        #{id,jdbcType=BIGINT},
-      </if>
-      <if test="name != null">
-        #{name,jdbcType=VARCHAR},
-      </if>
-      <if test="state != null">
-        #{state,jdbcType=INTEGER},
-      </if>
-      <if test="createTime != null">
-        #{createTime,jdbcType=TIMESTAMP},
-      </if>
-    </trim>
-  </insert>
-  <update id="updateByPrimaryKeySelective" parameterType="com.gis.wall.pojo.TbCollectionType">
-    update tb_collection_type
-    <set>
-      <if test="name != null">
-        name = #{name,jdbcType=VARCHAR},
-      </if>
-      <if test="state != null">
-        state = #{state,jdbcType=INTEGER},
-      </if>
-      <if test="createTime != null">
-        create_time = #{createTime,jdbcType=TIMESTAMP},
-      </if>
-    </set>
-    where id = #{id,jdbcType=BIGINT}
-  </update>
-  <update id="updateByPrimaryKey" parameterType="com.gis.wall.pojo.TbCollectionType">
-    update tb_collection_type
-    set name = #{name,jdbcType=VARCHAR},
-      state = #{state,jdbcType=INTEGER},
-      create_time = #{createTime,jdbcType=TIMESTAMP}
-    where id = #{id,jdbcType=BIGINT}
-  </update>
-</mapper>

+ 0 - 10
gis_wall/src/main/resources/mapper/TbCollectionTypeMapperCust.xml

@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.gis.wall.mapper.TbCollectionTypeMapperCust">
-  <select id="findByName" parameterType="java.lang.String" resultMap="com.gis.wall.mapper.TbCollectionTypeMapper.BaseResultMap">
-    select 
-    <include refid="com.gis.wall.mapper.TbCollectionTypeMapper.Base_Column_List" />
-    from tb_collection_type
-    where name = #{name}
-  </select>
-</mapper>

+ 2 - 2
pom.xml

@@ -21,7 +21,7 @@
     <module>gis_admin</module>
     <module>gis_application</module>
     <module>gis_cms</module>
-    <module>gis_wall</module>
+    <module>gis_scene</module>
   </modules>
 
 
@@ -81,7 +81,7 @@
 
       <dependency>
         <groupId>com.gis</groupId>
-        <artifactId>gis_wall</artifactId>
+        <artifactId>gis_scene</artifactId>
         <version>${gis.version}</version>
       </dependency>