Browse Source

珠海一键设备接口对接完成

wuweihao 4 years ago
parent
commit
b61736e850
54 changed files with 631 additions and 3192 deletions
  1. 1 0
      README.md
  2. 2 2
      gis_application/pom.xml
  3. 6 1
      gis_application/src/main/resources/application-dev.properties
  4. 1 1
      gis_application/src/main/resources/application-sit.properties
  5. 3 3
      gis_application/src/main/resources/application.properties
  6. 0 17
      gis_application/src/main/resources/data/images.json
  7. 0 473
      gis_application/src/main/resources/data/scene.js
  8. 0 89
      gis_application/src/main/resources/data/someData.json
  9. 0 1186
      gis_application/src/main/resources/db/army_cms.sql
  10. 8 1
      gis_common/pom.xml
  11. 12 4
      gis_common/src/main/java/com/gis/common/constant/ConfigConstant.java
  12. 356 0
      gis_common/src/main/java/com/gis/common/util/HttpUtils.java
  13. 1 1
      gis_domain/pom.xml
  14. 0 25
      gis_domain/src/main/java/com/gis/domain/dto/BarrageDto.java
  15. 0 28
      gis_domain/src/main/java/com/gis/domain/dto/CommentRequest.java
  16. 0 30
      gis_domain/src/main/java/com/gis/domain/dto/GiftDto.java
  17. 0 22
      gis_domain/src/main/java/com/gis/domain/po/BarrageEntity.java
  18. 0 45
      gis_domain/src/main/java/com/gis/domain/po/CommentEntity.java
  19. 0 35
      gis_domain/src/main/java/com/gis/domain/po/GiftEntity.java
  20. 0 45
      gis_domain/src/main/java/com/gis/domain/vo/CommentVo.java
  21. 1 1
      gis_mapper/pom.xml
  22. 0 18
      gis_mapper/src/main/java/com/gis/mapper/BarrageMapper.java
  23. 0 20
      gis_mapper/src/main/java/com/gis/mapper/CommentMapper.java
  24. 0 27
      gis_mapper/src/main/java/com/gis/mapper/GiftMapper.java
  25. 0 1
      gis_mapper/src/main/java/com/gis/mapper/provider/UserProvider.java
  26. 1 1
      gis_service/pom.xml
  27. 0 15
      gis_service/src/main/java/com/gis/service/BarrageService.java
  28. 0 17
      gis_service/src/main/java/com/gis/service/CommentService.java
  29. 19 0
      gis_service/src/main/java/com/gis/service/DeviceService.java
  30. 0 28
      gis_service/src/main/java/com/gis/service/GiftService.java
  31. 0 1
      gis_service/src/main/java/com/gis/service/SceneService.java
  32. 0 1
      gis_service/src/main/java/com/gis/service/SysUserService.java
  33. 1 1
      gis_web/src/main/java/com/gis/web/aop/WebControllerLog.java
  34. 1 1
      gis_web/src/main/java/com/gis/web/aop/WebLogAspect.java
  35. 0 34
      gis_service/src/main/java/com/gis/service/impl/BarrageServiceImpl.java
  36. 0 33
      gis_service/src/main/java/com/gis/service/impl/CommentServiceImpl.java
  37. 144 0
      gis_service/src/main/java/com/gis/service/impl/DeviceServiceImpl.java
  38. 0 119
      gis_service/src/main/java/com/gis/service/impl/GiftServiceImpl.java
  39. 0 40
      gis_service/src/main/java/com/gis/service/util/CommentTree.java
  40. 0 106
      gis_service/src/main/java/com/gis/service/util/CommentTreeUtil.java
  41. 1 5
      gis_web/pom.xml
  42. 0 114
      gis_web/src/main/java/com/gis/web/controller/BarrageController.java
  43. 0 85
      gis_web/src/main/java/com/gis/web/controller/CommentController.java
  44. 60 0
      gis_web/src/main/java/com/gis/web/controller/DeviceController.java
  45. 0 88
      gis_web/src/main/java/com/gis/web/controller/GiftController.java
  46. 1 1
      gis_web/src/main/java/com/gis/web/controller/IndexController.java
  47. 2 2
      gis_web/src/main/java/com/gis/web/controller/SceneController.java
  48. 0 184
      gis_web/src/main/java/com/gis/web/controller/SysUserController.java
  49. 0 132
      gis_web/src/main/java/com/gis/web/controller/WebController.java
  50. 0 1
      gis_web/src/main/resources/data/data2.json
  51. 0 17
      gis_web/src/main/resources/data/images.json
  52. 0 1
      gis_web/src/main/resources/data/smokeing.json
  53. 0 89
      gis_web/src/main/resources/data/someData.json
  54. 10 1
      pom.xml

File diff suppressed because it is too large
+ 1 - 0
README.md


+ 2 - 2
gis_application/pom.xml

@@ -4,7 +4,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <artifactId>army_sichuan</artifactId>
+        <artifactId>scene_wisdom</artifactId>
         <groupId>com.gis</groupId>
         <version>1.0.0</version>
     </parent>
@@ -37,7 +37,7 @@
                 <artifactId>spring-boot-maven-plugin</artifactId>
             </plugin>
         </plugins>
-        <finalName>army_sichuan</finalName>
+        <finalName>scene_wisdom</finalName>
     </build>
 
 

+ 6 - 1
gis_application/src/main/resources/application-dev.properties

@@ -62,10 +62,15 @@ server.url.prefix=/data/
 
 # swagger2 \u8BBE\u7F6E\u5168\u5C40\u5B57\u4F53\u683C\u5F0F\u4E3Autf-8
 swagger.package=com.gis.web.controller
-swagger.title=\u56DB\u5DDD\u6B66\u8B66-dev
+swagger.title=\u73E0\u6D77\u4E00\u952E\u667A\u6167-dev
 swagger.description=${swagger.title}
 swagger.version=1.0
 
+# \u4E00\u952E\u667A\u6167api\u6587\u6863, \u63A5\u53E3\u8C03\u7528\u9700\u8981\u5E26\u4E0AapiKey\u3001sign
+iot.domain=http://1clintel.cn:9081
+iot.apiKey=gyVI8WoXfHuQcuWd
+iot.sign=cYM6a5PNIOE3PFxL
+
 
 
 

+ 1 - 1
gis_application/src/main/resources/application-sit.properties

@@ -66,7 +66,7 @@ server.url.prefix=/data/
 
 # swagger2 \u8BBE\u7F6E\u5168\u5C40\u5B57\u4F53\u683C\u5F0F\u4E3Autf-8
 swagger.package=com.gis.web.controller
-swagger.title=\u56DB\u5DDD\u6B66\u8B66-sit
+swagger.title=\u73E0\u6D77\u4E00\u952E\u667A\u6167-sit
 swagger.description=${swagger.title}
 swagger.version=1.0
 

+ 3 - 3
gis_application/src/main/resources/application.properties

@@ -1,9 +1,9 @@
-server.port=8005
+server.port=8004
 
 spring.profiles.active=dev
 
-# \uFFFD\uFFFD\u013F\uFFFD\uFFFD\uFFFD\uFFFD
-project.name=army_sichuan
+# \u9879\u76EE\u540D\u79F0
+project.name=scene_wisdom
 
 # \u8BBF\u95EE\u9759\u6001\u8D44\u6E90\u8BBE\u7F6E
 spring.resources.static-locations=classpath:templates/,classpath:static/,classpath:web/

+ 0 - 17
gis_application/src/main/resources/data/images.json

@@ -1,17 +0,0 @@
-
-{
-"metadata": "{\"camera_mode\":0,\"camera_position\":{\"x\":17.319578170776367,\"y\":0.5689632296562195,\"z\":30.42438507080078},\"camera_quaternion\":{\"x\":-0.0000020361233819675194,\"y\":0.9999978870169733,\"z\":-0.0012442941874225735,\"w\":-0.0016363646960161576},\"ortho_zoom\":-1,\"ss_zoom\":1,\"scan_id\":\"b1498df53a554a0bafec6646639964e6\",\"is_ortho\":false,\"floorVisibility\":[1]}",
-"created": "2019-04-12T01:15:48.811428Z",
-"modified": "2019-04-12T01:15:48.811961Z",
-"sid": "update",
-"name": "04.12.2019_09.15.38",
-"height": 1707,
-"width": 3034,
-"is_hero": true,
-"category": "user",
-"vision_generated_label": "",
-"vision_generated_name": "",
-"vision_image_index": -1,
-"created_by": 4084,
-"rating": null
-}

+ 0 - 473
gis_application/src/main/resources/data/scene.js

