From 5606efe6f2778ad09d8b35280d6360cfe8f34d91 Mon Sep 17 00:00:00 2001
From: zmk <496160012@qq.com>
Date: 星期三, 03 七月 2024 16:19:28 +0800
Subject: [PATCH] Merge branch 'master' of ssh://117.78.1.188:29418/dkyChenJiang

---
 javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java |  177 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 155 insertions(+), 22 deletions(-)

diff --git a/javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java b/javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java
index 95c76b1..2222f77 100644
--- a/javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java
+++ b/javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java
@@ -5,20 +5,20 @@
 import java.util.List;
 import java.util.Map;
 
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
 import com.javaweb.cms.util.CmsConstants;
 import com.javaweb.common.core.domain.AjaxResult;
 import com.javaweb.common.utils.Arith;
-import com.javaweb.common.utils.StringUtils;
-import com.javaweb.geo.domain.Hole;
-import com.javaweb.geo.domain.HoleMedia;
-import com.javaweb.geo.domain.Project;
-import com.javaweb.geo.domain.TubLog;
+import com.javaweb.geo.domain.*;
 import com.javaweb.geo.enums.RecordType;
-import com.javaweb.geo.mapper.HoleMapper;
+import com.javaweb.geo.mapper.ProjectCameraMapper;
 import com.javaweb.geo.mapper.TubLogMapper;
-import com.javaweb.geo.service.IHoleMediaService;
-import com.javaweb.geo.service.IHoleService;
-import com.javaweb.geo.service.IProjectService;
+import com.javaweb.geo.service.*;
+import com.javaweb.geo.vo.DrillDateVo;
 import com.javaweb.geo.vo.IndexVo;
 import com.javaweb.geo.vo.ProjectProcessVO;
 import com.javaweb.system.service.ISysConfigService;
@@ -26,7 +26,7 @@
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.ObjectUtils;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.*;
 import com.javaweb.common.config.Global;
 import com.javaweb.common.core.controller.BaseController;
 import com.javaweb.framework.util.ShiroUtils;
@@ -34,10 +34,6 @@
 import com.javaweb.system.domain.SysUser;
 import com.javaweb.system.service.ISysMenuService;
 
