mirror of
https://gitee.com/beecue/fastbee.git
synced 2025-12-17 08:25:53 +08:00
457 lines
28 KiB
XML
457 lines
28 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.ruoyi.iot.mapper.DeviceMapper">
|
||
|
||
<resultMap type="com.ruoyi.iot.domain.Device" id="DeviceResult">
|
||
<result property="deviceId" column="device_id" />
|
||
<result property="deviceName" column="device_name" />
|
||
<result property="productId" column="product_id" />
|
||
<result property="productName" column="product_name" />
|
||
<result property="userId" column="user_id" />
|
||
<result property="userName" column="user_name" />
|
||
<result property="tenantId" column="tenant_id" />
|
||
<result property="tenantName" column="tenant_name" />
|
||
<result property="serialNumber" column="serial_number" />
|
||
<result property="firmwareVersion" column="firmware_version" />
|
||
<result property="status" column="status" />
|
||
<result property="rssi" column="rssi" />
|
||
<result property="isShadow" column="is_shadow" />
|
||
<result property="locationWay" column="location_way" />
|
||
<result property="thingsModelValue" column="things_model_value" />
|
||
<result property="networkAddress" column="network_address" />
|
||
<result property="networkIp" column="network_ip" />
|
||
<result property="longitude" column="longitude" />
|
||
<result property="latitude" column="latitude" />
|
||
<result property="activeTime" column="active_time" />
|
||
<result property="createTime" column="create_time" />
|
||
<result property="updateTime" column="update_time" />
|
||
<result property="remark" column="remark" />
|
||
<result property="imgUrl" column="img_url" />
|
||
<result property="summary" column="summary" />
|
||
<result property="isOwner" column="is_owner" />
|
||
</resultMap>
|
||
|
||
<resultMap type="com.ruoyi.iot.model.DeviceShortOutput" id="DeviceShortResult">
|
||
<result property="deviceId" column="device_id" />
|
||
<result property="deviceName" column="device_name" />
|
||
<result property="productId" column="product_id" />
|
||
<result property="productName" column="product_name" />
|
||
<result property="userId" column="user_id" />
|
||
<result property="userName" column="user_name" />
|
||
<result property="tenantId" column="tenant_id" />
|
||
<result property="tenantName" column="tenant_name" />
|
||
<result property="serialNumber" column="serial_number" />
|
||
<result property="firmwareVersion" column="firmware_version" />
|
||
<result property="status" column="status" />
|
||
<result property="activeTime" column="active_time" />
|
||
<result property="rssi" column="rssi" />
|
||
<result property="isShadow" column="is_shadow" />
|
||
<result property="locationWay" column="location_way" />
|
||
<result property="thingsModelValue" column="things_model_value" />
|
||
<result property="imgUrl" column="img_url" />
|
||
<result property="isOwner" column="is_owner" />
|
||
</resultMap>
|
||
|
||
<resultMap type="com.ruoyi.iot.model.DeviceAllShortOutput" id="DeviceAllShortResult">
|
||
<result property="deviceId" column="device_id" />
|
||
<result property="deviceName" column="device_name" />
|
||
<result property="productName" column="product_name" />
|
||
<result property="userName" column="user_name" />
|
||
<result property="serialNumber" column="serial_number" />
|
||
<result property="firmwareVersion" column="firmware_version" />
|
||
<result property="status" column="status" />
|
||
<result property="activeTime" column="active_time" />
|
||
<result property="rssi" column="rssi" />
|
||
<result property="isShadow" column="is_shadow" />
|
||
<result property="locationWay" column="location_way" />
|
||
<result property="networkAddress" column="network_address" />
|
||
<result property="longitude" column="longitude" />
|
||
<result property="latitude" column="latitude" />
|
||
<result property="isOwner" column="is_owner" />
|
||
</resultMap>
|
||
|
||
<resultMap type="com.ruoyi.iot.model.ProductAuthenticateModel" id="DeviceAuthenticateResult">
|
||
<result property="deviceId" column="device_id" />
|
||
<result property="deviceName" column="device_name" />
|
||
<result property="status" column="status" />
|
||
<result property="productId" column="product_id" />
|
||
<result property="productName" column="product_name" />
|
||
<result property="productStatus" column="product_status" />
|
||
<result property="isAuthorize" column="is_authorize" />
|
||
<result property="serialNumber" column="serial_number" />
|
||
<result property="mqttAccount" column="mqtt_account" />
|
||
<result property="mqttPassword" column="mqtt_password" />
|
||
<result property="mqttSecret" column="mqtt_secret" />
|
||
<result property="vertificateMethod" column="vertificate_method" />
|
||
</resultMap>
|
||
|
||
<resultMap type="com.ruoyi.iot.model.ThingsModels.ThingsModelValuesOutput" id="DeviceThingsValueResult">
|
||
<result property="deviceId" column="device_id" />
|
||
<result property="deviceName" column="device_name" />
|
||
<result property="serialNumber" column="serial_number" />
|
||
<result property="status" column="status" />
|
||
<result property="isShadow" column="is_shadow" />
|
||
<result property="productId" column="product_id" />
|
||
<result property="productName" column="product_name" />
|
||
<result property="serialNumber" column="serial_number" />
|
||
<result property="thingsModelValue" column="things_model_value" />
|
||
<result property="userId" column="user_id" />
|
||
<result property="userName" column="user_name" />
|
||
<result property="tenantId" column="tenant_id" />
|
||
<result property="tenantName" column="tenant_name" />
|
||
</resultMap>
|
||
|
||
<sql id="selectDeviceVo">
|
||
select device_id, device_name, product_id, product_name, user_id, user_name, tenant_id, tenant_name, serial_number, firmware_version, status, rssi,is_shadow ,location_way,things_model_value,network_address, network_ip, longitude, latitude, active_time, create_time, update_time, img_url,summary,remark from iot_device
|
||
</sql>
|
||
|
||
<sql id="selectDeviceShortVo">
|
||
select device_id, device_name, product_id, product_name, user_id, user_name, tenant_id, tenant_name, serial_number, firmware_version, status,rssi,is_shadow ,location_way,things_model_value, active_time,img_url from iot_device
|
||
</sql>
|
||
|
||
<sql id="selectWebhookDeviceVo">
|
||
select device_id, device_name,product_id, serial_number, status,is_shadow ,location_way,things_model_value, active_time from iot_device
|
||
</sql>
|
||
|
||
<select id="selectDeviceList" parameterType="com.ruoyi.iot.domain.Device" resultMap="DeviceResult">
|
||
<include refid="selectDeviceVo"/>
|
||
<where>
|
||
<if test="deviceName != null and deviceName != ''"> and device_name like concat('%', #{deviceName}, '%')</if>
|
||
<if test="productId != null "> and product_id = #{productId}</if>
|
||
<if test="productName != null and productName != ''"> and product_name like concat('%', #{productName}, '%')</if>
|
||
<if test="userId != null "> and user_id = #{userId}</if>
|
||
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
|
||
<if test="tenantId != null "> and tenant_id = #{tenantId}</if>
|
||
<if test="tenantName != null and tenantName != ''"> and tenant_name like concat('%', #{tenantName}, '%')</if>
|
||
<if test="serialNumber != null and serialNumber != ''"> and serial_number = #{serialNumber}</if>
|
||
<if test="status != null "> and status = #{status}</if>
|
||
<if test="networkAddress != null and networkAddress != ''"> and network_address like concat('%', #{networkAddress}, '%')</if>
|
||
<if test="params.beginActiveTime != null and params.beginActiveTime != '' and params.endActiveTime != null and params.endActiveTime != ''"> and active_time between #{params.beginActiveTime} and #{params.endActiveTime}</if>
|
||
</where>
|
||
order by create_time desc
|
||
</select>
|
||
|
||
<select id="selectUnAuthDeviceList" parameterType="com.ruoyi.iot.domain.Device" resultMap="DeviceResult">
|
||
select d.device_id, d.device_name, d.product_id, d.product_name, d.user_id, d.user_name, d.tenant_id, d.tenant_name,
|
||
d.serial_number, d.firmware_version, d.status,d.is_shadow ,d.location_way,d.active_time, d.img_url,a.device_id as auth_device_id
|
||
from iot_device d
|
||
left join iot_product_authorize a on a.device_id=d.device_id
|
||
<where>
|
||
<if test="1==1"> and ISNULL(a.device_id)</if>
|
||
<if test="deviceName != null and deviceName != ''"> and d.device_name like concat('%', #{deviceName}, '%')</if>
|
||
<if test="productId != null "> and d.product_id = #{productId}</if>
|
||
<if test="productName != null and productName != ''"> and d.product_name like concat('%', #{productName}, '%')</if>
|
||
<if test="userId != null "> and d.user_id = #{userId}</if>
|
||
<if test="userName != null and userName != ''"> and d.user_name like concat('%', #{userName}, '%')</if>
|
||
<if test="tenantId != null "> and d.tenant_id = #{tenantId}</if>
|
||
<if test="tenantName != null and tenantName != ''"> and d.tenant_name like concat('%', #{tenantName}, '%')</if>
|
||
<if test="serialNumber != null and serialNumber != ''"> and d.serial_number = #{serialNumber}</if>
|
||
<if test="status != null "> and d.status = #{status}</if>
|
||
<if test="params.beginActiveTime != null and params.beginActiveTime != '' and params.endActiveTime != null and params.endActiveTime != ''"> and d.active_time between #{params.beginActiveTime} and #{params.endActiveTime}</if>
|
||
</where>
|
||
order by d.create_time desc
|
||
</select>
|
||
|
||
<select id="selectDeviceListByGroup" parameterType="com.ruoyi.iot.domain.Device" resultMap="DeviceResult">
|
||
select d.device_id, d.device_name, d.product_name, d.user_name, d.serial_number, d.firmware_version, d.status,d.rssi,d.is_shadow ,
|
||
d.location_way, d.active_time,d.network_address,d.longitude,d.latitude,max(u.is_owner) as is_owner
|
||
from iot_device d
|
||
inner join iot_device_user u on u.device_id = d.device_id
|
||
<where>
|
||
<if test="userId != null "> and u.user_id = #{userId}</if>
|
||
<if test="productId != null "> and d.product_id = #{productId}</if>
|
||
<if test="deviceName != null and deviceName != ''"> and d.device_name like concat('%', #{deviceName}, '%')</if>
|
||
<if test="productName != null and productName != ''"> and d.product_name like concat('%', #{productName}, '%')</if>
|
||
<if test="serialNumber != null and serialNumber != ''"> and d.serial_number = #{serialNumber}</if>
|
||
<if test="status != null "> and d.status = #{status}</if>
|
||
<if test="networkAddress != null and networkAddress != ''"> and d.network_address like concat('%', #{networkAddress}, '%')</if>
|
||
<if test="params.beginActiveTime != null and params.beginActiveTime != '' and params.endActiveTime != null and params.endActiveTime != ''"> and d.active_time between #{params.beginActiveTime} and #{params.endActiveTime}</if>
|
||
</where>
|
||
group by d.device_id,d.user_id
|
||
order by d.create_time desc
|
||
</select>
|
||
|
||
<select id="selectAllDeviceShortList" parameterType="com.ruoyi.iot.domain.Device" resultMap="DeviceAllShortResult">
|
||
select d.device_id, d.device_name, d.product_name, d.user_name, d.serial_number, d.firmware_version, d.status,d.rssi,d.is_shadow ,
|
||
d.location_way, d.active_time,d.network_address,d.longitude,d.latitude,max(u.is_owner) as is_owner
|
||
from iot_device d
|
||
inner join iot_device_user u on u.device_id = d.device_id
|
||
<where>
|
||
<if test="userId != null "> and u.user_id = #{userId}</if>
|
||
<if test="tenantId != null "> and d.tenant_id = #{tenantId}</if>
|
||
<if test="productId != null "> and d.product_id = #{productId}</if>
|
||
</where>
|
||
group by d.device_id,d.user_id
|
||
</select>
|
||
|
||
<select id="selectDeviceThingsModelValueBySerialNumber" parameterType="String" resultMap="DeviceThingsValueResult">
|
||
select product_id,product_name,device_id,device_name,serial_number,is_shadow,status,user_id, user_name, tenant_id, tenant_name,things_model_value from iot_device where serial_number = #{serialNumber}
|
||
</select>
|
||
|
||
<update id="updateDeviceThingsModelValue" parameterType="com.ruoyi.iot.model.ThingsModels.ThingsModelValuesInput">
|
||
update iot_device set things_model_value=#{stringValue} where device_id = #{deviceId}
|
||
</update>
|
||
|
||
<select id="selectDeviceShortList" parameterType="com.ruoyi.iot.domain.Device" resultMap="DeviceShortResult">
|
||
select d.device_id, d.device_name, d.product_id, d.product_name,
|
||
d.user_id, d.user_name, d.tenant_id, d.tenant_name, d.serial_number,
|
||
d.firmware_version, d.status,d.rssi,d.is_shadow ,d.location_way,
|
||
d.things_model_value, d.active_time,d.img_url,max(u.is_owner) as is_owner
|
||
from iot_device d
|
||
inner join iot_device_user u on u.device_id = d.device_id
|
||
<if test="groupId != null and groupId !=0 "> left join iot_device_group g on g.device_id=d.device_id </if>
|
||
<where>
|
||
<if test="groupId != null and groupId !=0 "> and g.group_id = #{groupId}</if>
|
||
<if test="userId != null and userId != 0"> and u.user_id = #{userId}</if>
|
||
<if test="tenantId != null and tenantId != 0"> and d.tenant_id = #{tenantId}</if>
|
||
<if test="deviceName != null and deviceName != ''"> and d.device_name like concat('%', #{deviceName}, '%')</if>
|
||
<if test="productId != null "> and d.product_id = #{productId}</if>
|
||
<if test="productName != null and productName != ''"> and d.product_name like concat('%', #{productName}, '%')</if>
|
||
<if test="userName != null and userName != ''"> and d.user_name like concat('%', #{userName}, '%')</if>
|
||
<if test="tenantName != null and tenantName != ''"> and d.tenant_name like concat('%', #{tenantName}, '%')</if>
|
||
<if test="serialNumber != null and serialNumber != ''"> and d.serial_number = #{serialNumber}</if>
|
||
<if test="status != null "> and d.status = #{status}</if>
|
||
<if test="params.beginActiveTime != null and params.beginActiveTime != '' and params.endActiveTime != null and params.endActiveTime != ''"> and d.active_time between #{params.beginActiveTime} and #{params.endActiveTime}</if>
|
||
</where>
|
||
group by d.device_id,d.user_id
|
||
order by d.create_time desc
|
||
</select>
|
||
|
||
<select id="selectDeviceByDeviceId" parameterType="Long" resultMap="DeviceResult">
|
||
<include refid="selectDeviceVo"/>
|
||
where device_id = #{deviceId}
|
||
</select>
|
||
|
||
<select id="selectDeviceProductAlertCount" parameterType="com.ruoyi.iot.domain.Device" resultType="com.ruoyi.iot.model.DeviceStatistic">
|
||
select
|
||
<!--设备数量-->
|
||
(select count(distinct d.device_id,d.user_id)
|
||
from iot_device d
|
||
inner join iot_device_user u on u.device_id = d.device_id
|
||
<where>
|
||
<if test="userId != null and userId != 0"> and u.user_id = #{userId}</if>
|
||
<if test="tenantId != null and tenantId != 0"> and d.tenant_id = #{tenantId}</if>
|
||
</where>
|
||
) as deviceCount,
|
||
|
||
(
|
||
<!--普通用户查询设备中的产品数量-->
|
||
<if test="userId != null and userId != 0">
|
||
select count(distinct product_id)
|
||
from iot_device
|
||
where user_id = #{userId}
|
||
</if>
|
||
<!--管理员和租户直接查询产品的数量-->
|
||
<if test="userId == null || userId == 0">
|
||
select count(product_id)
|
||
from iot_product
|
||
<where>
|
||
<if test="tenantId != null and tenantId != 0"> and tenant_id = #{tenantId} </if>
|
||
</where>
|
||
</if>
|
||
) as productCount,
|
||
|
||
(select count(alert_log_id)
|
||
from iot_alert_log
|
||
<where>
|
||
<if test="userId != null and userId != 0"> and user_id = #{userId}</if>
|
||
<if test="tenantId != null and tenantId != 0"> and tenant_id = #{tenantId}</if>
|
||
</where>
|
||
) as alertCount
|
||
</select>
|
||
|
||
<select id="selectProductAuthenticate" parameterType="com.ruoyi.iot.model.AuthenticateInputModel" resultMap="DeviceAuthenticateResult">
|
||
SELECT p.mqtt_password,p.mqtt_account, p.mqtt_secret,p.is_authorize,p.product_id,p.product_name,p.vertificate_method,p.STATUS as product_status,d.device_id,d.device_name,d.STATUS,d.serial_number
|
||
FROM iot_product p
|
||
LEFT JOIN ( SELECT device_id, device_name, STATUS, product_id, product_name, serial_number
|
||
FROM iot_device
|
||
WHERE serial_number = #{serialNumber} ) AS d ON d.product_id = p.product_id
|
||
WHERE
|
||
p.product_id = #{productId}
|
||
</select>
|
||
|
||
<select id="selectDeviceBySerialNumber" parameterType="String" resultMap="DeviceResult">
|
||
<include refid="selectDeviceVo"/>
|
||
where serial_number = #{serialNumber}
|
||
</select>
|
||
|
||
<select id="selectShortDeviceBySerialNumber" parameterType="String" resultMap="DeviceResult">
|
||
<include refid="selectWebhookDeviceVo"/>
|
||
where serial_number = #{serialNumber}
|
||
</select>
|
||
|
||
<select id="selectDeviceRunningStatusByDeviceId" parameterType="Long" resultMap="DeviceShortResult">
|
||
<include refid="selectDeviceShortVo"/>
|
||
where device_id = #{deviceId}
|
||
</select>
|
||
|
||
<insert id="insertDevice" parameterType="com.ruoyi.iot.domain.Device" useGeneratedKeys="true" keyProperty="deviceId">
|
||
insert into iot_device
|
||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||
<if test="deviceName != null and deviceName != ''">device_name,</if>
|
||
<if test="productId != null">product_id,</if>
|
||
<if test="productName != null and productName != ''">product_name,</if>
|
||
<if test="userId != null">user_id,</if>
|
||
<if test="userName != null and userName != ''">user_name,</if>
|
||
<if test="tenantId != null">tenant_id,</if>
|
||
<if test="tenantName != null and tenantName != ''">tenant_name,</if>
|
||
<if test="serialNumber != null and serialNumber != ''">serial_number,</if>
|
||
<if test="firmwareVersion != null">firmware_version,</if>
|
||
<if test="status != null">status,</if>
|
||
<if test="rssi != null">rssi,</if>
|
||
<if test="isShadow != null">is_shadow,</if>
|
||
<if test="locationWay != null">location_way,</if>
|
||
<if test="thingsModelValue != null">things_model_value,</if>
|
||
<if test="networkAddress != null">network_address,</if>
|
||
<if test="networkIp != null">network_ip,</if>
|
||
<if test="longitude != null">longitude,</if>
|
||
<if test="latitude != null">latitude,</if>
|
||
<if test="activeTime != null">active_time,</if>
|
||
<if test="delFlag != null">del_flag,</if>
|
||
<if test="createBy != null">create_by,</if>
|
||
<if test="createTime != null">create_time,</if>
|
||
<if test="updateBy != null">update_by,</if>
|
||
<if test="updateTime != null">update_time,</if>
|
||
<if test="remark != null">remark,</if>
|
||
<if test="imgUrl != null">img_url,</if>
|
||
</trim>
|
||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||
<if test="deviceName != null and deviceName != ''">#{deviceName},</if>
|
||
<if test="productId != null">#{productId},</if>
|
||
<if test="productName != null and productName != ''">#{productName},</if>
|
||
<if test="userId != null">#{userId},</if>
|
||
<if test="userName != null and userName != ''">#{userName},</if>
|
||
<if test="tenantId != null">#{tenantId},</if>
|
||
<if test="tenantName != null and tenantName != ''">#{tenantName},</if>
|
||
<if test="serialNumber != null and serialNumber != ''">#{serialNumber},</if>
|
||
<if test="firmwareVersion != null">#{firmwareVersion},</if>
|
||
<if test="status != null">#{status},</if>
|
||
<if test="rssi != null">#{rssi},</if>
|
||
<if test="isShadow != null">#{isShadow},</if>
|
||
<if test="locationWay != null">#{locationWay},</if>
|
||
<if test="thingsModelValue != null">#{thingsModelValue},</if>
|
||
<if test="networkAddress != null">#{networkAddress},</if>
|
||
<if test="networkIp != null">#{networkIp},</if>
|
||
<if test="longitude != null">#{longitude},</if>
|
||
<if test="latitude != null">#{latitude},</if>
|
||
<if test="activeTime != null">#{activeTime},</if>
|
||
<if test="delFlag != null">#{delFlag},</if>
|
||
<if test="createBy != null">#{createBy},</if>
|
||
<if test="createTime != null">#{createTime},</if>
|
||
<if test="updateBy != null">#{updateBy},</if>
|
||
<if test="updateTime != null">#{updateTime},</if>
|
||
<if test="remark != null">#{remark},</if>
|
||
<if test="imgUrl != null">#{imgUrl},</if>
|
||
</trim>
|
||
</insert>
|
||
|
||
<update id="updateDevice" parameterType="com.ruoyi.iot.domain.Device">
|
||
update iot_device
|
||
<trim prefix="SET" suffixOverrides=",">
|
||
<if test="deviceName != null and deviceName != ''">device_name = #{deviceName},</if>
|
||
<if test="productId != null">product_id = #{productId},</if>
|
||
<if test="productName != null and productName != ''">product_name = #{productName},</if>
|
||
<if test="userId != null">user_id = #{userId},</if>
|
||
<if test="userName != null and userName != ''">user_name = #{userName},</if>
|
||
<if test="tenantId != null">tenant_id = #{tenantId},</if>
|
||
<if test="tenantName != null and tenantName != ''">tenant_name = #{tenantName},</if>
|
||
<if test="serialNumber != null and serialNumber != ''">serial_number = #{serialNumber},</if>
|
||
<if test="firmwareVersion != null">firmware_version = #{firmwareVersion},</if>
|
||
<if test="status != null">status = #{status},</if>
|
||
<if test="rssi != null">rssi = #{rssi},</if>
|
||
<if test="isShadow != null">is_shadow = #{isShadow},</if>
|
||
<if test="locationWay != null">location_way = #{locationWay},</if>
|
||
<if test="thingsModelValue != null">things_model_value = #{thingsModelValue},</if>
|
||
<if test="networkAddress != null">network_address = #{networkAddress},</if>
|
||
<if test="networkIp != null">network_ip = #{networkIp},</if>
|
||
<if test="longitude != null">longitude = #{longitude},</if>
|
||
<if test="latitude != null">latitude = #{latitude},</if>
|
||
<if test="activeTime != null">active_time = #{activeTime},</if>
|
||
<if test="delFlag != null">del_flag = #{delFlag},</if>
|
||
<if test="createBy != null">create_by = #{createBy},</if>
|
||
<if test="createTime != null">create_time = #{createTime},</if>
|
||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||
<if test="remark != null">remark = #{remark},</if>
|
||
<if test="imgUrl != null">img_url = #{imgUrl},</if>
|
||
</trim>
|
||
where device_id = #{deviceId}
|
||
</update>
|
||
|
||
<update id="updateDeviceStatus" parameterType="com.ruoyi.iot.domain.Device">
|
||
update iot_device
|
||
<trim prefix="SET" suffixOverrides=",">
|
||
<if test="status != null">status = #{status},</if>
|
||
<if test="networkAddress != null">network_address = #{networkAddress},</if>
|
||
<if test="networkIp != null">network_ip = #{networkIp},</if>
|
||
<if test="longitude != null">longitude = #{longitude},</if>
|
||
<if test="latitude != null">latitude = #{latitude},</if>
|
||
<if test="activeTime != null">active_time = #{activeTime},</if>
|
||
</trim>
|
||
where serial_number = #{serialNumber}
|
||
</update>
|
||
|
||
<update id="resetDeviceStatus" parameterType="String">
|
||
-- 设备状态(1-未激活,2-禁用,3-在线,4-离线)
|
||
update iot_device set status=4
|
||
where serial_number = #{serialNumber} and status = 3
|
||
</update>
|
||
|
||
<update id="updateDeviceBySerialNumber" parameterType="com.ruoyi.iot.domain.Device">
|
||
update iot_device
|
||
<trim prefix="SET" suffixOverrides=",">
|
||
<if test="deviceName != null and deviceName != ''">device_name = #{deviceName},</if>
|
||
<if test="productId != null">product_id = #{productId},</if>
|
||
<if test="productName != null and productName != ''">product_name = #{productName},</if>
|
||
<if test="userId != null">user_id = #{userId},</if>
|
||
<if test="userName != null and userName != ''">user_name = #{userName},</if>
|
||
<if test="tenantId != null">tenant_id = #{tenantId},</if>
|
||
<if test="tenantName != null and tenantName != ''">tenant_name = #{tenantName},</if>
|
||
<if test="serialNumber != null and serialNumber != ''">serial_number = #{serialNumber},</if>
|
||
<if test="firmwareVersion != null">firmware_version = #{firmwareVersion},</if>
|
||
<if test="status != null">status = #{status},</if>
|
||
<if test="rssi != null">rssi = #{rssi},</if>
|
||
<if test="isShadow != null">is_shadow = #{isShadow},</if>
|
||
<if test="locationWay != null">location_way = #{locationWay},</if>
|
||
<if test="thingsModelValue != null">things_model_value = #{thingsModelValue},</if>
|
||
<if test="networkAddress != null">network_address = #{networkAddress},</if>
|
||
<if test="networkIp != null">network_ip = #{networkIp},</if>
|
||
<if test="longitude != null">longitude = #{longitude},</if>
|
||
<if test="latitude != null">latitude = #{latitude},</if>
|
||
<if test="activeTime != null">active_time = #{activeTime},</if>
|
||
<if test="delFlag != null">del_flag = #{delFlag},</if>
|
||
<if test="createBy != null">create_by = #{createBy},</if>
|
||
<if test="createTime != null">create_time = #{createTime},</if>
|
||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||
<if test="remark != null">remark = #{remark},</if>
|
||
<if test="imgUrl != null">img_url = #{imgUrl},</if>
|
||
</trim>
|
||
where serial_number = #{serialNumber}
|
||
</update>
|
||
|
||
<delete id="deleteDeviceByDeviceId" parameterType="Long">
|
||
delete from iot_device where device_id = #{deviceId}
|
||
</delete>
|
||
|
||
<delete id="deleteDeviceByDeviceIds" parameterType="String">
|
||
delete from iot_device where device_id in
|
||
<foreach item="deviceId" collection="array" open="(" separator="," close=")">
|
||
#{deviceId}
|
||
</foreach>
|
||
</delete>
|
||
|
||
<select id="getDeviceNumCount" parameterType="String" resultType="int">
|
||
select count(*) from iot_device where serial_number = #{deviceNum}
|
||
</select>
|
||
|
||
<delete id="deleteDeviceGroupByDeviceId" parameterType="com.ruoyi.iot.model.UserIdAndDeviceIdModel">
|
||
delete from iot_device_group
|
||
<where>
|
||
<if test="1==1"> and device_id = #{deviceId}</if>
|
||
<if test="userId != null">user_id = #{userId}</if>
|
||
</where>
|
||
</delete>
|
||
</mapper> |