@@ -1,473 +0,0 @@
-const Router = require('koa-router');
-const fs = require('fs');
-const path = require('path');
-const url = require('url');
-const request = require('request')
-const router = new Router();
-const sys = require('../config/sys')
-const sceneDir = path.join(__dirname, '../', sys.static_dir, sys.scene_dir)
-const uploadFile = require('../util/upload')
-const copyDir = require('../util/copydir')
-const upqiniu = require('../util/upqiniu')
-
-// 获取一个文件夹所有第一子文件夹
-function getFiles() {
-  return new Promise((resolve, reject) => {
-    fs.readdir(sceneDir, (err, files) => {
-      if (err) {
-        reject(err)
-      } else {
-        resolve(files)
-      }
-    })
-  })
-}
-
-// 删除文件夹所有文件
-function deleteFolder(dir) {
-  var files = [];
-  if (fs.existsSync(dir)) {
-    files = fs.readdirSync(dir);
-    files.forEach(function (file, index) {
-      var curPath = dir + "/" + file;
-      if (fs.statSync(curPath).isDirectory()) { // recurse
-        deleteFolder(curPath);
-      } else {
-        fs.unlinkSync(curPath);
-      }
-    });
-    fs.rmdirSync(dir);
-  }
-}
-
-// 清除一个json复合正则的字段
-function clearRgFileds(obj, rg) {
-  let type = Object.prototype.toString.call(obj)
-  if (type === '[object Object]') {
-    for (let key in obj) filter(obj[key], key)
-  } else if (type === '[object Array]') {
-    for (let i = 0; i < obj.length; i++) filter(obj[i], i)
-  }
-
-  function filter (filed, key) {
-    let filedType = Object.prototype.toString.call(obj[key])
-    if (filedType === '[object Object]' || filedType === '[object Array]') {
-      clearRgFileds(obj[key], rg)
-    } else if (filed && rg.test(filed.toString())) {
-      if (type === '[object Object]') {
-        delete obj[key]
-      } else {
-        obj.splice(key, 1)
-      }
-    }
-  }
-}
-
-
-async function savehots(hots = {}, name) {
-  let dataFile = 'data2.js'
-  let dataPath = path.join(sceneDir, name, dataFile)
-  let infoFile = 'hot/js/data.js'
-  let infoPath = path.join(sceneDir, name, infoFile)
-  let data = JSON.parse(fs.readFileSync(dataPath))
-  let hotJSON = {}
-  let infoJSON = {}
-
-  Object.keys(hots).forEach(hotKey => {
-    hotJSON[hotKey] = {
-      position: hots[hotKey].position,
-      rotation: hots[hotKey].rotation,
-      link: `//www.4dmodel.com/SuperTwo/hot_online/index.html?m=${hotKey}`
-    }
-
-    infoJSON[hotKey] = hots[hotKey].infoAttribute || ({
-      title: '',
-      content: '',
-      iframes: [],
-      modules: [],
-      images: [],
-      videos: []
-    })
-  })
-
-  data.hots = hotJSON
-
-  fs.writeFileSync(dataPath, JSON.stringify(data))
-  fs.writeFileSync(infoPath, JSON.stringify(infoJSON))
-
-  await upqiniu(name, dataFile)
-  await upqiniu(name, infoFile)
-}
-
-async function saveGuide(guides = [], name) {
-  let dataFile = 'data2.js'
-  let someFile = 'someData.json'
-  let dataPath = path.join(sceneDir, name, dataFile)
-  let somDataPath = path.join(sceneDir, name, someFile)
-  let data = JSON.parse(fs.readFileSync(dataPath));
-  let somData = JSON.parse(fs.readFileSync(somDataPath))
-  let audio = {}
-  let images = []
-
-  somData.model.images.forEach(i => i && (i.thumbnail_signed_src || images.push(i)))
-  guides.forEach(i => i.thumbnail_signed_src && images.push(i))
-  
-
-images.forEach(guide => {
-    try {
-      audio[JSON.parse(guide.metadata).scan_id] = {
-        time: 40000
-      }
-    } catch (e) {
-      
-    }
-  })
-
-  somData.model.images = images
-  data.audio = audio
-  fs.writeFileSync(somDataPath, JSON.stringify(somData))
-  fs.writeFileSync(dataPath, JSON.stringify(data))
-
-  await upqiniu(name, dataFile)
-  await upqiniu(name, someFile)
-}
-
-async function saveMusics(musics = {}, name) {
-  let dataFile = 'data2.js'
-  let dataPath = path.join(sceneDir, name, dataFile)
-  let data = JSON.parse(fs.readFileSync(dataPath));
-
-  data.tourAudio = musics
-
-  fs.writeFileSync(dataPath, JSON.stringify(data))
-  
-  await upqiniu(name, dataFile)
-}
-
-async function saveOverlays(overlays,name){
-  let dataFile = 'data2.js'
-  let dataPath = path.join(sceneDir, name, dataFile)
-  let data = JSON.parse(fs.readFileSync(dataPath));
-
-  data.overlays = overlays
-
-  fs.writeFileSync(dataPath, JSON.stringify(data))
-  
-  await upqiniu(name, dataFile)
-}
-
-async function saveInfo(info, name) {
-  let dataFile = 'data2.js'
-  let someFile = 'someData.json'
-  let dataPath = path.join(sceneDir, name, dataFile)
-  let data = JSON.parse(fs.readFileSync(dataPath));
-  let somDataPath = path.join(sceneDir, name, someFile);
-  let somData = JSON.parse(fs.readFileSync(somDataPath));
-
-  
-  somData.model.name = info.name
-  somData.model.summary = info.summary
-  somData.model.camera_start = info.camera_start
-
-  Object.keys(info).forEach(key => {
-    somData[key] = info[key]
-  })
-
-  // somData.backgroundMusic = info.backgroundMusic
-  // somData.hoticon = info.hoticon
-  somData.loadlogo = info.loadlogo === "true" ? true : false
-
-  data.weixinDesc = info.weixinDesc
-
-  fs.writeFileSync(somDataPath, JSON.stringify(somData))
-  fs.writeFileSync(dataPath, JSON.stringify(data))
-
-  await upqiniu(name, dataFile)
-  await upqiniu(name, someFile)
-}
-
-// 添加场景
-router.post('/addscene', async ctx => {
-  let name = ctx.request.body.name
-  let files = await getFiles()
-  let index = files.findIndex(file => file === name)
-
-  if (~index) {
-    return ctx.body = {
-      msg: '该场景已存在,请更改场景名称', 
-      code: 500
-    }
-  }
-
-  await new Promise((resolve, reject) => {
-    fs.mkdir(path.join(sceneDir, name), err => {
-      if (err) {
-        reject(err)
-      } else {
-        resolve()
-      }
-    })
-  })
-  
-  ctx.body = {
-    content: '成功创建场景',
-    code: 200
-  }
-})
-
-// 删除场景
-router.post('/delscene', async ctx => {
-  let dir = path.join(sceneDir, ctx.request.body.name)
-  deleteFolder(dir)
-
-  ctx.body = {
-    code: 200
-  }
-})
-
-// 获取所有场景
-router.get('/list', async ctx => {
-  let files = await getFiles()
-
-  let content = files.map(file => {
-    let name = ''
-    try {
-      let somedata = JSON.parse(fs.readFileSync(path.join(sceneDir, file, 'someData.json')))
-      name = somedata.name || somedata.model.name
-      
-    } catch (e) {
-    }
-
-    return {
-      name: file,
-      title: name,
-      query: url.format({
-        protocol: sys.protocol,
-        host: 'www.4dmodel.com',
-        port: sys.port,
-        pathname: sys.scene_query,
-        query: {m: file}
-      }),
-      edit: url.format({
-        protocol: sys.protocol,
-        host: sys.host,
-        port: sys.port,
-        pathname: sys.scene_edit,
-        query: { m: file }
-      })
-    }
-  })
-  
-  ctx.body = {
-    content,
-    code: 200
-  }
-})
-
-// 转化运行场景需要的参数
-router.post('/transform', async ctx => {
-  let url = ctx.request.body.url
-  let modelDataUrl = path.join(sceneDir, ctx.request.body.name, 'modeldata.js')
-  let someDataUrl = path.join(sceneDir, ctx.request.body.name, 'someData.json')
-  let readFile
-  let transformData
-
-  if (fs.existsSync(someDataUrl)) {
-    readFile = 'someData.json'
-    transformData = fs.readFileSync(someDataUrl)
-  } else if (fs.existsSync(modelDataUrl)) {
-    readFile = 'modeldata.js'
-    transformData = fs.readFileSync(modelDataUrl)
-  } else {
-    transformData = await new Promise((resolve, reject) => {
-      request(url, function(err, res, body) {
-        if (err) {
-          reject(err)
-        } else {
-          resolve(body)
-        }
-      })
-    })
-
-    readFile = url
-  }
-
-  if (!transformData) {
-    return ctx.body = {
-      msg: '该场景缺少核心启动文件!',
-      code: 500
-    }
-  }
-
-  try {
-    transformData = JSON.parse(transformData)
-  } catch (e) {
-    return ctx.body = {
-      code: 500,
-      msg: readFile + '不是有效的json格式文件!'
-    }
-  }
-
-  transformData = transformSomeData(transformData)
-  transformData.model.sid = ctx.request.body.name
-
-  let hotUrl = path.join(sceneDir, ctx.request.body.name, 'hot')
-  if (!fs.existsSync(hotUrl)) {
-    await new Promise((resolve, reject) => {
-      copyDir(path.join(__dirname, '../', sys.static_dir, './hottemp'), hotUrl, resolve)
-    })
-  }
-
-  let dataPath = path.join(sceneDir, ctx.request.body.name, 'data2.js')
-  fs.writeFileSync(dataPath, '{}')
-
-  await upqiniu(ctx.request.body.name, 'data2.js')
-
-  fs.writeFileSync(someDataUrl, JSON.stringify(transformData))
-
-  await upqiniu(ctx.request.body.name, 'someData.json')
-
-  ctx.body = { code: 200 }
-})
-
-
-// 保存配置
-router.post('/savesetting', async ctx => {
-  let { name, hots, guides = [], info, tourAudio = {},overlays=[]  } = ctx.request.body
-
-  if (!guides.length) {
-    let ret = []
-    for (let key in guides) {
-      ret.push(guides[key])
-    }
-    guides = ret
-  }
-
-  await saveGuide(guides, name)
-  await savehots(hots, name)
-  await saveInfo(info, name)
-  await saveMusics(tourAudio, name)
-  await saveOverlays(overlays, name)
-
-  ctx.body = {
-    code: 200, 
-    msg: '修改成功!'
-  }
-})
-
-// 上传文件
-router.post('/uploadFile', async ctx => {
-  let result = await uploadFile(ctx, sceneDir);
-  let file = result.file.substr(('/'+result.name+'/').length);
-  let qiniuLocal = await upqiniu(result.name, file);
-
-  ctx.body = {
-    code: 200,
-    msg: '文件上传成功',
-    content: qiniuLocal
-  }
-})
-
-
-router.get('/getSomeData', async ctx => {
-  let url = ctx.request.query.url
-  let data = await new Promise((resolve, reject) => {
-    request(url, function (err, res, body) {
-      if (err) {
-        reject(err)
-      } else {
-        resolve(body)
-      }
-    })
-  })
-
-  try {
-    transformData = transformSomeData(JSON.parse(data))
-  } catch (e) {
-    return ctx.body = {
-      code: 500,
-      msg: url + '不是有效的json格式文件!'
-    }
-  }
-
-  ctx.body = transformData
-})
-
-
-
-function transformSomeData(transformData) {
-
-  if (!transformData.model) {
-    transformData = {
-      model: transformData
-    }
-    delete transformData.model.icon
-    delete transformData.model.camera_start
-    transformData.model.address = JSON.stringify(transformData.model.address)
-  }
-
-  clearRgFileds(transformData, /\/\//)
-
-  let delFileds = [
-    'enable_social_sharing', 'social_sharing_enabled', 'account_social_sharing_default',
-    'owner', 'address', 'is_vr', 'vision_version', 'created', 'unit_type', 'owner'
-  ]
-  let assigFileds = {
-    files: {
-      templates: ['data/{{number}}/{{filename}}']
-    },
-
-  }
-
-  delFileds.forEach(filed => {
-    delete transformData[filed]
-    delete transformData.model[filed]
-  })
-  Object.keys(assigFileds).forEach(filed => transformData[filed] = assigFileds[filed])
-
-  if (!transformData.model.camera_start) {
-    for (let i = 0; i < transformData.model.images.length; i++) {
-      let metadata = JSON.parse(transformData.model.images[0].metadata)
-
-      if (metadata.scan_id) {
-        transformData.model.camera_start = {
-          camera: {
-            "zoom": -1,
-            "quaternion": [
-              metadata.camera_quaternion.x,
-              metadata.camera_quaternion.y,
-              metadata.camera_quaternion.z,
-              metadata.camera_quaternion.w
-            ]
-          },
-          pano: {
-            "uuid": metadata.scan_id
-          },
-          "mode": 0
-        }
-        break;
-      }
-    }
-
-  }
-
-  let deufaltPlayer = {
-    "presented_by": true,
-    "highlight_reel": true,
-    "floor_plan": true,
-    "tour_buttons": true,
-    "dollhouse": true,
-    "fast_transitions": false,
-    "autoplay": false,
-  }
-
-  transformData.model.player_options = transformData.model.player_options || {};
-  Object.keys(deufaltPlayer).forEach(key => transformData.model.player_options[key] = deufaltPlayer[key])
-
-  transformData.model.images = [transformData.model.images[0]]
-
-  return transformData
-}
-
-
-module.exports = exports = {router};

+ 0 - 89
gis_application/src/main/resources/data/someData.json

@@ -1,89 +0,0 @@
-{
-  "model": {
-    "sid": "zhengzhou",
-    "name": "526190409SZGX",
-    "status": "viewable",
-    "floors": "",
-    "metainfo": { "allowed_methods": ["GET", "OPTIONS", "HEAD"] },
-    "images": [
-      {
-        "metadata": "{\"camera_mode\":0,\"camera_position\":{\"x\":17.319578170776367,\"y\":0.5689632296562195,\"z\":30.42438507080078},\"camera_quaternion\":{\"x\":-0.0000020361233819675194,\"y\":0.9999978870169733,\"z\":-0.0012442941874225735,\"w\":-0.0016363646960161576},\"ortho_zoom\":-1,\"ss_zoom\":1,\"scan_id\":\"b1498df53a554a0bafec6646639964e6\",\"is_ortho\":false,\"floorVisibility\":[1]}",
-        "created": "2019-04-12T01:15:48.811428Z",
-        "modified": "2019-04-12T01:15:48.811961Z",
-        "sid": "3itPh3K83Bq",
-        "name": "04.12.2019_09.15.38",
-        "height": 1707,
-        "width": 3034,
-        "is_hero": true,
-        "category": "user",
-        "vision_generated_label": "",
-        "vision_generated_name": "",
-        "vision_image_index": -1,
-        "created_by": 4084,
-        "rating": null
-      }
-    ],
-    "job": { "uuid": "dacf7dfa24ae47fab8fcebfe4dc41ab9" },
-    "player_options": {
-      "presented_by": true,
-      "highlight_reel": true,
-      "floor_plan": true,
-      "tour_buttons": true,
-      "dollhouse": true,
-      "fast_transitions": false,
-      "autoplay": false,
-      "contact_email": true,
-      "address": true,
-      "contact_name": true,
-      "model_summary": true,
-      "contact_phone": true,
-      "model_name": true,
-      "external_url": true
-    },
-    "modified": "2019-04-12T06:39:16.940410Z",
-    "is_public": true,
-    "summary": "",
-    "presented_by": "",
-    "contact_name": "",
-    "contact_phone": "",
-    "formatted_contact_phone": "",
-    "contact_email": "",
-    "external_url": "",
-    "camera_start": {
-      "camera": {
-        "zoom": "-1",
-        "quaternion": ["0.7013", "-0.7026", "0.0907", "-0.08"]
-      },
-      "pano": { "uuid": "2" },
-      "mode": "0"
-    }
-  },
-  "files": { "templates": ["data/{{number}}/{{filename}}"] },
-  "name": "526190409SZGX",
-  "summary": "",
-  "hoticon": {
-    "default": "images/4dagePoint2.png",
-    "higt": "images/4dagePoint.png"
-  },
-  "camera_start": {
-    "camera": {
-      "zoom": "-1",
-      "quaternion": ["0.7013", "-0.7026", "0.0907", "-0.08"]
-    },
-    "pano": { "uuid": "2" },
-    "mode": "0"
-  },
-  "loadlogo": false,
-  "special": false,
-  "vision_version": false,
-  "hotImageScale": false,
-  "hideFloorMarker": false,
-  "hideMouseMarker": false,
-  "floorMarkerColor": "#4bcdfc",
-  "mouseMarkerColor": "#4bcdfc",
-  "momentTour": "walk",
-  "showHotListSta": false,
-  "hotIconScale": "1",
-  "supportsVR": false,
-  "weixinDesc": ""
-}

File diff suppressed because it is too large
+ 0 - 1186
gis_application/src/main/resources/db/army_cms.sql


+ 8 - 1
gis_common/pom.xml

@@ -3,7 +3,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>army_sichuan</artifactId>
+        <artifactId>scene_wisdom</artifactId>
         <groupId>com.gis</groupId>
         <version>1.0.0</version>
     </parent>
@@ -165,6 +165,13 @@
         </dependency>
 
 
+        <!-- httpclient -->
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+        </dependency>
+
+
 
     </dependencies>
 

+ 12 - 4
gis_common/src/main/java/com/gis/common/constant/ConfigConstant.java

@@ -60,10 +60,18 @@ public class ConfigConstant {
     public  String swaggerVersion;
 
 
-    /*********************** 其他参数 ***********************/
-//
-//    @Value("${domain.4dkk}")
-//    public  String domain4dKK;
+    /*********************** 珠海一键智慧参数 ***********************/
+
+    @Value("${iot.domain}")
+    public  String iotDomain;
+
+    @Value("${iot.apiKey}")
+    public  String iotApiKey;
+
+    @Value("${iot.sign}")
+    public  String iotSign;
+
+
 
 
 

+ 356 - 0
gis_common/src/main/java/com/gis/common/util/HttpUtils.java

@@ -0,0 +1,356 @@
+package com.gis.common.util;
+
+import com.alibaba.fastjson.JSONObject;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.http.HttpResponse;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.*;
+import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.conn.scheme.Scheme;
+import org.apache.http.conn.scheme.SchemeRegistry;
+import org.apache.http.conn.ssl.SSLSocketFactory;
+import org.apache.http.entity.ByteArrayEntity;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.security.KeyManagementException;
+import java.security.NoSuchAlgorithmException;
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+public class HttpUtils {
+
+    protected static final Logger LOGGER = LoggerFactory.getLogger(HttpUtils.class);
+
+    /**
+     * get
+     *
+     * @param host
+     * @param path
+     * @param headers
+     * @param querys
+     * @return
+     * @throws Exception
+     */
+    public static String doGet(String host, String path,
+                                     Map<String, String> headers,
+                                     Map<String, String> querys)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpGet request = new HttpGet(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        HttpResponse httpResponse = httpClient.execute(request);
+        String restResult = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");
+        return restResult;
+    }
+
+    /**
+     * 20201-04-22
+     * post json
+     * @param url 请求地址
+     * @param headers 请求头
+     * @param body json参数
+     * @return
+     * @throws Exception
+     */
+    public static String doPostJson(String url, Map<String, String> headers, JSONObject body) throws Exception {
+        // 获得Http客户端(
+        CloseableHttpClient httpClient = HttpClientBuilder.create().build();
+        // 创建Post请求
+        HttpPost httpPost = new HttpPost(url);
+        LOGGER.info("request url: " + url);
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            httpPost.addHeader(e.getKey(), e.getValue());
+        }
+
+        StringEntity stringEntity = new StringEntity(body.toJSONString(), "UTF-8");
+        httpPost.setEntity(stringEntity);
+
+        HttpResponse httpResponse = httpClient.execute(httpPost);
+        String restResult = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");
+
+        return restResult;
+    }
+
+
+    /**
+     * post form
+     *
+     * @param host
+     * @param path
+     * @param headers
+     * @param querys
+     * @param bodys
+     * @return
+     * @throws Exception
+     */
+    public static String doPost(String host, String path,
+                                      Map<String, String> headers,
+                                      Map<String, String> querys,
+                                      Map<String, String> bodys)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpPost request = new HttpPost(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        if (bodys != null) {
+            List<NameValuePair> nameValuePairList = new ArrayList<NameValuePair>();
+
+            for (String key : bodys.keySet()) {
+                nameValuePairList.add(new BasicNameValuePair(key, bodys.get(key)));
+            }
+            UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(nameValuePairList, "utf-8");
+            formEntity.setContentType("application/x-www-form-urlencoded; charset=UTF-8");
+            request.setEntity(formEntity);
+        }
+        HttpResponse httpResponse = httpClient.execute(request);
+        String restResult = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");
+
+        return restResult;
+    }
+
+    /**
+     * Post String
+     *
+     * @param host
+     * @param path
+     * @param headers
+     * @param querys
+     * @param body
+     * @return
+     * @throws Exception
+     */
+    public static String doPost(String host, String path,
+                                      Map<String, String> headers,
+                                      Map<String, String> querys,
+                                      String body)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpPost request = new HttpPost(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        if (StringUtils.isNotBlank(body)) {
+            request.setEntity(new StringEntity(body, "utf-8"));
+        }
+
+        HttpResponse httpResponse = httpClient.execute(request);
+        String restResult = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");
+
+        return restResult;
+    }
+
+    /**
+     * Post stream
+     *
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @param body
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doPost(String host, String path, String method,
+                                      Map<String, String> headers,
+                                      Map<String, String> querys,
+                                      byte[] body)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpPost request = new HttpPost(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        if (body != null) {
+            request.setEntity(new ByteArrayEntity(body));
+        }
+
+        return httpClient.execute(request);
+    }
+
+    /**
+     * Put String
+     *
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @param body
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doPut(String host, String path, String method,
+                                     Map<String, String> headers,
+                                     Map<String, String> querys,
+                                     String body)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpPut request = new HttpPut(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        if (StringUtils.isNotBlank(body)) {
+            request.setEntity(new StringEntity(body, "utf-8"));
+        }
+
+        return httpClient.execute(request);
+    }
+
+    /**
+     * Put stream
+     *
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @param body
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doPut(String host, String path, String method,
+                                     Map<String, String> headers,
+                                     Map<String, String> querys,
+                                     byte[] body)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpPut request = new HttpPut(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        if (body != null) {
+            request.setEntity(new ByteArrayEntity(body));
+        }
+
+        return httpClient.execute(request);
+    }
+
+    /**
+     * Delete
+     *
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doDelete(String host, String path, String method,
+                                        Map<String, String> headers,
+                                        Map<String, String> querys)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpDelete request = new HttpDelete(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        return httpClient.execute(request);
+    }
+
+    public static String buildUrl(String host, String path, Map<String, String> querys) throws UnsupportedEncodingException {
+        StringBuilder sbUrl = new StringBuilder();
+        sbUrl.append(host);
+        if (!StringUtils.isBlank(path)) {
+            sbUrl.append(path);
+        }
+        LOGGER.info("request api: " + sbUrl.toString());
+        if (null != querys) {
+            StringBuilder sbQuery = new StringBuilder();
+            for (Map.Entry<String, String> query : querys.entrySet()) {
+                if (0 < sbQuery.length()) {
+                    sbQuery.append("&");
+                }
+                if (StringUtils.isBlank(query.getKey()) && !StringUtils.isBlank(query.getValue())) {
+                    sbQuery.append(query.getValue());
+                }
+                if (!StringUtils.isBlank(query.getKey())) {
+                    sbQuery.append(query.getKey());
+                    if (!StringUtils.isBlank(query.getValue())) {
+                        sbQuery.append("=");
+                        sbQuery.append(URLEncoder.encode(query.getValue(), "utf-8"));
+                    }
+                }
+            }
+            if (0 < sbQuery.length()) {
+                sbUrl.append("?").append(sbQuery);
+            }
+        }
+
+        return sbUrl.toString();
+    }
+
+    private static HttpClient wrapClient(String host) {
+        HttpClient httpClient = new DefaultHttpClient();
+        if (host.startsWith("https://")) {
+            sslClient(httpClient);
+        }
+        return httpClient;
+    }
+
+    private static void sslClient(HttpClient httpClient) {
+        try {
+            SSLContext ctx = SSLContext.getInstance("TLS");
+            X509TrustManager tm = new X509TrustManager() {
+                public X509Certificate[] getAcceptedIssuers() {
+                    return null;
+                }
+
+                public void checkClientTrusted(X509Certificate[] xcs, String str) {
+
+                }
+
+                public void checkServerTrusted(X509Certificate[] xcs, String str) {
+
+                }
+            };
+            ctx.init(null, new TrustManager[]{tm}, null);
+            SSLSocketFactory ssf = new SSLSocketFactory(ctx);
+            ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
+            ClientConnectionManager ccm = httpClient.getConnectionManager();
+            SchemeRegistry registry = ccm.getSchemeRegistry();
+            registry.register(new Scheme("https", 443, ssf));
+        } catch (KeyManagementException ex) {
+            throw new RuntimeException(ex);
+        } catch (NoSuchAlgorithmException ex) {
+            throw new RuntimeException(ex);
+        }
+    }
+
+
+
+}

+ 1 - 1
gis_domain/pom.xml

@@ -3,7 +3,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>army_sichuan</artifactId>
+        <artifactId>scene_wisdom</artifactId>
         <groupId>com.gis</groupId>
         <version>1.0.0</version>
     </parent>

+ 0 - 25
gis_domain/src/main/java/com/gis/domain/dto/BarrageDto.java

@@ -1,25 +0,0 @@
-package com.gis.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-
-/**
- * Created by owen on 2020/5/9 0009 12:20
- */
-@Data
-public class BarrageDto {
-
-    @ApiModelProperty(value = "id, 修改时必须传,新增忽略", name = "id")
-    private Long id;
-
-    @NotBlank(message = "内容不能为空")
-    @ApiModelProperty(value = "内容", required = true)
-    private String content;
-
-
-
-
-}

+ 0 - 28
gis_domain/src/main/java/com/gis/domain/dto/CommentRequest.java

@@ -1,28 +0,0 @@
-package com.gis.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-
-/**
- * Created by owen on 2020/5/9 0009 12:20
- */
-@Data
-public class CommentRequest {
-
-
-    @NotBlank(message = "留言人")
-    @ApiModelProperty(value = "留言人", required = true)
-    private String nickName;
-
-    @NotBlank(message = "留言不能为空")
-    @ApiModelProperty(value = "留言", required = true)
-    private String msg;
-
-    @ApiModelProperty(value = "父级id")
-    private Long parentId;
-
-
-}

+ 0 - 30
gis_domain/src/main/java/com/gis/domain/dto/GiftDto.java

@@ -1,30 +0,0 @@
-package com.gis.domain.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.validation.constraints.NotBlank;
-
-/**
- * Created by owen on 2020/5/9 0009 12:20
- */
-@Data
-public class GiftDto {
-
-
-    @ApiModelProperty(value = "id, 修改时必须传,新增忽略", name = "id")
-    private Long id;
-
-    @NotBlank(message = "名称")
-    @ApiModelProperty(value = "名称", required = true)
-    private String name;
-
-    @NotBlank(message = "缩略图不能为空")
-    @ApiModelProperty(value = "缩略图", required = true)
-    private String thumb;
-//
-//    @ApiModelProperty(value = "父级id")
-//    private Integer display;
-
-
-}

+ 0 - 22
gis_domain/src/main/java/com/gis/domain/po/BarrageEntity.java

@@ -1,22 +0,0 @@
-package com.gis.domain.po;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.persistence.Table;
-
-/**
- * Created by owen on 2021/4/20 0010 17:39
- * 史馆动态
- */
-@Data
-@Table(name = "tb_barrage")
-public class BarrageEntity extends BaseEntity {
-
-    @ApiModelProperty(value = "是否显示,1:是, 0:否")
-    private Integer display;
-
-    @ApiModelProperty(value = "内容")
-    private String content;
-
-}

+ 0 - 45
gis_domain/src/main/java/com/gis/domain/po/CommentEntity.java

@@ -1,45 +0,0 @@
-package com.gis.domain.po;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.persistence.Table;
-import java.io.Serializable;
-
-/**
- * 留言评论
- */
-@Data
-@Table(name = "tb_comment")
-public class CommentEntity extends BaseEntity implements Serializable {
-
-    private static final long serialVersionUID = -8093446477843493946L;
-//
-//    @ApiModelProperty(value = "用户id")
-//    private Long userId;
-
-//    @ApiModelProperty(value = "真实姓名")
-//    private String realName;
-
-    @ApiModelProperty(value = "昵称")
-    private String nickName;
-
-//    @ApiModelProperty(value = "单位")
-//    private String unit;
-
-    @ApiModelProperty(value = "消息")
-    private String msg;
-
-    @ApiModelProperty(value = "父级id")
-    private Long parentId;
-
-    @ApiModelProperty(value = "是否显示,1:是, 0:否")
-    private Integer display;
-
-
-
-
-
-
-
-}

+ 0 - 35
gis_domain/src/main/java/com/gis/domain/po/GiftEntity.java

@@ -1,35 +0,0 @@
-package com.gis.domain.po;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.persistence.Table;
-
-/**
- * Created by owen on 2021/4/20 0010 17:39
- * 礼物表
- */
-@Data
-@Table(name = "tb_gift")
-public class GiftEntity extends BaseEntity {
-
-    @ApiModelProperty(value = "名称" )
-    private String name;
-
-//    @ApiModelProperty(value = "高清图url")
-//    private String img;
-
-    @ApiModelProperty(value = "缩略图url")
-    private String thumb;
-
-    @ApiModelProperty(value = "是否显示,1:是, 0:否")
-    private Integer display;
-
-    @ApiModelProperty(value = "发布人Id")
-    private Long userId;
-
-//    @ApiModelProperty(value = "文件路径")
-//    private String filePath;
-
-
-}

+ 0 - 45
gis_domain/src/main/java/com/gis/domain/vo/CommentVo.java

@@ -1,45 +0,0 @@
-package com.gis.domain.vo;
-
-import com.gis.domain.po.BaseEntity;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.persistence.Table;
-import java.io.Serializable;
-
-/**
- * 留言评论
- */
-@Data
-public class CommentVo extends BaseEntity implements Serializable {
-
-    private static final long serialVersionUID = -8093446477743493946L;
-
-    @ApiModelProperty(value = "用户id")
-    private Long userId;
-
-    @ApiModelProperty(value = "真实姓名")
-    private String realName;
-
-    @ApiModelProperty(value = "昵称")
-    private String nickName;
-
-    @ApiModelProperty(value = "单位")
-    private String unit;
-
-    @ApiModelProperty(value = "消息")
-    private String msg;
-
-    @ApiModelProperty(value = "父级id")
-    private Long parentId;
-
-    @ApiModelProperty(value = "是否显示,1:是, 0:否")
-    private Integer display;
-
-
-
-
-
-
-
-}

+ 1 - 1
gis_mapper/pom.xml

@@ -3,7 +3,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>army_sichuan</artifactId>
+        <artifactId>scene_wisdom</artifactId>
         <groupId>com.gis</groupId>
         <version>1.0.0</version>
     </parent>

+ 0 - 18
gis_mapper/src/main/java/com/gis/mapper/BarrageMapper.java

@@ -1,18 +0,0 @@
-package com.gis.mapper;
-
-
-import com.gis.domain.po.BarrageEntity;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Select;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-
-@Component
-@Mapper
-public interface BarrageMapper extends IBaseMapper<BarrageEntity, Long> {
-
-    @Select("select id from tb_barrage where is_delete = 0 AND display = 1 ")
-    List<BarrageEntity> getCountDisplay();
-}

+ 0 - 20
gis_mapper/src/main/java/com/gis/mapper/CommentMapper.java

@@ -1,20 +0,0 @@
-package com.gis.mapper;
-
-
-import com.gis.domain.dto.PageDateDto;
-import com.gis.domain.po.CommentEntity;
-import com.gis.mapper.provider.CommentProvider;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.SelectProvider;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-@Component
-@Mapper
-public interface CommentMapper extends IBaseMapper<CommentEntity, Long> {
-
-
-    @SelectProvider(type = CommentProvider.class, method = "search")
-    List<CommentEntity> search(PageDateDto param, Integer display);
-}

+ 0 - 27
gis_mapper/src/main/java/com/gis/mapper/GiftMapper.java

@@ -1,27 +0,0 @@
-package com.gis.mapper;
-
-
-import com.gis.domain.dto.PageDateDto;
-import com.gis.domain.po.BarrageEntity;
-import com.gis.domain.po.CommentEntity;
-import com.gis.domain.po.GiftEntity;
-import com.gis.mapper.provider.CommentProvider;
-import com.gis.mapper.provider.GiftProvider;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.SelectProvider;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-@Component
-@Mapper
-public interface GiftMapper extends IBaseMapper<GiftEntity, Long> {
-
-
-    @SelectProvider(type = GiftProvider.class, method = "search")
-    List<GiftEntity> search(PageDateDto param, Integer display);
-
-    @Select("select id from tb_gift where is_delete = 0 AND display = 1 ")
-    List<GiftEntity> getCountDisplay();
-}

+ 0 - 1
gis_mapper/src/main/java/com/gis/mapper/provider/UserProvider.java

@@ -1,7 +1,6 @@
 package com.gis.mapper.provider;
 
 import com.gis.domain.dto.PageDateDto;
-import com.gis.domain.dto.UserPageDateDto;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.StringUtils;
 

+ 1 - 1
gis_service/pom.xml

@@ -3,7 +3,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>army_sichuan</artifactId>
+        <artifactId>scene_wisdom</artifactId>
         <groupId>com.gis</groupId>
         <version>1.0.0</version>
     </parent>

+ 0 - 15
gis_service/src/main/java/com/gis/service/BarrageService.java

@@ -1,15 +0,0 @@
-package com.gis.service;
-
-
-import com.gis.domain.po.BarrageEntity;
-
-
-
-/**
- * Created by owen on 2020/3/11 0011 16:14
- */
-public interface BarrageService extends IBaseService<BarrageEntity, Long> {
-
-
-    Integer getCountDisplay();
-}

+ 0 - 17
gis_service/src/main/java/com/gis/service/CommentService.java

@@ -1,17 +0,0 @@
-package com.gis.service;
-
-
-import com.gis.domain.dto.PageDateDto;
-import com.gis.domain.po.CommentEntity;
-
-import java.util.List;
-
-
-/**
- * Created by owen on 2020/3/11 0011 16:14
- */
-public interface CommentService extends IBaseService<CommentEntity, Long> {
-
-
-    List<CommentEntity> search(PageDateDto param, Integer display);
-}

+ 19 - 0
gis_service/src/main/java/com/gis/service/DeviceService.java

@@ -0,0 +1,19 @@
+package com.gis.service;
+
+
+import com.gis.common.util.Result;
+
+
+/**
+ * Created by owen on 2020/3/11 0011 16:14
+ */
+public interface DeviceService  {
+
+    Result getList();
+
+    Result getParam(String devTypeId, String deviceCode);
+
+    Result control(String deviceId, String paramCode, String paramValue, String cmdCode);
+
+    Result getStatus(String deviceCode);
+}

+ 0 - 28
gis_service/src/main/java/com/gis/service/GiftService.java

@@ -1,28 +0,0 @@
-package com.gis.service;
-
-
-import com.gis.common.util.Result;
-import com.gis.domain.dto.GiftDto;
-import com.gis.domain.dto.PageDateDto;
-import com.gis.domain.po.CommentEntity;
-import com.gis.domain.po.GiftEntity;
-import com.gis.domain.vo.CommentVo;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.util.List;
-
-
-/**
- * Created by owen on 2020/3/11 0011 16:14
- */
-public interface GiftService extends IBaseService<GiftEntity, Long> {
-
-
-    Result<GiftEntity> search(PageDateDto param);
-
-    Integer getCountDisplay();
-
-    Result saveEntity(GiftDto param);
-
-    Result upload(MultipartFile file);
-}

+ 0 - 1
gis_service/src/main/java/com/gis/service/SceneService.java

@@ -5,7 +5,6 @@ import com.gis.common.util.Result;
 import com.gis.domain.dto.PageDto;
 import com.gis.domain.dto.RoamViableDto;
 import com.gis.domain.dto.SceneDataDto;
-import com.gis.domain.dto.ScenePageDto;
 import com.gis.domain.po.SceneEntity;
 
 import java.util.List;

+ 0 - 1
gis_service/src/main/java/com/gis/service/SysUserService.java

@@ -2,7 +2,6 @@ package com.gis.service;
 
 
 import com.gis.domain.dto.PageDateDto;
-import com.gis.domain.dto.UserPageDateDto;
 import com.gis.domain.po.SysUserEntity;
 
 import java.util.List;

+ 1 - 1
gis_web/src/main/java/com/gis/web/aop/WebControllerLog.java

@@ -1,4 +1,4 @@
-package com.gis.web.aop;
+package com.gis.service.aop;
 
 import java.lang.annotation.*;
 

+ 1 - 1
gis_web/src/main/java/com/gis/web/aop/WebLogAspect.java

@@ -1,4 +1,4 @@
-package com.gis.web.aop;
+package com.gis.service.aop;
 
 import com.gis.common.util.JwtUtil;
 import lombok.extern.slf4j.Slf4j;

+ 0 - 34
gis_service/src/main/java/com/gis/service/impl/BarrageServiceImpl.java

@@ -1,34 +0,0 @@
-package com.gis.service.impl;
-
-import com.gis.domain.po.BarrageEntity;
-import com.gis.mapper.BarrageMapper;
-import com.gis.mapper.IBaseMapper;
-import com.gis.service.BarrageService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-
-/**
- * Created by owen on 2020/3/11 0011 16:16
- */
-@Service
-public class BarrageServiceImpl extends IBaseServiceImpl<BarrageEntity, Long> implements BarrageService {
-
-    @Autowired
-    private BarrageMapper entityMapper;
-
-    @Override
-    public IBaseMapper<BarrageEntity, Long> getBaseMapper() {
-        return this.entityMapper;
-    }
-
-
-    @Override
-    public Integer getCountDisplay() {
-        List<BarrageEntity> countDisplay = entityMapper.getCountDisplay();
-
-        return countDisplay.size();
-    }
-}

+ 0 - 33
gis_service/src/main/java/com/gis/service/impl/CommentServiceImpl.java

@@ -1,33 +0,0 @@
-package com.gis.service.impl;
-
-import com.gis.domain.dto.PageDateDto;
-import com.gis.domain.po.CommentEntity;
-import com.gis.mapper.IBaseMapper;
-import com.gis.mapper.CommentMapper;
-import com.gis.service.CommentService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-
-/**
- * Created by owen on 2020/3/11 0011 16:16
- */
-@Service
-public class CommentServiceImpl extends IBaseServiceImpl<CommentEntity, Long> implements CommentService {
-
-    @Autowired
-    private CommentMapper entityMapper;
-
-    @Override
-    public IBaseMapper<CommentEntity, Long> getBaseMapper() {
-        return this.entityMapper;
-    }
-
-
-    @Override
-    public List<CommentEntity> search(PageDateDto param, Integer display) {
-        return entityMapper.search(param, display);
-    }
-}

+ 144 - 0
gis_service/src/main/java/com/gis/service/impl/DeviceServiceImpl.java

@@ -0,0 +1,144 @@
+package com.gis.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.gis.common.constant.ConfigConstant;
+import com.gis.common.util.HttpUtils;
+import com.gis.common.util.Result;
+import com.gis.service.DeviceService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.HashMap;
+import java.util.Map;
+
+
+/**
+ * Created by owen on 2020/3/11 0011 16:16
+ */
+@Slf4j
+@Service
+public class DeviceServiceImpl  implements DeviceService {
+
+
+    @Autowired
+    ConfigConstant configConstant;
+
+
+    @Override
+    public Result getList() {
+        String api = "/api/server/v1/devices";
+        return doPost(api, null, null);
+    }
+
+    @Override
+    public Result getParam(String devTypeId, String deviceCode) {
+        String api = "/api/server/v1/device/" + devTypeId +"/" + deviceCode;
+        return doGet(api, null);
+    }
+
+    @Override
+    public Result control(String deviceId, String paramCode, String paramValue, String cmdCode) {
+        String api = "/api/server/v1/device/set";
+        JSONObject jsonBody = new JSONObject();
+        jsonBody.put("cmdCode", cmdCode);
+        jsonBody.put("deviceId", deviceId);
+        jsonBody.put("paramCode", paramCode);
+        jsonBody.put("paramValue", paramValue);
+        return doPostJson(api, jsonBody);
+    }
+
+    @Override
+    public Result getStatus(String deviceCode) {
+        String api = "/api/server/v1/" + deviceCode + "/status";
+        return doGet(api, null);
+    }
+
+
+    private Result doPostJson(String api, JSONObject body ){
+        String host = configConstant.iotDomain;
+        String apiKey = configConstant.iotApiKey;
+        String sign = configConstant.iotSign;
+
+        Map<String, String> headers  = new HashMap<>();
+        headers.put("apiKey", apiKey);
+        headers.put("sign", sign);
+        headers.put("Content-Type", "application/json;charset=utf8");
+        String url = host + api;
+        try {
+            String restResult = HttpUtils.doPostJson(url, headers, body);
+            log.info("请求iot响应值: " + restResult);
+            JSONObject resJson = JSONObject.parseObject(restResult);
+            Integer code = resJson.getInteger("code");
+            if (code != 200 ){
+                String message = resJson.getString("message");
+                log.error("请求失败: {}", message);
+                return Result.failure(message);
+            }
+            log.info("请求完成");
+            return Result.success(JSONObject.parse(resJson.getString("result")));
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    private Result doPost(String api, Map<String, String> querys, Map<String, String> body){
+        String host = configConstant.iotDomain;
+        String apiKey = configConstant.iotApiKey;
+        String sign = configConstant.iotSign;
+
+        Map<String, String> headers  = new HashMap<>();
+        headers.put("apiKey", apiKey);
+        headers.put("sign", sign);
+        try {
+            String restResult = HttpUtils.doPost(host, api, headers, querys, body);
+            log.info("请求iot响应值: " + restResult);
+            JSONObject resJson = JSONObject.parseObject(restResult);
+            Integer code = resJson.getInteger("code");
+            if (code != 200 ){
+                String message = resJson.getString("message");
+                log.error("请求失败: {}", message);
+                return Result.failure(message);
+            }
+            log.info("请求完成");
+            return Result.success(JSONObject.parse(resJson.getString("result")));
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    return null;
+    }
+
+
+
+
+    private Result doGet(String api, Map<String, String> querys){
+        String host = configConstant.iotDomain;
+        String apiKey = configConstant.iotApiKey;
+        String sign = configConstant.iotSign;
+
+        Map<String, String> headers  = new HashMap<>();
+        headers.put("apiKey", apiKey);
+        headers.put("sign", sign);
+        try {
+            String restResult = HttpUtils.doGet(host, api, headers, querys);
+            log.info("请求iot响应值: " + restResult);
+            JSONObject resJson = JSONObject.parseObject(restResult);
+            Integer code = resJson.getInteger("code");
+            if (code != 200 ){
+                String message = resJson.getString("message");
+                log.error("请求失败: {}", message);
+                return Result.failure(message);
+            }
+            log.info("请求完成");
+            return Result.success(JSONObject.parse(resJson.getString("result")));
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+
+}

+ 0 - 119
gis_service/src/main/java/com/gis/service/impl/GiftServiceImpl.java

@@ -1,119 +0,0 @@
-package com.gis.service.impl;
-
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.io.FileUtil;
-import com.gis.common.constant.MsgCode;
-import com.gis.common.util.FileUtils;
-import com.gis.common.util.Result;
-import com.gis.domain.dto.GiftDto;
-import com.gis.domain.dto.PageDateDto;
-import com.gis.domain.po.BarrageEntity;
-import com.gis.domain.po.GiftEntity;
-import com.gis.domain.vo.CommentVo;
-import com.gis.mapper.GiftMapper;
-import com.gis.mapper.IBaseMapper;
-import com.gis.service.GiftService;
-import com.github.pagehelper.PageInfo;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.servlet.http.HttpServletRequest;
-import java.io.IOException;
-import java.util.Date;
-import java.util.List;
-
-
-/**
- * Created by owen on 2020/3/11 0011 16:16
- */
-@Slf4j
-@Service
-public class GiftServiceImpl extends IBaseServiceImpl<GiftEntity, Long> implements GiftService {
-
-    @Autowired
-    private GiftMapper entityMapper;
-
-    @Autowired
-    HttpServletRequest request;
-
-    @Override
-    public IBaseMapper<GiftEntity, Long> getBaseMapper() {
-        return this.entityMapper;
-    }
-
-
-
-    @Override
-    public Result<GiftEntity> search(PageDateDto param) {
-        startPage(param);
-        return Result.success(new PageInfo<>(entityMapper.search(param, null)));
-    }
-
-    @Override
-    public Integer getCountDisplay() {
-        List<GiftEntity> countDisplay = entityMapper.getCountDisplay();
-
-        return countDisplay.size();
-    }
-
-    @Override
-    public Result saveEntity(GiftDto param) {
-        Long id = param.getId();
-        GiftEntity entity = null;
-        if (id == null) {
-            entity = new GiftEntity();
-            BeanUtils.copyProperties(param, entity);
-            entity.setUserId(getTokenUserId(request));
-            this.save(entity);
-        } else {
-            entity = this.findById(id);
-            if (entity == null) {
-                Result.failure("对象不存在, id: " + id );
-            }
-
-            BeanUtils.copyProperties(param, entity);
-            entity.setUpdateTime(new Date());
-            this.update(entity);
-
-        }
-        return Result.success(entity);
-    }
-
-    @Override
-    public Result upload(MultipartFile file) {
-        // 检查非法文件上传
-        boolean checkFile = FileUtils.checkFile(file);
-        if (!checkFile) {
-            return Result.failure("上传文件格式有误, 请重新上传");
-        }
-
-        String fileName = file.getOriginalFilename();
-        assert fileName != null;
-        if (!fileName.toLowerCase().endsWith(".png")) {
-            return Result.failure("仅支持PNG格式, 请重新上传");
-        }
-
-
-
-        long size = file.getSize();
-        size = size/1024;
-        log.info("fileSize: {} kb" + size);
-
-        if ((size/1024) >= 5) {
-            return Result.failure(MsgCode.e3004, "文件不能超过5MB");
-        }
-        String time = DateUtil.format(new Date(), "yyyyMMdd_HHmmssSSS");
-        String basePath = "gift/" + time + ".png";
-        String savePath = configConstant.serverBasePath + basePath;
-        try {
-            FileUtil.writeFromStream(file.getInputStream(), savePath);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-
-        return Result.success(basePath);
-    }
-}

+ 0 - 40
gis_service/src/main/java/com/gis/service/util/CommentTree.java

@@ -1,40 +0,0 @@
-package com.gis.service.util;
-
-import com.alibaba.fastjson.annotation.JSONField;
-import lombok.Data;
-
-import java.util.Date;
-import java.util.List;
-
-@Data
-public class CommentTree {
-
-    private Long id;
-
-    private String realName;
-
-    private Long parentId;
-
-    private String msg;
-
-    private Date createTime;
-
-    private Date updateTime;
-
-    private String nickName;
-
-    private String unit;
-
-    private Integer display;
-
-
-    // 子菜单/或按钮
-    private List<CommentTree> children;
-
-    @JSONField(serialize = false)
-    private int level;
-
-
-
-
-}

+ 0 - 106
gis_service/src/main/java/com/gis/service/util/CommentTreeUtil.java

@@ -1,106 +0,0 @@
-package com.gis.service.util;
-
-import com.gis.domain.po.CommentEntity;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class CommentTreeUtil {
-
-    private List<CommentTree> resultNodes = new ArrayList<CommentTree>();//树形结构排序之后list内容
-
-    private List<CommentTree> nodes = new ArrayList<CommentTree>();
-    //传入list参数
-
-    public CommentTreeUtil(List<CommentEntity> nodesList) {//通过构造函数初始化
-        for (CommentEntity n : nodesList) {
-            CommentTree treeGrid = new CommentTree();
-            treeGrid.setId(n.getId());
-            treeGrid.setMsg(n.getMsg());
-//            treeGrid.setRealName(n.getRealName());
-            treeGrid.setCreateTime(n.getCreateTime());
-            treeGrid.setUpdateTime(n.getUpdateTime());
-//            treeGrid.setUnit(n.getUnit());
-            treeGrid.setNickName(n.getNickName());
-            treeGrid.setDisplay(n.getDisplay());
-
-
-            if (n.getParentId() != null) {
-                treeGrid.setParentId(n.getParentId());
-            }
-            nodes.add(treeGrid);
-        }
-    }
-
-    public CommentTreeUtil() {
-    }
-
-    /**
-     * 构建树形结构list
-     *
-     * @return 返回树形结构List列表
-     */
-    public List<CommentTree> buildTree() {
-        for (CommentTree node : nodes) {
-            Long id = node.getParentId();
-            if (id == null) {//通过循环一级节点 就可以通过递归获取二级以下节点
-                resultNodes.add(node);//添加一级节点
-                node.setLevel(1);
-                build(node, node.getLevel());//递归获取二级、三级、。。。节点
-            }
-        }
-        return resultNodes;
-    }
-
-    /**
-     * 递归循环子节点
-     *
-     * @param node 当前节点
-     */
-    private void build(CommentTree node, int level) {
-        List<CommentTree> children = getChildren(node);
-        if (!children.isEmpty()) {//如果存在子节点
-            node.setChildren(children);
-//        	level++;
-            for (CommentTree child : children) {//将子节点遍历加入返回值中
-        		child.setLevel(level);
-                build(child, child.getLevel());
-            }
-        }
-    }
-
-    /**
-     * @param node
-     * @return 返回
-     */
-    private List<CommentTree> getChildren(CommentTree node) {
-        List<CommentTree> children = new ArrayList<CommentTree>();
-        Long id = node.getId();
-        for (CommentTree child : nodes) {
-            if (id.equals(child.getParentId())) {//如果id等于父id
-                children.add(child);//将该节点加入循环列表中
-            }
-        }
-        return children;
-    }
-
-//    public List<CommentTree> buildTree(List<SysResourceEntity> all, List<SysResourceEntity> in) {
-//        for (SysResourceEntity n : all) {
-//            CommentTree treeGrid = new CommentTree();
-//            treeGrid.setId(n.getId());
-//            treeGrid.setMsg(n.getMsg());
-//            treeGrid.setUserName(n.getUserName());
-//            treeGrid.setCreateTime(n.getCreateTime());
-//            for (SysResourceEntity nin : in) {
-//                if (nin.getId().equals(n.getId())) {
-//                }
-//            }
-//            if (n.getParentId() != null) {
-//                treeGrid.setParentId(n.getParentId());
-//            }
-//            nodes.add(treeGrid);
-//        }
-//        return buildTree();
-//    }
-
-}

+ 1 - 5
gis_web/pom.xml

@@ -3,7 +3,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>cms_army_macao</artifactId>
+        <artifactId>scene_wisdom</artifactId>
         <groupId>com.gis</groupId>
         <version>1.0.0</version>
     </parent>
@@ -17,10 +17,6 @@
             <groupId>com.gis</groupId>
             <artifactId>gis_service</artifactId>
         </dependency>
-        <!--<dependency>-->
-            <!--<groupId>junit</groupId>-->
-            <!--<artifactId>junit</artifactId>-->
-        <!--</dependency>-->
     </dependencies>
 
 

+ 0 - 114
gis_web/src/main/java/com/gis/web/controller/BarrageController.java

@@ -1,114 +0,0 @@
-package com.gis.web.controller;
-
-import com.gis.common.util.Result;
-import com.gis.domain.dto.BarrageDto;
-import com.gis.domain.dto.PageDateDto;
-import com.gis.domain.dto.PageDto;
-import com.gis.domain.po.BarrageEntity;
-import com.gis.domain.po.CommentEntity;
-import com.gis.service.BarrageService;
-import com.github.pagehelper.PageInfo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.Valid;
-import java.util.Date;
-
-/**
- * Created by owen on 2021/4/20 0008 9:54
- */
-@Log4j2
-@Api(tags = "弹幕管理")
-@RestController
-@RequestMapping("manage/barrage")
-public class BarrageController extends BaseController {
-
-    @Autowired
-    private BarrageService barrageService;
-
-    @ApiOperation(value = "列表")
-    @PostMapping("list")
-    public Result list(@RequestBody PageDto param) {
-        startPage(param);
-        PageInfo<BarrageEntity> page = new PageInfo<>(barrageService.findAll());
-        return Result.success(page);
-    }
-
-
-    @ApiOperation("新增/修改")
-    @PostMapping("save")
-    public Result save(@Valid @RequestBody BarrageDto param) {
-        BarrageEntity entity = null;
-        if (param.getId() == null) {
-            entity = new BarrageEntity();
-            BeanUtils.copyProperties(param, entity);
-            barrageService.save(entity);
-        } else {
-            entity = barrageService.findById(param.getId());
-            if (entity == null) {
-                return Result.failure("对象id不存在");
-            }
-
-            BeanUtils.copyProperties(param, entity);
-            entity.setUpdateTime(new Date());
-            barrageService.update(entity);
-
-        }
-        return Result.success();
-    }
-
-    @ApiOperation("删除")
-    @GetMapping("remove/{id}")
-    public Result remove(@PathVariable Long id) {
-
-        BarrageEntity entity = barrageService.findById(id);
-
-        if (entity == null) {
-            log.error("对象id不存在: {}", id);
-            return Result.failure("对象id不存在");
-        }
-        barrageService.deleteById(id);
-        return Result.success();
-    }
-
-    @ApiOperation("详情")
-    @GetMapping("detail/{id}")
-    public Result detail(@PathVariable Long id) {
-        BarrageEntity entity = barrageService.findById(id);
-        if (entity == null) {
-            log.error("对象id不存在 : {}", id);
-            return Result.failure("对象id不存在");
-        }
-        return Result.success(entity);
-    }
-
-
-    @ApiOperation("是否显示")
-    @GetMapping("display/{id}/{display}")
-    public Result display(@PathVariable Long id, @PathVariable Integer display) {
-        BarrageEntity entity = barrageService.findById(id);
-        if (entity == null) {
-            log.error("对象id不存在 : {}", id);
-            return Result.failure("对象id不存在");
-        }
-
-        entity.setDisplay(display);
-
-        // 最多设置10条可用弹幕
-        if (display == 1) {
-            Integer count = barrageService.getCountDisplay();
-            if (count >= 10){
-                return Result.failure("最多设置10条可用弹幕!");
-            }
-        }
-        barrageService.update(entity);
-        return Result.success();
-    }
-}
-
-
-

+ 0 - 85
gis_web/src/main/java/com/gis/web/controller/CommentController.java

@@ -1,85 +0,0 @@
-package com.gis.web.controller;
-
-import com.gis.common.util.Result;
-import com.gis.domain.dto.PageDateDto;
-import com.gis.domain.po.CommentEntity;
-import com.gis.domain.dto.CommentRequest;
-import com.gis.domain.vo.CommentVo;
-import com.gis.service.CommentService;
-import com.gis.service.util.CommentTree;
-import com.gis.service.util.CommentTreeUtil;
-import com.gis.web.aop.WebControllerLog;
-import com.github.pagehelper.PageInfo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.log4j.Log4j2;
-import org.apache.shiro.authz.annotation.Logical;
-import org.apache.shiro.authz.annotation.RequiresRoles;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.Valid;
-import java.util.List;
-
-/**
- * Created by owen on 2020/5/8 0008 9:54
- */
-@Log4j2
-@Api(tags = "留言管理")
-@RestController
-@RequestMapping("manage/comment")
-public class CommentController extends BaseController {
-
-    @Autowired
-    private CommentService commentService;
-
-
-    @RequiresRoles(value = {"sys_admin", "sys_high"}, logical = Logical.OR)
-    @ApiOperation("列表")
-    @PostMapping("list")
-    public Result<CommentVo> list(@RequestBody PageDateDto param) {
-        startPage(param);
-
-        List<CommentEntity> all = commentService.search(param, null);
-        return Result.success(new PageInfo<>(all));
-    }
-
-
-    @ApiOperation("新增/修改")
-    @PostMapping("save")
-    public Result save(@Valid @RequestBody CommentRequest param) {
-
-        CommentEntity entity = new CommentEntity();
-        BeanUtils.copyProperties(param, entity);
-        commentService.save(entity);
-
-        return Result.success();
-    }
-
-
-    @WebControllerLog(description = "留言管理-删除留言")
-    @ApiOperation("删除")
-    @GetMapping("removes/{ids}")
-    public Result detail(@PathVariable String ids) {
-        commentService.deleteByIds(ids);
-
-        return Result.success();
-    }
-
-    @ApiOperation("是否显示")
-    @GetMapping("display/{id}/{display}")
-    public Result display(@PathVariable Long id, @PathVariable Integer display) {
-        CommentEntity entity = commentService.findById(id);
-        if (entity == null) {
-            log.error("对象id不存在 : {}", id);
-            return Result.failure("对象id不存在");
-        }
-
-        entity.setDisplay(display);
-        commentService.update(entity);
-        return Result.success();
-    }
-
-
-}

+ 60 - 0
gis_web/src/main/java/com/gis/web/controller/DeviceController.java

@@ -0,0 +1,60 @@
+package com.gis.web.controller;
+
+
+import com.gis.common.util.Result;
+import com.gis.service.DeviceService;
+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.*;
+
+
+
+/**
+ * Created by owen on 2021/4/21 0018 12:17
+ *
+ * 从API地址进入选择第三方接口->获取设备列表接口->获取设备参数接口->设备操控接口->查询设备状态接口
+ * http://1clintel.cn:9081 具体参数字段参考api
+ */
+@Slf4j
+@Api(tags = "设备管理")
+@RestController
+@RequestMapping("api/device")
+public class DeviceController extends BaseController {
+
+    @Autowired
+    DeviceService deviceService;
+
+    @ApiOperation("设备列表")
+    @GetMapping("list")
+    public Result list() {
+        return deviceService.getList();
+    }
+
+
+    @ApiOperation("设备参数")
+    @GetMapping("getParam/{devTypeId}/{deviceCode}")
+    public Result getParam(@PathVariable String devTypeId, @PathVariable String deviceCode) {
+        return deviceService.getParam(devTypeId, deviceCode);
+    }
+
+
+    @ApiOperation(value = "设备控制", notes = "deviceId:设备id, paramCode:参数编号,paramValue:参数值,cmdCode:指令编码, 02:查询 03:设置")
+    @GetMapping("control/{deviceId}/{paramCode}/{paramValue}/{cmdCode}")
+    public Result control(@PathVariable String deviceId, @PathVariable String paramCode, @PathVariable String paramValue, @PathVariable String cmdCode) {
+        return deviceService.control(deviceId, paramCode, paramValue, cmdCode);
+    }
+
+
+    @ApiOperation(value = "设备状态")
+    @GetMapping("getStatus/{deviceCode}")
+    public Result getStatus(@PathVariable String deviceCode) {
+        return deviceService.getStatus(deviceCode);
+    }
+
+
+
+
+
+}

+ 0 - 88
gis_web/src/main/java/com/gis/web/controller/GiftController.java

@@ -1,88 +0,0 @@
-package com.gis.web.controller;
-
-
-import com.gis.common.util.Result;
-import com.gis.domain.dto.GiftDto;
-import com.gis.domain.dto.PageDateDto;
-import com.gis.domain.po.GiftEntity;
-import com.gis.service.GiftService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.shiro.authz.annotation.Logical;
-import org.apache.shiro.authz.annotation.RequiresRoles;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.validation.Valid;
-
-
-/**
- * Created by owen on 2021/4/20 0018 12:17
- */
-@Slf4j
-@Api(tags = "礼物管理")
-@RestController
-@RequestMapping("manage/gift")
-//@RequiresRoles(value = {"sys_admin"}, logical = Logical.OR)
-public class GiftController extends BaseController {
-
-    @Autowired
-    GiftService giftService;
-
-    @ApiOperation("列表")
-    @PostMapping("list")
-    public Result<GiftEntity> list(@RequestBody PageDateDto param) {
-        return giftService.search(param);
-    }
-
-
-    @ApiOperation("新增/修改")
-    @PostMapping("save")
-    public Result save(@Valid @RequestBody GiftDto param) {
-
-
-        return giftService.saveEntity(param);
-    }
-
-
-    @ApiOperation("删除(真删除)")
-    @GetMapping("removes/{ids}")
-    public Result detail(@PathVariable String ids) {
-        giftService.deleteByIds(ids);
-        return Result.success();
-    }
-
-    @ApiOperation("是否显示")
-    @GetMapping("display/{id}/{display}")
-    public Result display(@PathVariable Long id, @PathVariable Integer display) {
-        GiftEntity entity = giftService.findById(id);
-        if (entity == null) {
-            log.error("对象id不存在 : {}", id);
-            return Result.failure("对象id不存在");
-        }
-
-        entity.setDisplay(display);
-
-
-        // 最多设置3个可用礼物!
-        if (display == 1) {
-            Integer count = giftService.getCountDisplay();
-            if (count >= 3){
-                return Result.failure("最多设置3个可用礼物!");
-            }
-        }
-
-        giftService.update(entity);
-        return Result.success();
-    }
-
-    @ApiOperation("上传")
-    @PostMapping("upload")
-    public Result upload(MultipartFile file) {
-        return giftService.upload(file);
-    }
-
-
-}

+ 1 - 1
gis_web/src/main/java/com/gis/web/controller/IndexController.java

@@ -28,7 +28,7 @@ import java.util.concurrent.TimeUnit;
  * Created by owen on 2020/2/19 0019 15:53
  */
 @Api(tags = "s登录")
-@RestController
+//@RestController
 @Log4j2
 public class IndexController extends BaseController{
 

+ 2 - 2
gis_web/src/main/java/com/gis/web/controller/SceneController.java

@@ -9,7 +9,7 @@ import com.gis.domain.dto.RoamViableDto;
 import com.gis.domain.dto.SceneDataDto;
 import com.gis.domain.po.SceneEntity;
 import com.gis.service.SceneService;
-import com.gis.web.aop.WebControllerLog;
+import com.gis.service.aop.WebControllerLog;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -29,7 +29,7 @@ import java.util.*;
 @Slf4j
 @Api(tags = "场景管理")
 @RestController
-@RequestMapping("manage/scene")
+@RequestMapping("api/scene")
 public class SceneController extends BaseController {
 
     @Autowired

+ 0 - 184
gis_web/src/main/java/com/gis/web/controller/SysUserController.java

@@ -1,184 +0,0 @@
-package com.gis.web.controller;
-
-
-import com.gis.common.util.PasswordUtils;
-import com.gis.common.util.Result;
-import com.gis.domain.dto.PageDateDto;
-import com.gis.domain.po.SysUserEntity;
-import com.gis.domain.dto.PasswordRequest;
-import com.gis.domain.dto.UserDto;
-import com.gis.service.SysUserService;
-import com.gis.web.aop.WebControllerLog;
-import com.github.pagehelper.PageInfo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.log4j.Log4j2;
-import org.apache.shiro.authz.annotation.Logical;
-import org.apache.shiro.authz.annotation.RequiresRoles;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.Valid;
-import java.util.Date;
-import java.util.List;
-
-
-/**
- * Created by owen on 2020/2/18 0018 12:17
- */
-@Log4j2
-@Api(tags = "s用户管理")
-@RestController
-@RequestMapping("manage/user")
-@Transactional
-public class SysUserController extends BaseController {
-
-    @Autowired
-    public SysUserService userService;
-
-    @Autowired
-    public RedisTemplate<Object, Object> redisTemplate;
-
-
-
-    @RequiresRoles(value = {"sys_admin"}, logical = Logical.OR)
-    @ApiOperation("用户列表")
-    @PostMapping("list")
-    public Result<SysUserEntity> list(@RequestBody PageDateDto param) {
-        startPage(param);
-        PageInfo<SysUserEntity> page = new PageInfo<>(userService.search(param));
-        return Result.success(page);
-    }
-
-    @WebControllerLog(description = "用户管理-修改用户")
-    @ApiOperation("新增/修改用户信息")
-    @PostMapping("save")
-    public Result save(@Valid @RequestBody UserDto param) {
-
-        SysUserEntity entity = null;
-        if (param.getId() == null) {
-            entity = userService.findByUserName(param.getUserName());
-            if (entity != null) {
-                return Result.failure("用户名已存在");
-            }
-            entity = new SysUserEntity();
-            BeanUtils.copyProperties(param, entity);
-            entity.setPassword(PasswordUtils.encrypt(param.getUserName(), "123456", PasswordUtils.getStaticSalt()));
-            userService.save(entity);
-        } else {
-            entity = userService.findById(param.getId());
-            if (entity == null) {
-                log.error("用户不存在: {}", param.getId());
-                return Result.failure("用户不存在");
-            }
-            BeanUtils.copyProperties(param, entity);
-            entity.setUpdateTime(new Date());
-            userService.update(entity);
-        }
-
-        return Result.success();
-    }
-
-
-    @ApiOperation("查询用户信息")
-    @GetMapping("detail/{id}")
-    public Result<SysUserEntity> detail(@PathVariable Long id) {
-        SysUserEntity user = userService.findById(id);
-
-        if (user == null) {
-            log.error("用户不存在: {}", id);
-            return Result.failure("用户不存在");
-        }
-        return Result.success(user);
-    }
-
-    @WebControllerLog(description = "用户管理-修改密码")
-    @ApiOperation("修改密码")
-    @PostMapping("updatePwd")
-    public Result updatePwd(@Valid @RequestBody PasswordRequest param) {
-
-//        SysUserEntity user = userService.findByUserName(getTokenUserName());
-        SysUserEntity user = userService.findByUserName("");
-
-        // 验证原密码
-        Boolean isBoolean = PasswordUtils.decrypt(user.getPassword(), param.getOldPassword(), PasswordUtils.getStaticSalt());
-        if (!isBoolean) {
-            log.error("原始密码错误");
-            return Result.failure("原始密码错误");
-        }
-
-        user.setPassword(PasswordUtils.encrypt(user.getUserName(), param.getNewPassword(), PasswordUtils.getStaticSalt()));
-        user.setUpdateTime(new Date());
-        userService.update(user);
-        return Result.success();
-    }
-
-    @WebControllerLog(description = "用户管理-重置密码")
-    @RequiresRoles(value = {"sys_admin"}, logical = Logical.OR)
-    @ApiOperation("重置密码")
-    @GetMapping("resetPass/{id}")
-    public Result resetPass(@PathVariable Long id) {
-        SysUserEntity user = userService.findById(id);
-
-        if (user == null) {
-            log.error("用户不存在: {}", id);
-            return Result.failure("用户不存在");
-        }
-
-        user.setPassword(PasswordUtils.encrypt(user.getUserName(), "123456", PasswordUtils.getStaticSalt()));
-        user.setUpdateTime(new Date());
-        userService.update(user);
-        return Result.success();
-    }
-
-    @WebControllerLog(description = "用户管理-启用、停用、注销账户")
-    @RequiresRoles(value = {"sys_admin"}, logical = Logical.OR)
-    @ApiOperation("启用、停用、注销账户")
-    @GetMapping("setStatus/{id}/{status}")
-    public Result setStatus(@PathVariable Long id, @PathVariable Integer status) {
-
-        SysUserEntity user = userService.findById(id);
-        if (user == null) {
-            log.error("用户不存在: {}", id);
-            return Result.failure("用户不存在");
-        }
-
-        if ("sys_admin".equals(user.getRole())) {
-            log.error("管理员账户不能停用/注销: {}", id);
-            return Result.failure("管理员账户不能停用/注销");
-        }
-
-        user.setStatus(status);
-        user.setUpdateTime(new Date());
-        userService.update(user);
-        return Result.success();
-    }
-
-
-    @WebControllerLog(description = "用户管理-删除")
-    @RequiresRoles(value = {"sys_admin"}, logical = Logical.OR)
-    @ApiOperation("删除")
-    @GetMapping("removes/{ids}")
-    public Result removes(@PathVariable String ids) {
-
-
-        List<SysUserEntity> entityList = userService.findByIds(ids);
-        for (SysUserEntity entity: entityList) {
-            if ("sys_admin".equals(entity.getRole())) {
-                log.error("管理员账户不能删除 {}", entity.getId());
-                return Result.failure("管理员账户不能删除");
-            }
-
-            entity.setUpdateTime(new Date());
-            entity.setIsDelete(1);
-            userService.update(entity);
-        }
-
-        return Result.success();
-    }
-
-
-}

+ 0 - 132
gis_web/src/main/java/com/gis/web/controller/WebController.java

@@ -1,132 +0,0 @@
-package com.gis.web.controller;
-
-
-import com.gis.common.exception.BaseRuntimeException;
-import com.gis.common.util.JwtUtil;
-import com.gis.common.util.PasswordUtils;
-import com.gis.common.util.Result;
-import com.gis.domain.dto.*;
-import com.gis.domain.po.*;
-import com.gis.domain.vo.*;
-import com.gis.service.*;
-import com.gis.service.util.CommentTree;
-import com.gis.service.util.CommentTreeUtil;
-import com.github.pagehelper.PageInfo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.log4j.Log4j2;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.Valid;
-import java.util.*;
-
-/**
- * Created by owen on 2020/6/10 0010 10:44
- */
-@Log4j2
-@Api(tags = "展示页")
-@RestController
-@RequestMapping("api/web")
-public class WebController extends BaseController {
-
-
-    @Autowired
-    private CommentService commentService;
-
-    @Autowired
-    private SysUserService sysUserService;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    @ApiOperation("留言列表")
-    @PostMapping("list")
-    public Result<CommentVo> list(@RequestBody PageDateDto param) {
-        startPage(param);
-
-        List<CommentEntity> all = commentService.search(param, 1);
-        CommentTreeUtil commentTreeUtil = new CommentTreeUtil(all);
-        List<CommentTree> commentTrees = commentTreeUtil.buildTree();
-
-        PageInfo<CommentTree> page = new PageInfo<>(commentTrees);
-        return Result.success(page);
-    }
-
-    @ApiOperation("留言")
-    @PostMapping("comment")
-    public Result comment(@Valid @RequestBody CommentRequest param) {
-
-        CommentEntity entity = new CommentEntity();
-        BeanUtils.copyProperties(param, entity);
-        // 默认不显示
-        entity.setDisplay(0);
-        commentService.save(entity);
-
-        return Result.success();
-    }
-
-
-
-
-
-
-    @ApiOperation("找回密码")
-    @PostMapping("resetPassword")
-    public Result resetPassword(@Valid @RequestBody ResetPasswordDto param) {
-
-        SysUserEntity entity = sysUserService.findByUserName(param.getUserName());
-
-        if (entity == null) {
-            log.error("该身份证号不存在: {}", param.getUserName());
-            return Result.failure("信息有误");
-        }
-
-        if (!entity.getRealName().equals(param.getRealName())) {
-            log.error("姓名不一致: {}", param.getRealName());
-            return Result.failure("信息有误");
-        }
-
-        entity.setPassword(PasswordUtils.encrypt(param.getUserName(), "123456", PasswordUtils.getStaticSalt()));
-        entity.setUpdateTime(new Date());
-        sysUserService.update(entity);
-
-
-
-        Object password = "123456";
-        return Result.success(password);
-    }
-
-
-    @ApiOperation("检查token是否失效")
-    @GetMapping("checkToken")
-    public Result checkToken() {
-        String token = getToken();
-        if (StringUtils.isBlank(token)) {
-            log.error("token is null");
-            throw new BaseRuntimeException(5001, "token invalid");
-        }
-
-        String username = JwtUtil.getUsername(token);
-        if (! JwtUtil.isVerify(token, username)) {
-            log.error("error token username or password");
-            throw new BaseRuntimeException(5001, "token invalid");
-        }
-        return Result.success();
-    }
-
-
-
-}

+ 0 - 1
gis_web/src/main/resources/data/data2.json

@@ -1 +0,0 @@
-{"audio":{"74896eac1c444beeb1da15a27e334dda":{"time":40000}},"hots":{},"weixinDesc":"","tourAudio":{},"overlays":[]}

+ 0 - 17
gis_web/src/main/resources/data/images.json

@@ -1,17 +0,0 @@
-
-{
-"metadata": "{\"camera_mode\":0,\"camera_position\":{\"x\":17.319578170776367,\"y\":0.5689632296562195,\"z\":30.42438507080078},\"camera_quaternion\":{\"x\":-0.0000020361233819675194,\"y\":0.9999978870169733,\"z\":-0.0012442941874225735,\"w\":-0.0016363646960161576},\"ortho_zoom\":-1,\"ss_zoom\":1,\"scan_id\":\"b1498df53a554a0bafec6646639964e6\",\"is_ortho\":false,\"floorVisibility\":[1]}",
-"created": "2019-04-12T01:15:48.811428Z",
-"modified": "2019-04-12T01:15:48.811961Z",
-"sid": "update",
-"name": "04.12.2019_09.15.38",
-"height": 1707,
-"width": 3034,
-"is_hero": true,
-"category": "user",
-"vision_generated_label": "",
-"vision_generated_name": "",
-"vision_image_index": -1,
-"created_by": 4084,
-"rating": null
-}

+ 0 - 1
gis_web/src/main/resources/data/smokeing.json

@@ -1 +0,0 @@
-{"devid":"610617128","b_name":null,"pname":"YD100N烟感","lid":null,"l_name":null,"pid":"NP-FDY100-N","payload":null,"reported":{"Temperature":null,"rssi":null,"dirtyPercent":"0%","signalStrength":null,"signalSNR":20,"rsrp":-46,"batteryPower":"100%","smokeScope":"0%","signalECL":0},"time":"2020-07-19 16:51:26","bid":null,"a_name":"港湾1号港11栋"}

+ 0 - 89
gis_web/src/main/resources/data/someData.json

@@ -1,89 +0,0 @@
-{
-  "model": {
-    "sid": "zhengzhou",
-    "name": "526190409SZGX",
-    "status": "viewable",
-    "floors": "",
-    "metainfo": { "allowed_methods": ["GET", "OPTIONS", "HEAD"] },
-    "images": [
-      {
-        "metadata": "{\"camera_mode\":0,\"camera_position\":{\"x\":17.319578170776367,\"y\":0.5689632296562195,\"z\":30.42438507080078},\"camera_quaternion\":{\"x\":-0.0000020361233819675194,\"y\":0.9999978870169733,\"z\":-0.0012442941874225735,\"w\":-0.0016363646960161576},\"ortho_zoom\":-1,\"ss_zoom\":1,\"scan_id\":\"b1498df53a554a0bafec6646639964e6\",\"is_ortho\":false,\"floorVisibility\":[1]}",
-        "created": "2019-04-12T01:15:48.811428Z",
-        "modified": "2019-04-12T01:15:48.811961Z",
-        "sid": "3itPh3K83Bq",
-        "name": "04.12.2019_09.15.38",
-        "height": 1707,
-        "width": 3034,
-        "is_hero": true,
-        "category": "user",
-        "vision_generated_label": "",
-        "vision_generated_name": "",
-        "vision_image_index": -1,
-        "created_by": 4084,
-        "rating": null
-      }
-    ],
-    "job": { "uuid": "dacf7dfa24ae47fab8fcebfe4dc41ab9" },
-    "player_options": {
-      "presented_by": true,
-      "highlight_reel": true,
-      "floor_plan": true,
-      "tour_buttons": true,
-      "dollhouse": true,
-      "fast_transitions": false,
-      "autoplay": false,
-      "contact_email": true,
-      "address": true,
-      "contact_name": true,
-      "model_summary": true,
-      "contact_phone": true,
-      "model_name": true,
-      "external_url": true
-    },
-    "modified": "2019-04-12T06:39:16.940410Z",
-    "is_public": true,
-    "summary": "",
-    "presented_by": "",
-    "contact_name": "",
-    "contact_phone": "",
-    "formatted_contact_phone": "",
-    "contact_email": "",
-    "external_url": "",
-    "camera_start": {
-      "camera": {
-        "zoom": "-1",
-        "quaternion": ["0.7013", "-0.7026", "0.0907", "-0.08"]
-      },
-      "pano": { "uuid": "2" },
-      "mode": "0"
-    }
-  },
-  "files": { "templates": ["data/{{number}}/{{filename}}"] },
-  "name": "526190409SZGX",
-  "summary": "",
-  "hoticon": {
-    "default": "images/4dagePoint2.png",
-    "higt": "images/4dagePoint.png"
-  },
-  "camera_start": {
-    "camera": {
-      "zoom": "-1",
-      "quaternion": ["0.7013", "-0.7026", "0.0907", "-0.08"]
-    },
-    "pano": { "uuid": "2" },
-    "mode": "0"
-  },
-  "loadlogo": false,
-  "special": "false",
-  "vision_version": "false",
-  "hotImageScale": "false",
-  "hideFloorMarker": "false",
-  "hideMouseMarker": "false",
-  "floorMarkerColor": "#4bcdfc",
-  "mouseMarkerColor": "#4bcdfc",
-  "momentTour": "walk",
-  "showHotListSta": "false",
-  "hotIconScale": "1",
-  "supportsVR": "false",
-  "weixinDesc": ""
-}

+ 10 - 1
pom.xml

@@ -6,7 +6,7 @@
 
     <!-- museum parent-->
     <groupId>com.gis</groupId>
-    <artifactId>army_sichuan</artifactId>
+    <artifactId>scene_wisdom</artifactId>
     <packaging>pom</packaging>
     <version>1.0.0</version>
 
@@ -34,6 +34,7 @@
         <gis.version>1.0.0</gis.version>
         <druid.version>1.1.14</druid.version>
         <hutool.version>5.3.3</hutool.version>
+        <httpclient.version>4.5.12</httpclient.version>
         <lombok.version>1.18.2</lombok.version>
         <fastjson.version>1.2.51</fastjson.version>
         <lang3.version>3.7</lang3.version>
@@ -236,6 +237,14 @@
                 <version>${pagehelper.version}</version>
             </dependency>
 
+
+            <!-- httpclient -->
+            <dependency>
+                <groupId>org.apache.httpcomponents</groupId>
+                <artifactId>httpclient</artifactId>
+                <version>${httpclient.version}</version>
+            </dependency>
+
         </dependencies>
     </dependencyManagement>