-
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -48,6 +44,14 @@
  */
 @Controller
 public class SysIndexController extends BaseController {
+
+    private String prefix = "system/camera_tub";
+
+
+    private String appkey = "af786eacc71d43ef9393c028cf4face7";
+    private String secret = "9ad87671f63d2258af6fd9b2e5fa6005";
+    private String postUrl ="https://open.ys7.com/api/lapp/token/get";
+
     @Autowired
     private ISysMenuService menuService;
 
@@ -66,6 +70,15 @@
     @Autowired
     private TubLogMapper tubLogMapper;
 
+    @Autowired
+    private ProjectCameraMapper projectCameraMapper;
+
+    @Autowired
+    private IProjectCameraService cameraService;
+
+    @Autowired
+    private IHoleLogService holeLogService;
+
 
     private String getAdminIndex() {
         return configService.selectConfigByKey(CmsConstants.KEY_ADMIN_INDEX);
@@ -74,6 +87,16 @@
     @RequestMapping("/admin")
     public String admin() {
         return "forward:/index";
+    }
+
+    @RequestMapping("/system/camera")
+    public String cameraList() {
+        return prefix + "/camera_list";
+    }
+
+    @RequestMapping("/system/tub")
+    public String tubList() {
+        return prefix + "/tub_list";
     }
 
     // 绯荤粺棣栭〉
@@ -119,12 +142,14 @@
     public String main(ModelMap mmap) {
         mmap.put("version", Global.getVersion());
 
+        String loginname =  ShiroUtils.getLoginName();
+        mmap.put("loginuser",loginname);
         return "main";
     }
 
     // 绯荤粺浠嬬粛
     @ResponseBody
-    @GetMapping("/system/project")
+    @GetMapping("/system/stat/project")
     public AjaxResult project() {
         AjaxResult ajaxResult = AjaxResult.success();
         List<Project> projects = projectService.selectProjectList(new Project());
@@ -137,7 +162,7 @@
      * @return
      */
     @ResponseBody
-    @GetMapping("/system/totalProcess")
+    @GetMapping("/system/stat/totalProcess")
     public AjaxResult totalProcess() {
         AjaxResult ajaxResult = AjaxResult.success();
         Hole hole = holeService.selectHoleTotalProcess();
@@ -151,14 +176,17 @@
      * @return
      */
     @ResponseBody
-    @GetMapping("/system/projectProcess")
+    @GetMapping("/system/stat/projectProcess")
     public AjaxResult projectProcess() {
         AjaxResult ajaxResult = AjaxResult.success();
         List<Hole> holes = holeService.selectHoleProjectProcess();
         Map<String, Double> holeMap = new HashMap<>();
         for (Hole hole : holes) {
-            Double val = Arith.div(hole.getFootageCpl(), hole.getFootage(), 2);
-            val = Arith.round(val * 100, 2);
+            Double val =0.0d;
+            if(ObjectUtil.isNotEmpty(hole.getFootageCpl()) && ObjectUtil.isNotEmpty(hole.getFootage())) {
+                val = Arith.div(hole.getFootageCpl(), hole.getFootage(), 2);
+                val = Arith.round(val * 100, 2);
+            }
             holeMap.put(hole.getProjectId(), val);
         }
 
@@ -207,7 +235,7 @@
      * @return
      */
     @ResponseBody
-    @GetMapping("/system/indexDataCount")
+    @GetMapping("/system/stat/indexDataCount")
     public AjaxResult indexDataCount() {
         IndexVo result = new IndexVo();
         //=============================鏌ヨ鍦哄湴鏁伴噺===============================
@@ -243,6 +271,8 @@
         HoleMedia holeMedia = holeMediaService.selectHoleMediaNumber();
         result.setFileCount(holeMedia.getNumber());
 
+        Integer cameraCount = projectCameraMapper.count();
+        result.setCameraCount(cameraCount);
         return AjaxResult.success("鏌ヨ鎴愬姛",result);
     }
 
@@ -251,12 +281,115 @@
      * @return
      */
     @ResponseBody
-    @GetMapping("/system/tubLogData")
+    @GetMapping("/system/stat/tubLogData")
     public AjaxResult tubLogData() {
         AjaxResult ajaxResult = new AjaxResult();
-        List<TubLog> tubLogs = tubLogMapper.countTubLogDate();
+        List<TubLog> tubLogs = tubLogMapper.countTubLogDate(null);
         ajaxResult.put("tubLogs",tubLogs);
         return  ajaxResult;
     }
 
+    /**
+     * 鑾峰彇鍦ㄧ嚎鎽勫儚澶寸殑淇℃伅
+     * @return
+     */
+    @ResponseBody
+    @GetMapping("/system/stat/cameraData")
+    public AjaxResult cameraData() {
+        AjaxResult ajaxResult = new AjaxResult();
+        List<ProjectCamera> cameraDataList = cameraService.selectCameraDataOnLine();
+        ajaxResult.put("cameraData",cameraDataList);
+        return ajaxResult;
+    }
+
+    /**
+     * 鏍规嵁projectId鑾峰彇鍦ㄧ嚎鎽勫儚澶寸殑淇℃伅
+     * @return
+     */
+    @ResponseBody
+    @GetMapping("/system/stat/cameraData/{projectId}")
+    public AjaxResult cameraData2(@PathVariable("projectId") String projectId) {
+        AjaxResult ajaxResult = new AjaxResult();
+
+        ProjectCamera param = new ProjectCamera();
+        param.setProjectId(projectId);
+        List<ProjectCamera> cameraDataList = cameraService.selectProjectCameraList(param);
+        if (!ObjectUtils.isEmpty(cameraDataList)){
+            for (ProjectCamera item : cameraDataList) {
+                String url = item.getIp();
+                Map<String, Object> paramMap = new HashMap<>();
+                paramMap.put("appKey", appkey);
+                paramMap.put("appSecret", secret);
+
+                HttpResponse response = HttpRequest.post(postUrl) .form(paramMap).execute();
+                String body = response.body();
+                JSONObject jsonObject = JSONUtil.parseObj(body);
+                String code = jsonObject.getStr("code");
+                StringBuffer buffer = new StringBuffer();
+                if(code.equals("200")){
+                    JSONObject data  = (JSONObject) jsonObject.get("data");
+                    String token = data.getStr("accessToken");
+                    buffer.append("https://open.ys7.com/console/jssdk/pc.html?accessToken=");
+                    buffer.append(token);
+                    buffer.append("&url=");
+                    buffer.append(url);
+                }
+                logger.debug(buffer.toString());
+                item.setUrl(buffer.toString());
+            }
+        }
+        ajaxResult.put("cameraDataList",cameraDataList);
+        return ajaxResult;
+    }
+
+    /**
+     * 鏍规嵁projectId鑾峰彇鍦ㄧ嚎鎽勫儚澶寸殑淇℃伅
+     * @return
+     */
+    @GetMapping("/player")
+    public String player(String projectId,ModelMap mmap) {
+        ProjectCamera param = new ProjectCamera();
+        param.setProjectId(projectId);
+        List<ProjectCamera> cameraDataList = cameraService.selectProjectCameraList(param);
+        if (!ObjectUtils.isEmpty(cameraDataList)){
+            for (ProjectCamera item : cameraDataList) {
+                String url = item.getIp();
+                Map<String, Object> paramMap = new HashMap<>();
+                paramMap.put("appKey", appkey);
+                paramMap.put("appSecret", secret);
+
+                HttpResponse response = HttpRequest.post(postUrl) .form(paramMap).execute();
+                String body = response.body();
+                JSONObject jsonObject = JSONUtil.parseObj(body);
+                String code = jsonObject.getStr("code");
+                StringBuffer buffer = new StringBuffer();
+                if(code.equals("200")){
+                    JSONObject data  = (JSONObject) jsonObject.get("data");
+                    String token = data.getStr("accessToken");
+                    buffer.append("https://open.ys7.com/console/jssdk/pc.html?accessToken=");
+                    buffer.append(token);
+                    buffer.append("&url=");
+                    buffer.append(url);
+                }
+                item.setUrl(buffer.toString());
+            }
+        }
+
+        mmap.put("cameraDataList",cameraDataList);
+        return prefix + "/player2";
+    }
+
+    /**
+     * 缁熻鏈�杩�10澶╄繘灏洪噺
+     * @return
+     */
+    @ResponseBody
+    @GetMapping("/system/stat/sumHoleLog")
+    public AjaxResult sumHoleLog() {
+        AjaxResult ajaxResult =  AjaxResult.success();
+        List<DrillDateVo> drillDateList = holeLogService.SUMHoleLog();
+        ajaxResult.put("drillDateList",drillDateList);
+        return ajaxResult;
+    }
+
 }

--
Gitblit v1.9.1