feat: ASW-46 新增 device 接口

This commit is contained in:
shizhendong
2024-08-27 15:58:41 +08:00
parent 9051cd3fac
commit 16fc3a4bc2
11 changed files with 465 additions and 0 deletions

View File

@@ -0,0 +1,79 @@
<?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="net.geedge.asw.module.device.dao.DeviceDao">
<resultMap id="deviceResult" type="net.geedge.asw.module.device.entity.DeviceEntity">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="platform" column="platform"/>
<result property="param" column="param"/>
<result property="description" column="description"/>
<result property="status" column="status"/>
<result property="lastHealthCheck" column="last_health_check"/>
<result property="createTimestamp" column="create_timestamp"/>
<result property="updateTimestamp" column="update_timestamp"/>
<result property="createUserId" column="create_user_id"/>
<result property="updateUserId" column="update_user_id"/>
<result property="workspaceId" column="workspace_id"/>
<association property="createUser" columnPrefix="cu_" javaType="net.geedge.asw.module.sys.entity.SysUserEntity">
<id property="id" column="id"/>
<result property="name" column="name"/>
</association>
<association property="updateUser" columnPrefix="uu_" javaType="net.geedge.asw.module.sys.entity.SysUserEntity">
<id property="id" column="id"/>
<result property="name" column="name"/>
</association>
<association property="useUser" columnPrefix="u_" javaType="cn.hutool.json.JSONObject">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="startTimestamp" column="start_timestamp"/>
<result property="endTimestamp" column="end_timestamp"/>
</association>
</resultMap>
<select id="queryList" resultMap="deviceResult">
SELECT
d.*,
cu.id AS cu_id,
cu.name AS cu_name,
uu.id AS uu_id,
uu.name AS uu_name,
log.user_id AS u_id,
u.name AS u_name,
log.start_timestamp AS u_start_timestamp,
log.end_timestamp AS u_end_timestamp
FROM device d
LEFT JOIN sys_user cu ON d.create_user_id = cu.id
LEFT JOIN sys_user uu ON d.update_user_id = uu.id
LEFT JOIN device_log log ON d.id = log.device_id
LEFT JOIN sys_user u ON log.user_id = u.id
<where>
<if test="params.ids != null and params.ids != ''">
d.id in
<foreach item="id" collection="params.ids.split(',')" separator="," open="(" close=")">
#{id}
</foreach>
</if>
<if test="params.q != null and params.q != ''">
AND ( locate(#{params.q}, d.name) OR locate(#{params.q}, d.description) )
</if>
<if test="params.workspaceId != null and params.workspaceId != ''">
AND d.workspace_id = #{params.workspaceId}
</if>
</where>
<if test="params.orderBy == null or params.orderBy == ''">
ORDER BY d.create_timestamp
</if>
</select>
</mapper>