iot-gateway/src/main/resources/mappers/iotMappers/DeviceMapper.xml
zhuangtianxiang ad31cfbd09 refactor(iot): 重构设备和事件相关代码
- 更新设备和事件的实体类定义,增加必要的字段和注解
-重构设备和事件的控制器、服务层和数据访问层接口
- 优化分页查询逻辑,使用 MP 的 IPage 接口- 删除不必要的方法和注释- 统一异常处理方式
2024-12-10 15:22:07 +08:00

84 lines
3.9 KiB
XML

<?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.zsc.edu.gateway.modules.iot.device.repo.DeviceRepository">
<resultMap id="BaseResultMap" type="com.zsc.edu.gateway.modules.iot.device.entity.Device">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="online" property="online"/>
<result column="state" property="state"/>
<result column="hardware_version" property="hardwareVersion"/>
<result column="firmware_version" property="firmwareVersion"/>
<result column="factory_id" property="factoryId"/>
<result column="client_id" property="clientId"/>
<result column="product_id" property="productId"/>
<result column="extend_params" property="extendParams"/>
<result column="properties" property="properties"/>
<result column="create_by" jdbcType="VARCHAR" property="createBy"/>
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="create_time" jdbcType="DATE" property="createTime"/>
<result column="update_time" jdbcType="DATE" property="updateTime"/>
<result column="remark" jdbcType="VARCHAR" property="remark"/>
<association property="product" javaType="com.zsc.edu.gateway.modules.iot.product.entity.Product">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="type" property="type"/>
<result column="model" property="model"/>
<result column="link" property="link"/>
<result column="create_by" jdbcType="VARCHAR" property="createBy"/>
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="create_time" jdbcType="DATE" property="createTime"/>
<result column="update_time" jdbcType="DATE" property="updateTime"/>
<result column="remark" jdbcType="VARCHAR" property="remark"/>
<collection property="params" ofType="com.zsc.edu.gateway.modules.iot.tsl.entity.Param">
<id column="id" property="id"/>
<result column="data_type" property="dataType"/>
<result column="uint" property="uint"/>
<result column="type" property="type"/>
<result column="identifier" property="identifier"/>
<result column="name" property="name"/>
<result column="remark" property="remark"/>
</collection>
</association>
</resultMap>
<select id="page" resultMap="BaseResultMap">
select * from
iot_device d
left join iot_product p on d.product_id = p.id
left join iot_product_param pp on p.id = pp.product_id
left join iot_param ip on pp.param_id = ip.id
<where>
<if test="query.name != null and query.name != ''">
and d.name = #{query.name}
</if>
<if test="query.clientId != null and query.clientId != ''">
and d.client_id = #{query.clientId}
</if>
<if test="query.productId != null">
and d.product_id = #{query.productId}
</if>
<if test="query.status != null">
and d.status = #{query.status}
</if>
<if test="query.isOnline != null">
and d.is_online = #{query.isOnline}
</if>
</where>
</select>
<select id="selectById" resultMap="BaseResultMap">
select * from
iot_device d
left join iot_product p on d.product_id = p.id
left join iot_product_param pp on p.id = pp.product_id
left join iot_param ip on pp.param_id = ip.id
<where>
<if test="id!=null">
d.id = #{id}
</if>
</where>
</select>
</mapper>