Browse Source

大屏数据接口

jichaobo 2 years ago
parent
commit
e6daf97d4b

+ 1 - 1
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/MybatisGeneratorUtils.java

@@ -71,7 +71,7 @@ public class MybatisGeneratorUtils {
         // strategy.setTablePrefix("t_"); // 表名前缀
         strategy.setEntityLombokModel(true); //使用lombok
         //修改自己想要生成的表
-        strategy.setInclude("reserve_plan");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        strategy.setInclude("bsc_enterprise_screen");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
         mpg.setStrategy(strategy);
 
         // 关闭默认 xml 生成,调整生成 至 根目录

+ 41 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/BscEnterpriseScreenController.java

@@ -0,0 +1,41 @@
+package com.usky.fire.controller.web;
+
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.fire.service.BscEnterpriseScreenService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 企业大屏数据统计 前端控制器
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-09-06
+ */
+@RestController
+@RequestMapping("/bscEnterpriseScreen")
+public class BscEnterpriseScreenController {
+
+    @Autowired
+    private BscEnterpriseScreenService bscEnterpriseScreenService;
+
+    /**
+     * 大屏数据查询
+     *
+     * @param dataType   数据类型
+     * @param moduleType 模块类型
+     * @return
+     */
+    @GetMapping("screenDataStatistic")
+    public ApiResult<Object> screenDataStatistic(@RequestParam(value = "dataType") String dataType,
+                                                 @RequestParam(value = "moduleType") String moduleType) {
+        return ApiResult.success(bscEnterpriseScreenService.screenDataStatistic(dataType, moduleType));
+    }
+
+}
+

+ 71 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/BscEnterpriseScreen.java

@@ -0,0 +1,71 @@
+package com.usky.fire.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 企业大屏数据统计
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-09-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BscEnterpriseScreen implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 自主巡检情况
+     */
+    private String patrolInspection;
+
+    /**
+     * 值班查岗情况
+     */
+    private String postInspect;
+
+    /**
+     * 火灾告警报告
+     */
+    private String fireAlarm;
+
+    /**
+     * 预案场景
+     */
+    private String reservePlan;
+
+    /**
+     * 隐患处置情况
+     */
+    private String hiddenDanger;
+
+    /**
+     * 建筑评分模块
+     */
+    private String buildScore;
+
+    /**
+     * 单位ID
+     */
+    private String companyId;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+
+}

+ 16 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/mapper/BscEnterpriseScreenMapper.java

@@ -0,0 +1,16 @@
+package com.usky.fire.mapper;
+
+import com.usky.fire.domain.BscEnterpriseScreen;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 企业大屏数据统计 Mapper 接口
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-09-06
+ */
+public interface BscEnterpriseScreenMapper extends CrudMapper<BscEnterpriseScreen> {
+
+}

+ 7 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/BaseUserCompanyService.java

@@ -29,4 +29,11 @@ public interface BaseUserCompanyService extends CrudService<BaseUserCompany> {
      * @return
      */
     List<BaseUserCompany> userCompanyList(String companyId);
+
+    /**
+     * 获取登录用户关联的第一个物联网单位ID
+     *
+     * @return
+     */
+    String companyId();
 }

+ 24 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/BscEnterpriseScreenService.java

@@ -0,0 +1,24 @@
+package com.usky.fire.service;
+
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.fire.domain.BscEnterpriseScreen;
+
+/**
+ * <p>
+ * 企业大屏数据统计 服务类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-09-06
+ */
+public interface BscEnterpriseScreenService extends CrudService<BscEnterpriseScreen> {
+
+    /**
+     * 大屏数据查询
+     *
+     * @param dataType   数据类型
+     * @param moduleType 模块类型
+     * @return
+     */
+    Object screenDataStatistic(String dataType, String moduleType);
+}

+ 13 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BaseUserCompanyServiceImpl.java

@@ -48,4 +48,17 @@ public class BaseUserCompanyServiceImpl extends AbstractCrudService<BaseUserComp
         return comoanyList;
     }
 
