2021与蓝度共同重构项目,服务端
liuhaonan
2022-11-04 e55c8b0a92eb9715edd90c31dfd4de51a47b588b
dao/src/main/resources/mapper/LightMapper.xml
@@ -8,11 +8,13 @@
        <id property="lightId" column="light_id" jdbcType="BIGINT"/>
        <result property="deviceCode" column="device_code" jdbcType="VARCHAR"/>
        <result property="remark" column="remark" jdbcType="VARCHAR"/>
        <result property="lighCount" column="light_count" jdbcType="INTEGER"/>
        <result property="lightCount" column="light_count" jdbcType="INTEGER"/>
        <result property="lightPercent" column="light_percent" jdbcType="INTEGER"/>
        <result property="light2Percent" column="light2_percent" jdbcType="INTEGER"/>
        <result property="power1" column="power1" jdbcType="INTEGER"/>
        <result property="power2" column="power2" jdbcType="INTEGER"/>
        <result property="light1" column="light1" jdbcType="INTEGER"/>
        <result property="light2" column="light2" jdbcType="INTEGER"/>
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
    </resultMap>
@@ -21,7 +23,11 @@
        <result property="poleId" column="pole_id" jdbcType="BIGINT"/>
        <result property="poleCode" column="pole_code" jdbcType="VARCHAR"/>
        <result property="poleName" column="pole_name" jdbcType="VARCHAR"/>
        <result property="taskName" column="task_name" jdbcType="VARCHAR"/>
        <collection property="taskNameIdBos" ofType="com.sandu.ximon.dao.bo.LightTaskNameIdBo">
            <result property="taskId" column="task_id" jdbcType="BIGINT"/>
            <result property="taskName" column="task_name" jdbcType="VARCHAR"/>
            <result property="lightAddress" column="light_address" jdbcType="VARCHAR"/>
        </collection>
    </resultMap>
@@ -31,10 +37,13 @@
        t2.id AS pole_id,
        t2.pole_code,
        t2.pole_name,
        t4.task_name
        t4.task_id AS task_id,
        t4.task_name AS task_name,
        t3.light_address AS light_address
        FROM
        light t1
        LEFT JOIN pole t2 USING ( device_code )
        LEFT JOIN pole_binding t5 ON t1.device_code = t5.device_code
        LEFT JOIN pole t2 ON t2.id=t5.pole_id AND t5.device_type=0
        LEFT JOIN light_task_pole_relation t3 ON t3.pole_id = t2.id
        LEFT JOIN light_task t4 ON t3.task_id = t4.task_id
        <where>
@@ -66,7 +75,31 @@
                )
            </if>
            <if test="deviceCode != null and deviceCode!= ''">
                AND t2.device_code = #{deviceCode}
                AND t1.device_code = #{deviceCode}
            </if>
        </where>
    </select>
    <select id="listLightOnBinding" resultType="com.sandu.ximon.dao.bo.LightBo">
        SELECT
        t1.*,
        t2.id AS pole_id,
        t2.pole_code,
        t2.pole_name,
        t4.task_name
        FROM
        light t1
        LEFT JOIN pole t2 USING ( device_code )
        LEFT JOIN light_task_pole_relation t3 ON t3.pole_id = t2.id
        LEFT JOIN light_task t4 ON t3.task_id = t4.task_id
        <where>
            <if test="clientId != null">
                AND (t2.user_id = #{clientId} OR t2.client_id = #{clientId})
            </if>
            <if test="keyword != null and keyword != ''">
                AND (
                t1.device_code LIKE CONCAT('%', #{keyword},'%')
                OR t1.light_id LIKE CONCAT('%', #{keyword},'%')
                )
            </if>
        </where>
    </select>