浏览代码

2023-4-6 大屏的在线人员信息接口。

chaiyunlong 2 年之前
父节点
当前提交
82d48478c5

+ 10 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/bigview/BigViewController.java

@@ -183,6 +183,16 @@ public class BigViewController extends BaseController {
     }
 
     /**
+     * 实验室在线人数(首页大屏)
+     * @return
+     */
+    @ApiOperation("查询实验室人数")
+    @GetMapping("/sub/onlineDetail")
+    public ResultData onlineDetail(LabSubjectVO labSubjectVO) {
+        return ResultData.success(bigViewService.onlineDetail(labSubjectVO));
+    }
+
+    /**
      * 实验室在线人数总数(首页大屏)
      * @return
      */

+ 11 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/vo/LabOnlineSubVO.java

@@ -31,6 +31,9 @@ public class LabOnlineSubVO {
     @ApiModelProperty("根据实验室,合并多用户到一个字段上")
     private String groupUserName;
 
+    @ApiModelProperty("实验室id")
+    private Long id;
+
     public String getName() {
         return name;
     }
@@ -78,4 +81,12 @@ public class LabOnlineSubVO {
     public void setGroupUserName(String groupUserName) {
         this.groupUserName = groupUserName;
     }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
 }

+ 29 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/vo/LabOnlineUserVO.java

@@ -0,0 +1,29 @@
+package com.zd.laboratory.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Controller
+ *
+ * @author cyl
+ * @date 2023/4/6
+ */
+@Data
+public class LabOnlineUserVO {
+
+    @ApiModelProperty("用户id")
+    private String userId;
+
+    @ApiModelProperty("用户名字")
+    private String nickName;
+
+    @JsonProperty(access = JsonProperty.Access.READ_ONLY)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("签到时间")
+    private Date inTime;
+}

+ 8 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabHardwareStateMapper.java

@@ -7,6 +7,7 @@ import com.zd.laboratory.domain.bigview.HardwareState;
 import com.zd.laboratory.domain.bigview.HazardTotal;
 import com.zd.laboratory.domain.bigview.SenseState;
 import com.zd.laboratory.domain.vo.LabOnlineSubVO;
+import com.zd.laboratory.domain.vo.LabOnlineUserVO;
 import com.zd.laboratory.domain.vo.LabSubjectByUserNumVo;
 import com.zd.laboratory.domain.vo.LabSubjectVO;
 import com.zd.model.entity.SysUser;
@@ -65,6 +66,13 @@ public interface LabHardwareStateMapper {
      */
     List<LabOnlineSubVO> onlineByBigView(LabSubjectVO labSubjectVO);
 
+    /**
+     * 实验室在线人数详情
+     *
+     * @return
+     */
+    List<LabOnlineUserVO> onlineDetail(LabSubjectVO labSubjectVO);
+
     List<SysUser> querySubOnlineUser(Map<String, Object> params);
 
     List<LabSubjectByUserNumVo> querySubsOnlineUser(List<Long> ids);

+ 12 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/BigViewServiceImpl.java

@@ -12,6 +12,7 @@ import com.zd.laboratory.domain.bigview.HardwareState;
 import com.zd.laboratory.domain.bigview.HazardTotal;
 import com.zd.laboratory.domain.bigview.SenseState;
 import com.zd.laboratory.domain.vo.LabOnlineSubVO;
+import com.zd.laboratory.domain.vo.LabOnlineUserVO;
 import com.zd.laboratory.domain.vo.LabSubjectVO;
 import com.zd.laboratory.mapper.LabHardwareStateMapper;
 import com.zd.laboratory.mapper.LabSubjectMapper;
@@ -161,6 +162,17 @@ public class BigViewServiceImpl {
     }
 
     /**
+     * 实验室在线人数详情
+     * @return
+     */
+    @DataScope(deptAlias = "s", permi = PerPrefix.LABORATORY_SUBJECT)
+    public List<LabOnlineUserVO> onlineDetail(LabSubjectVO labSubjectVO)
+    {
+        List<LabOnlineUserVO> userList = hardwareStateMapper.onlineDetail(labSubjectVO);
+        return userList;
+    }
+
+    /**
      * 实验室在线人数
      * @return
      */

+ 19 - 1
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabBigViewMapper.xml

@@ -95,7 +95,7 @@
     <select id="onlineByBigView" resultType="com.zd.laboratory.domain.vo.LabOnlineSubVO" parameterType="com.zd.laboratory.domain.vo.LabOnlineSubVO">
          SELECT * FROM
         (
-        SELECT s.`name`,
+        SELECT s.id,s.`name`,
                s.dept_id,
 	    (SELECT dt.dept_name
         FROM  sys_dept d JOIN sys_dept dt ON d.dept_id = dt.parent_id
@@ -183,5 +183,23 @@
         WHERE a.online>0) su LEFT JOIN sys_user u ON su.user_id = u.user_id
         LEFT JOIN sys_dept d ON u.dept_id = d.dept_id
     </select>
+    <select id="onlineDetail" resultType="com.zd.laboratory.domain.vo.LabOnlineUserVO">
+
+        SELECT * FROM
+        (
+        SELECT s.`user_id`,s.`nick_name`,sar.`in_time`
+        FROM sys_user s LEFT JOIN lab_subject_access_record sar ON sar.`join_user_id` = s.`user_id`
+        LEFT JOIN sys_dept t ON s.`dept_id` = t.`dept_id`
+        <where>
+            1=1 and sar.access_status  = 1 AND sar.init_flag = 0
+            <if test="id != null and id != ''">
+                and sar.subject_id = #{id}
+            </if>
+            <!-- 数据范围过滤 -->
+            ${params.dataScope}
+        </where>
+        ) a
+
+    </select>
 
 </mapper>