+    @Override
+    public String companyId() {
+        LambdaQueryWrapper<BaseUserCompany> QueryWrapper = Wrappers.lambdaQuery();
+        QueryWrapper.select(BaseUserCompany::getCompanyId)
+                .eq(BaseUserCompany::getUserId, SecurityUtils.getUserId());
+        List<BaseUserCompany> comoanyList = this.list(QueryWrapper);
+        String companyId = null;
+        if (CollectionUtils.isNotEmpty(comoanyList)) {
+            companyId = comoanyList.get(0).getCompanyId();
+        }
+        return companyId;
+    }
+
 }

+ 92 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BscEnterpriseScreenServiceImpl.java

@@ -0,0 +1,92 @@
+package com.usky.fire.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.common.core.exception.BusinessException;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.fire.domain.BscEnterpriseScreen;
+import com.usky.fire.mapper.BscEnterpriseScreenMapper;
+import com.usky.fire.service.BaseUserCompanyService;
+import com.usky.fire.service.BscEnterpriseScreenService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 企业大屏数据统计 服务实现类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-09-06
+ */
+@Service
+public class BscEnterpriseScreenServiceImpl extends AbstractCrudService<BscEnterpriseScreenMapper, BscEnterpriseScreen> implements BscEnterpriseScreenService {
+
+    @Autowired
+    private BaseUserCompanyService baseUserCompanyService;
+
+    @Override
+    public Object screenDataStatistic(String dataType, String moduleType) {
+        String companyId = baseUserCompanyService.companyId();
+        if (StringUtils.isBlank(companyId)) {
+            throw new BusinessException("用户未绑定联网单位");
+        }
+        LambdaQueryWrapper<BscEnterpriseScreen> queryWrapper = Wrappers.lambdaQuery();
+        switch (moduleType) {
+            case "patrolInspection":
+                queryWrapper.select(BscEnterpriseScreen::getPatrolInspection);
+                break;
+            case "postInspect":
+                queryWrapper.select(BscEnterpriseScreen::getPostInspect);
+                break;
+            case "fireAlarm":
+                queryWrapper.select(BscEnterpriseScreen::getFireAlarm);
+                break;
+            case "reservePlan":
+                queryWrapper.select(BscEnterpriseScreen::getReservePlan);
+                break;
+            case "hiddenDanger":
+                queryWrapper.select(BscEnterpriseScreen::getHiddenDanger);
+                break;
+            case "buildScore":
+                queryWrapper.select(BscEnterpriseScreen::getBuildScore);
+                break;
+            default:
+                throw new BusinessException("参数错误");
+        }
+        queryWrapper.eq(BscEnterpriseScreen::getCompanyId, companyId);
+        List<BscEnterpriseScreen> list = this.list(queryWrapper);
+        Object data = null;
+        if (CollectionUtils.isNotEmpty(list)) {
+            switch (moduleType) {
+                case "patrolInspection":
+                    data = list.get(0).getPatrolInspection();
+                    break;
+                case "postInspect":
+                    data = list.get(0).getPostInspect();
+                    break;
+                case "fireAlarm":
+                    data = list.get(0).getFireAlarm();
+                    break;
+                case "reservePlan":
+                    data = list.get(0).getReservePlan();
+                    break;
+                case "hiddenDanger":
+                    data = list.get(0).getHiddenDanger();
+                    break;
+                case "buildScore":
+                    data = list.get(0).getBuildScore();
+                    break;
+            }
+        }
+        JSONObject jsonObject = JSONObject.parseObject(data.toString());
+        Object disparateData = jsonObject.get(dataType);
+
+        return disparateData;
+    }
+}

+ 18 - 0
service-fire/service-fire-biz/src/main/resources/mapper/fire/BscEnterpriseScreenMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.fire.mapper.BscEnterpriseScreenMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.fire.domain.BscEnterpriseScreen">
+        <id column="id" property="id" />
+        <result column="patrol_inspection" property="patrolInspection" />
+        <result column="post_inspect" property="postInspect" />
+        <result column="fire_alarm" property="fireAlarm" />
+        <result column="reserve_plan" property="reservePlan" />
+        <result column="hidden_danger" property="hiddenDanger" />
+        <result column="build_score" property="buildScore" />
+        <result column="company_id" property="companyId" />
+        <result column="create_time" property="createTime" />
+    </resultMap>
+
+</mapper>