From c5ce099b314be4b296137415a146c610095ae92e Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 금, 11 3월 2022 13:54:09 +0900 Subject: [PATCH] - api로 이슈 추가 시 하위이슈기준이 2개 일 경우 코드 수정 - 업체 추가/수정 시 ip대역대 중복 체크 - 이슈 추가/수정 시 ip대역대 수정불가 --- src/main/resources/mybatis/query-template/companyField-template.xml | 129 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 117 insertions(+), 12 deletions(-) diff --git a/src/main/resources/mybatis/query-template/companyField-template.xml b/src/main/resources/mybatis/query-template/companyField-template.xml index 0aac445..d7ce60a 100644 --- a/src/main/resources/mybatis/query-template/companyField-template.xml +++ b/src/main/resources/mybatis/query-template/companyField-template.xml @@ -5,20 +5,49 @@ <select id="find" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.CompanyFieldCondition"> SELECT - c.id as id, - c.name as name, - c.email as email, - c.tel as tel, - c.desc as desc + cf.id as id, + cf.name as name, + cf.manager as manager, + cf.tel as tel, + cf.email as email, + 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 c + 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"> - AND c.name like CONCAT('%',#{name},'%') + AND cf.name like CONCAT('%',#{name},'%') </if> <if test="id != '' and id != null"> - AND c.id like CONCAT('%',#{id},'%') + AND cf.id like CONCAT('%',#{id},'%') </if> + <choose> + <when test="url != null and url.size != 0"> + AND + <foreach collection="url" item="item" index="index" separator="or" open="(" close=")"> + cf.url LIKE CONCAT('%',#{item},'%') + </foreach> + </when> + </choose> + <if test="ip != '' and ip != null"> + 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> @@ -26,15 +55,91 @@ <select id="count" resultType="java.lang.Long" parameterType="kr.wisestone.owl.web.condition.CompanyFieldCondition"> SELECT - count(c.id) + count(DISTINCT cf.id) FROM - company c + company_field cf WHERE 1=1 <if test="name != '' and name != null"> - AND c.name like CONCAT('%',#{name},'%') + AND cf.name like CONCAT('%',#{name},'%') </if> <if test="id != '' and id != null"> - AND c.id like CONCAT('%',#{id},'%') + 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 + <choose> + <when test="url != null and url.size != 0"> + AND + <foreach collection="url" 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 + FROM + company_field cf + WHERE 1=1 + <choose> + <when test="url != null and url.size != 0"> + AND + <foreach collection="url" 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> + + <select id="findByIps" 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 + <choose> + <when test="ipStart != null and ipStart != '' and ipEnd != null and ipEnd != ''"> + AND INET_ATON(cf.ip_start) BETWEEN #{ipStart} AND #{ipEnd} OR INET_ATON(cf.ip_end) BETWEEN #{ipStart} AND #{ipEnd} + </when> + </choose> + </select> + + <select id="findByIpsAndIdNot" 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 + <choose> + <when test="ipStart != null and ipStart != '' and ipEnd != null and ipEnd != ''"> + AND (INET_ATON(cf.ip_start) BETWEEN #{ipStart} AND #{ipEnd} OR INET_ATON(cf.ip_end) BETWEEN #{ipStart} AND #{ipEnd}) + </when> + </choose> + <if test="id != '' and id != null"> + AND cf.id not like CONCAT('%',#{id},'%') </if> </select> </mapper> \ No newline at end of file -- Gitblit v1.8.0