OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-03-17 916a3cbabe4e50062fce61ff6f2f5d46c05dfbd1
src/main/resources/mybatis/query-template/companyField-template.xml
@@ -10,16 +10,47 @@
        cf.manager as manager,
        cf.tel as tel,
        cf.email as email,
        cf.memo as memo
        cf.url as url,
        cf.ip_start as ipStart,
        cf.ip_end as ipEnd,
        concat(cf.ip_start, "~", cf.ip_end) AS ipRange,
        cf.memo as memo,
        cf.isp_id as ispId,
        cf.hosting_id as hostingId,
        cf.company_type_id as companyTypeId,
        cf.parent_sector_id as parentSectorId,
        cf.child_sector_id as childSectorId,
        cf.region_id as regionId,
        cf.status_id as statusId,
        cf.status_name as statusName,
        sf.name AS ispName,
        hf.name AS hostingName
        FROM
        company_field cf
        LEFT OUTER JOIN isp_field sf ON cf.isp_id = sf.id
        LEFT OUTER JOIN hosting_field hf ON cf.hosting_id = hf.id
        WHERE 1=1
        <if test="name != '' and name != null">
        <if test="name != null and name != ''">
            AND cf.name like CONCAT('%',#{name},'%')
        </if>
        <if test="id != '' and id != null">
        <if test="id != null and id != ''">
            AND cf.id like CONCAT('%',#{id},'%')
        </if>
        <if test="url != null and url != ''">
            AND cf.url LIKE CONCAT('%',#{url},'%')
        </if>
        <choose>
            <when test="urls != null and urls.size != 0">
                AND
                <foreach collection="urls" item="item" index="index" separator="or" open="(" close=")">
                    cf.url LIKE CONCAT('%',#{item},'%')
                </foreach>
            </when>
        </choose>
        <if test="ip != null and ip != '' and ip > -1">
            AND INET_ATON(cf.ip_start) <![CDATA[ <= ]]> #{ip} AND INET_ATON(cf.ip_end) >= #{ip}
        </if>
        ORDER BY cf.register_date DESC
        <if test="pageSize != '' and pageSize != null">
            limit #{pageSize} offset #{page};
        </if>
@@ -27,7 +58,7 @@
    <select id="count" resultType="java.lang.Long" parameterType="kr.wisestone.owl.web.condition.CompanyFieldCondition">
        SELECT
        count(cf.id)
        count(DISTINCT cf.id)
        FROM
        company_field cf
        WHERE 1=1
@@ -38,4 +69,53 @@
            AND cf.id like CONCAT('%',#{id},'%')
        </if>
    </select>
    <select id="findByUrls" resultType="kr.wisestone.owl.domain.CompanyField" parameterType="kr.wisestone.owl.web.condition.CompanyFieldCondition">
        SELECT
        cf.id as id,
        cf.name as name,
        cf.email as email,
        cf.url as url
        FROM
        company_field cf
        WHERE 1=1
        <if test="url != null and url != ''">
            AND cf.url LIKE CONCAT('%',#{url},'%')
        </if>
        <choose>
            <when test="urls != null and urls.size != 0">
                AND
                <foreach collection="urls" item="item" index="index" separator="or" open="(" close=")">
                    cf.url LIKE CONCAT('%',#{item},'%')
                </foreach>
            </when>
        </choose>
    </select>
    <select id="findByUrlsAndIdNot" resultType="kr.wisestone.owl.domain.CompanyField" parameterType="kr.wisestone.owl.web.condition.CompanyFieldCondition">
        SELECT
        cf.id as id,
        cf.name as name,
        cf.email as email,
        cf.url as url,
        cf.ip_start AS ipStart,
        cf.ip_end AS ipEnd
        FROM
        company_field cf
        WHERE 1=1
        <if test="url != null and url != ''">
            AND cf.url LIKE CONCAT('%',#{url},'%')
        </if>
        <choose>
            <when test="urls != null and urls.size != 0">
                AND
                <foreach collection="urls" item="item" index="index" separator="or" open="(" close=")">
                    cf.url LIKE CONCAT('%',#{item},'%')
                </foreach>
            </when>
        </choose>
        <if test="id != '' and id != null">
            AND cf.id not like CONCAT('%',#{id},'%')
        </if>
    </select>
</mapper>