Compare commits
1 Commits
5f3687deb1
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2e33dc43f3 |
@@ -3,6 +3,7 @@ package com.wb.domainserver.domain.admin.store.sopmal.mapper;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.Shop;
|
import com.wb.domainserver.domain.admin.store.sopmal.vo.Shop;
|
||||||
|
import com.wb.domainserver.domain.gcone.goods.goods.vo.BOGoodsVO;
|
||||||
import com.wb.domainserver.domain.gcone.promtn.coupon.vo.BOCouponVO;
|
import com.wb.domainserver.domain.gcone.promtn.coupon.vo.BOCouponVO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
@@ -202,4 +203,7 @@ public interface BOMaSopmalMapper {
|
|||||||
|
|
||||||
/*전체 쇼핑몰 목록*/
|
/*전체 쇼핑몰 목록*/
|
||||||
List<DataMap> selectSopmalList();
|
List<DataMap> selectSopmalList();
|
||||||
|
|
||||||
|
// XML 수정 임시
|
||||||
|
public List<DataMap> selectSitemapXml(String sopmalCd);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO;
|
|||||||
import com.wb.domainserver.domain.gcone.goods.goodsinfo.mapper.BOGoodsinfoMapper;
|
import com.wb.domainserver.domain.gcone.goods.goodsinfo.mapper.BOGoodsinfoMapper;
|
||||||
import com.wb.domainserver.domain.gcone.goods.goodsinfo.vo.BOGoodsInfoVO;
|
import com.wb.domainserver.domain.gcone.goods.goodsinfo.vo.BOGoodsInfoVO;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.apache.commons.text.StringEscapeUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@@ -984,4 +985,43 @@ public class BOMaSopmalService {
|
|||||||
return mapper.selectSopmalList();
|
return mapper.selectSopmalList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 사이트맵 XML
|
||||||
|
* @param sopmalCd
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Transactional
|
||||||
|
public String selectSitemapXml(String sopmalCd) {
|
||||||
|
List<DataMap> resultList = new ArrayList<>();
|
||||||
|
StringBuilder xml = new StringBuilder();
|
||||||
|
|
||||||
|
try {
|
||||||
|
xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
|
||||||
|
xml.append("<?xml-stylesheet type=\"text/css\" href=\"https://www.xml-sitemaps.com/css/sitemap.css\"?>");
|
||||||
|
xml.append("<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns:xhtml=\"http://www.w3.org/1999/xhtml\">\n");
|
||||||
|
|
||||||
|
resultList = mapper.selectSitemapXml(sopmalCd);
|
||||||
|
for (DataMap data : resultList) {
|
||||||
|
xml.append(" <url>");
|
||||||
|
xml.append(" <loc>")
|
||||||
|
.append(StringEscapeUtils.escapeXml11(String.valueOf(data.get("targetUrl"))))
|
||||||
|
.append("</loc>");
|
||||||
|
xml.append(" <lastmod>")
|
||||||
|
.append(StringEscapeUtils.escapeXml11(String.valueOf(data.get("lastModified"))))
|
||||||
|
.append("</lastmod>");
|
||||||
|
xml.append(" <priority>")
|
||||||
|
.append(StringEscapeUtils.escapeXml11(String.valueOf(data.get("priority"))))
|
||||||
|
.append("</priority>");
|
||||||
|
xml.append(" </url>");
|
||||||
|
}
|
||||||
|
|
||||||
|
xml.append("</urlset>");
|
||||||
|
} catch (WnbtRestException wre){
|
||||||
|
throw new WnbtRestException(wre.getMessage());
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
|
|
||||||
|
return xml.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -198,6 +198,20 @@ public class MainController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 사이트맵 XML
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.PUBLIC)
|
||||||
|
@RequestMapping(value="/sitemap", produces = MediaType.APPLICATION_XML_VALUE)
|
||||||
|
public ResponseEntity<String> selectSitemapXml() {
|
||||||
|
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||||
|
String xml = boMaSopmalService.selectSitemapXml(user.getSopmalCd());
|
||||||
|
|
||||||
|
return ResponseEntity.ok().contentType(MediaType.APPLICATION_XML).body(xml);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 비회원 휴대폰번호 확인
|
* 비회원 휴대폰번호 확인
|
||||||
* @return OrdrDtlR.jsp
|
* @return OrdrDtlR.jsp
|
||||||
|
|||||||
@@ -1569,5 +1569,124 @@
|
|||||||
AND GD.USE_AT = 'Y'
|
AND GD.USE_AT = 'Y'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 사이트맵 XML -->
|
||||||
|
<select id="selectSitemapXml"
|
||||||
|
parameterType="String"
|
||||||
|
resultType="dataMap">
|
||||||
|
WITH RECURSIVE CATEGORY_TREE AS (
|
||||||
|
SELECT
|
||||||
|
GC.CTGRY_ID
|
||||||
|
, GC.UPPER_CTGRY_ID
|
||||||
|
, GC.SOPMAL_CD
|
||||||
|
, GC.CTGRY_NM
|
||||||
|
, GC.CTGRY_DEPTH
|
||||||
|
, GC.SORT_ORDR
|
||||||
|
, GC.CTGRY_DV_CD
|
||||||
|
, GC.EXPSR_CD
|
||||||
|
, GC.URL_DV_CD
|
||||||
|
, CASE
|
||||||
|
WHEN GC.URL_DV_CD = '01' THEN ''
|
||||||
|
WHEN GC.URL_DV_CD = '02' THEN GC.URL
|
||||||
|
ELSE NULL
|
||||||
|
END URL
|
||||||
|
, GC.USE_AT
|
||||||
|
, GC.EXPSR_BGN_DT
|
||||||
|
, GC.EXPSR_END_DT
|
||||||
|
FROM GC_CATEGORY GC
|
||||||
|
WHERE GC.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND GC.UPPER_CTGRY_ID IS NULL
|
||||||
|
AND GC.USE_AT = 'Y'
|
||||||
|
AND (
|
||||||
|
GC.EXPSR_CD = '01'
|
||||||
|
OR (
|
||||||
|
GC.EXPSR_CD = '03'
|
||||||
|
AND SYSDATE() BETWEEN GC.EXPSR_BGN_DT AND GC.EXPSR_END_DT
|
||||||
|
)
|
||||||
|
)
|
||||||
|
UNION ALL
|
||||||
|
SELECT
|
||||||
|
CHILD.CTGRY_ID
|
||||||
|
, CHILD.UPPER_CTGRY_ID
|
||||||
|
, CHILD.SOPMAL_CD
|
||||||
|
, CHILD.CTGRY_NM
|
||||||
|
, CHILD.CTGRY_DEPTH
|
||||||
|
, CHILD.SORT_ORDR
|
||||||
|
, CHILD.CTGRY_DV_CD
|
||||||
|
, CHILD.EXPSR_CD
|
||||||
|
, CHILD.URL_DV_CD
|
||||||
|
, CASE
|
||||||
|
WHEN CHILD.URL_DV_CD = '01' THEN
|
||||||
|
CASE
|
||||||
|
WHEN CHILD.CTGRY_DV_CD = '01' THEN CONCAT('/sopmal/goods/selectGoodsListForm?ctgryId=', CHILD.CTGRY_ID)
|
||||||
|
ELSE NULL
|
||||||
|
END
|
||||||
|
WHEN CHILD.URL_DV_CD = '02' THEN CHILD.URL
|
||||||
|
ELSE NULL
|
||||||
|
END URL
|
||||||
|
, CHILD.USE_AT
|
||||||
|
, CHILD.EXPSR_BGN_DT
|
||||||
|
, CHILD.EXPSR_END_DT
|
||||||
|
FROM GC_CATEGORY CHILD
|
||||||
|
INNER JOIN CATEGORY_TREE PARENT
|
||||||
|
ON CHILD.SOPMAL_CD = PARENT.SOPMAL_CD
|
||||||
|
AND CHILD.UPPER_CTGRY_ID = PARENT.CTGRY_ID
|
||||||
|
WHERE CHILD.USE_AT = 'Y'
|
||||||
|
AND (
|
||||||
|
CHILD.EXPSR_CD = '01'
|
||||||
|
OR (
|
||||||
|
CHILD.EXPSR_CD = '03'
|
||||||
|
AND SYSDATE() BETWEEN CHILD.EXPSR_BGN_DT AND CHILD.EXPSR_END_DT
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
SELECT CONCAT(GS.PC_DOMN_ADRES, GC.URL) AS TARGET_URL
|
||||||
|
, DATE_FORMAT(SYSDATE(), '%Y-%m-%dT%H:%i:%s+09:00') AS LAST_MODIFIED
|
||||||
|
, ROUND(POWER(0.8, GC.CTGRY_DEPTH - 1), 4) AS PRIORITY
|
||||||
|
FROM CATEGORY_TREE GC
|
||||||
|
INNER JOIN GC_SHOP GS
|
||||||
|
ON GC.SOPMAL_CD = GS.SOPMAL_CD
|
||||||
|
WHERE GC.CTGRY_DV_CD != '02'
|
||||||
|
AND GC.CTGRY_DEPTH != 2
|
||||||
|
UNION
|
||||||
|
SELECT CONCAT(GS.PC_DOMN_ADRES, '/sopmal/goods/selectGoodsDtl?goodsInnb=', GG.GOODS_INNB) AS TARGET_URL
|
||||||
|
, DATE_FORMAT(GG.UPDT_DT, '%Y-%m-%dT%H:%i:%s+09:00') AS LAST_MODIFIED
|
||||||
|
, ROUND(POWER(0.8, 1), 4) AS PRIORITY
|
||||||
|
FROM GC_GOODS GG
|
||||||
|
INNER JOIN GC_SHOP GS
|
||||||
|
ON GG.SOPMAL_CD = GS.SOPMAL_CD
|
||||||
|
WHERE GG.USE_AT = 'Y'
|
||||||
|
AND GG.SOPMAL_CD = #{sopmalCd}
|
||||||
|
AND GG.GOODS_KND_CD = '01'
|
||||||
|
AND GG.EXPSR_DV_CD = '01'
|
||||||
|
AND GG.GOODS_STTUS_CD IN ('01', '02')
|
||||||
|
UNION
|
||||||
|
SELECT CONCAT(GS.PC_DOMN_ADRES, '/sopmal/csc/selectBbscttAuth?authDv=CM&bbsTyCd=',
|
||||||
|
CASE
|
||||||
|
WHEN GB.BBS_ID = 'sake_column' THEN '01'
|
||||||
|
WHEN GB.BBS_ID = 'magazine' THEN '09'
|
||||||
|
ELSE NULL
|
||||||
|
END,
|
||||||
|
'&bbscttInnb=', GB.BBSCTT_INNB,
|
||||||
|
'&reqUrl=subPage&bbsId=', GB.BBS_ID,
|
||||||
|
'&cscAt='
|
||||||
|
) AS TARGET_URL
|
||||||
|
, DATE_FORMAT(GB.UPDT_DT, '%Y-%m-%dT%H:%i:%s+09:00') AS LAST_MODIFIED
|
||||||
|
, ROUND(POWER(0.8, 1), 4) AS PRIORITY
|
||||||
|
FROM GC_BOARDDATA GB
|
||||||
|
INNER JOIN GC_SHOP GS
|
||||||
|
ON GB.SOPMAL_CD = GS.SOPMAL_CD
|
||||||
|
WHERE GB.USE_AT = 'Y'
|
||||||
|
AND GB.EXPSR_AT = 'Y'
|
||||||
|
AND (
|
||||||
|
GB.NTCE_PD_SETUP_AT = 'N'
|
||||||
|
OR (
|
||||||
|
GB.NTCE_PD_SETUP_AT = 'Y'
|
||||||
|
AND DATE_FORMAT(SYSDATE(), '%Y-%m-%d') BETWEEN DATE_FORMAT(GB.NTCE_BGN_DE, '%Y-%m-%d') AND DATE_FORMAT(GB.NTCE_END_DE, '%Y-%m-%d')
|
||||||
|
)
|
||||||
|
)
|
||||||
|
AND GB.BBS_ID IN ('sake_column', 'magazine')
|
||||||
|
AND depth = 0
|
||||||
|
ORDER BY PRIORITY DESC
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|||||||
@@ -133,6 +133,17 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ********************************************************
|
||||||
|
* xml 임시
|
||||||
|
******************************************************** */
|
||||||
|
const fn_update_xml = function () {
|
||||||
|
const url = '<c:url value="/mngr/goods/goodsmngr/selectGoodsRegistForm"/>';
|
||||||
|
|
||||||
|
$('#listForm').attr('action', url);
|
||||||
|
$('#listForm').attr('method', 'post');
|
||||||
|
$('#listForm').submit();
|
||||||
|
};
|
||||||
|
|
||||||
/* ********************************************************
|
/* ********************************************************
|
||||||
* 등록폼 이동
|
* 등록폼 이동
|
||||||
******************************************************** */
|
******************************************************** */
|
||||||
@@ -441,6 +452,7 @@
|
|||||||
<div class="page-title">
|
<div class="page-title">
|
||||||
<h2 class="page-title__title">상품 목록</h2>
|
<h2 class="page-title__title">상품 목록</h2>
|
||||||
<div class="page-title__btn-container">
|
<div class="page-title__btn-container">
|
||||||
|
<button onclick="fn_update_xml()" class="btn primary">XML 업데이트(임시)</button>
|
||||||
<button onclick="fn_move_regpage()" class="btn primary">상품 <spring:message code="button.insert"/></button>
|
<button onclick="fn_move_regpage()" class="btn primary">상품 <spring:message code="button.insert"/></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user