fo bo 머지작업(mngr)

This commit is contained in:
jazz
2025-11-17 13:28:23 +09:00
parent 38b9a7e122
commit 16a528351b
31 changed files with 4881 additions and 1271 deletions

View File

@@ -5,8 +5,10 @@ import java.util.List;
import com.wb.domainserver.domain.comm.vo.AbstractVO; import com.wb.domainserver.domain.comm.vo.AbstractVO;
import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@@ -20,6 +22,8 @@ public class BOJobUserVO extends AbstractVO {
/** 업무사용자 고유번호 */ /** 업무사용자 고유번호 */
private BigInteger mngrInnb; private BigInteger mngrInnb;
/** 사용자명(관리자명) */ /** 사용자명(관리자명) */
@NotBlank(message="사용자명")
@Length(min = 1, max = 20, message = "사용자명")
private String mngrNm; private String mngrNm;
/** 부서명 */ /** 부서명 */
private String partnm; private String partnm;
@@ -31,8 +35,18 @@ public class BOJobUserVO extends AbstractVO {
private String email; private String email;
/** 전화번호 */ /** 전화번호 */
private String telnb; private String telnb;
/** 휴대전화번호 */ /** 휴대전화번호 */
@NotBlank(message="휴대전화번호")
private String mbtlnb; private String mbtlnb;
// 데이터 처리
@NotBlank(message="이메일 아이디")
private String email1;
@NotBlank(message="이메일 도메인")
private String email2;
/** 사용자구분 01 업무사용자 | 02 시스템운영자 */ /** 사용자구분 01 업무사용자 | 02 시스템운영자 */
private String mngrDv; private String mngrDv;
/** 사용자구분이름 */ /** 사용자구분이름 */
@@ -75,10 +89,6 @@ public class BOJobUserVO extends AbstractVO {
// 데이터 처리 // 데이터 처리
/** 앞 이메일 */
private String email1;
/** 뒤 이메일 */
private String email2;
/** 접속IP 배열 */ /** 접속IP 배열 */
private String[] lmttIps; private String[] lmttIps;

View File

@@ -35,6 +35,8 @@ public class BOSelngprufVO extends AbstractVO {
/** 현금영수증 취소 구분(전체취소(STSC) / 부분취소(STPC)) */ /** 현금영수증 취소 구분(전체취소(STSC) / 부분취소(STPC)) */
private String modType; private String modType;
/** 팝업 플래그 */
private String flag;
/** 리스트 체크박스 선택한 매출증빙고유번호 값 */ /** 리스트 체크박스 선택한 매출증빙고유번호 값 */
private String selngPrufInnbArr[]; private String selngPrufInnbArr[];

View File

@@ -820,7 +820,7 @@ public class BOCouponService {
* @param couponPkSndngVO * @param couponPkSndngVO
* @return * @return
*/ */
public Map<String, Object> selectBOCouponPkSndngDtlUpdtInqire(BOCouponPkSndngVO couponPkSndngVO) throws Exception { public Map<String, Object> selectBOCouponPkSndngDtlUpdtInqire(BOCouponPkSndngVO couponPkSndngVO) {
Map<String, Object> content = new HashMap<>(); Map<String, Object> content = new HashMap<>();
List<DataMap> couponList = null; List<DataMap> couponList = null;
BOCouponPkSndngVO result = mapper.selectBOCouponPkSndngDtlUpdtInqire(couponPkSndngVO); BOCouponPkSndngVO result = mapper.selectBOCouponPkSndngDtlUpdtInqire(couponPkSndngVO);

View File

@@ -2,6 +2,7 @@ package com.wb.domainserver.domain.gcone.promtn.coupon.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO; import com.wb.domainserver.domain.comm.vo.AbstractVO;
import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@@ -54,8 +55,10 @@ public class BOCouponPkSndngVO extends AbstractVO {
/** 쿠폰발송유형 */ /** 쿠폰발송유형 */
private String couponSndngTy; private String couponSndngTy;
/** 쿠폰발송명 */ /** 쿠폰발송명 */
@NotBlank(message = "쿠폰발송명")
private String couponSndngNm; private String couponSndngNm;
/** 쿠폰발송설명 */ /** 쿠폰발송설명 */
@NotBlank(message = "쿠폰발송설명")
private String couponSndngDc; private String couponSndngDc;
/** 쿠폰발송 사용여부 */ /** 쿠폰발송 사용여부 */
private String couponSndngUseAt; private String couponSndngUseAt;

View File

@@ -1,6 +1,7 @@
package com.wb.domainserver.domain.gcone.promtn.coupon.vo; package com.wb.domainserver.domain.gcone.promtn.coupon.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO; import com.wb.domainserver.domain.comm.vo.AbstractVO;
import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@@ -52,8 +53,10 @@ public class BOCouponVO extends AbstractVO {
/** 쇼핑몰 코드 */ /** 쇼핑몰 코드 */
private String sopmalCd; private String sopmalCd;
/** 쿠폰명 */ /** 쿠폰명 */
@NotBlank(message = "쿠폰명")
private String coupNm; private String coupNm;
/** 쿠폰 설명 */ /** 쿠폰 설명 */
@NotBlank(message = "쿠폰설명")
private String couponDc; private String couponDc;
/** 사용환경코드 */ /** 사용환경코드 */
private String useEnvrnCd; private String useEnvrnCd;

View File

@@ -2,6 +2,7 @@ package com.wb.domainserver.domain.gcone.promtn.coupon.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO; import com.wb.domainserver.domain.comm.vo.AbstractVO;
import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@@ -42,8 +43,10 @@ public class BOCupnpkVO extends AbstractVO {
private String couponSopmalCd; private String couponSopmalCd;
/** 쿠폰팩 명 */ /** 쿠폰팩 명 */
@NotBlank(message = "쿠폰팩명")
private String cupnpkNm; private String cupnpkNm;
/** 쿠폰팩 설명 */ /** 쿠폰팩 설명 */
@NotBlank(message = "쿠폰팩설명")
private String cupnpkDc; private String cupnpkDc;
/** 쿠폰팩 사용여부 */ /** 쿠폰팩 사용여부 */
private String cupnpkUseAt; private String cupnpkUseAt;

View File

@@ -5,6 +5,7 @@ import java.util.List;
import com.wb.domainserver.domain.comm.vo.AbstractVO; import com.wb.domainserver.domain.comm.vo.AbstractVO;
import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@@ -46,6 +47,7 @@ public class BOPurchsEvtVO extends AbstractVO {
/** 이벤트 구분 */ /** 이벤트 구분 */
private String evtDv; private String evtDv;
/** 이벤트명 */ /** 이벤트명 */
@NotBlank(message = "이벤트명")
private String evtnm; private String evtnm;
/** 이벤트시작일시 */ /** 이벤트시작일시 */
private String evtBgnDt; private String evtBgnDt;

View File

@@ -2,8 +2,10 @@ package com.wb.domainserver.domain.gcone.setup.dlvygrp.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO; import com.wb.domainserver.domain.comm.vo.AbstractVO;
import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@@ -21,6 +23,8 @@ public class BODlvygrpVO extends AbstractVO {
private String dlvyGroupDvCd; private String dlvyGroupDvCd;
/** 배송그룹 이름 */ /** 배송그룹 이름 */
@NotBlank(message = "배송그룹명(명칭)")
@Length(min=1, max=50, message = "배송그룹명(명칭)")
private String dlvyGroupNm; private String dlvyGroupNm;
/** 기본배송비 */ /** 기본배송비 */
@@ -62,6 +66,7 @@ public class BODlvygrpVO extends AbstractVO {
private String rtnlcAdres; private String rtnlcAdres;
/** 반송지 상세주소 */ /** 반송지 상세주소 */
@Length(min=0, max=100, message = "반송지(상세주소)")
private String rtnlcDtlAdres; private String rtnlcDtlAdres;
/** 반송지 전화번호 */ /** 반송지 전화번호 */

View File

@@ -4,6 +4,7 @@ import com.wb.domainserver.domain.comm.vo.AbstractVO;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import java.util.List; import java.util.List;
@@ -41,10 +42,13 @@ public class BOGradbnefVO extends AbstractVO {
/** 등급명 */ /** 등급명 */
private String gradNm; private String gradNm;
/** 마일리지적립금액 */ /** 마일리지적립금액 */
@Length(min=0, max=13)
private String mlgAccmlAmt; private String mlgAccmlAmt;
/** 마일리지최대적립금액 */ /** 마일리지최대적립금액 */
@Length(min=0, max=13)
private String mlgMxmmAccmlAmt; private String mlgMxmmAccmlAmt;
/** 마일리지 유효 월 수 */ /** 마일리지 유효 월 수 */
@Length(min=0, max=2)
private String mlgValidMtCnt; private String mlgValidMtCnt;
/** 구매건수 */ /** 구매건수 */
private String purchsCnt; private String purchsCnt;

View File

@@ -5,7 +5,9 @@ import java.util.List;
import com.wb.domainserver.domain.comm.vo.AbstractVO; import com.wb.domainserver.domain.comm.vo.AbstractVO;
import jakarta.validation.Valid;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
/** /**
* 무통장 설정 VO * 무통장 설정 VO
@@ -25,6 +27,7 @@ import lombok.Data;
* </pre> * </pre>
*/ */
@Data @Data
@EqualsAndHashCode(callSuper=false)
public class BOSetupNbkkVO extends AbstractVO { public class BOSetupNbkkVO extends AbstractVO {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** 쇼핑몰 코드 */ /** 쇼핑몰 코드 */
@@ -42,6 +45,7 @@ public class BOSetupNbkkVO extends AbstractVO {
/*사용여부*/ /*사용여부*/
private String useAt; private String useAt;
@Valid
private List<NbkkInfoVO> nbkkInfo; private List<NbkkInfoVO> nbkkInfo;
/*무통장설정 고유번호*/ /*무통장설정 고유번호*/
private BigInteger acntSetupInnb; private BigInteger acntSetupInnb;

View File

@@ -5,6 +5,8 @@ import java.util.List;
import com.wb.domainserver.domain.comm.vo.AbstractVO; import com.wb.domainserver.domain.comm.vo.AbstractVO;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@@ -12,40 +14,56 @@ import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class BOPopupVO extends AbstractVO { public class BOPopupVO extends AbstractVO {
/** 타이머 노출 여부 */ /** 타이머 노출 여부 */
@NotNull(message = "타이머 노출 여부")
private String tmeSetupAt; private String tmeSetupAt;
// "타이머"
private String datepicker_3;
/** 시간설정 */ /** 시간설정 */
private String tmeSetup; private String tmeSetup;
/** 모바일 팝업크기 가로 */
/** 모바일 팝업크기 가로 */
@NotNull(message = "모바일 팝업크기 가로")
private Integer mblPopupMgWth; private Integer mblPopupMgWth;
/** 모바일 팝업크기 세로 */ /** 모바일 팝업크기 세로 */
@NotNull(message = "모바일 팝업크기 세로")
private Integer mblPopupMgVtc; private Integer mblPopupMgVtc;
/** 모바일 팝업위치 X */ /** 모바일 팝업위치 X */
@NotNull(message = "모바일 팝업위치 X")
private Integer mblPopupLcX; private Integer mblPopupLcX;
/** 모바일 팝업위치 Y */ /** 모바일 팝업위치 Y */
@NotNull(message = "모바일 팝업위치 Y")
private Integer mblPopupLcY; private Integer mblPopupLcY;
/** 팝업 고유번호 */ /** 팝업 고유번호 */
private Integer popupInnb; private Integer popupInnb;
/** 쇼핑몰 코드*/
private String sopmalCd;
/** 팝업 이름 */ /** 팝업 이름 */
@NotBlank(message = "팝업 제목")
private String popupNm; private String popupNm;
/** 쇼핑몰코드 */
private String sopmalCd;
/** 팝업노출 시작일시 */ /** 팝업노출 시작일시 */
@NotBlank(message = "팝업 시작 기간")
private String popupExpsrBgnDt; private String popupExpsrBgnDt;
/** 팝업노출 종료일시 */ /** 팝업노출 종료일시 */
@NotBlank(message = "팝업 종료 기간")
private String popupExpsrEndDt; private String popupExpsrEndDt;
/** 연결URL */ /** 연결URL */
private String cnncUrl; private String cnncUrl;
/** 팝업크기 가로 */ /** 팝업크기 가로 */
@NotNull(message = "팝업크기 가로")
private Integer popupMgWth; private Integer popupMgWth;
/** 팝업크기 세로 */ /** 팝업크기 세로 */
@NotNull(message = "팝업크기 세로")
private Integer popupMgVtc; private Integer popupMgVtc;
/** 팝업위치 X */ /** 팝업위치 X */
@NotNull(message = "팝업위치 X")
private Integer popupLcX; private Integer popupLcX;
/** 팝업위치 Y */ /** 팝업위치 Y */
@NotNull(message = "팝업위치 Y")
private Integer popupLcY; private Integer popupLcY;
/** 노출여부 */ /** 노출여부 */
private String expsrAt; private String expsrAt;
@@ -63,6 +81,11 @@ public class BOPopupVO extends AbstractVO {
/** 파일정보 */ /** 파일정보 */
private List<HashMap<String, Object>> fileInfo; private List<HashMap<String, Object>> fileInfo;
@NotBlank(message = "파일 시작 기간")
private String datepicker_1;
@NotBlank(message = "파일 종료 기간")
private String datepicker_2;
/*상품 추가 여부*/ /*상품 추가 여부*/
private String fileAddAt; private String fileAddAt;
} }

View File

@@ -712,7 +712,7 @@ public class BOSiteService {
* @return * @return
*/ */
@Transactional @Transactional
public Map<String, Object> updateBOSiteContentItemManage(BOSiteVO siteVO) throws Exception { public Map<String, Object> updateBOSiteContentItemManage(BOSiteVO siteVO) {
Map<String, Object> message = new HashMap<>(); Map<String, Object> message = new HashMap<>();

View File

@@ -2,6 +2,7 @@ package com.wb.domainserver.domain.gcone.setup.site.vo;
import com.wb.domainserver.domain.comm.vo.AbstractVO; import com.wb.domainserver.domain.comm.vo.AbstractVO;
import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@@ -15,6 +16,7 @@ public class BOGoodsgrpVO extends AbstractVO {
private Integer goodsGroupInnb; private Integer goodsGroupInnb;
/** 상품그룹명 */ /** 상품그룹명 */
@NotBlank(message = "상품그룹명(명칭)")
private String goodsGroupNm; private String goodsGroupNm;
/** 쇼핑몰코드 */ /** 쇼핑몰코드 */

View File

@@ -5,6 +5,7 @@ import java.util.List;
import com.wb.domainserver.domain.comm.vo.AbstractVO; import com.wb.domainserver.domain.comm.vo.AbstractVO;
import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@@ -55,6 +56,7 @@ public class BOSiteVO extends AbstractVO {
private String setupDvCd; private String setupDvCd;
/** 메인화면 중단 설정 명 */ /** 메인화면 중단 설정 명 */
@NotBlank(message = "메인화면 설정 명")
private String mainSiteNm; private String mainSiteNm;

View File

@@ -1,19 +1,24 @@
package com.wb.domainserver.domain.mngr.ordr.selngpruf.controller; package com.wb.domainserver.domain.mngr.ordr.selngpruf.controller;
import com.wb.domainserver.common.msg.GconeMessageSource; import com.wb.domainserver.common.msg.GconeMessageSource;
import com.wb.domainserver.domain.mngr.ordr.selngpruf.vo.SelngPrufVO; 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.ordr.selngpruf.service.BOSelngprufService;
import com.wb.domainserver.domain.gcone.ordr.selngpruf.vo.BOSelngprufVO;
import com.wb.domainserver.exception.WnbtRestException; import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.response.WnbtResponse; import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.dataaccess.DataMap;
import com.wb.domainserver.util.excel.ExcelDownloadUtil; import com.wb.domainserver.util.excel.ExcelDownloadUtil;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@@ -59,7 +64,11 @@ public class SelngprufController {
private GconeMessageSource gconeMessageSource; private GconeMessageSource gconeMessageSource;
@Autowired @Autowired
private WnbtWebClientResponseHandler responseHandler;; private BOSelngprufService service;
@Autowired
private BOMaComncdService bOMaComncdService;
/** /**
* 매출증빙 화면 이동 * 매출증빙 화면 이동
@@ -68,15 +77,39 @@ public class SelngprufController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectSelngPrufListInqireForm") @RequestMapping(value="/selectSelngPrufListInqireForm")
public String selectSelngPrufListInqireForm(SelngPrufVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectSelngPrufListInqireForm(BOSelngprufVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/selectBOSelngPrufListInqireForm", vo), // log.debug("SopmalCd : "+user.getSopmalCd());
model, // vo.setSopmalCd(user.getSopmalCd());
"resultMap"
);
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
// 공통코드 호출
BOMaComncdVO bOMaComncdVO = new BOMaComncdVO();
bOMaComncdVO.setGroupCd("REQST_DV"); // 신청구분코드
List<?> reqstDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("ISSU_STTUS"); // 발급상태코드
List<?> issuSttusList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
content.put("paramVO", vo);
content.put("reqstDvList", reqstDvList);
content.put("issuSttusList", issuSttusList);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/selectBOSelngPrufListInqireForm", vo),
// model,
// "resultMap"
// );
return "mngr/ordr/selngpruf/SelngPrufListInqireForm"; return "mngr/ordr/selngpruf/SelngPrufListInqireForm";
} }
@@ -88,15 +121,40 @@ public class SelngprufController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectSelngPrufListInqire") @RequestMapping(value="/selectSelngPrufListInqire")
public String selectSelngPrufListInqire(SelngPrufVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectSelngPrufListInqire(BOSelngprufVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/selectBOSelngPrufListInqire", vo), // log.debug("SopmalCd : "+user.getSopmalCd());
model, // vo.setSopmalCd(user.getSopmalCd());
"resultMap"
);
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
// 공통코드 호출
BOMaComncdVO bOMaComncdVO = new BOMaComncdVO();
bOMaComncdVO.setGroupCd("REQST_DV"); // 신청구분코드
List<?> reqstDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("ISSU_STTUS"); // 발급상태코드
List<?> issuSttusList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
content.put("paramVO", vo);
content.put("reqstDvList", reqstDvList);
content.put("issuSttusList", issuSttusList);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/selectBOSelngPrufListInqire", vo),
// model,
// "resultMap"
// );
return "mngr/ordr/selngpruf/SelngPrufListInqire"; return "mngr/ordr/selngpruf/SelngPrufListInqire";
} }
@@ -108,15 +166,29 @@ public class SelngprufController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectSelngPrufMngrMemoRegistPopupForm" , method = RequestMethod.GET) @RequestMapping(value="/selectSelngPrufMngrMemoRegistPopupForm" , method = RequestMethod.GET)
public String selectSelngPrufMngrMemoRegistPopupForm(SelngPrufVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public String selectSelngPrufMngrMemoRegistPopupForm(BOSelngprufVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/selectBOSelngPrufMngrMemoRegistPopupForm", vo), // log.debug("SopmalCd : "+user.getSopmalCd());
model, // vo.setSopmalCd(user.getSopmalCd());
"resultMap"
); if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
DataMap result = service.selectBOSelngPrufMngrMemoRegistPopupForm(vo);
Map<String, Object> content = new HashMap<>();
content.put("result", result);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/selectBOSelngPrufMngrMemoRegistPopupForm", vo),
// model,
// "resultMap"
// );
return "mngr/ordr/selngpruf/SelngPrufMngrMemoRegistPopup"; return "mngr/ordr/selngpruf/SelngPrufMngrMemoRegistPopup";
} }
@@ -127,15 +199,31 @@ public class SelngprufController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/updateSelngPrufMngrMemoUpdt") @RequestMapping(value="/updateSelngPrufMngrMemoUpdt", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateSelngPrufMngrMemoUpdt(SelngPrufVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public ResponseEntity<WnbtResponse> updateSelngPrufMngrMemoUpdt(BOSelngprufVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/updateBOSelngPrufMngrMemoRegistPopup", vo), // log.debug("SopmalCd : "+user.getSopmalCd());
ReplyFromResrc::getReply // vo.setSopmalCd(user.getSopmalCd());
);
vo.setUpdusr(user.getUserInnb());
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
Map<String, Object> message = service.updateBOSelngPrufMngrMemoRegistPopup(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(message))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/updateBOSelngPrufMngrMemoRegistPopup", vo),
// ReplyFromResrc::getReply
// );
} }
/** /**
@@ -145,15 +233,29 @@ public class SelngprufController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectSelngPrufTrnsmisLogPopupForm") @RequestMapping(value="/selectSelngPrufTrnsmisLogPopupForm")
public String selectSelngPrufTrnsmisLogPopupForm(SelngPrufVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public String selectSelngPrufTrnsmisLogPopupForm(BOSelngprufVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/selectBOSelngPrufTrnsmisLogInqire", vo), // log.debug("SopmalCd : "+user.getSopmalCd());
model, // vo.setSopmalCd(user.getSopmalCd());
"resultMap"
); if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
List<DataMap> resultList = service.selectBOSelngPrufTrnsmisLogInqire(vo);
Map<String, Object> content = new HashMap<>();
content.put("resultList", resultList);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/selectBOSelngPrufTrnsmisLogInqire", vo),
// model,
// "resultMap"
// );
return "mngr/ordr/selngpruf/SelngPrufTrnsmisLogPopupR"; return "mngr/ordr/selngpruf/SelngPrufTrnsmisLogPopupR";
} }
@@ -166,15 +268,29 @@ public class SelngprufController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectCshRcipt") @RequestMapping(value="/selectCshRcipt")
public String selectCshRcipt(SelngPrufVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public String selectCshRcipt(BOSelngprufVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/selectBOCshRcipt", vo), // log.debug("SopmalCd : "+user.getSopmalCd());
model, // vo.setSopmalCd(user.getSopmalCd());
"resultMap"
); if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
DataMap result = service.selectBOCshRcipt(vo);
Map<String, Object> content = new HashMap<>();
content.put("result", result);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/selectBOCshRcipt", vo),
// model,
// "resultMap"
// );
return "mngr/ordr/selngpruf/CshRciptInqirePopupR"; return "mngr/ordr/selngpruf/CshRciptInqirePopupR";
} }
@@ -186,15 +302,28 @@ public class SelngprufController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectCshRciptRegistPopupForm" , method = RequestMethod.GET) @RequestMapping(value="/selectCshRciptRegistPopupForm" , method = RequestMethod.GET)
public String selectCshRciptRegistPopupForm(SelngPrufVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public String selectCshRciptRegistPopupForm(BOSelngprufVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/selectBOCshRcipt", vo), // log.debug("SopmalCd : "+user.getSopmalCd());
model, // vo.setSopmalCd(user.getSopmalCd());
"resultMap"
); if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
DataMap result = service.selectBOCshRcipt(vo);
Map<String, Object> content = new HashMap<>();
content.put("result", result);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/selectBOCshRcipt", vo),
// model,
// "resultMap"
// );
model.addAttribute("flag", vo.getFlag()); model.addAttribute("flag", vo.getFlag());
@@ -207,15 +336,31 @@ public class SelngprufController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/updateCshRcipt" , method = RequestMethod.POST) @RequestMapping(value="/updateCshRcipt" , method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateCshRcipt(SelngPrufVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public ResponseEntity<WnbtResponse> updateCshRcipt(BOSelngprufVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/updateBOCshRcipt", vo), // log.debug("SopmalCd : "+user.getSopmalCd());
ReplyFromResrc::getReply // vo.setSopmalCd(user.getSopmalCd());
);
vo.setUpdusr(user.getUserInnb());
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
Map<String, Object> message = service.updateBOCshRcipt(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(message))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/updateBOCshRcipt", vo),
// ReplyFromResrc::getReply
// );
} }
/** /**
@@ -224,15 +369,31 @@ public class SelngprufController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/insertCshRciptRegist", method = RequestMethod.POST) @RequestMapping(value="/insertCshRciptRegist", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> insertCshRciptRegist(SelngPrufVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public ResponseEntity<WnbtResponse> insertCshRciptRegist(BOSelngprufVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/insertBOCshRciptRegist", vo), // log.debug("SopmalCd : "+user.getSopmalCd());
ReplyFromResrc::getReply // vo.setSopmalCd(user.getSopmalCd());
);
vo.setUpdusr(user.getUserInnb());
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
Map<String, Object> message = service.insertBOCshRciptRegist(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(message))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/insertBOCshRciptRegist", vo),
// ReplyFromResrc::getReply
// );
} }
/** /**
@@ -242,15 +403,27 @@ public class SelngprufController {
* @return * @return
*/ */
@Policy(AuthPolicy.PUBLIC) @Policy(AuthPolicy.PUBLIC)
@RequestMapping(value = "/updateCashReceiptRegist") @RequestMapping(value = "/updateCashReceiptRegist", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateCashReceiptRegist(SelngPrufVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public ResponseEntity<WnbtResponse> updateCashReceiptRegist(BOSelngprufVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd){
vo.setSopmalCd(authSopmalCd);
vo.setSopmalCd(authSopmalCd); //인증번호, 주문번호 AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
return responseHandler.handleResponse( if("01".equals(user.getSysDvCd())){
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/updateCashReceipt", vo), vo.setSopmalCd(user.getSopmalCd());
ReplyFromResrc::getReply }
Map<String, Object> message = service.updateCashReceipt(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(message))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/updateCashReceipt", vo),
// ReplyFromResrc::getReply
// );
} }
/** /**
@@ -260,13 +433,25 @@ public class SelngprufController {
*/ */
@Policy(AuthPolicy.PUBLIC) @Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/excelFileDownload", method = RequestMethod.POST) @RequestMapping(value="/excelFileDownload", method = RequestMethod.POST)
public void excelFileDownload(SelngPrufVO vo, HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public void excelFileDownload(BOSelngprufVO vo, HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
Map<String,Object> resultMap = responseHandler.handleResponseAsMap( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/excelFileDownload",vo)
); if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
DataMap resultMap = new DataMap();
List<DataMap> resExcelList = new ArrayList<>();
resExcelList = service.selectBOSopmalExcelList(vo);
resultMap.put("excelList", resExcelList);
// Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/excelFileDownload",vo)
// );
List<Map<String, Object>> excelList = new ArrayList<>(); List<Map<String, Object>> excelList = new ArrayList<>();
@@ -374,15 +559,32 @@ public class SelngprufController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectSopmalSetleSetup", method = RequestMethod.GET) @RequestMapping(value="/selectSopmalSetleSetup", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectSopmalSetleSetup(SelngPrufVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public ResponseEntity<WnbtResponse> selectSopmalSetleSetup(BOSelngprufVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/selectBOSopmalSetleSetup", vo),
ReplyFromResrc::getReply if("01".equals(user.getSysDvCd())){
); vo.setSopmalCd(user.getSopmalCd());
}
BOSelngprufVO result = service.selectBOSopmalSetleSetup(vo);
Map<String, Object> content = new HashMap<>();
content.put("mid", result.getMid());
content.put("pgCmpnyNm", result.getPgCmpnyNm());
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/selngpruf/selectBOSopmalSetleSetup", vo),
// ReplyFromResrc::getReply
// );
} }

View File

@@ -1,25 +1,32 @@
package com.wb.domainserver.domain.mngr.promtn.purchs.controller; package com.wb.domainserver.domain.mngr.promtn.purchs.controller;
import com.wb.domainserver.common.msg.GconeMessageSource; import com.wb.domainserver.common.msg.GconeMessageSource;
import com.wb.domainserver.domain.mngr.goods.goodsmngr.vo.GoodsmngrVO; import com.wb.domainserver.common.mvc.tags.ui.pagination.PaginationInfo;
import com.wb.domainserver.domain.mngr.promtn.purchs.vo.PurchsEvtDiscountBnefVO; import com.wb.domainserver.common.prop.PaginationProperties;
import com.wb.domainserver.domain.mngr.promtn.purchs.vo.PurchsEvtVO; 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.admin.sys.ctgry.service.BOMaCtgryService;
import com.wb.domainserver.domain.gcone.goods.goods.vo.BOGoodsVO;
import com.wb.domainserver.domain.gcone.promtn.purchs.service.BOPurchsEvtService;
import com.wb.domainserver.domain.gcone.promtn.purchs.vo.BOPurchsEvtDiscountBnefVO;
import com.wb.domainserver.domain.gcone.promtn.purchs.vo.BOPurchsEvtVO;
import com.wb.domainserver.exception.WnbtRestException; import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.response.WnbtResponse; import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.communicate.ValidateResultConverter; import com.wb.domainserver.util.communicate.ValidateResultConverter;
import com.wb.domainserver.util.file.FileMngUtil; import com.wb.domainserver.util.dataaccess.DataMap;
import com.wb.domainserver.util.file.service.FileStorageService; import com.wb.domainserver.util.file.service.FileStorageService;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.tika.utils.StringUtils; import org.apache.tika.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@@ -66,18 +73,20 @@ public class PurchsEvtController {
@Autowired @Autowired
private GconeMessageSource gconeMessageSource; private GconeMessageSource gconeMessageSource;
@Autowired
private FileMngUtil fileMngUtil;
@Autowired @Autowired
private FileStorageService filestore; private FileStorageService filestore;
@Value("${mngrfo.common.fileupload.uploaddirs.goods}") @Autowired
private String uploadFilePath; private BOPurchsEvtService service;
@Value("${mngrfo.common.fileupload.extensions.images}") @Autowired
private String whiteListFileUploadExtensions; private BOMaCtgryService boMaCtgryService;
@Autowired
private PaginationProperties paginationProperties;
@Autowired
private BOMaComncdService bOMaComncdService;
/** /**
@@ -87,13 +96,28 @@ public class PurchsEvtController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectPurchsEvtListInqireForm") @RequestMapping(value = "/selectPurchsEvtListInqireForm")
public String selectPurchsEvtListInqireForm(PurchsEvtVO purchsEvtVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectPurchsEvtListInqireForm(BOPurchsEvtVO purchsEvtVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
purchsEvtVO.setSopmalCd(authSopmalCd); purchsEvtVO.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/selectBOPurchsEvtListInqireForm", purchsEvtVO), Map<String, Object> content = new HashMap<>();
model, log.debug("*****pageunit : {}", paginationProperties.getPageUnit());
"resultMap"
); // 공통코드 호출
BOMaComncdVO bOMaComncdVO = new BOMaComncdVO();
bOMaComncdVO.setGroupCd("PURCHS_EVT_DV"); // 구매이벤트구분코드
List<?> purchsEvtDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
// 검색 값 할당
content.put("paramVO", purchsEvtVO);
content.put("purchsEvtDvList", purchsEvtDvList);
log.debug("purchsVO is {}", purchsEvtVO);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/selectBOPurchsEvtListInqireForm", purchsEvtVO),
// model,
// "resultMap"
// );
return "mngr/promtn/purchs/PurchsEvtListInqireRForm"; return "mngr/promtn/purchs/PurchsEvtListInqireRForm";
} }
@@ -106,13 +130,61 @@ public class PurchsEvtController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectPurchsEvtListInqire") @RequestMapping(value = "/selectPurchsEvtListInqire")
public String selectPurchsEvtListInqire(PurchsEvtVO purchsEvtVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectPurchsEvtListInqire(BOPurchsEvtVO purchsEvtVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
purchsEvtVO.setSopmalCd(authSopmalCd); purchsEvtVO.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/selectBOPurchsEvtListInqire", purchsEvtVO), // 작성자 정보 할당
model, AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
"resultMap" if("01".equals(user.getSysDvCd())){
); purchsEvtVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드
}
purchsEvtVO.setRegusr(user.getUserInnb()); // 등록자
purchsEvtVO.setUpdusr(user.getUserInnb()); // 수정자
Map<String, Object> content = new HashMap<>();
log.debug("*****pageunit : {}", paginationProperties.getPageUnit());
// 페이징 객체 생성 & 페이징정보 할당
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(purchsEvtVO.getPageIndex());
paginationInfo.setRecordCountPerPage(purchsEvtVO.getPageUnit());
paginationInfo.setPageSize(paginationProperties.getPageSize());
purchsEvtVO.setPaginationInfo(paginationInfo);
purchsEvtVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
purchsEvtVO.setLastIndex(paginationInfo.getLastRecordIndex());
purchsEvtVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
// 구매이벤트 목록 조회
List<DataMap> resultList = service.selectBOPurchsEvtListInqire(purchsEvtVO);
log.debug("resultList is {}", resultList);
// 진행건수
Integer ingCnt = service.selectBOPurchsEvtListIngCnt(purchsEvtVO);
// 종료건수
Integer endCnt = service.selectBOPurchsEvtListEndCnt(purchsEvtVO);
// 공통코드 호출
BOMaComncdVO bOMaComncdVO = new BOMaComncdVO();
bOMaComncdVO.setGroupCd("PURCHS_EVT_DV"); // 구매이벤트구분코드
List<?> purchsEvtDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
// 맵에 페이징 정보와 리스트를 넣어줌
content.put("paramVO", purchsEvtVO);
content.put("resultList", resultList);
content.put("paginationInfo", purchsEvtVO.getPaginationInfo());
content.put("purchsEvtDvList", purchsEvtDvList);
content.put("ingCnt", ingCnt);
content.put("endCnt", endCnt);
log.debug("purchsVO is {}", purchsEvtVO);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/selectBOPurchsEvtListInqire", purchsEvtVO),
// model,
// "resultMap"
// );
model.addAttribute("purchsEvtVO", purchsEvtVO); model.addAttribute("purchsEvtVO", purchsEvtVO);
return "mngr/promtn/purchs/PurchsEvtListInqireR"; return "mngr/promtn/purchs/PurchsEvtListInqireR";
@@ -125,13 +197,30 @@ public class PurchsEvtController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/deletePurchsEvtDel" , method = RequestMethod.POST) @RequestMapping(value="/deletePurchsEvtDel" , method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> deletePurchsEvtDel(PurchsEvtVO purchsEvtVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> deletePurchsEvtDel(BOPurchsEvtVO purchsEvtVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
purchsEvtVO.setSopmalCd(authSopmalCd); purchsEvtVO.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/deleteBOPurchsEvtDel", purchsEvtVO), // 작성자 정보 할당
ReplyFromResrc::getReply AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
purchsEvtVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드
}
purchsEvtVO.setUpdusr(user.getUserInnb()); // 수정자
// 구매이벤트 삭제 로직
Map<String, Object> message = new HashMap<>();
message = service.deleteBOPurchsEvtDel(purchsEvtVO);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(message))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/deleteBOPurchsEvtDel", purchsEvtVO),
// ReplyFromResrc::getReply
// );
} }
@@ -141,17 +230,67 @@ public class PurchsEvtController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectPurchsEvtRegistForm") @RequestMapping(value="/selectPurchsEvtRegistForm")
public String selectPurchsEvtRegistForm(PurchsEvtVO purchsEvtVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectPurchsEvtRegistForm(BOPurchsEvtVO purchsEvtVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
purchsEvtVO.setSopmalCd(authSopmalCd); purchsEvtVO.setSopmalCd(authSopmalCd);
GoodsmngrVO vo = new GoodsmngrVO();
vo.setUpperCtgryId("2");
purchsEvtVO.setUpperCtgryId("2"); purchsEvtVO.setUpperCtgryId("2");
responseHandler.handleResponse( // 작성자 정보 할당
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/selectBOPurchsEvtRegistForm", purchsEvtVO), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
model, if("01".equals(user.getSysDvCd())){
"resultMap" purchsEvtVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드
); }
// 공통코드 호출
BOMaComncdVO bOMaComncdVO = new BOMaComncdVO();
bOMaComncdVO.setGroupCd("PURCHS_EVT_DV"); // 구매이벤트구분코드
List<?> purchsEvtDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("GOODS_APPLC_DV"); // 적용대상 제한구분코드
List<?> goodsCtgryLmttDvCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("BNEF_DV"); // 쿠폰혜택구분
List<?> benfDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("MLG_ACCML_UNIT_DV"); // 마일리지 금액비율
List<?> milageAmtRtDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("DSCNT_UNIT_DV"); // 할인단위구분 금액비율
List<?> discountAmtRtDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("DAY_DV"); // 요일코드
List<?> applcDowDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("EVT_TRGET_DV"); // 이벤트 대상구분코드
List<?> evtTrgetDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("DSCNT_BNEF_DV"); // 할인 혜택 구분 코드
List<?> dscntBnefDvCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
BOGoodsVO vo = new BOGoodsVO();
vo.setUpperCtgryId(purchsEvtVO.getUpperCtgryId());
vo.setSopmalCd(purchsEvtVO.getSopmalCd());
List<?> GoodsCategoryList = boMaCtgryService.selectGoodsCategoryList(vo);
Map<String, Object> result = service.selectBOPurchsEvtRegistForm(purchsEvtVO);
Map<String, Object> content = new HashMap<>();
content.put("purchsEvtDvList", purchsEvtDvList);
content.put("goodsCtgryLmttDvCdList", goodsCtgryLmttDvCdList);
content.put("benfDvList", benfDvList);
content.put("milageAmtRtDvList", milageAmtRtDvList);
content.put("discountAmtRtDvList", discountAmtRtDvList);
content.put("applcDowDvList", applcDowDvList);
content.put("evtTrgetDvList", evtTrgetDvList);
content.put("dscntBnefDvCdList", dscntBnefDvCdList);
content.put("goodsCategoryList", GoodsCategoryList); // 카테고리 depth1
content.put("result", result);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/selectBOPurchsEvtRegistForm", purchsEvtVO),
// model,
// "resultMap"
// );
model.addAttribute("purchsEvtVO", purchsEvtVO); model.addAttribute("purchsEvtVO", purchsEvtVO);
return "mngr/promtn/purchs/PurchsEvtRegistC"; return "mngr/promtn/purchs/PurchsEvtRegistC";
@@ -162,7 +301,7 @@ public class PurchsEvtController {
* Validate체크 등록, 수정 * Validate체크 등록, 수정
* @param purchsEvtVO * @param purchsEvtVO
*/ */
private void customValidatePurchsEvt(PurchsEvtVO purchsEvtVO) { private void customValidatePurchsEvt(BOPurchsEvtVO purchsEvtVO) {
List<Map<String, String>> errorList = new ArrayList<>(); List<Map<String, String>> errorList = new ArrayList<>();
@@ -234,7 +373,7 @@ public class PurchsEvtController {
if (purchsEvtVO.getDiscountBnefVOList() != null && !purchsEvtVO.getDiscountBnefVOList().isEmpty()) { if (purchsEvtVO.getDiscountBnefVOList() != null && !purchsEvtVO.getDiscountBnefVOList().isEmpty()) {
for (PurchsEvtDiscountBnefVO tempVO : purchsEvtVO.getDiscountBnefVOList()) { for (BOPurchsEvtDiscountBnefVO tempVO : purchsEvtVO.getDiscountBnefVOList()) {
if ("".equals(tempVO.getDscntMxmmAmt())) { if ("".equals(tempVO.getDscntMxmmAmt())) {
tempVO.setDscntMxmmAmt(null); tempVO.setDscntMxmmAmt(null);
} }
@@ -264,7 +403,7 @@ public class PurchsEvtController {
} }
for (PurchsEvtDiscountBnefVO tempVO : purchsEvtVO.getDiscountBnefVOList()) { for (BOPurchsEvtDiscountBnefVO tempVO : purchsEvtVO.getDiscountBnefVOList()) {
if ("0".equals(tempVO.getProvdCnt())) { if ("0".equals(tempVO.getProvdCnt())) {
errorList.add(ValidateResultConverter.setErrorMap("error", "사은품 증정 개수는 최소 1개 이상입니다.")); errorList.add(ValidateResultConverter.setErrorMap("error", "사은품 증정 개수는 최소 1개 이상입니다."));
@@ -294,8 +433,8 @@ public class PurchsEvtController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/insertPurchsEvtRegist") @RequestMapping(value="/insertPurchsEvtRegist", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> insertPurchsEvtRegist(@Validated PurchsEvtVO purchsEvtVO, BindingResult bindingResult, HttpServletRequest request, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public ResponseEntity<WnbtResponse> insertPurchsEvtRegist(@Validated BOPurchsEvtVO purchsEvtVO, BindingResult bindingResult, HttpServletRequest request, @CookieValue(value = "authSopmalCd") String authSopmalCd){
purchsEvtVO.setSopmalCd(authSopmalCd); purchsEvtVO.setSopmalCd(authSopmalCd);
log.debug("purchsEvtVO : {}", purchsEvtVO); log.debug("purchsEvtVO : {}", purchsEvtVO);
// 정합성 검사 // 정합성 검사
@@ -349,10 +488,30 @@ public class PurchsEvtController {
} }
return responseHandler.handleResponse( // 작성자 정보 할당
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/insertBOPurchsEvtRegist", purchsEvtVO), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
ReplyFromResrc::getReply if("01".equals(user.getSysDvCd())){
purchsEvtVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드
}
purchsEvtVO.setRegusr(user.getUserInnb()); // 등록자
purchsEvtVO.setUpdusr(user.getUserInnb()); // 수정자
log.debug("BO purchsEvtVO : {}", purchsEvtVO);
// 구매이벤트 등록 로직
Map<String, Object> message = new HashMap<>();
message = service.insertBOPurchsEvtRegist(purchsEvtVO);
log.debug("message 성공 확인 : {}", message);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(message))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/insertBOPurchsEvtRegist", purchsEvtVO),
// ReplyFromResrc::getReply
// );
} }
@@ -385,18 +544,74 @@ public class PurchsEvtController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectPurchsEvtDtlUpdtInqire") @RequestMapping(value="/selectPurchsEvtDtlUpdtInqire")
public String selectPurchsEvtDtlUpdtInqire(PurchsEvtVO purchsEvtVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public String selectPurchsEvtDtlUpdtInqire(BOPurchsEvtVO purchsEvtVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){
purchsEvtVO.setSopmalCd(authSopmalCd); purchsEvtVO.setSopmalCd(authSopmalCd);
GoodsmngrVO vo = new GoodsmngrVO();
vo.setUpperCtgryId("2");
purchsEvtVO.setUpperCtgryId("2"); purchsEvtVO.setUpperCtgryId("2");
responseHandler.handleResponse( // 작성자 정보 할당
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/selectBOPurchsEvtDtlUpdtInqire", purchsEvtVO), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
model, if("01".equals(user.getSysDvCd())){
"resultMap" purchsEvtVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드
); }
purchsEvtVO.setRegusr(user.getUserInnb()); // 등록자
purchsEvtVO.setUpdusr(user.getUserInnb()); // 수정자
Map<String, Object> result = new HashMap<>();
result = service.selectBOPurchsEvtDtlUpdtInqire(purchsEvtVO);
Map<String, Object> relatedGoods = service.selectBOEvtIssueGoodsInfoInqire(purchsEvtVO);
log.debug("relatedGoods = {}", relatedGoods);
List<DataMap> goodsCtgryList = service.selectBOEvtIssueCtgryInfoInqire(purchsEvtVO);
// 공통코드 호출
BOMaComncdVO bOMaComncdVO = new BOMaComncdVO();
bOMaComncdVO.setGroupCd("PURCHS_EVT_DV"); // 구매이벤트구분코드
List<?> purchsEvtDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("GOODS_APPLC_DV"); // 적용대상 제한구분코드
List<?> goodsCtgryLmttDvCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("BNEF_DV"); // 쿠폰혜택구분
List<?> benfDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("MLG_ACCML_UNIT_DV"); // 마일리지 금액비율
List<?> milageAmtRtDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("DSCNT_UNIT_DV"); // 할인단위구분 금액비율
List<?> discountAmtRtDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("DAY_DV"); // 요일코드
List<?> applcDowDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("EVT_TRGET_DV"); // 이벤트 대상구분코드
List<?> evtTrgetDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("DSCNT_BNEF_DV"); // 할인 혜택 구분 코드
List<?> dscntBnefDvCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
BOGoodsVO vo = new BOGoodsVO();
vo.setUpperCtgryId(purchsEvtVO.getUpperCtgryId());
vo.setSopmalCd(purchsEvtVO.getSopmalCd());
List<?> GoodsCategoryList = boMaCtgryService.selectGoodsCategoryList(vo);
Map<String, Object> content = new HashMap<>();
content.put("purchsEvtDvList", purchsEvtDvList);
content.put("goodsCtgryLmttDvCdList", goodsCtgryLmttDvCdList);
content.put("benfDvList", benfDvList);
content.put("milageAmtRtDvList", milageAmtRtDvList);
content.put("discountAmtRtDvList", discountAmtRtDvList);
content.put("applcDowDvList", applcDowDvList);
content.put("evtTrgetDvList", evtTrgetDvList);
content.put("dscntBnefDvCdList", dscntBnefDvCdList);
content.put("goodsCategoryList", GoodsCategoryList); // 카테고리 depth1
content.put("relatedGoods", relatedGoods);
content.put("goodsCtgryList", goodsCtgryList);
content.put("result", result);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/selectBOPurchsEvtDtlUpdtInqire", purchsEvtVO),
// model,
// "resultMap"
// );
model.addAttribute("purchsEvtVO", purchsEvtVO); model.addAttribute("purchsEvtVO", purchsEvtVO);
return "mngr/promtn/purchs/PurchsEvtDtlUpdtU"; return "mngr/promtn/purchs/PurchsEvtDtlUpdtU";
@@ -411,13 +626,72 @@ public class PurchsEvtController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectPurchsEvtCopyForm") @RequestMapping(value="/selectPurchsEvtCopyForm")
public String selectPurchsEvtCopyForm(PurchsEvtVO purchsEvtVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public String selectPurchsEvtCopyForm(BOPurchsEvtVO purchsEvtVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){
purchsEvtVO.setSopmalCd(authSopmalCd); purchsEvtVO.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/selectBOPurchsEvtDtlUpdtInqire", purchsEvtVO), // 작성자 정보 할당
model, AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
"resultMap" if("01".equals(user.getSysDvCd())){
); purchsEvtVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드
}
purchsEvtVO.setRegusr(user.getUserInnb()); // 등록자
purchsEvtVO.setUpdusr(user.getUserInnb()); // 수정자
Map<String, Object> result = new HashMap<>();
result = service.selectBOPurchsEvtDtlUpdtInqire(purchsEvtVO);
Map<String, Object> relatedGoods = service.selectBOEvtIssueGoodsInfoInqire(purchsEvtVO);
log.debug("relatedGoods = {}", relatedGoods);
List<DataMap> goodsCtgryList = service.selectBOEvtIssueCtgryInfoInqire(purchsEvtVO);
// 공통코드 호출
BOMaComncdVO bOMaComncdVO = new BOMaComncdVO();
bOMaComncdVO.setGroupCd("PURCHS_EVT_DV"); // 구매이벤트구분코드
List<?> purchsEvtDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("GOODS_APPLC_DV"); // 적용대상 제한구분코드
List<?> goodsCtgryLmttDvCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("BNEF_DV"); // 쿠폰혜택구분
List<?> benfDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("MLG_ACCML_UNIT_DV"); // 마일리지 금액비율
List<?> milageAmtRtDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("DSCNT_UNIT_DV"); // 할인단위구분 금액비율
List<?> discountAmtRtDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("DAY_DV"); // 요일코드
List<?> applcDowDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("EVT_TRGET_DV"); // 이벤트 대상구분코드
List<?> evtTrgetDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("DSCNT_BNEF_DV"); // 할인 혜택 구분 코드
List<?> dscntBnefDvCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
BOGoodsVO vo = new BOGoodsVO();
vo.setUpperCtgryId(purchsEvtVO.getUpperCtgryId());
vo.setSopmalCd(purchsEvtVO.getSopmalCd());
List<?> GoodsCategoryList = boMaCtgryService.selectGoodsCategoryList(vo);
Map<String, Object> content = new HashMap<>();
content.put("purchsEvtDvList", purchsEvtDvList);
content.put("goodsCtgryLmttDvCdList", goodsCtgryLmttDvCdList);
content.put("benfDvList", benfDvList);
content.put("milageAmtRtDvList", milageAmtRtDvList);
content.put("discountAmtRtDvList", discountAmtRtDvList);
content.put("applcDowDvList", applcDowDvList);
content.put("evtTrgetDvList", evtTrgetDvList);
content.put("dscntBnefDvCdList", dscntBnefDvCdList);
content.put("goodsCategoryList", GoodsCategoryList); // 카테고리 depth1
content.put("relatedGoods", relatedGoods);
content.put("goodsCtgryList", goodsCtgryList);
content.put("result", result);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/selectBOPurchsEvtDtlUpdtInqire", purchsEvtVO),
// model,
// "resultMap"
// );
model.addAttribute("purchsEvtVO", purchsEvtVO); model.addAttribute("purchsEvtVO", purchsEvtVO);
return "mngr/promtn/purchs/PurchsEvtCopyC"; return "mngr/promtn/purchs/PurchsEvtCopyC";
@@ -430,8 +704,8 @@ public class PurchsEvtController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/updatePurchsEvtUpdt") @RequestMapping(value="/updatePurchsEvtUpdt", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updatePurchsEvtUpdt(@Validated PurchsEvtVO purchsEvtVO, BindingResult bindingResult, HttpServletRequest request, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public ResponseEntity<WnbtResponse> updatePurchsEvtUpdt(@Validated BOPurchsEvtVO purchsEvtVO, BindingResult bindingResult, HttpServletRequest request, @CookieValue(value = "authSopmalCd") String authSopmalCd){
purchsEvtVO.setSopmalCd(authSopmalCd); purchsEvtVO.setSopmalCd(authSopmalCd);
// 정합성 검사 // 정합성 검사
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
@@ -453,10 +727,28 @@ public class PurchsEvtController {
} }
purchsEvtVO.setFileInfo(ulpladFileMap); purchsEvtVO.setFileInfo(ulpladFileMap);
return responseHandler.handleResponse( // 작성자 정보 할당
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/updateBOPurchsEvtUpdt", purchsEvtVO), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
ReplyFromResrc::getReply if("01".equals(user.getSysDvCd())){
purchsEvtVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드
}
purchsEvtVO.setUpdusr(user.getUserInnb()); // 수정자
log.debug("BO purchsEvtVO : {}", purchsEvtVO);
// 구매이벤트 등록 로직
Map<String, Object> message = new HashMap<>();
message = service.updateBOPurchsEvtUpdt(purchsEvtVO);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(message))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/updateBOPurchsEvtUpdt", purchsEvtVO),
// ReplyFromResrc::getReply
// );
} }
@@ -468,7 +760,7 @@ public class PurchsEvtController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectEvtBannerSortPopupForm") @RequestMapping(value="/selectEvtBannerSortPopupForm")
public String selectEvtBannerSortForm(PurchsEvtVO purchsEvtVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public String selectEvtBannerSortForm(BOPurchsEvtVO purchsEvtVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){
purchsEvtVO.setSopmalCd(authSopmalCd); purchsEvtVO.setSopmalCd(authSopmalCd);
/*진행 중인 이벤트와 배너 이미지 있는 이벤트 조건 부여*/ /*진행 중인 이벤트와 배너 이미지 있는 이벤트 조건 부여*/
String[] srchStatus = {"i"}; String[] srchStatus = {"i"};
@@ -477,11 +769,59 @@ public class PurchsEvtController {
purchsEvtVO.setSortDv("banner"); purchsEvtVO.setSortDv("banner");
purchsEvtVO.setPageIndex(1); purchsEvtVO.setPageIndex(1);
purchsEvtVO.setPageUnit(50); purchsEvtVO.setPageUnit(50);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/selectBOPurchsEvtListInqire", purchsEvtVO), // 작성자 정보 할당
model, AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
"resultMap" if("01".equals(user.getSysDvCd())){
); purchsEvtVO.setSopmalCd(user.getSopmalCd()); // 쇼핑몰 코드
}
purchsEvtVO.setRegusr(user.getUserInnb()); // 등록자
purchsEvtVO.setUpdusr(user.getUserInnb()); // 수정자
Map<String, Object> content = new HashMap<>();
log.debug("*****pageunit : {}", paginationProperties.getPageUnit());
// 페이징 객체 생성 & 페이징정보 할당
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(purchsEvtVO.getPageIndex());
paginationInfo.setRecordCountPerPage(purchsEvtVO.getPageUnit());
paginationInfo.setPageSize(paginationProperties.getPageSize());
purchsEvtVO.setPaginationInfo(paginationInfo);
purchsEvtVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
purchsEvtVO.setLastIndex(paginationInfo.getLastRecordIndex());
purchsEvtVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
// 구매이벤트 목록 조회
List<DataMap> resultList = service.selectBOPurchsEvtListInqire(purchsEvtVO);
log.debug("resultList is {}", resultList);
// 진행건수
Integer ingCnt = service.selectBOPurchsEvtListIngCnt(purchsEvtVO);
// 종료건수
Integer endCnt = service.selectBOPurchsEvtListEndCnt(purchsEvtVO);
// 공통코드 호출
BOMaComncdVO bOMaComncdVO = new BOMaComncdVO();
bOMaComncdVO.setGroupCd("PURCHS_EVT_DV"); // 구매이벤트구분코드
List<?> purchsEvtDvList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
// 맵에 페이징 정보와 리스트를 넣어줌
content.put("paramVO", purchsEvtVO);
content.put("resultList", resultList);
content.put("paginationInfo", purchsEvtVO.getPaginationInfo());
content.put("purchsEvtDvList", purchsEvtDvList);
content.put("ingCnt", ingCnt);
content.put("endCnt", endCnt);
log.debug("purchsVO is {}", purchsEvtVO);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/selectBOPurchsEvtListInqire", purchsEvtVO),
// model,
// "resultMap"
// );
return "mngr/promtn/purchs/PurchsEvtBannerPopupForm"; return "mngr/promtn/purchs/PurchsEvtBannerPopupForm";
} }
@@ -491,8 +831,8 @@ public class PurchsEvtController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/updateEvtBannerSort") @RequestMapping(value="/updateEvtBannerSort", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateEvtBannerSort(PurchsEvtVO purchsEvtVO, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public ResponseEntity<WnbtResponse> updateEvtBannerSort(BOPurchsEvtVO purchsEvtVO, @CookieValue(value = "authSopmalCd") String authSopmalCd){
purchsEvtVO.setSopmalCd(authSopmalCd); purchsEvtVO.setSopmalCd(authSopmalCd);
log.debug("purchsEvtVO 확인 => {}", purchsEvtVO); log.debug("purchsEvtVO 확인 => {}", purchsEvtVO);
/*진행 중인 이벤트와 배너 이미지 있는 이벤트 조건 부여*/ /*진행 중인 이벤트와 배너 이미지 있는 이벤트 조건 부여*/
@@ -502,9 +842,21 @@ public class PurchsEvtController {
purchsEvtVO.setSortDv("banner"); purchsEvtVO.setSortDv("banner");
purchsEvtVO.setPageIndex(1); purchsEvtVO.setPageIndex(1);
purchsEvtVO.setPageUnit(50); purchsEvtVO.setPageUnit(50);
return responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/updateBOEvtBannerSort", purchsEvtVO), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
ReplyFromResrc::getReply purchsEvtVO.setUpdusr(user.getUserInnb()); // 수정자
Map<String, Object> message = new HashMap<>();
message = service.updateBOEvtBannerSort(purchsEvtVO);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(message))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/promtn/purchs/updateBOEvtBannerSort", purchsEvtVO),
// ReplyFromResrc::getReply
// );
} }
} }

View File

@@ -1,23 +1,39 @@
package com.wb.domainserver.domain.mngr.puri.controller; package com.wb.domainserver.domain.mngr.puri.controller;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.wb.domainserver.common.msg.GconeMessageSource; 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.gcone.puri.service.BOPuriService;
import com.wb.domainserver.domain.gcone.puri.vo.BOPuriSrchVO;
import com.wb.domainserver.domain.mngr.puri.vo.PuriSrchVO; import com.wb.domainserver.domain.mngr.puri.vo.PuriSrchVO;
import com.wb.domainserver.response.WnbtResponse; import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC; import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc; import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.dataaccess.DataMap;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.json.simple.JSONObject;
import org.springframework.beans.factory.annotation.Autowired; 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.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Map; import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
@Slf4j @Slf4j
@@ -36,6 +52,15 @@ public class PuriController {
@Autowired @Autowired
private GconeMessageSource gconeMessageSource; private GconeMessageSource gconeMessageSource;
@Autowired
private BOPuriService service;
@Autowired
private PaginationProperties paginationProperties;
@Value("${secret.key}")
private String secretKey;
/** /**
* 정수기 판매 및 설치내역 * 정수기 판매 및 설치내역
* @param vo 게시판 등록 파라미터 VO * @param vo 게시판 등록 파라미터 VO
@@ -43,13 +68,44 @@ public class PuriController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectPuriOrderListR") @RequestMapping(value="/selectPuriOrderListR")
public String selectPuriOrderListR(PuriSrchVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public String selectPuriOrderListR(BOPuriSrchVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( // 작성자 정보 할당
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/puri/selectPuriOrderListR", vo), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
model, if("01".equals(user.getSysDvCd())){
"resultMap" vo.setSopmalCd(user.getSopmalCd());
); }
log.debug(" 검색 파라미터 확인 리스트 검색조건 : {}", vo);
DataMap content = new DataMap();
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());
vo.setSecretKey(secretKey);
List<DataMap> list = new ArrayList<>();
list = service.selectBOPuriOrderList(vo);
log.debug("asdsadasdsa" + vo.getPaginationInfo().getTotalRecordCount());
content.put("list", list);
content.put("BOPuriSrchVO", vo);
content.put("paginationInfo", vo.getPaginationInfo());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/puri/selectPuriOrderListR", vo),
// model,
// "resultMap"
// );
return "mngr/puri/PuriOrderListR"; return "mngr/puri/PuriOrderListR";
} }
@@ -60,13 +116,23 @@ public class PuriController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectPuriOrderListForm") @RequestMapping(value="/selectPuriOrderListForm")
public String selectPuriOrderListForm(PuriSrchVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public String selectPuriOrderListForm(BOPuriSrchVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/puri/selectPuriOrderListForm", vo), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
model, if("01".equals(user.getSysDvCd())){
"resultMap" vo.setSopmalCd(user.getSopmalCd());
); }
DataMap content = new DataMap();
content.put("BOPuriSrchVO", vo);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/puri/selectPuriOrderListForm", vo),
// model,
// "resultMap"
// );
return "mngr/puri/PuriOrderList"; return "mngr/puri/PuriOrderList";
} }
@@ -85,7 +151,7 @@ public class PuriController {
/** /**
* 정수기 필터 교체 문자 발송 내역 * 정수기 필터 교체 문자 발송 내역
* @param vo 게시판 등록 파라미터 VO * @param puriAllimSeq 게시판 등록 파라미터 VO
* @return String JSP 경로 * @return String JSP 경로
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@@ -93,49 +159,104 @@ public class PuriController {
@ResponseBody @ResponseBody
public Map<String,Object> selectPuriAllimList(@RequestParam Integer puriAllimSeq){ public Map<String,Object> selectPuriAllimList(@RequestParam Integer puriAllimSeq){
PuriSrchVO vo = new PuriSrchVO(); BOPuriSrchVO vo = new BOPuriSrchVO();
vo.setPuriAllimSeq(puriAllimSeq); vo.setPuriAllimSeq(puriAllimSeq);
log.debug(" 검색 파라미터 확인 231: {}", vo); log.debug(" 검색 파라미터 확인 231: {}", vo);
Map<String,Object> resultMap = responseHandler.handleResponseAsMap( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/puri/selectPuriAllimList", vo) if("01".equals(user.getSysDvCd())){
); vo.setSopmalCd(user.getSopmalCd());
}
vo.setSecretKey(secretKey);
log.debug(" 검색 파라미터 확인 231: {}", vo);
Map<String,Object> resultMap = new HashMap<>();
List<DataMap> list = new ArrayList<>();
list = service.selectPuriAllimList(vo);
resultMap.put("list", list);
// Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/puri/selectPuriAllimList", vo)
// );
return resultMap; return resultMap;
} }
/** /**
* 정수기 필터 상세 페이지 puri_order 내역 업데이트 * 정수기 필터 상세 페이지 puri_order 내역 업데이트
* @param vo 게시판 등록 파라미터 VO * @param formData 게시판 등록 파라미터 VO
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/updatePuriOrder" , method= RequestMethod.POST) @RequestMapping(value="/updatePuriOrder" , method= RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody @ResponseBody
public ResponseEntity<WnbtResponse> updatePuriOrder(@RequestParam Map<String, Object> formData){ public ResponseEntity<WnbtResponse> updatePuriOrder(@RequestParam Map<String, Object> formData){
log.debug(" 검색 파라미터 확인 231: {}", formData); log.debug(" 검색 파라미터 확인 231: {}", formData);
return responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/puri/updatePuriOrder", formData),
ReplyFromResrc::getReply DataMap content = new DataMap();
service.updatePuriOrder(formData);
content.put("status", "success");
content.put("message", "정수기 필터 주문 내역이 성공적으로 업데이트되었습니다.");
content.put("updatedData", formData);
ObjectMapper objectMapper = new ObjectMapper();
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/puri/updatePuriOrder", formData),
// ReplyFromResrc::getReply
// );
} }
/** /**
* 정수기 필터 상세 페이지 puri_allim 내역 업데이트 * 정수기 필터 상세 페이지 puri_allim 내역 업데이트
* @param vo 게시판 등록 파라미터 VO * @param formData 게시판 등록 파라미터 VO
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/updatePuriAllim" , method= RequestMethod.POST) @RequestMapping(value="/updatePuriAllim" , method= RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody @ResponseBody
public ResponseEntity<WnbtResponse> updatePuriAllim(@RequestParam Map<String, Object> formData){ public ResponseEntity<WnbtResponse> updatePuriAllim(@RequestParam Map<String, Object> formData){
log.debug(" 검색 파라미터 확인 231: {}", formData); log.debug(" 검색 파라미터 확인 231: {}", formData);
return responseHandler.handleResponse( DataMap content = new DataMap();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/puri/updatePuriAllim", formData), String puriAllimSeq = formData.get("puriAllimSeq").toString();
ReplyFromResrc::getReply
if("".equals(formData.get("installDe").toString())){
formData.put("installDe", null);
}
String telnb = formData.get("telnbOne").toString() + formData.get("telnbTwo").toString() + formData.get("telnbThree").toString();
formData.put("telnb", telnb);
formData.put("secretKey",secretKey);
if(puriAllimSeq == "" || puriAllimSeq == null){
service.insertPuriAllim(formData);
} else{
service.updatePuriAllim(formData);
}
content.put("status", "success");
content.put("message", "정수기 필터 알림 내역이 성공적으로 업데이트되었습니다.");
content.put("updatedData", formData);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/puri/updatePuriAllim", formData),
// ReplyFromResrc::getReply
// );
} }
/** /**
@@ -153,20 +274,242 @@ public class PuriController {
/** /**
* 정수기 기사 설치 방문일 갱신 * 정수기 기사 설치 방문일 갱신
* @param vo 게시판 등록 파라미터 VO * @param formData 게시판 등록 파라미터 VO
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/updateVisitDate" , method= RequestMethod.POST) @RequestMapping(value="/updateVisitDate" , method= RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody @ResponseBody
public ResponseEntity<WnbtResponse> updateVisitDate(@RequestParam Map<String, Object> formData){ public ResponseEntity<WnbtResponse> updateVisitDate(@RequestParam Map<String, Object> formData){
log.debug(" 검색 파라미터 확인 231: {}", formData); log.debug(" 검색 파라미터 확인 231: {}", formData);
return responseHandler.handleResponse( DataMap content = new DataMap();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/puri/updateVisitDate", formData), String dataList = formData.get("textData").toString().replace(" ", "");
ReplyFromResrc::getReply String mode = formData.get("mode").toString();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String jsonResult = "";
LocalDate baseDate = LocalDate.of(2020,01,01);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
List<String> splitArr = new ArrayList<>();
List<String> ordrCdArr = new ArrayList<>();
List<String> visitDateArr = new ArrayList<>();
List<String> realUpateOrdrCdArr = new ArrayList<>();
List<String> realUpdateVisitDateArr = new ArrayList<>();
List<Integer> puriOrderSeqArr = new ArrayList<>();
List<DataMap> tsPuriAllimDupLogList = new ArrayList<>();
List<DataMap> updateStopPuriAllimList = new ArrayList<>();
List<DataMap> allimlist = new ArrayList<>();
Map<String,Object> paramMap = new HashMap<>();
Map<String,Object> updateParamMap = new HashMap<>();
int failCnt = 0;
// ,로 1차분류 |로 2차분류함 첫번쨰 인덱스 주문번호 두번쨰 방문일
if(!"".equals(dataList)){
String[] splitData = dataList.split("\n");
splitArr = Arrays.asList(splitData);
for (String data : splitArr){
String[] splitTwo = data.split("\t");
if (splitTwo.length > 0) {
ordrCdArr.add(splitTwo[0].trim());
}
if (splitTwo.length > 1) {
visitDateArr.add(splitTwo[1].trim());
}
}
for (int i=0; i<visitDateArr.size(); i++){
if (vaildateVisitDate(visitDateArr.get(i)) ){
realUpdateVisitDateArr.add(visitDateArr.get(i));
realUpateOrdrCdArr.add(ordrCdArr.get(i));
}
}
// 오더코드로 업데이트할 puri_order_seq 조회후 업데이트 처리
if (!ordrCdArr.isEmpty() && !realUpateOrdrCdArr.isEmpty()) {
for (int i=0; i<realUpateOrdrCdArr.size(); i++) {
paramMap.put("ordrCd", realUpateOrdrCdArr.get(i));
paramMap.put("secretKey", secretKey);
List<DataMap> ordrList = service.selectPuriVisitUpdate(paramMap);
if(!ordrList.isEmpty()) {
if(ordrList.size() > 1) {
failCnt++;
} else {
Long puriOrderSeq = (Long) ordrList.get(0).get("puriOrderSeq");
puriOrderSeqArr.add(puriOrderSeq.intValue());
DataMap allim = new DataMap();
allim.put("puriOrderSeq",puriOrderSeq.intValue());
allim.put("status","wait");
allim.put("cttpc",(String) ordrList.get(0).get("cttpc"));
allim.put("cstmrNm",(String) ordrList.get(0).get("purchsrNm"));
allim.put("installDe",realUpdateVisitDateArr.get(i));
allim.put("nextSndngResveDe",getNextDate(LocalDate.parse(realUpdateVisitDateArr.get(i),formatter),baseDate));
allim.put("telnb",(String) ordrList.get(0).get("dlivyCttpc"));
allim.put("chngLog",getChangeLog("regist"));
allim.put("secretKey", secretKey);
allimlist.add(allim);
}
} else {
failCnt++;
}
}
}
if(!puriOrderSeqArr.isEmpty() && !realUpdateVisitDateArr.isEmpty()) {
// gc_puri_allim 테이블 insert 및 gc_puri_order 테이블 seq 업데이트
for(Integer puriOrderSeq : puriOrderSeqArr){
List<DataMap> dupList = service.selectDupPuriOrderAllimList(puriOrderSeq);
updateParamMap.put("puriOrderSeqArr",puriOrderSeqArr);
updateParamMap.put("realUpdateVisitDateArr",realUpdateVisitDateArr);
// 중복데이터 리턴처리
if(!dupList.isEmpty()) {
if ("clear".equals(mode)) {
service.updatePuriVisitCancelDate(updateParamMap);
service.deletePuriAllim(dupList);
content.put("status", "success");
content.put("message", "방문일 등록 취소가 완료되었습니다.");
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
}
service.updatePuriVisitDate(updateParamMap);
content.put("status", "error");
content.put("message", "해당 판매에 대한 알림이 이미 등록되어있습니다.");
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
}
}
service.insertPuriAllimList(allimlist);
//전화번호 중복 처리
if(!allimlist.isEmpty()) {
List<DataMap> allimSameList = service.selectSameNumber(allimlist);
if(allimSameList != null && !allimSameList.isEmpty()) {
for (DataMap puriAllimSeq : allimSameList ) {
DataMap tsPuriAllimDupLog = new DataMap();
DataMap updateStopAllim = new DataMap();
updateStopAllim.put("secretKey",secretKey);
updateStopAllim.put("puriAllimSeq",puriAllimSeq);
updateStopAllim.put("chngLog",getChangeLog("stop"));
updateStopPuriAllimList.add(updateStopAllim);
tsPuriAllimDupLog.put("puriAllimSeq",puriAllimSeq);
tsPuriAllimDupLog.put("act","stop");
tsPuriAllimDupLog.put("secretKey",secretKey);
tsPuriAllimDupLog.put("sndngCn","발송번호 중복으로 이전 알림 자동 중지(" + puriAllimSeq + ")");
tsPuriAllimDupLogList.add(tsPuriAllimDupLog);
}
service.insertPuriAllimLogFirst(tsPuriAllimDupLogList);
service.updateStopAllim(updateStopPuriAllimList);
}
}
content.put("status", "success");
content.put("message", "전체 " + splitArr.size() + "건 중" + allimlist.size() + "건 성공 " + failCnt +"건 실패)");
content.put("updatedData", formData);
} else {
content.put("status", "error");
content.put("message", "데이터없음");
}
} else {
content.put("status", "error");
content.put("message", "데이터없음");
}
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/puri/updateVisitDate", formData),
// ReplyFromResrc::getReply
// );
} }
public static boolean vaildateVisitDate (String visitDate) {
if("".equals(visitDate)) {
return false;
}
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
dateFormat.setLenient(false);
LocalDate baseDate = LocalDate.of(2020,01,01);
try {
Date pareDate = dateFormat.parse(visitDate);
LocalDate parseDates = LocalDate.parse(visitDate,formatter);
if (parseDates.isBefore(baseDate) || parseDates.isEqual(baseDate)) {
return false;
}
String formattedDate = dateFormat.format(pareDate);
if(!visitDate.equals(formattedDate)) {
return false;
}
} catch (Exception e) {
return false;
}
return true;
}
public static String getChangeLog(String status) {
// 현재 시간 포맷팅
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currentTime = formatter.format(new Date());
JSONObject changeList = new JSONObject();
changeList.put("status", status);
return new String("[" + currentTime + ", C ]" + changeList.toString());
}
public static LocalDate getNextDate(LocalDate dlivyDe, LocalDate baseDate) {
if(dlivyDe.isBefore(baseDate)) {
return null;
}
LocalDate nextDate = dlivyDe.plusMonths(6).minusDays(7);
LocalDate today = LocalDate.now();
while (nextDate.isBefore(today)) {
nextDate = nextDate.plusMonths(6);
}
return nextDate;
}
} }

View File

@@ -1,10 +1,17 @@
package com.wb.domainserver.domain.mngr.setup.dlvygrp.controller; package com.wb.domainserver.domain.mngr.setup.dlvygrp.controller;
import com.wb.domainserver.common.msg.GconeMessageSource; 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.gcone.setup.dlvygrp.service.BODlvygrpService;
import com.wb.domainserver.domain.gcone.setup.dlvygrp.vo.BODlvygrpVO;
import com.wb.domainserver.domain.mngr.setup.dlvygrp.vo.SetupDlvygrpVO; import com.wb.domainserver.domain.mngr.setup.dlvygrp.vo.SetupDlvygrpVO;
import com.wb.domainserver.exception.WnbtRestException; import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.response.WnbtResponse; import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC; import com.wb.domainserver.util.communicate.RESRC;
@@ -14,6 +21,7 @@ import com.wb.domainserver.util.communicate.ValidateResultConverter;
import com.wb.domainserver.util.string.StringUtil; import com.wb.domainserver.util.string.StringUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@@ -23,6 +31,10 @@ import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* Dlvygrp Controller Class (front) * Dlvygrp Controller Class (front)
* *
@@ -58,24 +70,56 @@ public class SetupDlvygrpController {
@Autowired @Autowired
private GconeMessageSource gconeMessageSource; private GconeMessageSource gconeMessageSource;
@Autowired
private BODlvygrpService service;
@Autowired
private PaginationProperties paginationProperties;
/** /**
* 배송그룹 목록 조회 * 배송그룹 목록 조회
* @param SetupDlvygrpVO 배송그룹VO * @param dlvyGroup 배송그룹VO
* @param ModelMap 모델객체 * @param model 모델객체
* @return DlvyGroupListR.jsp 배송그룹목록 * @return DlvyGroupListR.jsp 배송그룹목록
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/dlvyGroupListR") @RequestMapping(value="/dlvyGroupListR")
public String selectDlvyGroupList(SetupDlvygrpVO dlvyGroup, public String selectDlvyGroupList(BODlvygrpVO dlvyGroup,
ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
dlvyGroup.setSopmalCd(authSopmalCd); dlvyGroup.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/selectBODlvyGroupList", dlvyGroup), if("01".equals(user.getSysDvCd())){
model, dlvyGroup.setSopmalCd(user.getSopmalCd());
"resultMap" }
);
Map<String, Object> content = new HashMap<>();
//페이징 처리를 위한 pagination 객체 생성
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(dlvyGroup.getPageIndex());
paginationInfo.setRecordCountPerPage(dlvyGroup.getPageUnit());
paginationInfo.setPageSize(paginationProperties.getPageSize());
dlvyGroup.setPaginationInfo(paginationInfo);
//페이징 처리를 위한 값 설정
dlvyGroup.setFirstIndex(paginationInfo.getFirstRecordIndex());
dlvyGroup.setLastIndex(paginationInfo.getLastRecordIndex());
dlvyGroup.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
//배송그룹 목록조회
List<BODlvygrpVO> dlvyGroupList = service.selectBODlvyGroupList(dlvyGroup);
log.debug("selectBODlvyGroupList's dlvyGroupList : {}", dlvyGroupList);
//배송그룹 목록조회 결과 설정
content.put("BODlvygrpVO", dlvyGroup);
content.put("paginationInfo", dlvyGroup.getPaginationInfo());
content.put("dlvyGroupList", dlvyGroupList);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/selectBODlvyGroupList", dlvyGroup),
// model,
// "resultMap"
// );
return "mngr/setup/dlvygrp/DlvyGroupListR"; return "mngr/setup/dlvygrp/DlvyGroupListR";
} }
@@ -92,13 +136,13 @@ public class SetupDlvygrpController {
/** /**
* 배송그룹 등록 * 배송그룹 등록
* @param SetupDlvygrpVO 배송그룹 등록 파라미터 VO * @param dlvyGroup 배송그룹 등록 파라미터 VO
* @param bindingResult 바인딩 및 정합성 점검결과 객체 * @param bindingResult 바인딩 및 정합성 점검결과 객체
* @return ResponseEntity<WnbtResponse> 배송그룹 등록 결과 * @return ResponseEntity<WnbtResponse> 배송그룹 등록 결과
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@PostMapping("/insertDlvyGroup") @PostMapping(value="/insertDlvyGroup", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> insertDlvyGroup(@Validated SetupDlvygrpVO dlvyGroup, public ResponseEntity<WnbtResponse> insertDlvyGroup(@Validated BODlvygrpVO dlvyGroup,
BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
dlvyGroup.setSopmalCd(authSopmalCd); dlvyGroup.setSopmalCd(authSopmalCd);
@@ -162,119 +206,156 @@ public class SetupDlvygrpController {
dlvyGroup.setReturnDlvyAmt(StringUtil.removeCommaChar(dlvyGroup.getReturnDlvyAmt())); dlvyGroup.setReturnDlvyAmt(StringUtil.removeCommaChar(dlvyGroup.getReturnDlvyAmt()));
dlvyGroup.setExchngDlvyAmt(StringUtil.removeCommaChar(dlvyGroup.getExchngDlvyAmt())); dlvyGroup.setExchngDlvyAmt(StringUtil.removeCommaChar(dlvyGroup.getExchngDlvyAmt()));
//사용자 정보 추출 및 적용
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
dlvyGroup.setRegusr(user.getUserInnb());
dlvyGroup.setUpdusr(user.getUserInnb());
if("01".equals(user.getSysDvCd())){
dlvyGroup.setSopmalCd(user.getSopmalCd());
}
//배송그릅 등록 처리
Map<String, Object> message = service.insertBODlvyGroup(dlvyGroup);
//BO 발송그룹 등록 API 호출
//배송그룹 등록처리 결과 메시지(JSON) 처리 //배송그룹 등록처리 결과 메시지(JSON) 처리
return responseHandler.handleResponse( return ResponseEntity.ok(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/insertBODlvyGroup", dlvyGroup), WnbtResponse.builder()
ReplyFromResrc::getReply .resBody(new WnbtResponseBody(message))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/insertBODlvyGroup", dlvyGroup),
// ReplyFromResrc::getReply
// );
}
/*배송그룹 정보 조회*/
private Map<String, Object> selectBODlvyGroupDtlForm(BODlvygrpVO dlvyGroup){
//사용자 정보 추출 및 적용
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
dlvyGroup.setUpdusr(user.getUserInnb());
if("01".equals(user.getSysDvCd())){
dlvyGroup.setSopmalCd(user.getSopmalCd());
}
Map<String, Object> content = new HashMap<>();
dlvyGroup = service.selectBODlvyGroupDtlForm(dlvyGroup);
content.put("dlvyGroup", dlvyGroup);
return content;
} }
/** /**
* 배송그룹 정보 상세조회(공통) * 배송그룹 정보 상세조회(공통)
* @param SetupDlvygrpVO 배송그룹 파라미터 VO * @param dlvyGroup 배송그룹 파라미터 VO
* @param model 모델객체 * @param model 모델객체
* @return DlvyGroupDtlU.jsp 배송그룹 수정화면 * @return DlvyGroupDtlU.jsp 배송그룹 수정화면
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/dlvyGroupDtlU") @RequestMapping(value="/dlvyGroupDtlU")
public String selectDlvyGroupDtlForm(SetupDlvygrpVO dlvyGroup, public String selectDlvyGroupDtlForm(BODlvygrpVO dlvyGroup,
ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
dlvyGroup.setSopmalCd(authSopmalCd); dlvyGroup.setSopmalCd(authSopmalCd);
//BO 배송그룹 등록 API 호출 Map<String, Object> content = selectBODlvyGroupDtlForm(dlvyGroup);
responseHandler.handleResponse( model.addAttribute("resultMap", content);
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/selectBODlvyGroupDtlForm", dlvyGroup), // responseHandler.handleResponse(
model, // sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/selectBODlvyGroupDtlForm", dlvyGroup),
"resultMap" // model,
); // "resultMap"
// );
return "mngr/setup/dlvygrp/DlvyGroupDtlU"; return "mngr/setup/dlvygrp/DlvyGroupDtlU";
} }
/** /**
* 조건부 무료배송 jsp 호출 * 조건부 무료배송 jsp 호출
* @param SetupDlvygrpVO 배송그룹 파라미터 VO * @param dlvyGroup 배송그룹 파라미터 VO
* @param model 모델객체 * @param model 모델객체
* @return ConditionFreeDlvy.jsp 조건부무료배송 * @return ConditionFreeDlvy.jsp 조건부무료배송
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@PostMapping(value="/conditionFreeDlvy") @PostMapping(value="/conditionFreeDlvy")
public String findConditionFreeDlvy(SetupDlvygrpVO dlvyGroup, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public String findConditionFreeDlvy(BODlvygrpVO dlvyGroup, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){
//해당 배송그룹 구분이 아니면 jsp 호출 //해당 배송그룹 구분이 아니면 jsp 호출
dlvyGroup.setSopmalCd(authSopmalCd); dlvyGroup.setSopmalCd(authSopmalCd);
if("01".equals(dlvyGroup.getDlvyGroupDvCd()) && dlvyGroup.getDlvyGroupInnb() != null) { if("01".equals(dlvyGroup.getDlvyGroupDvCd()) && dlvyGroup.getDlvyGroupInnb() != null) {
//BO 배송그룹 정보 API 호출
responseHandler.handleResponse( Map<String, Object> content = selectBODlvyGroupDtlForm(dlvyGroup);
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/selectBODlvyGroupDtlForm", dlvyGroup), model.addAttribute("resultMap", content);
model, // responseHandler.handleResponse(
"resultMap" // sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/selectBODlvyGroupDtlForm", dlvyGroup),
); // model,
// "resultMap"
// );
} }
return "mngr/setup/dlvygrp/ConditionFreeDlvy"; return "mngr/setup/dlvygrp/ConditionFreeDlvy";
} }
/** /**
* 무료배송 jsp 호출 * 무료배송 jsp 호출
* @param SetupDlvygrpVO 배송그룹 파라미터 VO * @param dlvyGroup 배송그룹 파라미터 VO
* @param model 모델객체 * @param model 모델객체
* @return FreeDlvy.jsp 무료배송 * @return FreeDlvy.jsp 무료배송
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@PostMapping(value="/freeDlvy") @PostMapping(value="/freeDlvy")
public String findFreeDlvy(SetupDlvygrpVO dlvyGroup, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public String findFreeDlvy(BODlvygrpVO dlvyGroup, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){
//해당 배송그룹 구분이 아니면 jsp 호출 //해당 배송그룹 구분이 아니면 jsp 호출
dlvyGroup.setSopmalCd(authSopmalCd); dlvyGroup.setSopmalCd(authSopmalCd);
if("02".equals(dlvyGroup.getDlvyGroupDvCd()) && dlvyGroup.getDlvyGroupInnb() != null) { if("02".equals(dlvyGroup.getDlvyGroupDvCd()) && dlvyGroup.getDlvyGroupInnb() != null) {
//BO 배송그룹 정보 API 호출
responseHandler.handleResponse( Map<String, Object> content = selectBODlvyGroupDtlForm(dlvyGroup);
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/selectBODlvyGroupDtlForm", dlvyGroup), model.addAttribute("resultMap", content);
model, // responseHandler.handleResponse(
"resultMap" // sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/selectBODlvyGroupDtlForm", dlvyGroup),
); // model,
// "resultMap"
// );
} }
return "mngr/setup/dlvygrp/FreeDlvy"; return "mngr/setup/dlvygrp/FreeDlvy";
} }
/** /**
* 유료배송 jsp 호출 * 유료배송 jsp 호출
* @param SetupDlvygrpVO 배송그룹 파라미터 VO * @param dlvyGroup 배송그룹 파라미터 VO
* @param model 모델객체 * @param model 모델객체
* @return PayDlvy.jsp 유료배송 * @return PayDlvy.jsp 유료배송
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@PostMapping(value="/payDlvy") @PostMapping(value="/payDlvy")
public String findPayDlvy(SetupDlvygrpVO dlvyGroup, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){ public String findPayDlvy(BODlvygrpVO dlvyGroup, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd){
//해당 배송그룹 구분이 아니면 jsp 호출 //해당 배송그룹 구분이 아니면 jsp 호출
dlvyGroup.setSopmalCd(authSopmalCd); dlvyGroup.setSopmalCd(authSopmalCd);
if("03".equals(dlvyGroup.getDlvyGroupDvCd()) && dlvyGroup.getDlvyGroupInnb() != null) { if("03".equals(dlvyGroup.getDlvyGroupDvCd()) && dlvyGroup.getDlvyGroupInnb() != null) {
//BO 배송그룹 정보 API 호출
responseHandler.handleResponse( Map<String, Object> content = selectBODlvyGroupDtlForm(dlvyGroup);
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/selectBODlvyGroupDtlForm", dlvyGroup), model.addAttribute("resultMap", content);
model, // responseHandler.handleResponse(
"resultMap" // sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/selectBODlvyGroupDtlForm", dlvyGroup),
); // model,
// "resultMap"
// );
} }
return "mngr/setup/dlvygrp/PayDlvy"; return "mngr/setup/dlvygrp/PayDlvy";
} }
/** /**
* 배송그룹 수정 * 배송그룹 수정
* @param SetupDlvygrpVO 배송그룹 파라미터 VO * @param dlvyGroup 배송그룹 파라미터 VO
* @param bindingResult 바인딩 및 정합성 점검결과 객체 * @param bindingResult 바인딩 및 정합성 점검결과 객체
* @return ResponseEntity<WnbtResponse> 배송그룹 등록 결과 * @return ResponseEntity<WnbtResponse> 배송그룹 등록 결과
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@PostMapping("/updateDlvyGroupDtl") @PostMapping(value="/updateDlvyGroupDtl", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateDlvyGroupDtl(@Validated SetupDlvygrpVO dlvyGroup, public ResponseEntity<WnbtResponse> updateDlvyGroupDtl(@Validated BODlvygrpVO dlvyGroup,
BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
dlvyGroup.setSopmalCd(authSopmalCd); dlvyGroup.setSopmalCd(authSopmalCd);
@@ -340,31 +421,56 @@ public class SetupDlvygrpController {
dlvyGroup.setReturnDlvyAmt(StringUtil.removeCommaChar(dlvyGroup.getReturnDlvyAmt())); dlvyGroup.setReturnDlvyAmt(StringUtil.removeCommaChar(dlvyGroup.getReturnDlvyAmt()));
dlvyGroup.setExchngDlvyAmt(StringUtil.removeCommaChar(dlvyGroup.getExchngDlvyAmt())); dlvyGroup.setExchngDlvyAmt(StringUtil.removeCommaChar(dlvyGroup.getExchngDlvyAmt()));
//BO 배송그룹 수정 API 호출
//배송그룹 등록처리 결과 메시지(JSON) 처리 //배송그룹 등록처리 결과 메시지(JSON) 처리
return responseHandler.handleResponse( //사용자 정보 추출 및 적용
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/updateBODlvyGroupDtl", dlvyGroup), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
ReplyFromResrc::getReply dlvyGroup.setUpdusr(user.getUserInnb());
if("01".equals(user.getSysDvCd())){
dlvyGroup.setSopmalCd(user.getSopmalCd());
}
Map<String, Object> message = service.updateBODlvyGroupDtl(dlvyGroup);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(message))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/updateBODlvyGroupDtl", dlvyGroup),
// ReplyFromResrc::getReply
// );
} }
/** /**
* 배송그룹 삭제 * 배송그룹 삭제
* @param SetupDlvygrpVO 배송그룹 파라미터 VO * @param dlvyGroup 배송그룹 파라미터 VO
* @return ResponseEntity<WnbtResponse> 배송그룹 등록 결과 * @return ResponseEntity<WnbtResponse> 배송그룹 등록 결과
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@PostMapping("/deleteDlvyGroup") @PostMapping(value = "/deleteDlvyGroup", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> deleteDlvyGroup(SetupDlvygrpVO dlvyGroup, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> deleteDlvyGroup(BODlvygrpVO dlvyGroup, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
dlvyGroup.setSopmalCd(authSopmalCd); dlvyGroup.setSopmalCd(authSopmalCd);
//BO 배송그룹 삭제 API 호출
//배송그룹 등록처리 결과 메시지(JSON) 처리 //배송그룹 등록처리 결과 메시지(JSON) 처리
return responseHandler.handleResponse( //사용자 정보 추출 및 적용
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/deleteBODlvyGroup", dlvyGroup), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
ReplyFromResrc::getReply dlvyGroup.setUpdusr(user.getUserInnb());
if("01".equals(user.getSysDvCd())){
dlvyGroup.setSopmalCd(user.getSopmalCd());
}
Map<String, String> message = service.deleteBODlvyGroup(dlvyGroup);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(message))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/dlvygrp/deleteBODlvyGroup", dlvyGroup),
// ReplyFromResrc::getReply
// );
} }
} }

View File

@@ -1,19 +1,30 @@
package com.wb.domainserver.domain.mngr.setup.mbr.controller; package com.wb.domainserver.domain.mngr.setup.mbr.controller;
import com.wb.domainserver.common.msg.GconeMessageSource; 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.store.mbrgrad.service.BOMaMbrgradService;
import com.wb.domainserver.domain.admin.store.mbrgrad.vo.BOMaMbrgradVO;
import com.wb.domainserver.domain.gcone.setup.gradbnef.service.BOGradbnefService;
import com.wb.domainserver.domain.gcone.setup.gradbnef.vo.BOGradbnefVO;
import com.wb.domainserver.domain.mngr.setup.mbr.vo.SetupMbrVO; import com.wb.domainserver.domain.mngr.setup.mbr.vo.SetupMbrVO;
import com.wb.domainserver.exception.WnbtRestException; import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.response.WnbtResponse; import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC; import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc; import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.communicate.ValidateResultConverter; import com.wb.domainserver.util.communicate.ValidateResultConverter;
import com.wb.domainserver.util.dataaccess.DataMap;
import com.wb.domainserver.util.string.StringUtil; import com.wb.domainserver.util.string.StringUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@@ -22,7 +33,9 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import java.awt.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -58,71 +71,140 @@ public class SetupMbrController {
@Autowired @Autowired
private GconeMessageSource gconeMessageSource; private GconeMessageSource gconeMessageSource;
@Autowired
private BOGradbnefService service;
@Autowired
private BOMaMbrgradService maMbrgradService;
@Autowired
private PaginationProperties paginationProperties;
/** /**
* 등급 별 혜택 목록 검색 폼 이동 * 등급 별 혜택 목록 검색 폼 이동
* @return GradBnefSrch.jsp * @return GradBnefSrch.jsp
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMbrGradSrchForm") @RequestMapping(value="/selectMbrGradSrchForm")
public String selectMbrGradSrch(ModelMap model,SetupMbrVO paramVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectMbrGradSrch(ModelMap model,BOGradbnefVO paramVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
paramVO.setSopmalCd(authSopmalCd); paramVO.setSopmalCd(authSopmalCd);
//BO 등급 별 혜택 목록 검색 폼 조회 API 호출 if(StringUtil.isEmpty(paramVO.getSopmalCd())){
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/gradbnef/selectBOMbrGradFormInqire", paramVO), if("01".equals(user.getSysDvCd())){
model, paramVO.setSopmalCd(user.getSopmalCd());
"resultMap" }
); }
//페이징 정보 set
Map<String, Object> reulstMap = new HashMap<>();
reulstMap.put("paramVO", paramVO);
model.addAttribute("resultMap", reulstMap);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/gradbnef/selectBOMbrGradFormInqire", paramVO),
// model,
// "resultMap"
// );
return "mngr/setup/mbr/GradBnefSrchR"; return "mngr/setup/mbr/GradBnefSrchR";
} }
/** /**
* 등급 별 혜택 목록 조회 * 등급 별 혜택 목록 조회
* @param SetupMbrVO * @param paramVO
* @return GradBnefListR.jsp * @return GradBnefListR.jsp
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMbrGradListInqire") @RequestMapping(value="/selectMbrGradListInqire")
public String selectMbrGradListInqire(ModelMap model,SetupMbrVO paramVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectMbrGradListInqire(ModelMap model,BOGradbnefVO paramVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
paramVO.setSopmalCd(authSopmalCd); paramVO.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO,"/gcone/setup/gradbnef/selectBOMbrGradListInqire", paramVO), if("01".equals(user.getSysDvCd())){
model, paramVO.setSopmalCd(user.getSopmalCd());
"resultMap" }
);
Map<String, Object> content = new HashMap<>();
//페이징 정보 set
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(paramVO.getPageIndex());
paginationInfo.setRecordCountPerPage(paramVO.getPageUnit());
paginationInfo.setPageSize(paginationProperties.getPageSize());
paramVO.setPaginationInfo(paginationInfo);
paramVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
paramVO.setLastIndex(paginationInfo.getLastRecordIndex());
paramVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
//회원 등급 목록 조회
List<DataMap> resultList = service.selectBOMbrGradListInqire(paramVO);
//회원 등급 산정 기간 조회(사용자)
Map<String, Object> gradGroup = new HashMap<>();
if("sopmal".equals(paramVO.getServerDv())){
BOMaMbrgradVO maMbrgradVO = new BOMaMbrgradVO();
if("01".equals(user.getSysDvCd())){
maMbrgradVO.setSopmalCd(paramVO.getSopmalCd());
}
maMbrgradVO.setServerDv(paramVO.getServerDv());
gradGroup = maMbrgradService.selectBOMbrGradUpdtForm(maMbrgradVO);
}
//회원 등급 목록 조회 결과 및 페이징정보 넣기
content.put("paramVO", paramVO);
content.put("resultList", resultList);
content.put("gradGroup", gradGroup);
content.put("paginationInfo", paramVO.getPaginationInfo());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO,"/gcone/setup/gradbnef/selectBOMbrGradListInqire", paramVO),
// model,
// "resultMap"
// );
return "mngr/setup/mbr/GradBnefListR"; return "mngr/setup/mbr/GradBnefListR";
} }
/** /**
* 등급 별 혜택 상세 페이지 이동 * 등급 별 혜택 상세 페이지 이동
* @param SetupMbrVO * @param paramVO
* @return GradBnefRegistU.jsp * @return GradBnefRegistU.jsp
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectGradBnefRegistInqire") @RequestMapping(value="/selectGradBnefRegistInqire")
public String selectGradBnefRegistInqire(ModelMap model, SetupMbrVO paramVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectGradBnefRegistInqire(ModelMap model, BOGradbnefVO paramVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
paramVO.setSopmalCd(authSopmalCd); paramVO.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO,"/gcone/setup/gradbnef/selectBOGradBnefRegistInqire", paramVO), if("01".equals(user.getSysDvCd())){
model, paramVO.setSopmalCd(user.getSopmalCd());
"resultMap" }
);
Map<String, Object> content = new HashMap<>();
Map<String, Object> gradDtl = service.selectBOGradBnefRegistInqire(paramVO);
//회원 등급 상세, 권한 그룹, vo
content.put("gradDtl", gradDtl);
content.put("vo", paramVO);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO,"/gcone/setup/gradbnef/selectBOGradBnefRegistInqire", paramVO),
// model,
// "resultMap"
// );
model.addAttribute("paramVO",paramVO); model.addAttribute("paramVO",paramVO);
return "mngr/setup/mbr/GradBnefRegistU"; return "mngr/setup/mbr/GradBnefRegistU";
} }
/** /**
* 등급 별 혜택 수정 * 등급 별 혜택 수정
* @param SetupMbrVO * @param paramVO
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/updateGradBnefUpdt") @RequestMapping(value="/updateGradBnefUpdt", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateGradBnefUpdt(@Validated SetupMbrVO paramVO public ResponseEntity<WnbtResponse> updateGradBnefUpdt(@Validated BOGradbnefVO paramVO
,BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ,BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
paramVO.setSopmalCd(authSopmalCd); paramVO.setSopmalCd(authSopmalCd);
@@ -171,10 +253,26 @@ public class SetupMbrController {
if("Y".equals(paramVO.getValidPdChk())) { if("Y".equals(paramVO.getValidPdChk())) {
paramVO.setMlgValidMtCnt(null); paramVO.setMlgValidMtCnt(null);
} }
//BO API 호출 => 등급 별 혜택 수정
return responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/gradbnef/updateBOGradBnefUpdt", paramVO), if("01".equals(user.getSysDvCd())){
ReplyFromResrc::getReply paramVO.setSopmalCd(user.getSopmalCd());
}
//등록자 수정자 set
paramVO.setRegusr(user.getUserInnb());
paramVO.setUpdusr(user.getUserInnb());
//회원 등급 혜택 설정 저장
service.updateBOGradBnefUpdt(paramVO);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(""))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/gradbnef/updateBOGradBnefUpdt", paramVO),
// ReplyFromResrc::getReply
// );
} }
} }

View File

@@ -1,14 +1,28 @@
package com.wb.domainserver.domain.mngr.setup.mngr.controller; package com.wb.domainserver.domain.mngr.setup.mngr.controller;
import com.wb.domainserver.common.msg.GconeMessageSource; import com.wb.domainserver.common.msg.GconeMessageSource;
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.admin.user.mngr.service.BOJobUserService;
import com.wb.domainserver.domain.admin.user.mngr.vo.BOJobUserVO;
import com.wb.domainserver.domain.gcone.common.service.BOCommonService;
import com.wb.domainserver.domain.gcone.common.vo.BOCommonVO;
import com.wb.domainserver.domain.gcone.setup.mngr.sevice.BOMngrInfoService;
import com.wb.domainserver.domain.gcone.setup.mngr.vo.BOMngrInfoVO;
import com.wb.domainserver.domain.mngr.setup.mngr.vo.SetupMngrInfoVO; import com.wb.domainserver.domain.mngr.setup.mngr.vo.SetupMngrInfoVO;
import com.wb.domainserver.exception.WnbtRestException; 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.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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.*; import com.wb.domainserver.util.communicate.*;
import com.wb.domainserver.util.dataaccess.DataMap;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@@ -17,6 +31,9 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@@ -55,7 +72,22 @@ public class SetupMngrInfoController {
@Autowired @Autowired
private WnbtWebClientResponseHandler responseHandler; private WnbtWebClientResponseHandler responseHandler;
/** @Autowired
private BOMngrInfoService service;
@Autowired
private BOJobUserService jobUserService;
@Autowired
private BOMaComncdService bOMaComncdService;
@Autowired
private BOCommonService boCommonService;
@Autowired
private BOCommonService commonService;
/**
* 관리자 정보 조회 * 관리자 정보 조회
* @param vo * @param vo
* @param model 모델객체 * @param model 모델객체
@@ -63,14 +95,41 @@ public class SetupMngrInfoController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrInfoInqireForm") @RequestMapping(value="/selectMngrInfoInqireForm")
public String selectMngrInfoInqireForm(SetupMngrInfoVO vo,ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectMngrInfoInqireForm(BOJobUserVO vo,ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
// vo.setSopmalCd(session.getAttribute("authSopmalCd").toString()); // vo.setSopmalCd(session.getAttribute("authSopmalCd").toString());
Map<String, Object> resultMap = responseHandler.handleResponseAsMap( // 작성자 정보 추출
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/mngrInfo/selectBOMngrInfoUpdtForm", vo) AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
); vo.setMngrInnb(BigInteger.valueOf(user.getUserInnb()));
model.addAttribute("resultMap", resultMap); // if("01".equals(user.getSysDvCd())){
// vo.setSopmalCd(user.getSopmalCd());
// }
DataMap result = new DataMap();
String secretKey = commonService.selectSecretkey();
vo.setSecretKey(secretKey);
List<DataMap> detail = new ArrayList<>();
detail = jobUserService.selectBOJobUserDetail(vo);
BOMaComncdVO bOMaComncdVO = new BOMaComncdVO();
bOMaComncdVO.setGroupCd("EMAIL_ADRES");
List<?> emailCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
bOMaComncdVO.setGroupCd("MNGR_DV");
List<?> mngrDvCdList = bOMaComncdService.selectBOCommcdDetailList(bOMaComncdVO);
List<DataMap> managerCodeList = new ArrayList<>();
managerCodeList = jobUserService.managerCode();
result.put("detail", detail);
result.put("mngrDvCdList", mngrDvCdList);
result.put("emailCdList", emailCdList);
// Map<String, Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/mngrInfo/selectBOMngrInfoUpdtForm", vo)
// );
model.addAttribute("resultMap", result);
return "mngr/setup/mngr/MngrInfoDtlU"; return "mngr/setup/mngr/MngrInfoDtlU";
} }
@@ -79,8 +138,8 @@ public class SetupMngrInfoController {
* @param vo * @param vo
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/updateMngrInfoUpdt") @RequestMapping(value="/updateMngrInfoUpdt", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> updateMngrInfoUpdt(@Validated SetupMngrInfoVO vo, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<?> updateMngrInfoUpdt(@Validated BOMngrInfoVO vo, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
// vo.setSopmalCd(session.getAttribute("authSopmalCd").toString()); // vo.setSopmalCd(session.getAttribute("authSopmalCd").toString());
@@ -116,10 +175,47 @@ public class SetupMngrInfoController {
} }
} }
return responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/mngrInfo/updateBOMngrInfoUpdt", vo), vo.setUpdusr(user.getUserInnb());
ReplyFromResrc::getReply // if("01".equals(user.getSysDvCd())){
); // vo.setSopmalCd(user.getSopmalCd());
// }
String secretKey = boCommonService.selectSecretkey();
vo.setSecretKey(secretKey);
DataMap resultInfo = new DataMap();
/*비밀번호 인증 수정*/
if("Y".equals(vo.getPwChngAt())){
/* 암호화 필수값
pass(사용자입력 비밀번호)
encptKeyDvCd(암호화키구분코드) => 01(회원),02(관리자), 03(매장)
idntfcInnb(식별고유번호) => 회원/관리자/매장관리자 고유번호*/
BOCommonVO commVO = new BOCommonVO();
commVO.setPass(vo.getChngPw());
commVO.setEncptKeyDvCd("02");
commVO.setIdntfcInnb(String.valueOf(vo.getMngrInnb()));
String encptyPw = boCommonService.generateKey(commVO);
vo.setPassword(encptyPw);
resultInfo.put("chngePwAt","Y");
}else{
resultInfo.put("chngePwAt","N");
}
/*관리자 정보 수정*/
int result = service.updateBOMngrInfoUpdt(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(resultInfo))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/mngrInfo/updateBOMngrInfoUpdt", vo),
// ReplyFromResrc::getReply
// );
} }
} }

View File

@@ -1,10 +1,15 @@
package com.wb.domainserver.domain.mngr.setup.nbkk.controller; package com.wb.domainserver.domain.mngr.setup.nbkk.controller;
import com.wb.domainserver.common.msg.GconeMessageSource; import com.wb.domainserver.common.msg.GconeMessageSource;
import com.wb.domainserver.domain.gcone.setup.nbkk.service.BONbkkService;
import com.wb.domainserver.domain.gcone.setup.nbkk.vo.BOSetupNbkkVO;
import com.wb.domainserver.domain.mngr.setup.nbkk.vo.SetupNbkkVO; import com.wb.domainserver.domain.mngr.setup.nbkk.vo.SetupNbkkVO;
import com.wb.domainserver.exception.WnbtRestException; import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.response.WnbtResponse; import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC; import com.wb.domainserver.util.communicate.RESRC;
@@ -13,6 +18,7 @@ import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.communicate.ValidateResultConverter; import com.wb.domainserver.util.communicate.ValidateResultConverter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@@ -22,6 +28,9 @@ import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import java.util.HashMap;
import java.util.Map;
/** /**
* 무통장 설정 Controller * 무통장 설정 Controller
* *
@@ -55,23 +64,35 @@ public class SetupNbkkController {
@Autowired @Autowired
private GconeMessageSource gconeMessageSource; private GconeMessageSource gconeMessageSource;
@Autowired
private BONbkkService service;
/** /**
* 무통장 설정 페이지 이동 * 무통장 설정 페이지 이동
* *
* @param SetupNbkkVO * @param boNbkkVO
* @return NbkkSetupListR.jsp * @return NbkkSetupListR.jsp
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectNbkkSetupList") @RequestMapping(value = "/selectNbkkSetupList")
public String selectNbkkSetupList(ModelMap model, SetupNbkkVO setupNbkkVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectNbkkSetupList(ModelMap model, BOSetupNbkkVO boNbkkVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
setupNbkkVO.setSopmalCd(authSopmalCd); boNbkkVO.setSopmalCd(authSopmalCd);
/*무통장 설정 조회 */ /*무통장 설정 조회 */
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO,"/gcone/setup/nbkk/selectBONbkkSetupList", setupNbkkVO), if("01".equals(user.getSysDvCd())){
model, boNbkkVO.setSopmalCd(user.getSopmalCd());
"resultMap" }
); Map<String, Object> nbkkList = new HashMap<>();
nbkkList.put("nbkkList",service.selectBOSopmalSetupList(boNbkkVO));
model.addAttribute("resultMap", nbkkList);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO,"/gcone/setup/nbkk/selectBONbkkSetupList", setupNbkkVO),
// model,
// "resultMap"
// );
return "mngr/setup/nbkk/NbkkSetupListR"; return "mngr/setup/nbkk/NbkkSetupListR";
} }
@@ -79,23 +100,38 @@ public class SetupNbkkController {
/** /**
* 무통장 설정 수정 * 무통장 설정 수정
* *
* @param SetupNbkkVO * @param boNbkkVO
* @return ResponseEntity<WnbtResponse> * @return ResponseEntity<WnbtResponse>
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@PostMapping(value = "/updateNbkkSetup") @PostMapping(value = "/updateNbkkSetup", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateNbkkSetup(@Validated SetupNbkkVO setupNbkkVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> updateNbkkSetup(@Validated BOSetupNbkkVO boNbkkVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
setupNbkkVO.setSopmalCd(authSopmalCd); boNbkkVO.setSopmalCd(authSopmalCd);
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource)); throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
} }
//BO 배송지 수정 결과를 Map으로 변환하여 설정
return responseHandler.handleResponse( //등록자 수정자 set
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/nbkk/updateBOPNbkkSetup", setupNbkkVO), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
ReplyFromResrc::getReply if("01".equals(user.getSysDvCd())){
boNbkkVO.setSopmalCd(user.getSopmalCd());
}
boNbkkVO.setRegusr(user.getUserInnb());
boNbkkVO.setUpdusr(user.getUserInnb());
//무통장 설정 저장
service.updateBOPNbkkSetup(boNbkkVO);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(""))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/nbkk/updateBOPNbkkSetup", setupNbkkVO),
// ReplyFromResrc::getReply
// );
} }
} }

View File

@@ -1,19 +1,22 @@
package com.wb.domainserver.domain.mngr.setup.ordr.controller; package com.wb.domainserver.domain.mngr.setup.ordr.controller;
import com.wb.domainserver.common.msg.GconeMessageSource; import com.wb.domainserver.common.msg.GconeMessageSource;
import com.wb.domainserver.domain.mngr.setup.ordr.vo.SetupOrdrVO; import com.wb.domainserver.domain.gcone.setup.ordrmngr.service.BOOrdrMngrService;
import com.wb.domainserver.domain.gcone.setup.ordrmngr.vo.BOSetupOrdrVO;
import com.wb.domainserver.exception.WnbtRestException; import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.response.WnbtResponse; import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.communicate.ValidateResultConverter; import com.wb.domainserver.util.communicate.ValidateResultConverter;
import com.wb.domainserver.util.string.StringUtil; import com.wb.domainserver.util.string.StringUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@@ -24,6 +27,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -56,32 +60,45 @@ public class SetupOrdrController {
/** 공통 메시지 처리를 위한 메시지 객체 */ /** 공통 메시지 처리를 위한 메시지 객체 */
@Autowired @Autowired
private GconeMessageSource gconeMessageSource; private GconeMessageSource gconeMessageSource;
@Autowired
private BOOrdrMngrService service;
/** /**
* 주문 설정 페이지 이동 * 주문 설정 페이지 이동
* @param setupOrdrVO * @param boOrdrVO
* @return NbkkSetupListR.jsp * @return NbkkSetupListR.jsp
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectOrdrSetupList") @RequestMapping(value="/selectOrdrSetupList")
public String selectOrdrSetupList(ModelMap model,SetupOrdrVO setupOrdrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectOrdrSetupList(ModelMap model, BOSetupOrdrVO boOrdrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
setupOrdrVO.setSopmalCd(authSopmalCd); boOrdrVO.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO,"/gcone/setup/ordrmngr/selectBOOrdrSetupList", setupOrdrVO), if("01".equals(user.getSysDvCd())){
model, boOrdrVO.setSopmalCd(user.getSopmalCd());
"resultMap" }
);
Map<String, Object> content = service.selectBOOrdrSetupList(boOrdrVO);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO,"/gcone/setup/ordrmngr/selectBOOrdrSetupList", setupOrdrVO),
// model,
// "resultMap"
// );
return "mngr/setup/ordr/OrdrListR"; return "mngr/setup/ordr/OrdrListR";
} }
/** /**
* 주문 저장, 수정 * 주문 저장, 수정
* @param setupOrdrVO * @param vo
* @return NbkkSetupListR.jsp * @return NbkkSetupListR.jsp
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/updateOrdrSetup" , method = RequestMethod.POST) @RequestMapping(value="/updateOrdrSetup" , method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateOrdrSetup(@Validated SetupOrdrVO vo, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> updateOrdrSetup(@Validated BOSetupOrdrVO vo, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
List<Map<String, String>> errorList = new ArrayList<>(); List<Map<String, String>> errorList = new ArrayList<>();
@@ -136,10 +153,26 @@ public class SetupOrdrController {
if("N".equals(vo.getMlgMxmmPymntAmtAt())) { if("N".equals(vo.getMlgMxmmPymntAmtAt())) {
vo.setMlgMxmmPymntAmt(null); vo.setMlgMxmmPymntAmt(null);
} }
//BO API 호출 => 주문 저장
return responseHandler.handleResponse( //등록자 수정자 set
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/ordrmngr/updateBOOrdrSetup", vo), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
ReplyFromResrc::getReply if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
vo.setRegusr(user.getUserInnb());
vo.setUpdusr(user.getUserInnb());
Map<String, Object> result = new HashMap<>();
//주문 설정 저장
result = service.updateBOOrdrSetup(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(result))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/ordrmngr/updateBOOrdrSetup", vo),
// ReplyFromResrc::getReply
// );
} }
} }

View File

@@ -1,22 +1,26 @@
package com.wb.domainserver.domain.mngr.setup.popup.controller; package com.wb.domainserver.domain.mngr.setup.popup.controller;
import com.wb.domainserver.common.msg.GconeMessageSource; import com.wb.domainserver.common.msg.GconeMessageSource;
import com.wb.domainserver.domain.mngr.setup.popup.vo.SetupPopupVO; import com.wb.domainserver.common.mvc.tags.ui.pagination.PaginationInfo;
import com.wb.domainserver.common.prop.PaginationProperties;
import com.wb.domainserver.domain.gcone.setup.popup.service.BOPopupService;
import com.wb.domainserver.domain.gcone.setup.popup.vo.BOPopupVO;
import com.wb.domainserver.exception.WnbtRestException; import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.response.WnbtResponse; import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.communicate.ValidateResultConverter; import com.wb.domainserver.util.communicate.ValidateResultConverter;
import com.wb.domainserver.util.file.FileMngUtil; import com.wb.domainserver.util.dataaccess.DataMap;
import com.wb.domainserver.util.file.service.FileStorageService; import com.wb.domainserver.util.file.service.FileStorageService;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@@ -28,6 +32,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 팝업 관리 Controller * 팝업 관리 Controller
@@ -53,18 +58,19 @@ public class SetupPopupController {
private SendToResrc sendToResrc; private SendToResrc sendToResrc;
@Autowired @Autowired
private GconeMessageSource gconeMessageSource; private GconeMessageSource gconeMessageSource;
@Autowired
private FileMngUtil fileMngUtil;
@Value("${mngrfo.common.fileupload.uploaddirs.goods}")
private String uploadFilePath;
@Value("${mngrfo.common.fileupload.extensions.images}")
private String whiteListFileUploadExtensions;
@Autowired @Autowired
private FileStorageService filestore; private FileStorageService filestore;
@Autowired @Autowired
private WnbtWebClientResponseHandler responseHandler; private WnbtWebClientResponseHandler responseHandler;
@Autowired
private BOPopupService service;
@Autowired
private PaginationProperties paginationProperties;
/** /**
* 팝업 목록 조회 * 팝업 목록 조회
* @param vo * @param vo
@@ -73,17 +79,41 @@ public class SetupPopupController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectPopupList") @RequestMapping(value="/selectPopupList")
public String selectCmmnCodeListInqire(SetupPopupVO vo, public String selectCmmnCodeListInqire(BOPopupVO vo,
ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( //사용자 정보 추출 및 적용
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/popup/selectBOPopupList", vo), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
model, if("01".equals(user.getSysDvCd())){
"resultMap" 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());
// 목록 조회
List<DataMap> list = service.selectBOPopupList(vo);
Map<String, Object> content = new HashMap<>();
content.put("BOPopupVO", vo);
content.put("list", list);
content.put("paginationInfo", vo.getPaginationInfo());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/popup/selectBOPopupList", vo),
// model,
// "resultMap"
// );
return "mngr/setup/popup/PopupListR"; return "mngr/setup/popup/PopupListR";
} }
@@ -96,16 +126,42 @@ public class SetupPopupController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectPopupRegistForm") @RequestMapping(value="/selectPopupRegistForm")
public String selectPopupRegistForm(SetupPopupVO vo, public String selectPopupRegistForm(BOPopupVO vo,
ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( //사용자 정보 추출 및 적용
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/popup/selectBOPopupList", vo), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
model, if("01".equals(user.getSysDvCd())){
"resultMap" 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());
// 목록 조회
List<DataMap> list = service.selectBOPopupList(vo);
Map<String, Object> content = new HashMap<>();
content.put("BOPopupVO", vo);
content.put("list", list);
content.put("paginationInfo", vo.getPaginationInfo());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/popup/selectBOPopupList", vo),
// model,
// "resultMap"
// );
return "mngr/setup/popup/PopupRegistC"; return "mngr/setup/popup/PopupRegistC";
} }
@@ -117,15 +173,28 @@ public class SetupPopupController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectPopupUpdtForm") @RequestMapping(value="/selectPopupUpdtForm")
public String selectPopupDtlForm(SetupPopupVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectPopupDtlForm(BOPopupVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/popup/selectBOPopupDtl", vo), if("01".equals(user.getSysDvCd())){
model, vo.setSopmalCd(user.getSopmalCd());
"resultMap" }
);
// 상세조회
DataMap list = new DataMap();
list = service.selectBOPopupDtl(vo);
Map<String, Object> content = new HashMap<>();
content.put("BOPopupVO", vo);
content.put("list", list);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/popup/selectBOPopupDtl", vo),
// model,
// "resultMap"
// );
return "mngr/setup/popup/PopupDtlU"; return "mngr/setup/popup/PopupDtlU";
} }
@@ -137,8 +206,8 @@ public class SetupPopupController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/insertPopup" , method = RequestMethod.POST) @RequestMapping(value="/insertPopup" , method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> insertPopup(@Validated SetupPopupVO vo, BindingResult bindingResult , HttpServletRequest request, public ResponseEntity<WnbtResponse> insertPopup(@Validated BOPopupVO vo, BindingResult bindingResult , HttpServletRequest request,
@CookieValue(value = "authSopmalCd") String authSopmalCd) { @CookieValue(value = "authSopmalCd") String authSopmalCd) {
@@ -177,19 +246,34 @@ public class SetupPopupController {
ulpladFileMap = filestore.fileUpload(request); ulpladFileMap = filestore.fileUpload(request);
vo.setFileInfo(ulpladFileMap); vo.setFileInfo(ulpladFileMap);
} catch (WnbtRestException wre){ } catch (WnbtRestException wre){
throw new WnbtRestException("파일 업로드에 실패했습니다."+ wre.getMessage()); log.error(wre.getMessage());
throw new WnbtRestException("파일 업로드에 실패했습니다.");
} }
catch (Exception e) { catch (Exception e) {
throw new WnbtRestException("파일 업로드에 실패했습니다."+e); log.error(e.getMessage());
throw new WnbtRestException("파일 업로드에 실패했습니다.");
} }
//사용자 정보 추출 및 적용
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
vo.setRegusr(user.getUserInnb());
return responseHandler.handleResponse( //팝업 등록 로직
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/popup/insertBOPopup", vo), Map<String, Object> message = new HashMap<>();
ReplyFromResrc::getReply message = service.insertBOPopup(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(message))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/popup/insertBOPopup", vo),
// ReplyFromResrc::getReply
// );
} }
/** /**
@@ -199,13 +283,11 @@ public class SetupPopupController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/updatePopupDtl" , method = RequestMethod.POST) @RequestMapping(value="/updatePopupDtl" , method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updatePopupDtl(@Validated SetupPopupVO vo, BindingResult bindingResult , HttpServletRequest request, public ResponseEntity<WnbtResponse> updatePopupDtl(@Validated BOPopupVO vo, BindingResult bindingResult , HttpServletRequest request,
@CookieValue(value = "authSopmalCd") String authSopmalCd) { @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
//정합성 검사 //정합성 검사
if(bindingResult.hasErrors()) { if(bindingResult.hasErrors()) {
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource)); throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
@@ -221,18 +303,34 @@ public class SetupPopupController {
ulpladFileMap = filestore.fileUpload(request); ulpladFileMap = filestore.fileUpload(request);
vo.setFileInfo(ulpladFileMap); vo.setFileInfo(ulpladFileMap);
} catch (WnbtRestException wre){ } catch (WnbtRestException wre){
throw new WnbtRestException("파일 업로드에 실패했습니다."+ wre.getMessage()); log.error(wre.getMessage());
throw new WnbtRestException("파일 업로드에 실패했습니다.");
} }
catch (Exception e) { catch (Exception e) {
throw new WnbtRestException("파일 업로드에 실패했습니다."+e); log.error(e.getMessage());
throw new WnbtRestException("파일 업로드에 실패했습니다.");
} }
return responseHandler.handleResponse( //사용자 정보 추출 및 적용
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/popup/updateBOPopupDtl", vo), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
ReplyFromResrc::getReply if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
vo.setUpdusr(user.getUserInnb());
//팝업 수정 로직
Map<String, Object> message = new HashMap<>();
message = service.updateBOPopupDtl(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(message))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/popup/updateBOPopupDtl", vo),
// ReplyFromResrc::getReply
// );
} }
/** /**
@@ -241,19 +339,35 @@ public class SetupPopupController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/deletePopup" , method = RequestMethod.POST) @RequestMapping(value="/deletePopup" , method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> deletePopup(SetupPopupVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> deletePopup(BOPopupVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse( //사용자 정보 추출 및 적용
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/popup/deleteBOPopup", vo), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
ReplyFromResrc::getReply if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
vo.setUpdusr(user.getUserInnb());
//팝업 삭제 로직
Map<String, Object> message = new HashMap<>();
message = service.deleteBOPopup(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(message))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/setup/popup/deleteBOPopup", vo),
// ReplyFromResrc::getReply
// );
} }
@Policy(AuthPolicy.RESTRICTED)@RequestMapping(value="/selectPopupPrevew")public String selectPopupPrevew(){return "/0";} @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectPopupPrevew")
public String selectPopupPrevew(){return "/0";}
} }

View File

@@ -1,11 +1,18 @@
package com.wb.domainserver.domain.mngr.sms.controller; package com.wb.domainserver.domain.mngr.sms.controller;
import com.wb.domainserver.domain.gcone.puri.vo.BOPuriSrchVO;
import com.wb.domainserver.domain.gcone.sms.service.BOSmsBillingService;
import com.wb.domainserver.domain.gcone.sms.vo.BOSmsBillingResultVO;
import com.wb.domainserver.domain.gcone.sms.vo.BOSmsBillingVO;
import com.wb.domainserver.domain.mngr.sms.vo.SmsBillingVO; import com.wb.domainserver.domain.mngr.sms.vo.SmsBillingVO;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC; import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.dataaccess.DataMap;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@@ -15,6 +22,11 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
@Controller @Controller
@RequestMapping(value = "/mngr/sms") @RequestMapping(value = "/mngr/sms")
@Slf4j @Slf4j
@@ -27,6 +39,10 @@ public class SmsBillingController {
@Autowired @Autowired
private SendToResrc sendToResrc; private SendToResrc sendToResrc;
@Autowired
private BOSmsBillingService service;
/** /**
* SMS 정산 페이지 * SMS 정산 페이지
* @return String JSP 경로 * @return String JSP 경로
@@ -34,15 +50,23 @@ public class SmsBillingController {
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value ="/select/sms-billing") @RequestMapping(value ="/select/sms-billing")
public String selectSmsBillingList ( SmsBillingVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectSmsBillingList ( BOPuriSrchVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
log.debug("selectSmsBillingList()"); log.debug("selectSmsBillingList()");
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/sms/select/sms-billing", vo), if("01".equals(user.getSysDvCd())){
model, vo.setSopmalCd(user.getSopmalCd());
"resultMap" }
); DataMap content = new DataMap();
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/sms/select/sms-billing", vo),
// model,
// "resultMap"
// );
return "mngr/sms/SmsBillingMain"; return "mngr/sms/SmsBillingMain";
} }
@@ -54,16 +78,33 @@ public class SmsBillingController {
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value ="/select/sms-billingR" , method = RequestMethod.GET) @RequestMapping(value ="/select/sms-billingR" , method = RequestMethod.GET)
public String selectSmsBillingListR (@RequestParam("shopCd") String shopCd, SmsBillingVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public String selectSmsBillingListR (@RequestParam("shopCd") String shopCd, BOSmsBillingVO vo, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
log.debug("selectSmsBillingListR()"); log.debug("selectSmsBillingListR()");
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
vo.setShopCd(shopCd); vo.setShopCd(shopCd);
responseHandler.handleResponse( // 작성자 정보 할당
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/sms/select/sms-billingR", vo), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
model, if("01".equals(user.getSysDvCd())){
"resultMap" vo.setSopmalCd(user.getSopmalCd());
); }
log.debug(" 검색 파라미터 확인 리스트 검색조건 : {}", vo);
DataMap content = new DataMap();
List<BOSmsBillingResultVO> list = new ArrayList<>();
list = service.selectSmsBillingList(vo);
list = list.stream().sorted(Comparator.comparing(BOSmsBillingResultVO::getStoreName)).collect(Collectors.toList());
content.put("list", list);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/sms/select/sms-billingR", vo),
// model,
// "resultMap"
// );
return "mngr/sms/SmsBillingMainR"; return "mngr/sms/SmsBillingMainR";
} }

View File

@@ -1,15 +1,26 @@
package com.wb.domainserver.domain.mngr.stats.adtrace.controller; package com.wb.domainserver.domain.mngr.stats.adtrace.controller;
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.stats.adtrace.service.BOAdTraceService;
import com.wb.domainserver.domain.gcone.stats.adtrace.vo.BOAdTraceVO;
import com.wb.domainserver.domain.mngr.stats.adtrace.vo.AdTraceVO; import com.wb.domainserver.domain.mngr.stats.adtrace.vo.AdTraceVO;
import com.wb.domainserver.response.WnbtResponse; import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC; import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc; import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.dataaccess.DataMap;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@@ -17,6 +28,10 @@ import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller @Controller
@RequestMapping("/mngr/stats/adtrace") @RequestMapping("/mngr/stats/adtrace")
public class AdTraceController { public class AdTraceController {
@@ -28,6 +43,15 @@ public class AdTraceController {
@Autowired @Autowired
private WnbtWebClientResponseHandler responseHandler; private WnbtWebClientResponseHandler responseHandler;
@Autowired
private BOAdTraceService service;
@Autowired
private PaginationProperties paginationProperties;
@Autowired
private BOMaComncdService bOMaComncdService;
/** /**
* 광고추적 목록 조회 폼 * 광고추적 목록 조회 폼
* @param vo * @param vo
@@ -36,17 +60,27 @@ public class AdTraceController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectAdTraceListForm") @RequestMapping(value = "/selectAdTraceListForm")
public String selectAdTraceListForm(AdTraceVO vo, public String selectAdTraceListForm(BOAdTraceVO vo,
ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
//사용자 정보 추출 및 적용
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
vo.setRegusr(user.getUserInnb());
vo.setUpdusr(user.getUserInnb());
responseHandler.handleResponse( Map<String, Object> content = new HashMap<>();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/selectBOAdTraceListForm", vo),
model, model.addAttribute("resultMap", content);
"resultMap" // responseHandler.handleResponse(
); // sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/selectBOAdTraceListForm", vo),
// model,
// "resultMap"
// );
return "mngr/stats/adtrace/AdTraceListRForm"; return "mngr/stats/adtrace/AdTraceListRForm";
} }
@@ -58,16 +92,47 @@ public class AdTraceController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectAdTraceList") @RequestMapping(value = "/selectAdTraceList")
public String selectAdTraceList(AdTraceVO vo, public String selectAdTraceList(BOAdTraceVO vo,
ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( //사용자 정보 추출 및 적용
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/selectBOAdTraceList", vo), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
model, if("01".equals(user.getSysDvCd())){
"resultMap" vo.setSopmalCd(user.getSopmalCd());
); }
vo.setRegusr(user.getUserInnb());
vo.setUpdusr(user.getUserInnb());
Map<String, Object> content = new HashMap<>();
// 페이징 객체 생성 & 페이징정보 할당
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());
//목록 조회
List<DataMap> list = service.selectBOAdTraceList(vo);
content.put("BOAdTraceVO", vo);
content.put("list", list);
content.put("paginationInfo", vo.getPaginationInfo());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/selectBOAdTraceList", vo),
// model,
// "resultMap"
// );
return "mngr/stats/adtrace/AdTraceListR"; return "mngr/stats/adtrace/AdTraceListR";
} }
@@ -79,16 +144,34 @@ public class AdTraceController {
*/ */
@RequestMapping("/insertAdTraceForm") @RequestMapping("/insertAdTraceForm")
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
public String insertAdTraceForm(AdTraceVO vo, public String insertAdTraceForm(BOAdTraceVO vo,
ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( //사용자 정보 추출 및 적용
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/insertBOAdTraceForm", vo), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
model, if("01".equals(user.getSysDvCd())){
"resultMap" vo.setSopmalCd(user.getSopmalCd());
); }
vo.setRegusr(user.getUserInnb());
vo.setUpdusr(user.getUserInnb());
Map<String, Object> content = new HashMap<>();
//광고매체정보 조회
BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("AD_MEDIA_DV");
List<?> adMediaDvList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO);
content.put("adMediaDvList", adMediaDvList);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/insertBOAdTraceForm", vo),
// model,
// "resultMap"
// );
return "mngr/stats/adtrace/AdTraceC"; return "mngr/stats/adtrace/AdTraceC";
} }
@@ -99,15 +182,33 @@ public class AdTraceController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/insertAdTrace", method = RequestMethod.POST) @RequestMapping(value = "/insertAdTrace", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> insertAdTrace(AdTraceVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> insertAdTrace(BOAdTraceVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse( //사용자 정보 추출 및 적용
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/insertBOAdTrace", vo), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
ReplyFromResrc::getReply if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
vo.setRegusr(user.getUserInnb());
vo.setUpdusr(user.getUserInnb());
Map<String, Object> content = new HashMap<>();
content = service.insertBOAdTrace(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/insertBOAdTrace", vo),
// ReplyFromResrc::getReply
// );
} }
@@ -119,16 +220,36 @@ public class AdTraceController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/selectAdTraceDtlForm") @RequestMapping(value = "/selectAdTraceDtlForm")
public String selectAdTraceDtlForm( AdTraceVO vo, public String selectAdTraceDtlForm( BOAdTraceVO vo,
ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) { ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( //사용자 정보 추출 및 적용
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/selectBOAdTraceDtlForm", vo), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
model, if("01".equals(user.getSysDvCd())){
"resultMap" vo.setSopmalCd(user.getSopmalCd());
); }
vo.setRegusr(user.getUserInnb());
vo.setUpdusr(user.getUserInnb());
Map<String, Object> content = new HashMap<>();
//광고매체정보 조회
BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("AD_MEDIA_DV");
List<?> adMediaDvList = bOMaComncdService.selectBOCommcdDetailList(maComncdVO);
content.put("adMediaDvList", adMediaDvList);
content = service.selectBOAdTraceDtlForm(vo);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/selectBOAdTraceDtlForm", vo),
// model,
// "resultMap"
// );
return "mngr/stats/adtrace/AdTraceDtlU"; return "mngr/stats/adtrace/AdTraceDtlU";
} }
@@ -139,15 +260,32 @@ public class AdTraceController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value = "/updateAdTraceDtl", method = RequestMethod.POST) @RequestMapping(value = "/updateAdTraceDtl", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> updateAdTraceDtl(AdTraceVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) { public ResponseEntity<WnbtResponse> updateAdTraceDtl(BOAdTraceVO vo, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
return responseHandler.handleResponse( //사용자 정보 추출 및 적용
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/updateBOAdTraceDtl", vo), AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
ReplyFromResrc::getReply if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
vo.setRegusr(user.getUserInnb());
vo.setUpdusr(user.getUserInnb());
Map<String, Object> content = new HashMap<>();
content = service.updateBOAdTraceDtl(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
); );
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adtrace/updateBOAdTraceDtl", vo),
// ReplyFromResrc::getReply
// );
} }
} }

View File

@@ -1,14 +1,26 @@
package com.wb.domainserver.domain.mngr.stats.adtraceAnals.controller; package com.wb.domainserver.domain.mngr.stats.adtraceAnals.controller;
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.stats.adTraceAnals.service.BOAdTraceAnalsService;
import com.wb.domainserver.domain.gcone.stats.adTraceAnals.vo.BOAdTraceAnalsVO;
import com.wb.domainserver.domain.mngr.stats.adtraceAnals.vo.AdTraceAnalsGoodsVO; import com.wb.domainserver.domain.mngr.stats.adtraceAnals.vo.AdTraceAnalsGoodsVO;
import com.wb.domainserver.domain.mngr.stats.adtraceAnals.vo.AdTraceAnalsVO; import com.wb.domainserver.domain.mngr.stats.adtraceAnals.vo.AdTraceAnalsVO;
import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.exception.code.ErrorCode;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC; import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.dataaccess.DataMap;
import com.wb.domainserver.util.excel.ExcelDownloadUtil; import com.wb.domainserver.util.excel.ExcelDownloadUtil;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@@ -22,6 +34,7 @@ import java.util.*;
@Controller @Controller
@RequestMapping(value = "/mngr/stats/adTraceAnals") @RequestMapping(value = "/mngr/stats/adTraceAnals")
@Slf4j
public class AdTraceAnalsController { public class AdTraceAnalsController {
/** WebClient 호출을 위한 wrapper */ /** WebClient 호출을 위한 wrapper */
@@ -31,6 +44,14 @@ public class AdTraceAnalsController {
@Autowired @Autowired
private SendToResrc sendToResrc; private SendToResrc sendToResrc;
@Autowired
private BOAdTraceAnalsService service;
@Autowired
private PaginationProperties paginationProperties;
@Autowired
private BOMaComncdService bOMaComncdService;
/** /**
* 관리자 추적코드 통계 화면 * 관리자 추적코드 통계 화면
* @return * @return
@@ -38,14 +59,28 @@ public class AdTraceAnalsController {
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrAdTraceStats") @RequestMapping(value="/selectMngrAdTraceStats")
public String selectBOMngrAdTraceStats(@CookieValue(value = "authSopmalCd") String authSopmalCd,ModelMap model) { public String selectBOMngrAdTraceStats(@CookieValue(value = "authSopmalCd") String authSopmalCd,ModelMap model) {
AdTraceAnalsVO vo = new AdTraceAnalsVO(); BOAdTraceAnalsVO vo = new BOAdTraceAnalsVO();
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( // 응답 메세지 객체
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectBOMngrAdTraceStats", vo), Map<String, Object> content = new HashMap<>();
model,
"cond" // 공통코드 호출
); BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
List<String> adTraceCdList = service.selectBOMngrAdTraceCdList(vo);
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
content.put("adTraceCdList",adTraceCdList);
model.addAttribute("cond", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectBOMngrAdTraceStats", vo),
// model,
// "cond"
// );
model.put("resultMap", vo); model.put("resultMap", vo);
return "mngr/stats/adTraceAnals/adTraceStats"; return "mngr/stats/adTraceAnals/adTraceStats";
@@ -58,14 +93,28 @@ public class AdTraceAnalsController {
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrAdTraceGoodsStats") @RequestMapping(value="/selectMngrAdTraceGoodsStats")
public String selectBOMngrAdTraceGoodsStats(@CookieValue(value = "authSopmalCd") String authSopmalCd,ModelMap model) { public String selectBOMngrAdTraceGoodsStats(@CookieValue(value = "authSopmalCd") String authSopmalCd,ModelMap model) {
AdTraceAnalsGoodsVO vo = new AdTraceAnalsGoodsVO(); BOAdTraceAnalsVO vo = new BOAdTraceAnalsVO();
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( // 응답 메세지 객체
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectBOMngrAdTraceGoodsStats", vo), Map<String, Object> content = new HashMap<>();
model,
"cond" // 공통코드 호출
); BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
List<String> adTraceCdList = service.selectBOMngrAdTraceCdList(vo);
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
content.put("adTraceCdList",adTraceCdList);
model.addAttribute("cond", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectBOMngrAdTraceGoodsStats", vo),
// model,
// "cond"
// );
model.put("resultMap", vo); model.put("resultMap", vo);
return "mngr/stats/adTraceAnals/adTraceGoodsStats"; return "mngr/stats/adTraceAnals/adTraceGoodsStats";
@@ -77,14 +126,43 @@ public class AdTraceAnalsController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrAdTraceStatsTableInqire") @RequestMapping(value="/selectMngrAdTraceStatsTableInqire")
public String selectMngrAdTraceStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, AdTraceAnalsVO vo, ModelMap model) { public String selectMngrAdTraceStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOAdTraceAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectMngrAdTraceStatsTableInqire", vo), if("01".equals(user.getSysDvCd())){
model, vo.setSopmalCd(user.getSopmalCd());
"resultMap" }
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
PaginationInfo paginationInfo = new PaginationInfo();
List<DataMap> resultList = new ArrayList<>();
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getRecordCountPerPage());
paginationInfo.setPageSize(paginationProperties.getPageSize());
vo.setPaginationInfo(paginationInfo);
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
resultList = service.selectTableDateOrWeekend(vo);
content.put("resultList", resultList);
log.debug("@@@@resultList " + resultList);
content.put("paginationInfo", paginationInfo);
content.put("unitFlag", vo.getUnitFlag());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectMngrAdTraceStatsTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/adTraceAnals/adTraceStatsTable"; return "mngr/stats/adTraceAnals/adTraceStatsTable";
} }
@@ -95,14 +173,42 @@ public class AdTraceAnalsController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrAdTraceStatsGoodsTableInqire") @RequestMapping(value="/selectMngrAdTraceStatsGoodsTableInqire")
public String selectMngrAdTraceStatsGoodsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, AdTraceAnalsVO vo, ModelMap model) { public String selectMngrAdTraceStatsGoodsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOAdTraceAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectMngrAdTraceStatsGoodsTableInqire", vo), if("01".equals(user.getSysDvCd())){
model, vo.setSopmalCd(user.getSopmalCd());
"resultMap" }
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
PaginationInfo paginationInfo = new PaginationInfo();
List<DataMap> goodsResultList = new ArrayList<>();
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getRecordCountPerPage());
paginationInfo.setPageSize(paginationProperties.getPageSize());
vo.setPaginationInfo(paginationInfo);
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
goodsResultList = service.selectTableGoodsDateOrWeekend(vo);
log.debug("@@@@goodsResultList " + goodsResultList);
content.put("goodsResultList", goodsResultList);
content.put("paginationInfo", paginationInfo);
content.put("unitFlag", vo.getUnitFlag());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectMngrAdTraceStatsGoodsTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/adTraceAnals/adTraceStatsGoodsTable"; return "mngr/stats/adTraceAnals/adTraceStatsGoodsTable";
} }
@@ -115,11 +221,23 @@ public class AdTraceAnalsController {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Policy(AuthPolicy.PUBLIC) @Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/selectMngrAdTraceStatsExcelFileDownload", method = RequestMethod.POST) @RequestMapping(value="/selectMngrAdTraceStatsExcelFileDownload", method = RequestMethod.POST)
public void selectMngrAdTraceStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, AdTraceAnalsVO vo){ public void selectMngrAdTraceStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, BOAdTraceAnalsVO vo){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectBOMngrAdTraceStatsExcelFileDownload",vo) AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
); if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
Map<String,Object> resultMap = new HashMap<>();
List<DataMap> resultList = service.selectBOMngrAdTraceStatsExcelFileDownload(vo);
resultMap.put("excelList", resultList);
// Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/adTraceAnals/selectBOMngrAdTraceStatsExcelFileDownload",vo)
// );
List<Map<String, Object>> excelList = new ArrayList<>(); List<Map<String, Object>> excelList = new ArrayList<>();
if(resultMap.get("excelList") != null) { if(resultMap.get("excelList") != null) {
@@ -213,7 +331,8 @@ public class AdTraceAnalsController {
ExcelDownloadUtil.createExcel(encodedFileName, headerMap, dataList, response, true); ExcelDownloadUtil.createExcel(encodedFileName, headerMap, dataList, response, true);
} catch(Exception e) { } catch(Exception e) {
log.error("엑셀다운로드 중 오류가 발생하였습니다."+e.getMessage());
throw new WnbtRestException("엑셀다운로드 중 오류가 발생하였습니다.");
} }
} }

View File

@@ -1,18 +1,29 @@
package com.wb.domainserver.domain.mngr.stats.marktAnals.controller; package com.wb.domainserver.domain.mngr.stats.marktAnals.controller;
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.stats.marktAnals.service.BOMarktAnalsService;
import com.wb.domainserver.domain.gcone.stats.marktAnals.vo.BOMarktAnalsVO;
import com.wb.domainserver.domain.mngr.stats.marktAnals.vo.MarktAnalsVO; import com.wb.domainserver.domain.mngr.stats.marktAnals.vo.MarktAnalsVO;
import com.wb.domainserver.exception.WnbtRestException; import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.response.WnbtResponse; import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC; import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc; import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.dataaccess.DataMap;
import com.wb.domainserver.util.excel.ExcelDownloadUtil; import com.wb.domainserver.util.excel.ExcelDownloadUtil;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@@ -37,8 +48,13 @@ public class MarktAnalsController {
@Autowired @Autowired
private SendToResrc sendToResrc; private SendToResrc sendToResrc;
@Autowired
private BOMarktAnalsService service;
@Autowired
private PaginationProperties paginationProperties;
@Autowired
private BOMaComncdService bOMaComncdService;
/************************************************************************** /**************************************************************************
* 유입통계 * 유입통계
@@ -53,11 +69,22 @@ public class MarktAnalsController {
public String selectMngrInflowStats(ModelMap model) { public String selectMngrInflowStats(ModelMap model) {
MarktAnalsVO vo = new MarktAnalsVO(); MarktAnalsVO vo = new MarktAnalsVO();
responseHandler.handleResponse( // 응답 메세지 객체
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStats", vo), Map<String, Object> content = new HashMap<>();
model,
"cond" // 공통코드 호출
); BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
model.addAttribute("cond", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStats", vo),
// model,
// "cond"
// );
model.put("resultMap", vo); model.put("resultMap", vo);
return "mngr/stats/marktAnals/inflowStats"; return "mngr/stats/marktAnals/inflowStats";
@@ -69,14 +96,27 @@ public class MarktAnalsController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrInflowStatsChart1Inqire") @RequestMapping(value="/selectMngrInflowStatsChart1Inqire", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectMngrInflowStatsChart1Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, MarktAnalsVO vo) { public ResponseEntity<WnbtResponse> selectMngrInflowStatsChart1Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, DataMap vo) {
vo.setSopmalCd(authSopmalCd); vo.put("sopmalCd",authSopmalCd);
return responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsChart1Inqire", vo), if("01".equals(user.getSysDvCd())){
ReplyFromResrc::getReply vo.put("sopmalCd", user.getSopmalCd());
); }
// 응답 메세지 객체
List<DataMap> content = service.selectBOMngrInflowStatsChart1Inqire(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsChart1Inqire", vo),
// ReplyFromResrc::getReply
// );
} }
/** /**
@@ -84,14 +124,27 @@ public class MarktAnalsController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrInflowStatsChart2Inqire") @RequestMapping(value="/selectMngrInflowStatsChart2Inqire", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectMngrInflowStatsChart2Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, MarktAnalsVO vo) { public ResponseEntity<WnbtResponse> selectMngrInflowStatsChart2Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, DataMap vo) {
vo.setSopmalCd(authSopmalCd); vo.put("sopmalCd", authSopmalCd);
return responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsChart2Inqire", vo), if("01".equals(user.getSysDvCd())){
ReplyFromResrc::getReply vo.put("sopmalCd", user.getSopmalCd());
); }
// 응답 메세지 객체
List<DataMap> content = service.selectBOMngrInflowStatsChart2Inqire(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsChart2Inqire", vo),
// ReplyFromResrc::getReply
// );
} }
@@ -101,14 +154,39 @@ public class MarktAnalsController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrInflowStatsTableInqire") @RequestMapping(value="/selectMngrInflowStatsTableInqire")
public String selectMngrInflowStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, MarktAnalsVO vo, ModelMap model) { public String selectMngrInflowStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOMarktAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsTableInqire", vo), if("01".equals(user.getSysDvCd())){
model, vo.setSopmalCd(user.getSopmalCd());
"resultMap" }
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getRecordCountPerPage());
paginationInfo.setPageSize(paginationProperties.getPageSize());
vo.setPaginationInfo(paginationInfo);
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<DataMap> resultList = service.selectBOMngrInflowStatsTableInqire(vo);
content.put("resultList", resultList);
content.put("paginationInfo", paginationInfo);
content.put("unitFlag", vo.getUnitFlag());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/marktAnals/inflowStatsTable"; return "mngr/stats/marktAnals/inflowStatsTable";
} }
@@ -122,11 +200,23 @@ public class MarktAnalsController {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Policy(AuthPolicy.PUBLIC) @Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/selectMngrInflowStatsExcelFileDownload", method = RequestMethod.POST) @RequestMapping(value="/selectMngrInflowStatsExcelFileDownload", method = RequestMethod.POST)
public void selectMngrInflowStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, MarktAnalsVO vo){ public void selectMngrInflowStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, BOMarktAnalsVO vo){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsExcelFileDownload",vo) AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
); if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
DataMap resultMap = new DataMap();
List<DataMap> resultList = service.selectBOMngrInflowStatsExcelFileDownload(vo);
resultMap.put("excelList", resultList);
// Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrInflowStatsExcelFileDownload",vo)
// );
List<Map<String, Object>> excelList = new ArrayList<>(); List<Map<String, Object>> excelList = new ArrayList<>();
if(resultMap.get("excelList") != null) { if(resultMap.get("excelList") != null) {
@@ -217,11 +307,23 @@ public class MarktAnalsController {
@RequestMapping(value="/selectMngrCouponStats") @RequestMapping(value="/selectMngrCouponStats")
public String selectMngrCouponStats(ModelMap model) { public String selectMngrCouponStats(ModelMap model) {
MarktAnalsVO vo = new MarktAnalsVO(); MarktAnalsVO vo = new MarktAnalsVO();
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrCouponStats", vo), // 응답 메세지 객체
model, Map<String, Object> content = new HashMap<>();
"cond"
); // 공통코드 호출
BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
model.addAttribute("cond", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrCouponStats", vo),
// model,
// "cond"
// );
model.put("resultMap", vo); model.put("resultMap", vo);
return "mngr/stats/marktAnals/couponStats"; return "mngr/stats/marktAnals/couponStats";
@@ -234,14 +336,39 @@ public class MarktAnalsController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrCouponStatsTableInqire") @RequestMapping(value="/selectMngrCouponStatsTableInqire")
public String selectMngrCouponStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, MarktAnalsVO vo, ModelMap model) { public String selectMngrCouponStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOMarktAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrCouponStatsTableInqire", vo), if("01".equals(user.getSysDvCd())){
model, vo.setSopmalCd(user.getSopmalCd());
"resultMap" }
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getRecordCountPerPage());
paginationInfo.setPageSize(paginationProperties.getPageSize());
vo.setPaginationInfo(paginationInfo);
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<DataMap> resultList = service.selectBOMngrCouponStatsTableInqire(vo);
content.put("resultList", resultList);
content.put("paginationInfo", paginationInfo);
content.put("unitFlag", vo.getUnitFlag());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrCouponStatsTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/marktAnals/couponStatsTable"; return "mngr/stats/marktAnals/couponStatsTable";
} }
@@ -255,11 +382,24 @@ public class MarktAnalsController {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Policy(AuthPolicy.PUBLIC) @Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/selectMngrCouponStatsExcelFileDownload", method = RequestMethod.POST) @RequestMapping(value="/selectMngrCouponStatsExcelFileDownload", method = RequestMethod.POST)
public void selectMngrCouponStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, MarktAnalsVO vo){ public void selectMngrCouponStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, BOMarktAnalsVO vo){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrCouponStatsExcelFileDownload",vo) AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
); if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
DataMap resultMap = new DataMap();
List<DataMap> resultList = service.selectBOMngrCouponStatsExcelFileDownload(vo);
resultMap.put("excelList", resultList);
// Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrCouponStatsExcelFileDownload",vo)
// );
List<Map<String, Object>> excelList = new ArrayList<>(); List<Map<String, Object>> excelList = new ArrayList<>();
if(resultMap.get("excelList") != null) { if(resultMap.get("excelList") != null) {
@@ -345,11 +485,23 @@ public class MarktAnalsController {
@RequestMapping(value="/selectMngrMbrNdMlgStats") @RequestMapping(value="/selectMngrMbrNdMlgStats")
public String selectMngrMbrNdMlgStats(ModelMap model) { public String selectMngrMbrNdMlgStats(ModelMap model) {
MarktAnalsVO vo = new MarktAnalsVO(); MarktAnalsVO vo = new MarktAnalsVO();
responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrMbrNdMlgStats", vo), // 응답 메세지 객체
model, Map<String, Object> content = new HashMap<>();
"cond"
); // 공통코드 호출
BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
model.addAttribute("cond", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrMbrNdMlgStats", vo),
// model,
// "cond"
// );
model.put("resultMap", vo); model.put("resultMap", vo);
return "mngr/stats/marktAnals/mbrNdMlgStats"; return "mngr/stats/marktAnals/mbrNdMlgStats";
@@ -365,6 +517,7 @@ public class MarktAnalsController {
public String selectMngrMbrNdMlgTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, MarktAnalsVO vo, ModelMap model) { public String selectMngrMbrNdMlgTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, MarktAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( responseHandler.handleResponse(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrMbrNdMlgTableInqire", vo), sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/marktAnals/selectBOMngrMbrNdMlgTableInqire", vo),
model, model,

View File

@@ -1,17 +1,26 @@
package com.wb.domainserver.domain.mngr.stats.member.controller; package com.wb.domainserver.domain.mngr.stats.member.controller;
import com.wb.domainserver.domain.gcone.stats.memberStat.service.BOMemberStatService;
import com.wb.domainserver.domain.gcone.stats.memberStat.vo.BOMemberStatVO;
import com.wb.domainserver.domain.mngr.stats.member.vo.MemberStatVO; import com.wb.domainserver.domain.mngr.stats.member.vo.MemberStatVO;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC; import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.dataaccess.DataMap;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller @Controller
@RequestMapping("/mngr/stats/memberStat") @RequestMapping("/mngr/stats/memberStat")
public class MemberStatController { public class MemberStatController {
@@ -24,6 +33,9 @@ public class MemberStatController {
@Autowired @Autowired
private SendToResrc sendToResrc; private SendToResrc sendToResrc;
@Autowired
private BOMemberStatService service;
@Policy(AuthPolicy.PUBLIC) @Policy(AuthPolicy.PUBLIC)
@RequestMapping("/selectMemberStat") @RequestMapping("/selectMemberStat")
public String selectMngrMemberStat (@CookieValue(value = "authSopmalCd") String authSopmalCd, ModelMap model) { public String selectMngrMemberStat (@CookieValue(value = "authSopmalCd") String authSopmalCd, ModelMap model) {
@@ -31,10 +43,14 @@ public class MemberStatController {
MemberStatVO vo = new MemberStatVO(); MemberStatVO vo = new MemberStatVO();
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse(sendToResrc.ofPost(RESRC.GCONEBO,"/gcone/stats/memberStat/selectBOMemberStat", vo), // 응답 메세지 객체
model, Map<String, Object> content = new HashMap<>();
"cond"
); model.addAttribute("cond", content);
// responseHandler.handleResponse(sendToResrc.ofPost(RESRC.GCONEBO,"/gcone/stats/memberStat/selectBOMemberStat", vo),
// model,
// "cond"
// );
model.put("resultMap", vo); model.put("resultMap", vo);
return "mngr/stats/memberStat/memberStat"; return "mngr/stats/memberStat/memberStat";
@@ -42,14 +58,24 @@ public class MemberStatController {
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrMemberStatTableInqire") @RequestMapping(value="/selectMngrMemberStatTableInqire")
public String selectMngrMemberStatTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, MemberStatVO vo, ModelMap model) { public String selectMngrMemberStatTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOMemberStatVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/memberStat/selectBOMngrMemberStatTableInqire", vo), if("01".equals(user.getSysDvCd())){
model, vo.setSopmalCd(user.getSopmalCd());
"resultMap" }
); // 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
List<DataMap> resultList = service.selectBOMngrMemberStatTableInqire(vo);
content.put("resultList", resultList);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/memberStat/selectBOMngrMemberStatTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/memberStat/memberStatsTable"; return "mngr/stats/memberStat/memberStatsTable";
} }

View File

@@ -1,18 +1,29 @@
package com.wb.domainserver.domain.mngr.stats.sleAnals.controller; package com.wb.domainserver.domain.mngr.stats.sleAnals.controller;
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.stats.sleAnals.service.BOSleAnalsService;
import com.wb.domainserver.domain.gcone.stats.sleAnals.vo.BOSleAnalsVO;
import com.wb.domainserver.domain.mngr.stats.sleAnals.vo.SleAnalsVO; import com.wb.domainserver.domain.mngr.stats.sleAnals.vo.SleAnalsVO;
import com.wb.domainserver.exception.WnbtRestException; import com.wb.domainserver.exception.WnbtRestException;
import com.wb.domainserver.response.WnbtResponse; import com.wb.domainserver.response.WnbtResponse;
import com.wb.domainserver.response.WnbtResponseBody;
import com.wb.domainserver.response.WnbtWebClientResponseHandler; 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.AuthPolicy;
import com.wb.domainserver.security.authorization.annotation.Policy; import com.wb.domainserver.security.authorization.annotation.Policy;
import com.wb.domainserver.util.communicate.RESRC; import com.wb.domainserver.util.communicate.RESRC;
import com.wb.domainserver.util.communicate.ReplyFromResrc; import com.wb.domainserver.util.communicate.ReplyFromResrc;
import com.wb.domainserver.util.communicate.SendToResrc; import com.wb.domainserver.util.communicate.SendToResrc;
import com.wb.domainserver.util.dataaccess.DataMap;
import com.wb.domainserver.util.excel.ExcelDownloadUtil; import com.wb.domainserver.util.excel.ExcelDownloadUtil;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
@@ -37,8 +48,13 @@ public class SleAnalsController {
@Autowired @Autowired
private SendToResrc sendToResrc; private SendToResrc sendToResrc;
@Autowired
private BOSleAnalsService service;
@Autowired
private PaginationProperties paginationProperties;
@Autowired
private BOMaComncdService bOMaComncdService;
/************************************************************************** /**************************************************************************
* 판매성과 * 판매성과
@@ -52,11 +68,22 @@ public class SleAnalsController {
@RequestMapping(value="/selectMngrSleRslt") @RequestMapping(value="/selectMngrSleRslt")
public String selectMngrSleRslt(ModelMap model, SleAnalsVO vo) { public String selectMngrSleRslt(ModelMap model, SleAnalsVO vo) {
responseHandler.handleResponse( // 응답 메세지 객체
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRslt", vo), Map<String, Object> content = new HashMap<>();
model,
"cond" // 공통코드 호출
); BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
model.addAttribute("cond", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRslt", vo),
// model,
// "cond"
// );
model.put("resultMap", vo); model.put("resultMap", vo);
return "mngr/stats/sleAnals/sleRslt"; return "mngr/stats/sleAnals/sleRslt";
@@ -68,14 +95,27 @@ public class SleAnalsController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrSleRsltChart1Inqire") @RequestMapping(value="/selectMngrSleRsltChart1Inqire", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectMngrSleRsltChart1Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo) { public ResponseEntity<WnbtResponse> selectMngrSleRsltChart1Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, DataMap vo) {
vo.setSopmalCd(authSopmalCd); vo.put("sopmalCd", authSopmalCd);
return responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltChart1Inqire", vo), if("01".equals(user.getSysDvCd())){
ReplyFromResrc::getReply vo.put("sopmalCd", user.getSopmalCd());
); }
// 응답 메세지 객체
Map<String, Object> content = service.selectBOMngrSleRsltChart1Inqire(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltChart1Inqire", vo),
// ReplyFromResrc::getReply
// );
} }
/** /**
@@ -83,14 +123,26 @@ public class SleAnalsController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrSleRsltChart2Inqire") @RequestMapping(value="/selectMngrSleRsltChart2Inqire", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectMngrSleRsltChart2Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo) { public ResponseEntity<WnbtResponse> selectMngrSleRsltChart2Inqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, DataMap vo) {
vo.setSopmalCd(authSopmalCd); vo.put("sopmalCd", authSopmalCd);
return responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltChart2Inqire", vo), if("01".equals(user.getSysDvCd())){
ReplyFromResrc::getReply vo.put("sopmalCd", user.getSopmalCd());
); }
// 응답 메세지 객체
List<DataMap> content = service.selectBOMngrSleRsltChart2Inqire(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltChart2Inqire", vo),
// ReplyFromResrc::getReply
// );
} }
@@ -100,14 +152,38 @@ public class SleAnalsController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrSleRsltTableInqire") @RequestMapping(value="/selectMngrSleRsltTableInqire")
public String selectMngrSleRsltTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo, ModelMap model) { public String selectMngrSleRsltTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOSleAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltTableInqire", vo), if("01".equals(user.getSysDvCd())){
model, vo.setSopmalCd(user.getSopmalCd());
"resultMap" }
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getRecordCountPerPage());
paginationInfo.setPageSize(paginationProperties.getPageSize());
vo.setPaginationInfo(paginationInfo);
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<DataMap> resultList = service.selectBOMngrSleRsltTableInqire(vo);
content.put("resultList", resultList);
content.put("paginationInfo", paginationInfo);
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/sleAnals/sleRsltTable"; return "mngr/stats/sleAnals/sleRsltTable";
} }
@@ -115,17 +191,29 @@ public class SleAnalsController {
/** /**
* 관리자 판매성과 엑셀 다운로드 * 관리자 판매성과 엑셀 다운로드
* @param SelngPrufVO * @param vo
* @return * @return
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Policy(AuthPolicy.PUBLIC) @Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/selectMngrSleRsltExcelFileDownload", method = RequestMethod.POST) @RequestMapping(value="/selectMngrSleRsltExcelFileDownload", method = RequestMethod.POST)
public void selectMngrSleRsltExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo){ public void selectMngrSleRsltExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, BOSleAnalsVO vo){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltExcelFileDownload",vo) AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
); if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
DataMap resultMap = new DataMap();
List<DataMap> resultList = service.selectBOMngrSleRsltExcelFileDownload(vo);
resultMap.put("excelList", resultList);
// Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrSleRsltExcelFileDownload",vo)
// );
List<Map<String, Object>> excelList = new ArrayList<>(); List<Map<String, Object>> excelList = new ArrayList<>();
if(resultMap.get("excelList") != null) { if(resultMap.get("excelList") != null) {
@@ -243,11 +331,22 @@ public class SleAnalsController {
public String selectMngrGoodsRslt(ModelMap model) { public String selectMngrGoodsRslt(ModelMap model) {
SleAnalsVO vo = new SleAnalsVO(); SleAnalsVO vo = new SleAnalsVO();
responseHandler.handleResponse( // 응답 메세지 객체
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRslt", vo), Map<String, Object> content = new HashMap<>();
model,
"cond" // 공통코드 호출
); BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
model.addAttribute("cond", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRslt", vo),
// model,
// "cond"
// );
model.put("resultMap", vo); model.put("resultMap", vo);
return "mngr/stats/sleAnals/goodsRslt"; return "mngr/stats/sleAnals/goodsRslt";
@@ -258,14 +357,27 @@ public class SleAnalsController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrGoodsRsltChartInqire") @RequestMapping(value="/selectMngrGoodsRsltChartInqire", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectMngrGoodsRsltChartInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo) { public ResponseEntity<WnbtResponse> selectMngrGoodsRsltChartInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, DataMap vo) {
vo.setSopmalCd(authSopmalCd); vo.put("sopmalCd", authSopmalCd);
return responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRsltChartInqire", vo), if("01".equals(user.getSysDvCd())){
ReplyFromResrc::getReply vo.put("sopmalCd", user.getSopmalCd());
); }
// 응답 메세지 객체
Map<String, Object> content = service.selectBOMngrGoodsRsltChartInqire(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRsltChartInqire", vo),
// ReplyFromResrc::getReply
// );
} }
/** /**
@@ -274,31 +386,67 @@ public class SleAnalsController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrGoodsRsltTableInqire") @RequestMapping(value="/selectMngrGoodsRsltTableInqire")
public String selectMngrGoodsRsltTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo, ModelMap model) { public String selectMngrGoodsRsltTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOSleAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRsltTableInqire", vo), if("01".equals(user.getSysDvCd())){
model, vo.setSopmalCd(user.getSopmalCd());
"resultMap" }
);
// 응답 메세지 객체
Map<String, Object> content = new HashMap<>();
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getRecordCountPerPage());
paginationInfo.setPageSize(paginationProperties.getPageSize());
vo.setPaginationInfo(paginationInfo);
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<DataMap> resultList = service.selectBOMngrGoodsRsltTableInqire(vo);
content.put("resultList", resultList);
content.put("paginationInfo", paginationInfo);
content.put("unitFlag", vo.getUnitFlag());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRsltTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/sleAnals/goodsRsltTable"; return "mngr/stats/sleAnals/goodsRsltTable";
} }
/** /**
* 관리자 상품성과 엑셀 다운로드 * 관리자 상품성과 엑셀 다운로드
* @param SelngPrufVO * @param vo
* @return * @return
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Policy(AuthPolicy.PUBLIC) @Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/selectMngrGoodsRsltExcelFileDownload", method = RequestMethod.POST) @RequestMapping(value="/selectMngrGoodsRsltExcelFileDownload", method = RequestMethod.POST)
public void selectMngrGoodsRsltExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo){ public void selectMngrGoodsRsltExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, BOSleAnalsVO vo){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRsltExcelFileDownload",vo) AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
); if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
DataMap resultMap = new DataMap();
List<DataMap> resultList = service.selectBOMngrGoodsRsltExcelFileDownload(vo);
resultMap.put("excelList", resultList);
// Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsRsltExcelFileDownload",vo)
// );
List<Map<String, Object>> excelList = new ArrayList<>(); List<Map<String, Object>> excelList = new ArrayList<>();
if(resultMap.get("excelList") != null) { if(resultMap.get("excelList") != null) {
@@ -597,11 +745,22 @@ public class SleAnalsController {
public String selectMngrGoodsPopulationStats(ModelMap model) { public String selectMngrGoodsPopulationStats(ModelMap model) {
SleAnalsVO vo = new SleAnalsVO(); SleAnalsVO vo = new SleAnalsVO();
responseHandler.handleResponse( // 응답 메세지 객체
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStats", vo), Map<String, Object> content = new HashMap<>();
model,
"cond" // 공통코드 호출
); BOMaComncdVO maComncdVO = new BOMaComncdVO();
maComncdVO = new BOMaComncdVO();
maComncdVO.setGroupCd("SLE_ENVRN"); // 주문환경
content.put("ordrEnvrnDvCdList", bOMaComncdService.selectBOCommcdDetailList(maComncdVO));
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStats", vo),
// model,
// "cond"
// );
model.put("resultMap", vo); model.put("resultMap", vo);
return "mngr/stats/sleAnals/goodsPopulationStats"; return "mngr/stats/sleAnals/goodsPopulationStats";
@@ -612,14 +771,27 @@ public class SleAnalsController {
* @return * @return
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrGoodsPopulationStatsChartInqire") @RequestMapping(value="/selectMngrGoodsPopulationStatsChartInqire", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectMngrGoodsPopulationStatsChartInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo) { public ResponseEntity<WnbtResponse> selectMngrGoodsPopulationStatsChartInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, DataMap vo) {
vo.setSopmalCd(authSopmalCd); vo.put("sopmalCd", authSopmalCd);
return responseHandler.handleResponse( AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStatsChartInqire", vo), if("01".equals(user.getSysDvCd())){
ReplyFromResrc::getReply vo.put("sopmalCd", user.getSopmalCd());
); }
// 응답 메세지 객체
Map<String, Object> content = service.selectBOMngrGoodsPopulationStatsChartInqire(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
// return responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStatsChartInqire", vo),
// ReplyFromResrc::getReply
// );
} }
/** /**
@@ -628,32 +800,66 @@ public class SleAnalsController {
*/ */
@Policy(AuthPolicy.RESTRICTED) @Policy(AuthPolicy.RESTRICTED)
@RequestMapping(value="/selectMngrGoodsPopulationStatsTableInqire") @RequestMapping(value="/selectMngrGoodsPopulationStatsTableInqire")
public String selectMngrGoodsPopulationStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo, ModelMap model) { public String selectMngrGoodsPopulationStatsTableInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, BOSleAnalsVO vo, ModelMap model) {
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
responseHandler.handleResponse( // 응답 메세지 객체
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStatsTableInqire", vo), Map<String, Object> content = new HashMap<>();
model,
"resultMap" PaginationInfo paginationInfo = new PaginationInfo();
); paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getRecordCountPerPage());
paginationInfo.setPageSize(paginationProperties.getPageSize());
vo.setPaginationInfo(paginationInfo);
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<DataMap> resultList = service.selectBOMngrGoodsPopulationStatsTableInqire(vo);
content.put("resultList", resultList);
content.put("paginationInfo", paginationInfo);
content.put("unitFlag", vo.getUnitFlag());
model.addAttribute("resultMap", content);
// responseHandler.handleResponse(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStatsTableInqire", vo),
// model,
// "resultMap"
// );
return "mngr/stats/sleAnals/goodsPopulationStatsTable"; return "mngr/stats/sleAnals/goodsPopulationStatsTable";
} }
/** /**
* 관리자 상품/인구통계 엑셀 다운로드 * 관리자 상품/인구통계 엑셀 다운로드
* @param SelngPrufVO * @param vo
* @return * @return
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Policy(AuthPolicy.PUBLIC) @Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/selectMngrGoodsPopulationStatsExcelFileDownload", method = RequestMethod.POST) @RequestMapping(value="/selectMngrGoodsPopulationStatsExcelFileDownload", method = RequestMethod.POST)
public void selectMngrGoodsPopulationStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, SleAnalsVO vo){ public void selectMngrGoodsPopulationStatsExcelFileDownload(HttpServletResponse response, @CookieValue(value = "authSopmalCd") String authSopmalCd, BOSleAnalsVO vo){
vo.setSopmalCd(authSopmalCd); vo.setSopmalCd(authSopmalCd);
Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStatsExcelFileDownload",vo)
);
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
if("01".equals(user.getSysDvCd())){
vo.setSopmalCd(user.getSopmalCd());
}
// 응답 메세지 객체
DataMap resultMap = new DataMap();
List<DataMap> resultList = service.selectBOMngrGoodsPopulationStatsExcelFileDownload(vo);
resultMap.put("excelList", resultList);
// Map<String,Object> resultMap = responseHandler.handleResponseAsMap(
// sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/stats/sleAnals/selectBOMngrGoodsPopulationStatsExcelFileDownload",vo)
// );
List<Map<String, Object>> excelList = new ArrayList<>(); List<Map<String, Object>> excelList = new ArrayList<>();
if(resultMap.get("excelList") != null) { if(resultMap.get("excelList") != null) {