From 903374cbee33294a79304c94feba483039ca8dfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EB=8C=80=ED=99=98?= Date: Wed, 29 Apr 2026 13:53:41 +0900 Subject: [PATCH] =?UTF-8?q?=EC=84=A4=EC=A0=95=20>=20=ED=8C=A8=EB=B0=80?= =?UTF-8?q?=EB=A6=AC=EC=82=AC=EC=9D=B4=ED=8A=B8=20=EC=84=A4=EC=A0=95,=20?= =?UTF-8?q?=ED=99=98=EC=9C=A8=20=EC=84=A4=EC=A0=95,=20=EC=95=88=EB=82=B4?= =?UTF-8?q?=EB=AC=B8=EA=B5=AC=20=EC=84=A4=EC=A0=95=20-=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/sopmal/mapper/BOMaSopmalMapper.java | 5 +- .../exchngrt/service/BOExchngrtService.java | 56 +++++ .../gcone/setup/exchngrt/vo/BOExchngrtVO.java | 32 +++ .../setup/family/service/BOFamilyService.java | 76 ++++++ .../gcone/setup/family/vo/BOFamilyVO.java | 32 +++ .../guidance/service/BOGuidanceService.java | 56 +++++ .../gcone/setup/guidance/vo/BOGuidanceVO.java | 44 ++++ .../setup/exchngrt/ExchngrtController.java | 116 +++++++++ .../mngr/setup/family/FamilyController.java | 115 +++++++++ .../setup/guidance/GuidanceController.java | 117 +++++++++ .../admin/store/sopmal/BOSopmalMapper.xml | 31 +++ .../mngr/setup/exchngrt/ExchngrtUpdtU.jsp | 110 ++++++++ .../mngr/setup/family/FamilySiteUpdtU.jsp | 236 ++++++++++++++++++ .../mngr/setup/guidance/GuidanceUpdtU.jsp | 161 ++++++++++++ 14 files changed, 1186 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/wb/domainserver/domain/gcone/setup/exchngrt/service/BOExchngrtService.java create mode 100644 src/main/java/com/wb/domainserver/domain/gcone/setup/exchngrt/vo/BOExchngrtVO.java create mode 100644 src/main/java/com/wb/domainserver/domain/gcone/setup/family/service/BOFamilyService.java create mode 100644 src/main/java/com/wb/domainserver/domain/gcone/setup/family/vo/BOFamilyVO.java create mode 100644 src/main/java/com/wb/domainserver/domain/gcone/setup/guidance/service/BOGuidanceService.java create mode 100644 src/main/java/com/wb/domainserver/domain/gcone/setup/guidance/vo/BOGuidanceVO.java create mode 100644 src/main/java/com/wb/domainserver/domain/mngr/setup/exchngrt/ExchngrtController.java create mode 100644 src/main/java/com/wb/domainserver/domain/mngr/setup/family/FamilyController.java create mode 100644 src/main/java/com/wb/domainserver/domain/mngr/setup/guidance/GuidanceController.java create mode 100644 src/main/webapp/WEB-INF/views/mngr/setup/exchngrt/ExchngrtUpdtU.jsp create mode 100644 src/main/webapp/WEB-INF/views/mngr/setup/family/FamilySiteUpdtU.jsp create mode 100644 src/main/webapp/WEB-INF/views/mngr/setup/guidance/GuidanceUpdtU.jsp diff --git a/src/main/java/com/wb/domainserver/domain/admin/store/sopmal/mapper/BOMaSopmalMapper.java b/src/main/java/com/wb/domainserver/domain/admin/store/sopmal/mapper/BOMaSopmalMapper.java index 6693b403..315b9b9c 100644 --- a/src/main/java/com/wb/domainserver/domain/admin/store/sopmal/mapper/BOMaSopmalMapper.java +++ b/src/main/java/com/wb/domainserver/domain/admin/store/sopmal/mapper/BOMaSopmalMapper.java @@ -9,7 +9,6 @@ import org.springframework.stereotype.Repository; import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO; import com.wb.domainserver.domain.admin.store.sopmal.vo.BOShopSetupVO; -import com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO; import com.wb.domainserver.util.dataaccess.DataMap; /** @@ -81,6 +80,10 @@ public interface BOMaSopmalMapper { public int updateBOSopmalUpdt(BOMaSopmalVO vo); + public int updateBOExchngrtSetup(BOMaSopmalVO vo); + + public int updateBOGuidanceSetup(BOMaSopmalVO vo); + public int deteteBOShopFamilySite(BOMaSopmalVO vo); public int deteteBOShopClause(BOMaSopmalVO vo); diff --git a/src/main/java/com/wb/domainserver/domain/gcone/setup/exchngrt/service/BOExchngrtService.java b/src/main/java/com/wb/domainserver/domain/gcone/setup/exchngrt/service/BOExchngrtService.java new file mode 100644 index 00000000..04aa3c68 --- /dev/null +++ b/src/main/java/com/wb/domainserver/domain/gcone/setup/exchngrt/service/BOExchngrtService.java @@ -0,0 +1,56 @@ +package com.wb.domainserver.domain.gcone.setup.exchngrt.service; + +import com.wb.domainserver.domain.admin.store.sopmal.mapper.BOMaSopmalMapper; +import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO; +import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService; +import com.wb.domainserver.exception.WnbtRestException; +import com.wb.domainserver.exception.code.ErrorCode; +import com.wb.domainserver.util.dataaccess.DataMap; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 환율 설정 BO Serivce + * + * @author 이대환 + * @version 1.0 + * @see
+ * == (Modification Information) == 개정이력
+ *
+ * 수정일 수정자 수정내용
+ * ------- -------- ---------------------------
+ * 2026-04-27 이대환 최초 생성
+ *
+ * 
+ * @since 2026-04-27 + */ +@Slf4j +@Service +public class BOExchngrtService { + @Autowired + private BOMaComncdService bOMaComncdService; + @Autowired + private BOMaSopmalMapper mapper; + + /** + * 환율 설정 수정 + * @param boMaSopmalVO + */ + @Transactional + public DataMap updateBOExchngrtSetup(BOMaSopmalVO boMaSopmalVO) { + DataMap message = new DataMap(); + + try { + mapper.updateBOExchngrtSetup(boMaSopmalVO); + message.put("result", "success"); + } catch (WnbtRestException wre) { + throw new WnbtRestException(wre.getMessage()); + } catch (Exception e) { + throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR); + } + + return message; + } +} diff --git a/src/main/java/com/wb/domainserver/domain/gcone/setup/exchngrt/vo/BOExchngrtVO.java b/src/main/java/com/wb/domainserver/domain/gcone/setup/exchngrt/vo/BOExchngrtVO.java new file mode 100644 index 00000000..2392f9f6 --- /dev/null +++ b/src/main/java/com/wb/domainserver/domain/gcone/setup/exchngrt/vo/BOExchngrtVO.java @@ -0,0 +1,32 @@ +package com.wb.domainserver.domain.gcone.setup.exchngrt.vo; + +import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO; +import com.wb.domainserver.domain.comm.vo.AbstractVO; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper=false) +public class BOExchngrtVO extends AbstractVO { + + /** 쇼핑몰 코드 */ + private String sopmalCd; + + /** 1엔 환율(살때) */ + private String buyRate; + + /** 1엔 환율(팔때) */ + private String sellRate; + + /** BOMaSopmalVO로 변환 */ + public BOMaSopmalVO setBOMaSopmalVO() { + BOMaSopmalVO boMaSopmalVO = new BOMaSopmalVO(); + boMaSopmalVO.setSopmalCd(this.getSopmalCd()); + boMaSopmalVO.setBuyRate(this.getBuyRate()); + boMaSopmalVO.setSellRate(this.getSellRate()); + boMaSopmalVO.setRegusr(this.getRegusr()); + boMaSopmalVO.setUpdusr(this.getUpdusr()); + + return boMaSopmalVO; + } +} diff --git a/src/main/java/com/wb/domainserver/domain/gcone/setup/family/service/BOFamilyService.java b/src/main/java/com/wb/domainserver/domain/gcone/setup/family/service/BOFamilyService.java new file mode 100644 index 00000000..e304a75d --- /dev/null +++ b/src/main/java/com/wb/domainserver/domain/gcone/setup/family/service/BOFamilyService.java @@ -0,0 +1,76 @@ +package com.wb.domainserver.domain.gcone.setup.family.service; + +import com.wb.domainserver.domain.admin.store.sopmal.mapper.BOMaSopmalMapper; +import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO; +import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService; +import com.wb.domainserver.exception.WnbtRestException; +import com.wb.domainserver.exception.code.ErrorCode; +import com.wb.domainserver.util.dataaccess.DataMap; +import com.wb.domainserver.util.string.StringUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; + +/** + * 패밀리사이트 설정 BO Serivce + * + * @author 이대환 + * @version 1.0 + * @see
+ * == (Modification Information) == 개정이력
+ *
+ * 수정일 수정자 수정내용
+ * ------- -------- ---------------------------
+ * 2026-04-27 이대환 최초 생성
+ *
+ * 
+ * @since 2026-04-27 + */ +@Slf4j +@Service +public class BOFamilyService { + @Autowired + private BOMaComncdService bOMaComncdService; + @Autowired + private BOMaSopmalMapper mapper; + + /** + * 패밀리사이트 설정 수정 + * @param boMaSopmalVO + */ + @Transactional + public DataMap updateBOFamilySetup(BOMaSopmalVO boMaSopmalVO) { + DataMap message = new DataMap(); + + try { + mapper.deteteBOShopFamilySite(boMaSopmalVO); + + DataMap paramMap = new DataMap(); + paramMap.put("sopmalCd", boMaSopmalVO.getSopmalCd()); + paramMap.put("regusr", boMaSopmalVO.getRegusr()); + + if (!ObjectUtils.isEmpty(boMaSopmalVO.getFamilySiteNmArr())) { + String[] siteNm = boMaSopmalVO.getFamilySiteNmArr(); + String[] siteUrl = boMaSopmalVO.getFamilySiteUrlArr(); + + for (int i = 0; i < siteNm.length; i++) { + if (!StringUtil.isEmpty(siteNm[i])) { + paramMap.put("familySiteNm", siteNm[i]); + paramMap.put("familySiteUrl", siteUrl[i]); + mapper.insertBOShopFamilySite(paramMap); + } + } + } + + message.put("result", "success"); + } catch (WnbtRestException wre) { + throw new WnbtRestException(wre.getMessage()); + } catch (Exception e) { + throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR); + } + + return message; + } +} diff --git a/src/main/java/com/wb/domainserver/domain/gcone/setup/family/vo/BOFamilyVO.java b/src/main/java/com/wb/domainserver/domain/gcone/setup/family/vo/BOFamilyVO.java new file mode 100644 index 00000000..d7535ae0 --- /dev/null +++ b/src/main/java/com/wb/domainserver/domain/gcone/setup/family/vo/BOFamilyVO.java @@ -0,0 +1,32 @@ +package com.wb.domainserver.domain.gcone.setup.family.vo; + +import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO; +import com.wb.domainserver.domain.comm.vo.AbstractVO; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper=false) +public class BOFamilyVO extends AbstractVO { + + /** 쇼핑몰 코드 */ + private String sopmalCd; + + /** 패밀리사이트명 */ + private String[] familySiteNmArr; + + /** 패밀리사이트URL */ + private String[] familySiteUrlArr; + + /** BOMaSopmalVO로 변환 */ + public BOMaSopmalVO setBOMaSopmalVO() { + BOMaSopmalVO boMaSopmalVO = new BOMaSopmalVO(); + boMaSopmalVO.setSopmalCd(this.getSopmalCd()); + boMaSopmalVO.setFamilySiteNmArr(this.getFamilySiteNmArr()); + boMaSopmalVO.setFamilySiteUrlArr(this.getFamilySiteUrlArr()); + boMaSopmalVO.setRegusr(this.getRegusr()); + boMaSopmalVO.setUpdusr(this.getUpdusr()); + + return boMaSopmalVO; + } +} diff --git a/src/main/java/com/wb/domainserver/domain/gcone/setup/guidance/service/BOGuidanceService.java b/src/main/java/com/wb/domainserver/domain/gcone/setup/guidance/service/BOGuidanceService.java new file mode 100644 index 00000000..ede1922b --- /dev/null +++ b/src/main/java/com/wb/domainserver/domain/gcone/setup/guidance/service/BOGuidanceService.java @@ -0,0 +1,56 @@ +package com.wb.domainserver.domain.gcone.setup.guidance.service; + +import com.wb.domainserver.domain.admin.store.sopmal.mapper.BOMaSopmalMapper; +import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO; +import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService; +import com.wb.domainserver.exception.WnbtRestException; +import com.wb.domainserver.exception.code.ErrorCode; +import com.wb.domainserver.util.dataaccess.DataMap; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 안내문구 설정 BO Serivce + * + * @author 이대환 + * @version 1.0 + * @see
+ * == (Modification Information) == 개정이력
+ *
+ * 수정일 수정자 수정내용
+ * ------- -------- ---------------------------
+ * 2026-04-27 이대환 최초 생성
+ *
+ * 
+ * @since 2026-04-27 + */ +@Slf4j +@Service +public class BOGuidanceService { + @Autowired + private BOMaComncdService bOMaComncdService; + @Autowired + private BOMaSopmalMapper mapper; + + /** + * 안내문구 설정 수정 + * @param boMaSopmalVO + */ + @Transactional + public DataMap updateBOGuidanceSetup(BOMaSopmalVO boMaSopmalVO) { + DataMap message = new DataMap(); + + try { + mapper.updateBOGuidanceSetup(boMaSopmalVO); + message.put("result", "success"); + } catch (WnbtRestException wre) { + throw new WnbtRestException(wre.getMessage()); + } catch (Exception e) { + throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR); + } + + return message; + } +} diff --git a/src/main/java/com/wb/domainserver/domain/gcone/setup/guidance/vo/BOGuidanceVO.java b/src/main/java/com/wb/domainserver/domain/gcone/setup/guidance/vo/BOGuidanceVO.java new file mode 100644 index 00000000..404d2e77 --- /dev/null +++ b/src/main/java/com/wb/domainserver/domain/gcone/setup/guidance/vo/BOGuidanceVO.java @@ -0,0 +1,44 @@ +package com.wb.domainserver.domain.gcone.setup.guidance.vo; + +import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO; +import com.wb.domainserver.domain.comm.vo.AbstractVO; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper=false) +public class BOGuidanceVO extends AbstractVO { + + /** 쇼핑몰 코드 */ + private String sopmalCd; + + /** 회원가입 안내 타이틀 */ + private String joinGuidanceSj; + + /** 회원가입 안내문구 */ + private String joinGuidanceWords; + + /** 회원가입 주요혜택 */ + private String joinBnef; + + /** 회원가입 주요문구 */ + private String joinComptWords; + + /** 구독서비스 안내문구 */ + private String subsvcGuidanceWords; + + /** BOMaSopmalVO로 변환 */ + public BOMaSopmalVO setBOMaSopmalVO() { + BOMaSopmalVO boMaSopmalVO = new BOMaSopmalVO(); + boMaSopmalVO.setSopmalCd(this.getSopmalCd()); + boMaSopmalVO.setJoinGuidanceSj(this.getJoinGuidanceSj()); + boMaSopmalVO.setJoinGuidanceWords(this.getJoinGuidanceWords()); + boMaSopmalVO.setJoinBnef(this.getJoinBnef()); + boMaSopmalVO.setJoinComptWords(this.getJoinComptWords()); + boMaSopmalVO.setSubsvcGuidanceWords(this.getSubsvcGuidanceWords()); + boMaSopmalVO.setRegusr(this.getRegusr()); + boMaSopmalVO.setUpdusr(this.getUpdusr()); + + return boMaSopmalVO; + } +} diff --git a/src/main/java/com/wb/domainserver/domain/mngr/setup/exchngrt/ExchngrtController.java b/src/main/java/com/wb/domainserver/domain/mngr/setup/exchngrt/ExchngrtController.java new file mode 100644 index 00000000..86b814e8 --- /dev/null +++ b/src/main/java/com/wb/domainserver/domain/mngr/setup/exchngrt/ExchngrtController.java @@ -0,0 +1,116 @@ +package com.wb.domainserver.domain.mngr.setup.exchngrt; + +import com.wb.domainserver.common.msg.GconeMessageSource; +import com.wb.domainserver.domain.admin.store.sopmal.service.BOMaSopmalService; +import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO; +import com.wb.domainserver.domain.gcone.setup.exchngrt.service.BOExchngrtService; +import com.wb.domainserver.domain.gcone.setup.exchngrt.vo.BOExchngrtVO; +import com.wb.domainserver.exception.WnbtRestException; +import com.wb.domainserver.response.WnbtResponse; +import com.wb.domainserver.response.WnbtResponseBody; +import com.wb.domainserver.response.WnbtWebClientResponseHandler; +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 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.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +/** + * 환율 설정 Controller + * + * @author 이대환 + * @version 1.0 + * @see
+ * == (Modification Information) == 개정이력
+ *
+ * 수정일 수정자 수정내용
+ * ------- -------- ---------------------------
+ * 2026-04-27 이대환 최초 생성
+ *
+ * 
+ * @since 2026-04-27 + */ +@Controller +@RequestMapping("/mngr/setup/exchngrt") +@Slf4j +public class ExchngrtController { + + /** WebClient 호출을 위한 wrapper */ + @Autowired + WnbtWebClientResponseHandler responseHandler; + + @Autowired + private SendToResrc sendToResrc; + + /** 공통 메시지 처리를 위한 메시지 객체 */ + @Autowired + private GconeMessageSource gconeMessageSource; + + @Autowired + private BOExchngrtService service; + + @Autowired + private BOMaSopmalService bOMaSopmalService; + + /** + * 환율 설정 페이지 이동 + * + * @param boMaSopmalVO + * @return NbkkSetupListR.jsp + */ + @Policy(AuthPolicy.RESTRICTED) + @RequestMapping(value = "/selectExchngrtSetup") + public String selectExchngrtSetup(BOMaSopmalVO boMaSopmalVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + DataMap content = new DataMap(); + + boMaSopmalVO.setSopmalCd(authSopmalCd); + content.put("sopmalDetailList", bOMaSopmalService.selectBOSopmalUpdtForm(boMaSopmalVO)); + + model.addAttribute("resultMap", content); + + return "mngr/setup/exchngrt/ExchngrtUpdtU"; + } + + + /** + * 환율 설정 수정 + * + * @param boExchngrtVO + * @return ResponseEntity + */ + @Policy(AuthPolicy.RESTRICTED) + @PostMapping(value = "/updateExchngrtSetup", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateExchngrtSetup(@Validated BOExchngrtVO boExchngrtVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + //등록자 수정자 set + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + boExchngrtVO.setRegusr(user.getUserInnb()); + boExchngrtVO.setUpdusr(user.getUserInnb()); + boExchngrtVO.setSopmalCd(authSopmalCd); + + if (bindingResult.hasErrors()) { + throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource)); + } + + DataMap message = service.updateBOExchngrtSetup(boExchngrtVO.setBOMaSopmalVO()); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() + ); + } + +} diff --git a/src/main/java/com/wb/domainserver/domain/mngr/setup/family/FamilyController.java b/src/main/java/com/wb/domainserver/domain/mngr/setup/family/FamilyController.java new file mode 100644 index 00000000..a7350041 --- /dev/null +++ b/src/main/java/com/wb/domainserver/domain/mngr/setup/family/FamilyController.java @@ -0,0 +1,115 @@ +package com.wb.domainserver.domain.mngr.setup.family; + +import com.wb.domainserver.common.msg.GconeMessageSource; +import com.wb.domainserver.domain.admin.store.sopmal.service.BOMaSopmalService; +import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO; +import com.wb.domainserver.domain.gcone.setup.family.service.BOFamilyService; +import com.wb.domainserver.domain.gcone.setup.family.vo.BOFamilyVO; +import com.wb.domainserver.exception.WnbtRestException; +import com.wb.domainserver.response.WnbtResponse; +import com.wb.domainserver.response.WnbtResponseBody; +import com.wb.domainserver.response.WnbtWebClientResponseHandler; +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 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.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +/** + * 패밀리사이트 설정 Controller + * + * @author 이대환 + * @version 1.0 + * @see
+ * == (Modification Information) == 개정이력
+ *
+ * 수정일 수정자 수정내용
+ * ------- -------- ---------------------------
+ * 2026-04-27 이대환 최초 생성
+ *
+ * 
+ * @since 2026-04-27 + */ +@Controller +@RequestMapping("/mngr/setup/family") +@Slf4j +public class FamilyController { + + /** WebClient 호출을 위한 wrapper */ + @Autowired + WnbtWebClientResponseHandler responseHandler; + + @Autowired + private SendToResrc sendToResrc; + + /** 공통 메시지 처리를 위한 메시지 객체 */ + @Autowired + private GconeMessageSource gconeMessageSource; + + @Autowired + private BOFamilyService service; + + @Autowired + private BOMaSopmalService bOMaSopmalService; + + /** + * 패밀리사이트 설정 페이지 이동 + * + * @param boMaSopmalVO + * @return NbkkSetupListR.jsp + */ + @Policy(AuthPolicy.RESTRICTED) + @RequestMapping(value = "/selectFamilySiteSetup") + public String selectFamilySiteSetup(BOMaSopmalVO boMaSopmalVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + DataMap content = new DataMap(); + + boMaSopmalVO.setSopmalCd(authSopmalCd); + content.put("siteList", bOMaSopmalService.selectBOSopmalUpdtFormSitelList(boMaSopmalVO)); + + model.addAttribute("resultMap", content); + + return "mngr/setup/family/FamilySiteUpdtU"; + } + + + /** + * 패밀리사이트 설정 수정 + * + * @param boFamilyVO + * @return ResponseEntity + */ + @Policy(AuthPolicy.RESTRICTED) + @PostMapping(value = "/updateFamilySiteSetup", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateNbkkSetup(@Validated BOFamilyVO boFamilyVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + //등록자 수정자 set + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + boFamilyVO.setRegusr(user.getUserInnb()); + boFamilyVO.setUpdusr(user.getUserInnb()); + boFamilyVO.setSopmalCd(authSopmalCd); + + if (bindingResult.hasErrors()) { + throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource)); + } + + DataMap message = service.updateBOFamilySetup(boFamilyVO.setBOMaSopmalVO()); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() + ); + } +} diff --git a/src/main/java/com/wb/domainserver/domain/mngr/setup/guidance/GuidanceController.java b/src/main/java/com/wb/domainserver/domain/mngr/setup/guidance/GuidanceController.java new file mode 100644 index 00000000..385d3f54 --- /dev/null +++ b/src/main/java/com/wb/domainserver/domain/mngr/setup/guidance/GuidanceController.java @@ -0,0 +1,117 @@ +package com.wb.domainserver.domain.mngr.setup.guidance; + +import com.wb.domainserver.common.msg.GconeMessageSource; +import com.wb.domainserver.domain.admin.store.sopmal.service.BOMaSopmalService; +import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO; +import com.wb.domainserver.domain.gcone.setup.guidance.service.BOGuidanceService; +import com.wb.domainserver.domain.gcone.setup.guidance.vo.BOGuidanceVO; +import com.wb.domainserver.exception.WnbtRestException; +import com.wb.domainserver.response.WnbtResponse; +import com.wb.domainserver.response.WnbtResponseBody; +import com.wb.domainserver.response.WnbtWebClientResponseHandler; +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 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.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +/** + * 안내문구 설정 Controller + * + * @author 이대환 + * @version 1.0 + * @see
+ * == (Modification Information) == 개정이력
+ *
+ * 수정일 수정자 수정내용
+ * ------- -------- ---------------------------
+ * 2026-04-27 이대환 최초 생성
+ *
+ * 
+ * @since 2026-04-27 + */ +@Controller +@RequestMapping("/mngr/setup/guidance") +@Slf4j +public class GuidanceController { + + /** WebClient 호출을 위한 wrapper */ + @Autowired + WnbtWebClientResponseHandler responseHandler; + + @Autowired + private SendToResrc sendToResrc; + + /** 공통 메시지 처리를 위한 메시지 객체 */ + @Autowired + private GconeMessageSource gconeMessageSource; + + @Autowired + private BOGuidanceService service; + + @Autowired + private BOMaSopmalService bOMaSopmalService; + + /** + * 안내문구 설정 페이지 이동 + * + * @param boMaSopmalVO + * @return NbkkSetupListR.jsp + */ + @Policy(AuthPolicy.RESTRICTED) + @RequestMapping(value = "/selectGuidanceSetup") + public String selectNbkkSetupList(BOMaSopmalVO boMaSopmalVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + DataMap content = new DataMap(); + + boMaSopmalVO.setSopmalCd(authSopmalCd); + content.put("sopmalDetailList", bOMaSopmalService.selectBOSopmalUpdtForm(boMaSopmalVO)); + + model.addAttribute("resultMap", content); + model.addAttribute("sopmalCd", authSopmalCd); + + return "mngr/setup/guidance/GuidanceUpdtU"; + } + + + /** + * 안내문구 설정 수정 + * + * @param boGuidanceVO + * @return ResponseEntity + */ + @Policy(AuthPolicy.RESTRICTED) + @PostMapping(value = "/updateGuidanceSetup", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity updateGuidanceSetup(@Validated BOGuidanceVO boGuidanceVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { + //등록자 수정자 set + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + boGuidanceVO.setRegusr(user.getUserInnb()); + boGuidanceVO.setUpdusr(user.getUserInnb()); + boGuidanceVO.setSopmalCd(authSopmalCd); + + if (bindingResult.hasErrors()) { + throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource)); + } + + DataMap message = service.updateBOGuidanceSetup(boGuidanceVO.setBOMaSopmalVO()); + + return ResponseEntity.ok( + WnbtResponse.builder() + .resBody(new WnbtResponseBody(message)) + .build() + ); + } + +} diff --git a/src/main/resources/mybatis/xml/mapper/admin/store/sopmal/BOSopmalMapper.xml b/src/main/resources/mybatis/xml/mapper/admin/store/sopmal/BOSopmalMapper.xml index aec5724c..c0f572f4 100644 --- a/src/main/resources/mybatis/xml/mapper/admin/store/sopmal/BOSopmalMapper.xml +++ b/src/main/resources/mybatis/xml/mapper/admin/store/sopmal/BOSopmalMapper.xml @@ -947,6 +947,37 @@ SOPMAL_CD = #{sopmalCd} + + + UPDATE + GC_SHOP + SET BUY_RATE = #{buyRate}, + SELL_RATE = #{sellRate}, + UPDUSR = #{updusr}, + UPDT_DT = SYSDATE() + WHERE + 1=1 + AND + SOPMAL_CD = #{sopmalCd} + + + + + UPDATE + GC_SHOP + SET JOIN_GUIDANCE_SJ = #{joinGuidanceSj}, + JOIN_GUIDANCE_WORDS = #{joinGuidanceWords}, + JOIN_BNEF = #{joinBnef}, + JOIN_COMPT_WORDS = #{joinComptWords}, + SUBSVC_GUIDANCE_WORDS = #{subsvcGuidanceWords}, + UPDUSR = #{updusr}, + UPDT_DT = SYSDATE() + WHERE + 1=1 + AND + SOPMAL_CD = #{sopmalCd} + + diff --git a/src/main/webapp/WEB-INF/views/mngr/setup/exchngrt/ExchngrtUpdtU.jsp b/src/main/webapp/WEB-INF/views/mngr/setup/exchngrt/ExchngrtUpdtU.jsp new file mode 100644 index 00000000..008a7500 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/mngr/setup/exchngrt/ExchngrtUpdtU.jsp @@ -0,0 +1,110 @@ +<%@ 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="ui" uri="http://www.winbit.kr/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%-- + Class Name : ExchngrtUpdtU.jsp + Description : 환율 설정 상세 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2026-04-27 이대환 최초 생성 +--%> + + + + + + <%-- 공통 include --%> + <%@include file ="/WEB-INF/views/comm/mngr/Include.jsp" %> + + + +<%-- 상단메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%> +<%@include file="/WEB-INF/views/comm/mngr/Header.jsp" %> +
+ <%-- 좌측메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%> + <%@include file="/WEB-INF/views/comm/mngr/Left.jsp" %> +
+
+ +
+

환율 설정

+
+ +
+
+
+
+
+
+

주문 설정

+
+
+
+
+
+ + + + + + + + + + + + + <%-- + --%> + + +
주문 설정
환율(살때) 일본 1円(엔)기준 +
+
+ + 원 +
+
+
환율(팔때) 일본 1円(엔)기준 +
+
+ + 원 +
+
+
+
+
+
+ +
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/views/mngr/setup/family/FamilySiteUpdtU.jsp b/src/main/webapp/WEB-INF/views/mngr/setup/family/FamilySiteUpdtU.jsp new file mode 100644 index 00000000..bd678989 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/mngr/setup/family/FamilySiteUpdtU.jsp @@ -0,0 +1,236 @@ +<%@ 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="ui" uri="http://www.winbit.kr/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%-- + Class Name : FamilySiteUpdtU.jsp + Description : 패밀리사이트 설정 상세 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2026-04-27 이대환 최초 생성 +--%> + + + + + + <%-- 공통 include --%> + <%@include file ="/WEB-INF/views/comm/mngr/Include.jsp" %> + + + +<%-- 상단메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%> +<%@include file ="/WEB-INF/views/comm/mngr/Header.jsp" %> +
+ <%-- 좌측메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%> + <%@include file ="/WEB-INF/views/comm/mngr/Left.jsp" %> +
+
+ +
+

패밀리사이트 설정

+
+ +
+
+
+
+
+
+

패밀리사이트 설정

+
+
+
+ + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
패밀리사이트 설정
+ + 패밀리 사이트명URL
+ + +
+ +
+
+
+ +
+
패밀리사이트를 설정해 주세요.
+
+
+
+ +
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/views/mngr/setup/guidance/GuidanceUpdtU.jsp b/src/main/webapp/WEB-INF/views/mngr/setup/guidance/GuidanceUpdtU.jsp new file mode 100644 index 00000000..ddf76fc7 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/mngr/setup/guidance/GuidanceUpdtU.jsp @@ -0,0 +1,161 @@ +<%@ 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="ui" uri="http://www.winbit.kr/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%-- + Class Name : GuidanceUpdtU.jsp + Description : 안내문구 설정 상세 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2026-04-27 이대환 최초 생성 +--%> + + + + + + <%-- 공통 include --%> + <%@include file ="/WEB-INF/views/comm/mngr/Include.jsp" %> + + + + +<%-- 상단메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%> +<%@include file="/WEB-INF/views/comm/mngr/Header.jsp" %> +
+ <%-- 좌측메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%> + <%@include file="/WEB-INF/views/comm/mngr/Left.jsp" %> +
+
+ +
+

안내문구 설정

+
+ +
+
+
+
+
+
+

회원가입 안내 설정

+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
회원가입 안내 설정
회원가입 안내 타이틀 +
+ +
+
회원가입 안내문구 +
+ +
+
회원가입 주요혜택 +
+ +
+
회원가입 완료문구 +
+ +
+
구독서비스 안내문구 +
+ +
+
+
+
+
+ +
+
+
+ + +