diff --git a/src/main/java/com/wb/domainserver/common/mvc/tags/ui/pagination/ImagePaginationRenderer.java b/src/main/java/com/wb/domainserver/common/mvc/tags/ui/pagination/ImagePaginationRenderer.java
index ed1453e6..d8e5ea54 100644
--- a/src/main/java/com/wb/domainserver/common/mvc/tags/ui/pagination/ImagePaginationRenderer.java
+++ b/src/main/java/com/wb/domainserver/common/mvc/tags/ui/pagination/ImagePaginationRenderer.java
@@ -34,7 +34,7 @@ public class ImagePaginationRenderer extends AbstractPaginationRenderer implemen
//previousPageLabel = "
";
previousPageLabel = "";
//currentPageLabel = "{0}";
- currentPageLabel = "";
+ currentPageLabel = "";
//otherPageLabel = "{2}";
otherPageLabel = "";
//nextPageLabel = "
";
diff --git a/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/mapper/BOSubsvcMapper.java b/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/mapper/BOSubsvcMapper.java
index 75f8cdf7..edca404c 100644
--- a/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/mapper/BOSubsvcMapper.java
+++ b/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/mapper/BOSubsvcMapper.java
@@ -1,6 +1,5 @@
package com.wb.domainserver.domain.gcone.goods.subsvc.mapper;
-import com.wb.domainserver.domain.gcone.goods.banner.vo.BOBannerVO;
import com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO;
import com.wb.domainserver.util.dataaccess.DataMap;
import org.apache.ibatis.annotations.Mapper;
@@ -23,5 +22,6 @@ public interface BOSubsvcMapper {
List selectBOMngrSrchSubsvcList(BOSubsvcVO vo);
/** 관리자 구독서비스 조회조건 구독서비스별 기수*/
List selectBOMngrSrchSubsvcGnrList(BOSubsvcVO vo);
-
+ /** 관리자 구독서비스 선택 삭제*/
+ int deleteBOMngrSubsvc(BOSubsvcVO vo);
}
diff --git a/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/service/BOSubsvcService.java b/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/service/BOSubsvcService.java
index 01fad8b1..72edbffd 100644
--- a/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/service/BOSubsvcService.java
+++ b/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/service/BOSubsvcService.java
@@ -1,5 +1,6 @@
package com.wb.domainserver.domain.gcone.goods.subsvc.service;
+import com.wb.domainserver.domain.gcone.goods.goodsinfo.vo.BOGoodsInfoVO;
import com.wb.domainserver.domain.gcone.goods.subsvc.mapper.BOSubsvcMapper;
import com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO;
import com.wb.domainserver.util.dataaccess.DataMap;
@@ -43,4 +44,51 @@ public class BOSubsvcService {
return dataMap;
}
+ /**
+ * 관리자 구독서비스 목록 조회
+ * */
+ public List selectBOMngrSubsvcList(BOSubsvcVO vo) {
+ List dataList = new ArrayList<>();
+
+ dataList = mapper.selectBOMngrSubsvcList(vo);
+ if(dataList == null || dataList.isEmpty()){
+ vo.getPaginationInfo().setTotalRecordCount(0);
+ }else{
+ vo.getPaginationInfo().setTotalRecordCount(((Long)dataList.get(0).get("totCnt")).intValue());
+ }
+
+ return dataList;
+ }
+
+ /**
+ * 관리자 구독서비스 조회조건 구독서비스
+ * */
+ public List selectBOMngrSrchSubsvcList(BOSubsvcVO vo) {
+ List dataList = new ArrayList<>();
+
+ dataList = mapper.selectBOMngrSrchSubsvcList(vo);
+
+ return dataList;
+ }
+
+ /**
+ * 관리자 구독서비스 조회조건 구독서비스별 기수
+ * */
+ public List selectBOMngrSrchSubsvcGnrList(BOSubsvcVO vo) {
+ List dataList = new ArrayList<>();
+
+ dataList = mapper.selectBOMngrSrchSubsvcGnrList(vo);
+
+ return dataList;
+ }
+
+ public String deleteBOMngrSubsvc(BOSubsvcVO vo) {
+ String message = "fail";
+ int result = mapper.deleteBOMngrSubsvc(vo);
+ if (result > 0) {
+ message = "success";
+ }
+ return message;
+ }
+
}
diff --git a/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/vo/BOSubsvcVO.java b/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/vo/BOSubsvcVO.java
index bbabfe90..4da718dd 100644
--- a/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/vo/BOSubsvcVO.java
+++ b/src/main/java/com/wb/domainserver/domain/gcone/goods/subsvc/vo/BOSubsvcVO.java
@@ -93,4 +93,6 @@ private static final long serialVersionUID = 1L;
private String srchExpsrDvCd;
/** 정렬구분 */
private String sortDv;
+ /** 배열 구독서비스고유번호 */
+ private List arrSubsvcInnb;
}
diff --git a/src/main/java/com/wb/domainserver/domain/mngr/goods/subsvc/controller/SubsvcController.java b/src/main/java/com/wb/domainserver/domain/mngr/goods/subsvc/controller/SubsvcController.java
new file mode 100644
index 00000000..c4bfd3f5
--- /dev/null
+++ b/src/main/java/com/wb/domainserver/domain/mngr/goods/subsvc/controller/SubsvcController.java
@@ -0,0 +1,214 @@
+package com.wb.domainserver.domain.mngr.goods.subsvc.controller;
+
+import com.wb.domainserver.common.msg.GconeMessageSource;
+import com.wb.domainserver.common.mvc.tags.ui.pagination.PaginationInfo;
+import com.wb.domainserver.common.prop.PaginationProperties;
+import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService;
+import com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO;
+import com.wb.domainserver.domain.gcone.goods.cmnuse.vo.BOCmnuseVO;
+import com.wb.domainserver.domain.gcone.goods.goods.vo.BOGoodsVO;
+import com.wb.domainserver.domain.gcone.goods.goodsinfo.vo.BOGoodsInfoVO;
+import com.wb.domainserver.domain.gcone.goods.subsvc.service.BOSubsvcService;
+import com.wb.domainserver.domain.gcone.goods.subsvc.vo.BOSubsvcVO;
+import com.wb.domainserver.domain.gcone.setup.dlvygrp.vo.BODlvygrpVO;
+import com.wb.domainserver.domain.mngr.goods.goodsinfo.vo.GoodsInfoVO;
+import com.wb.domainserver.exception.WnbtRestException;
+import com.wb.domainserver.response.WnbtResponse;
+import com.wb.domainserver.response.WnbtResponseBody;
+import com.wb.domainserver.security.authentication.AnonymousUser;
+import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
+import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
+import com.wb.domainserver.security.authorization.annotation.Policy;
+import com.wb.domainserver.util.communicate.SendToResrc;
+import com.wb.domainserver.util.communicate.ValidateResultConverter;
+import com.wb.domainserver.util.dataaccess.DataMap;
+import io.micrometer.common.util.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.validation.BindingResult;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.CookieValue;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+* SubsvcController Controller Class
+*
+* @author
+* @since 2026-01-23
+* @version 1.0
+* @see
+*
+*
+* == (Modification Information) == 개정이력
+*
+* 수정일 수정자 수정내용
+* ------- -------- ---------------------------
+* 2026-01-23 jazz 최초 생성
+*
+*
+*/
+
+@Slf4j
+@Controller
+@RequestMapping("/mngr/goods/subsvc")
+public class SubsvcController {
+
+ /** WebClient 호출을 위한 wrapper */
+ @Autowired
+ private SendToResrc sendToResrc;
+
+ /** 공통 메시지 처리를 위한 메시지 객체 */
+ @Autowired
+ private GconeMessageSource gconeMessageSource;
+
+ @Autowired
+ private BOSubsvcService service;
+ @Autowired
+ private BOMaComncdService boMaComncdService;
+ @Autowired
+ private PaginationProperties paginationProperties;
+
+ /**
+ * 구독서비스 목록 조회 폼
+ * @param vo
+ * @return SubsvcListForm.jsp
+ */
+ @Policy(AuthPolicy.RESTRICTED)
+ @RequestMapping(value="/selectSubsvcListForm")
+ public String selectSubsvcListForm(BOSubsvcVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
+ vo.setSopmalCd(authSopmalCd);
+ AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
+ if("01".equals(user.getSysDvCd())){
+ vo.setSopmalCd(user.getSopmalCd());
+ }
+
+ Map content = new HashMap<>();
+ content.put("paramVO", vo);
+
+ // 조회조건 구독서비스
+ List> SrchSubsvcList = service.selectBOMngrSrchSubsvcList(vo);
+ content.put("srchSubsvcList", SrchSubsvcList);
+
+ //조회조건 판매상태
+ BOMaComncdVO param = new BOMaComncdVO();
+ param.setGroupCd("GOODS_STTUS");
+ List> srchSubsvcSttusList = boMaComncdService.selectBOCommcdDetailList(param);
+ content.put("srchSubsvcSttusList", srchSubsvcSttusList);
+
+ //조회조건 노출구분
+ param.setGroupCd("EXPSR_DV");
+ List> srchExpsrDvList = boMaComncdService.selectBOCommcdDetailList(param);
+ content.put("srchExpsrDvList", srchExpsrDvList);
+
+ model.addAttribute("resultMap", content);
+ return "mngr/goods/subsvc/SubsvcListForm";
+ }
+
+ /**
+ * 구독서비스 목록 조회 리스트
+ * @param vo
+ * @param model
+ * @return SubsvcList.jsp
+ */
+ @Policy(AuthPolicy.RESTRICTED)
+ @RequestMapping(value = "/selectSubsvcList")
+ public String selectSubsvcList(BOSubsvcVO vo,ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
+ vo.setSopmalCd(authSopmalCd);
+ AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
+ if("01".equals(user.getSysDvCd())){
+ vo.setSopmalCd(user.getSopmalCd());
+ }
+
+ // 페이징 객체 생성 & 페이징정보 할당
+ PaginationInfo paginationInfo = new PaginationInfo();
+ paginationInfo.setCurrentPageNo(vo.getPageIndex());
+ paginationInfo.setRecordCountPerPage(vo.getPageUnit());
+ paginationInfo.setPageSize(paginationProperties.getPageSize());
+
+ vo.setPaginationInfo(paginationInfo);
+ vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
+ vo.setLastIndex(paginationInfo.getLastRecordIndex());
+ vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
+ if(StringUtils.isEmpty(vo.getSortDv())){
+ //정렬기준 초기값 셋팅
+ vo.setSortDv("subsvcGnrAsc");
+ }
+
+ // 목록 조회
+ List list = service.selectBOMngrSubsvcList(vo);
+
+ Map content = new HashMap<>();
+ content.put("paramVO", vo);
+
+ content.put("list", list);
+ content.put("paginationInfo", vo.getPaginationInfo());
+
+ model.addAttribute("resultMap", content);
+
+ return "mngr/goods/subsvc/SubsvcList";
+ }
+ /**
+ * 구독서비스 선택삭제
+ * @param vo
+ * @return ResponseEntity
+ */
+ @Policy(AuthPolicy.RESTRICTED)
+ @RequestMapping(value = "/deleteSubsvc", produces = MediaType.APPLICATION_JSON_VALUE)
+ public ResponseEntity deleteSubsvc(BOSubsvcVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
+ vo.setSopmalCd(authSopmalCd);
+ AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
+ vo.setUpdusr(user.getUserInnb()); //수정자
+
+ if("01".equals(user.getSysDvCd())){
+ vo.setSopmalCd(user.getSopmalCd());
+ }
+
+ DataMap message = new DataMap();
+ String result = service.deleteBOMngrSubsvc(vo);
+ message.put("message", result);
+
+ return ResponseEntity.ok(
+ WnbtResponse.builder()
+ .resBody(new WnbtResponseBody(message))
+ .build()
+ );
+ }
+
+
+ /**
+ * 구독서비스 목록 조회 리스트
+ * @param vo
+ * @return ResponseEntity
+ */
+ @Policy(AuthPolicy.RESTRICTED)
+ @RequestMapping(value = "/selectSrchSubsvcGnrListAjax", produces = MediaType.APPLICATION_JSON_VALUE)
+ public ResponseEntity selectSrchSubsvcGnrListAjax(BOSubsvcVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
+ vo.setSopmalCd(authSopmalCd);
+ AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
+ if("01".equals(user.getSysDvCd())){
+ vo.setSopmalCd(user.getSopmalCd());
+ }
+
+ Map content = new HashMap<>();
+
+ // 조회조건 구독서비스
+ List SrchSubsvcGnrList = service.selectBOMngrSrchSubsvcGnrList(vo);
+ content.put("srchSubsvcGnrList", SrchSubsvcGnrList);
+
+ return ResponseEntity.ok(
+ WnbtResponse.builder()
+ .resBody(new WnbtResponseBody(content))
+ .build()
+ );
+ }
+}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 9ded2c4c..880c0b9d 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -58,9 +58,9 @@ spring:
gcone:
hikari:
driver-class-name: com.mysql.cj.jdbc.Driver
- jdbc-url: jdbc:mysql://172.31.16.11:3306/gcone?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=false&verifyServerCertificate=false
- username: winbit
- password: dnlsqlxm1!
+ jdbc-url: jdbc:mysql://115.68.176.232:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=yes&verifyServerCertificate=false
+ username: sakeone
+ password: dnlfxjtm13@$
minimumIdle: 1
maximumPoolSize: 10
idleTimeout: 30000 #30초
@@ -70,9 +70,9 @@ spring:
sure:
hikari:
driver-class-name: com.mysql.cj.jdbc.Driver
- jdbc-url: jdbc:mysql://172.31.17.11:3306/nutricore
- username: winbit
- password: dnlsqlxm1!
+ jdbc-url: jdbc:mysql://115.68.176.232:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=yes&verifyServerCertificate=false
+ username: sakeone
+ password: dnlfxjtm13@$
minimumIdle: 1
maximumPoolSize: 10
idleTimeout: 30000 #30초
diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml
index 18ac0efa..521ebbae 100644
--- a/src/main/resources/application-local.yml
+++ b/src/main/resources/application-local.yml
@@ -58,7 +58,7 @@ spring:
gcone:
hikari:
driver-class-name: com.mysql.cj.jdbc.Driver
- jdbc-url: jdbc:mysql://115.68.176.232:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=false&verifyServerCertificate=false
+ jdbc-url: jdbc:mysql://115.68.176.232:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=yes&verifyServerCertificate=false
username: sakeone
password: dnlfxjtm13@$
minimumIdle: 1
@@ -70,7 +70,7 @@ spring:
sure:
hikari:
driver-class-name: com.mysql.cj.jdbc.Driver
- jdbc-url: jdbc:mysql://115.68.176.232:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=false&verifyServerCertificate=false
+ jdbc-url: jdbc:mysql://115.68.176.232:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=yes&verifyServerCertificate=false
username: sakeone
password: dnlfxjtm13@$
minimumIdle: 1
diff --git a/src/main/resources/application-stage.yml b/src/main/resources/application-stage.yml
index 30a6b6ac..ecc81044 100644
--- a/src/main/resources/application-stage.yml
+++ b/src/main/resources/application-stage.yml
@@ -58,7 +58,7 @@ spring:
gcone:
hikari:
driver-class-name: com.mysql.cj.jdbc.Driver
- jdbc-url: jdbc:mysql://10.2.1.101:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=false&verifyServerCertificate=false
+ jdbc-url: jdbc:mysql://10.2.1.101:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=yes&verifyServerCertificate=false
username: sakeone
password: dnlfxjtm13@$
minimumIdle: 10
@@ -70,7 +70,7 @@ spring:
sure:
hikari:
driver-class-name: com.mysql.cj.jdbc.Driver
- jdbc-url: jdbc:mysql://10.2.1.101:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=false&verifyServerCertificate=false
+ jdbc-url: jdbc:mysql://10.2.1.101:3306/sake?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&autoReconnect=true&allowMultiQueries=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=yes&verifyServerCertificate=false
username: sakeone
password: dnlfxjtm13@$
minimumIdle: 1
diff --git a/src/main/resources/mybatis/xml/mapper/gcone/goods/subsvc/BOSubsvcMapper.xml b/src/main/resources/mybatis/xml/mapper/gcone/goods/subsvc/BOSubsvcMapper.xml
index 26a223dd..be095396 100644
--- a/src/main/resources/mybatis/xml/mapper/gcone/goods/subsvc/BOSubsvcMapper.xml
+++ b/src/main/resources/mybatis/xml/mapper/gcone/goods/subsvc/BOSubsvcMapper.xml
@@ -58,56 +58,66 @@
+
+
+ UPDATE GC_SUBSVC
+ SET USE_AT = 'N'
+ ,UPDUSR = #{updusr}
+ ,UPDT_DT = NOW()
+ WHERE SOPMAL_CD = #{sopmalCd}
+
+
+ AND SUBSVC_INNB IN
+
+ #{subsvcInnb}
+
+
+
+ AND 1=2
+
+
+
diff --git a/src/main/webapp/WEB-INF/views/mngr/goods/subsvc/SubsvcList.jsp b/src/main/webapp/WEB-INF/views/mngr/goods/subsvc/SubsvcList.jsp
new file mode 100644
index 00000000..f025ec31
--- /dev/null
+++ b/src/main/webapp/WEB-INF/views/mngr/goods/subsvc/SubsvcList.jsp
@@ -0,0 +1,137 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
+<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld" %>
+
+<%--
+ Class Name : GoodsListR.jsp
+ Description : 상품 목록 조회 리스트
+ Modification Information
+
+ 수정일 수정자 수정내용
+ ------- -------- ---------------------------
+ 2024-03-20 리브가 최초 생성
+--%>
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/views/mngr/goods/subsvc/SubsvcListForm.jsp b/src/main/webapp/WEB-INF/views/mngr/goods/subsvc/SubsvcListForm.jsp
new file mode 100644
index 00000000..6f28a855
--- /dev/null
+++ b/src/main/webapp/WEB-INF/views/mngr/goods/subsvc/SubsvcListForm.jsp
@@ -0,0 +1,432 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
+<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld" %>
+
+<%--
+ Class Name : GoodsListRForm.jsp
+ Description : 상품 목록 조회 폼
+ Modification Information
+
+ 수정일 수정자 수정내용
+ ------- -------- ---------------------------
+ 2024-03-20 리브가 최초 생성
+--%>
+
+
+
+
+
+
+ 일반 관리자
+ <%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%>
+
+
+
+
+<%@ include file="/WEB-INF/views/comm/mngr/Header.jsp"%>
+
+ <%@ include file="/WEB-INF/views/comm/mngr/Left.jsp"%>
+
+
+
+
+
">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | 구독서비스 |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+ | 구독서비스명 |
+
+
+ ">
+
+ |
+ 기수명 |
+
+
+ ">
+
+ |
+
+
+ | 판매상태 |
+
+
+ |
+ 노출여부 |
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file