You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
178 lines
7.9 KiB
178 lines
7.9 KiB
<?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.fastbee.iot.mapper.SubGatewayMapper">
|
|
|
|
<resultMap type="com.fastbee.iot.domain.SubGateway" id="GatewayResult">
|
|
<result property="id" column="id" />
|
|
<result property="gwDeviceId" column="gw_device_id"/>
|
|
<result property="subDeviceId" column="sub_device_id" />
|
|
<result property="slaveId" column="slave_id" />
|
|
<result property="createBy" column="create_by" />
|
|
<result property="createTime" column="create_time" />
|
|
<result property="updateBy" column="update_by" />
|
|
<result property="updateTime" column="update_time" />
|
|
<result property="remark" column="remark" />
|
|
</resultMap>
|
|
|
|
<resultMap id="GatewaySubDeviceResult" type="com.fastbee.iot.model.gateWay.GateSubDeviceVO">
|
|
<result property="deviceId" column="device_id" />
|
|
<result property="serialNumber" column="serial_number" />
|
|
<result property="deviceName" column="device_name" />
|
|
</resultMap>
|
|
|
|
<resultMap id="GatewaySubDeviceListResult" type="com.fastbee.iot.model.gateWay.SubDeviceListVO">
|
|
<result property="gwDeviceId" column="gw_device_id"/>
|
|
<result property="subDeviceId" column="sub_device_id" />
|
|
<result property="slaveId" column="slave_id" />
|
|
<result property="subDeviceName" column="device_name"/>
|
|
<result property="subDeviceNo" column="serial_number"/>
|
|
<result property="createTime" column="create_time" />
|
|
<result property="subProductId" column="sub_product_id"/>
|
|
<result property="id" column="id" />
|
|
</resultMap>
|
|
|
|
<resultMap id="SubDeviceListResult" type="com.fastbee.common.core.mq.SubDeviceBo">
|
|
<result property="gwDeviceId" column="gw_device_id"/>
|
|
<result property="subDeviceId" column="sub_device_id" />
|
|
<result property="slaveId" column="slave_id" />
|
|
<result property="subDeviceName" column="device_name"/>
|
|
<result property="subDeviceNo" column="serial_number"/>
|
|
<result property="subProductId" column="sub_product_id"/>
|
|
</resultMap>
|
|
|
|
<sql id="selectGatewayVo">
|
|
select id, gw_device_id, sub_device_id, slave_id, create_by, create_time, update_by, update_time, remark from iot_sub_gateway
|
|
</sql>
|
|
|
|
<select id="selectGatewayList" parameterType="com.fastbee.iot.domain.SubGateway" resultMap="GatewaySubDeviceListResult">
|
|
select ga.id, ga.gw_device_id, ga.sub_device_id, ga.slave_id, ga.create_time ,d.device_name, d.serial_number, d.product_id sub_product_id
|
|
from iot_sub_gateway ga inner join iot_device d on ga.sub_device_id = d.device_id
|
|
<where>
|
|
<if test="gwDeviceId != null and gwDeviceId != 0">
|
|
gw_device_id = #{gwDeviceId}
|
|
</if>
|
|
<if test="subDeviceId != null and subDeviceId != 0">
|
|
sub_device_id = #{subDeviceId}
|
|
</if>
|
|
</where>
|
|
</select>
|
|
|
|
<select id="selectGatewayById" parameterType="Long" resultMap="GatewayResult">
|
|
<include refid="selectGatewayVo"/>
|
|
where id = #{id}
|
|
</select>
|
|
|
|
<insert id="insertGateway" parameterType="com.fastbee.iot.domain.SubGateway">
|
|
insert into iot_sub_gateway
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="id != null">id,</if>
|
|
<if test="gwDeviceId != null">gw_device_id,</if>
|
|
<if test="subDeviceId != null">sub_device_id,</if>
|
|
<if test="slaveId != null">slave_id,</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>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="id != null">#{id},</if>
|
|
<if test="gwDeviceId != null">#{gwDeviceId},</if>
|
|
<if test="subDeviceId != null">#{subDeviceId},</if>
|
|
<if test="slaveId != null">#{slaveId},</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>
|
|
</trim>
|
|
</insert>
|
|
|
|
<update id="updateGateway" parameterType="com.fastbee.iot.domain.SubGateway">
|
|
update iot_sub_gateway
|
|
<trim prefix="SET" suffixOverrides=",">
|
|
<if test="gwDeviceId != null">gw_device_id = #{gwDeviceId},</if>
|
|
<if test="subDeviceId != null">sub_device_id = #{subDeviceId},</if>
|
|
<if test="slaveId != null">slave_id = #{slaveId},</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>
|
|
</trim>
|
|
where id = #{id}
|
|
</update>
|
|
|
|
<delete id="deleteGatewayById" parameterType="Long">
|
|
delete from iot_sub_gateway where id = #{id}
|
|
</delete>
|
|
|
|
<delete id="deleteGatewayByIds" parameterType="String">
|
|
delete from iot_sub_gateway where id in
|
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
|
#{id}
|
|
</foreach>
|
|
</delete>
|
|
|
|
<delete id="deleteGatewayByGwDeviceId">
|
|
delete from iot_sub_gateway where gw_device_id = #{gwDeviceId}
|
|
</delete>
|
|
|
|
<select id="getIsSelectGateSubDevice" parameterType="com.fastbee.iot.model.gateWay.GateSubDeviceVO"
|
|
resultMap="GatewaySubDeviceResult">
|
|
select d.device_id,d.serial_number,d.device_name
|
|
from iot_device d inner join iot_product p on d.product_id = p.product_id
|
|
<where>
|
|
|
|
and NOT EXISTS (select 1 from iot_sub_gateway sg where d.device_id = sg.sub_device_id)
|
|
and p.device_type = 4
|
|
<if test="serialNumber != null and serialNumber != ''">
|
|
and d.serial_number = #{serialNumber}
|
|
</if>
|
|
<if test="deviceName != null and deviceName != ''">
|
|
and d.device_name = #{deviceName}
|
|
</if>
|
|
</where>
|
|
</select>
|
|
|
|
<insert id="insertSubDeviceBatch" parameterType="com.fastbee.iot.domain.SubGateway" useGeneratedKeys="true">
|
|
insert into iot_sub_gateway(gw_device_id, sub_device_id, slave_id, create_by, create_time)
|
|
values
|
|
<foreach collection="deviceList" item="device" separator=",">
|
|
(#{device.gwDeviceId},
|
|
#{device.subDeviceId},
|
|
#{device.slaveId},
|
|
#{device.createBy},
|
|
sysdate()
|
|
)
|
|
</foreach>
|
|
</insert>
|
|
|
|
<update id="updateSubDeviceBatch">
|
|
|
|
</update>
|
|
|
|
<select id="getSubDeviceListByGw" parameterType="java.lang.String" resultMap="SubDeviceListResult">
|
|
SELECT
|
|
ga.id,
|
|
ga.gw_device_id,
|
|
ga.sub_device_id,
|
|
ga.slave_id,
|
|
sub.device_name,
|
|
sub.serial_number,
|
|
sub.product_id as sub_product_id
|
|
FROM
|
|
iot_sub_gateway ga
|
|
INNER JOIN iot_device d ON ga.gw_device_id = d.device_id
|
|
INNER JOIN iot_device sub on sub.device_id = ga.sub_device_id
|
|
where d.serial_number = #{gwSerialNumber};
|
|
</select>
|
|
|
|
<select id="selectSlaveIdBySubDeviceId" resultType="java.lang.Integer">
|
|
select slave_id
|
|
from iot_sub_gateway
|
|
where sub_device_id = #{subDeviceId}
|
|
</select>
|
|
</mapper>
|
|
|