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 6224c0e7..75f8cdf7 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 @@ -12,7 +12,10 @@ import java.util.List; @Repository public interface BOSubsvcMapper { + /** 구독서비스 목록 조회*/ List selectBOSubsvcList(BOSubsvcVO vo); + /** 구독서비스 상세 조회*/ + DataMap selectBOSubsvcDetail(BOSubsvcVO vo); /** 관리자 구독서비스 목록 조회*/ List selectBOMngrSubsvcList(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 89c98c02..01fad8b1 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 @@ -30,4 +30,17 @@ public class BOSubsvcService { return dataList; } + /** + * 구독서비스 상세 조회 + * @param vo + * @return + */ + public DataMap selectBOSubsvcDetail(BOSubsvcVO vo) { + DataMap dataMap = new DataMap(); + + dataMap = mapper.selectBOSubsvcDetail(vo); + + return dataMap; + } + } diff --git a/src/main/java/com/wb/domainserver/domain/sopmal/main/controller/MainController.java b/src/main/java/com/wb/domainserver/domain/sopmal/main/controller/MainController.java index 6e90cd83..9df7bf53 100644 --- a/src/main/java/com/wb/domainserver/domain/sopmal/main/controller/MainController.java +++ b/src/main/java/com/wb/domainserver/domain/sopmal/main/controller/MainController.java @@ -9,6 +9,8 @@ import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO; 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.common.service.BOCommonService; +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.mbr.mbr.service.BOMbrService; import com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrVO; import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrService; @@ -20,15 +22,11 @@ import com.wb.domainserver.domain.gcone.setup.site.vo.BOPrevewVO; import com.wb.domainserver.domain.gcone.setup.site.vo.BOSiteVO; import com.wb.domainserver.domain.itrnt.str.service.BOItrntStrService; import com.wb.domainserver.domain.itrnt.str.vo.BOItrntStrVO; -import com.wb.domainserver.domain.sample.vo.PrevewVO; import com.wb.domainserver.domain.sopmal.main.vo.BrandVO; -import com.wb.domainserver.domain.sopmal.main.vo.MaSopmalVO; -import com.wb.domainserver.domain.sopmal.main.vo.MainVO; import com.wb.domainserver.domain.sopmal.main.vo.StrVO; import com.wb.domainserver.domain.sopmal.mpage.ordr.vo.MyOrdrDlvyVO; import com.wb.domainserver.domain.sopmal.mpage.ordr.vo.MyRefundVO; import com.wb.domainserver.exception.WnbtRestException; -import com.wb.domainserver.response.ApiResponse; import com.wb.domainserver.response.WnbtResponse; import com.wb.domainserver.response.WnbtResponseBody; import com.wb.domainserver.response.WnbtWebClientResponseHandler; @@ -36,7 +34,9 @@ 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.*; +import com.wb.domainserver.util.communicate.KakaoProperties; +import com.wb.domainserver.util.communicate.MultiValueMapConverter; +import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.dataaccess.DataMap; import com.wb.domainserver.util.util.Util; import jakarta.servlet.http.Cookie; @@ -45,14 +45,12 @@ import jakarta.servlet.http.HttpSession; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.util.MultiValueMap; import org.springframework.util.ObjectUtils; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import java.math.BigInteger; @@ -99,6 +97,8 @@ public class MainController { private BOMaSopmalService boMaSopmalService; @Autowired private BOMbrService boMbrService; + @Autowired + private BOSubsvcService boSubsvcService; @Policy(AuthPolicy.PUBLIC) @RequestMapping(value= {"/","/index", "/sopmal/index","/sopmal/main"}) @@ -796,15 +796,51 @@ public class MainController { /** * 구독서비스 폼 이동 - * - * @return + * @param model + * @param request + * @return String */ @Policy(AuthPolicy.PUBLIC) @RequestMapping(value = "/sopmal/main/selectSubscribeForm") - public String selectSubscribeForm(HttpServletRequest request) { + public String selectSubscribeForm(ModelMap model, HttpServletRequest request) { + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + DataMap content = new DataMap(); + + BOSubsvcVO subsvcVo = new BOSubsvcVO(); + subsvcVo.setSopmalCd(user.getSopmalCd()); + content.put("subsvcList", boSubsvcService.selectBOSubsvcList(subsvcVo)); + + BOMaSopmalVO sopmalVO = new BOMaSopmalVO(); + sopmalVO.setSopmalCd(user.getSopmalCd()); + content.put("sopmalInfo", boMaSopmalService.selectBOSopmalUpdtForm(sopmalVO)); + + model.addAttribute("resultMap", content); + return Util.getDeviceType(request) + "/main/SubscribeR"; } + + /** + * 구독서비스 상세 조회 + * @param subsvcVO + * @return ResponseEntity + */ + @Policy(AuthPolicy.PUBLIC) + @RequestMapping(value = "/sopmal/main/selectSubscribeDetail", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity selectSubscribeDetail(BOSubsvcVO subsvcVO) { + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + Map message = new HashMap<>(); + subsvcVO.setSopmalCd(user.getSopmalCd()); + + message.put("resultMap", boSubsvcService.selectBOSubsvcDetail(subsvcVO)); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() + ); + } + /** * 자담유 > 네가지약속 (모바일) * 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 67ad860a..26a223dd 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 @@ -3,49 +3,54 @@ - + + + + diff --git a/src/main/webapp/WEB-INF/views/sopmal/main/SubscribeR.jsp b/src/main/webapp/WEB-INF/views/sopmal/main/SubscribeR.jsp index b864d2a9..236b7d9c 100644 --- a/src/main/webapp/WEB-INF/views/sopmal/main/SubscribeR.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal/main/SubscribeR.jsp @@ -15,63 +15,92 @@ - + <%-- 공통 Header --%> @@ -79,43 +108,47 @@
-
-
-
-

구독 서비스

-
-
- 구독서비스 -
- -
-
-
- 구독서비스 내역 -
    -
  • 구독기간 : 12개월
  • -
  • 배송횟수 : 12회
  • -
  • 배송주기 : 매달 1회
  • -
  • 상품금액 : 99,000${curUnit} 58%
  • -
-
-
- -
-
- -
-
- -
-
-
+
+
+
+

구독 서비스

+
+ +
+ + +
+
+ 구독서비스 +
+ +
+
+
+ 구독서비스 내역 +
    +
  • 구독기간 : 개월
  • +
  • 배송횟수 : 회
  • +
  • 배송주기 :
  • +
  • 상품금액 : ${curUnit} %
  • +
+
+
+ +
+
+
+ + 구독 서비스 상품 준비중 + +
+
+
+