diff --git a/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/service/BOPurchsService.java b/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/service/BOPurchsService.java index b32b131a..c13ea472 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/service/BOPurchsService.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/service/BOPurchsService.java @@ -436,7 +436,7 @@ public class BOPurchsService { */ public Map selectChoiceOrderGoodsList(List goodsList) { Map content = new HashMap<>(); - AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); + AnonymousUser user = MemberJwtContextHolder.getMemberInfo(); BigDecimal slepricAll = BigDecimal.ZERO; if (!CollectionUtils.isEmpty(goodsList)) { @@ -505,11 +505,11 @@ public class BOPurchsService { goodsMap.put("dscntAmt", 0); goodsMap.put("dscntApplyAmt", subSlepric.intValue()); - List goodsDscntDtlsList = new ArrayList<>(); // 상품 할인 내역 - List goodsMlgAmtDtlsList = new ArrayList<>(); // 상품 마일리지 적립 내역 + List goodsDscntDtlsList = new ArrayList(); // 상품 할인 내역 + List goodsMlgAmtDtlsList = new ArrayList(); // 상품 마일리지 적립 내역 Map evtOrderGoodsList = new HashMap<>(); - List remainingGoodsList = new ArrayList<>(goodsList); // 전체 주문 상품 목록 + List remainingGoodsList = new ArrayList(goodsList); // 전체 주문 상품 목록 while (!remainingGoodsList.isEmpty()) { evtOrderGoodsList.put("goodsList", remainingGoodsList); @@ -918,24 +918,21 @@ public class BOPurchsService { BigDecimal calcMlgAmt = mlgAmt; BigDecimal mlgAmtByOne = calcMlgAmt.divide(new BigDecimal(qy), BigDecimal.ROUND_FLOOR); BigDecimal remain = mlgAmt.remainder(new BigDecimal(qy)); - - goodsMlgAmtDtlsList.add(new DataMap() {{ // 마일리지 적립내역 추가 - put("goodsInnb", goodsVO.getGoodsInnb()); - put("goodsOptnInnb", goodsVO.getGoodsOptnInnb()); - put("qy", qy); - put("mlgAmt", calcMlgAmt.intValue()); - put("mlgAmtByOne", mlgAmtByOne.intValue()); - put("mlgAccmlCd", mlgAccmlCd) ; - put("aditDscntAmt", mlgAccmlAmt.intValue()) ; - if (mlgMxmmAccmlAmt != null) { - put("mlgMxmmAccmlAmt", mlgMxmmAccmlAmt.intValue()); - } - put("remain", remain.intValue()); - - put("mlgAccmlAmt", mlgAccmlAmt); - - put("mlgDtls", mlgDtls); - }}); + DataMap goodsmlgAmt = new DataMap(); + goodsmlgAmt.put("goodsInnb", goodsVO.getGoodsInnb()); + goodsmlgAmt.put("goodsOptnInnb", goodsVO.getGoodsOptnInnb()); + goodsmlgAmt.put("qy", qy); + goodsmlgAmt.put("mlgAmt", calcMlgAmt.intValue()); + goodsmlgAmt.put("mlgAmtByOne", mlgAmtByOne.intValue()); + goodsmlgAmt.put("mlgAccmlCd", mlgAccmlCd) ; + goodsmlgAmt.put("aditDscntAmt", mlgAccmlAmt.intValue()) ; + if (mlgMxmmAccmlAmt != null) { + goodsmlgAmt.put("mlgMxmmAccmlAmt", mlgMxmmAccmlAmt.intValue()); + } + goodsmlgAmt.put("remain", remain.intValue()); + goodsmlgAmt.put("mlgAccmlAmt", mlgAccmlAmt); + goodsmlgAmt.put("mlgDtls", mlgDtls); + goodsMlgAmtDtlsList.add(goodsmlgAmt); } } diff --git a/src/main/java/com/wb/domainserver/domain/log/controller/LogController.java b/src/main/java/com/wb/domainserver/domain/log/controller/LogController.java new file mode 100644 index 00000000..2f2010f4 --- /dev/null +++ b/src/main/java/com/wb/domainserver/domain/log/controller/LogController.java @@ -0,0 +1,87 @@ +package com.wb.domainserver.domain.log.controller; + +import com.wb.domainserver.domain.log.service.LogService; +import com.wb.domainserver.domain.log.vo.AccessLogVO; +import com.wb.domainserver.response.WnbtResponse; +import com.wb.domainserver.response.WnbtResponseBody; +import com.wb.domainserver.security.authentication.MemberJwtContextHolder; +import com.wb.domainserver.security.authorization.annotation.AuthPolicy; +import com.wb.domainserver.security.authorization.annotation.Policy; +import com.wb.domainserver.util.cookie.CookieUtil; +import com.wb.domainserver.util.string.StringUtil; +import jakarta.servlet.http.Cookie; +import jakarta.servlet.http.HttpServletRequest; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.Map; + +@Slf4j +@RestController +@RequestMapping("/sopmal/log") +public class LogController { + + @Autowired + private LogService logService; + + /** + * 사용자 상품 조회 로그 등록 + * @param logVO + * @param request + */ + @Policy(AuthPolicy.PUBLIC) + @RequestMapping("/insertGoodsInqireLog") + public ResponseEntity insertGoodsInqireLog(HttpServletRequest request, @RequestBody AccessLogVO logVO) { + + //쿠키정보 + String sesionId = ""; + String agentId = ""; + for(Cookie cookie : request.getCookies()) { + if(cookie.getName().equals("JSESSIONID")) { + sesionId = cookie.getValue(); + } + } + if (CookieUtil.hasAgentCookie(request.getCookies())) { + agentId = CookieUtil.getAgentCookieValue(request.getCookies()); + } + logVO.setAgentId(agentId); + logVO.setSesionId(sesionId); + + //회원정보 + int mbrInnb = MemberJwtContextHolder.getMemberInfo().getUserInnb(); + String mbrDvCd = MemberJwtContextHolder.getMemberInfo().getMbrDvCd(); + String sopmalCD = MemberJwtContextHolder.getMemberInfo().getSopmalCd(); + //로그인 했을 경우 + if(mbrInnb > 0){ + logVO.setMbrInnb(mbrInnb); + } + logVO.setMbrDvCd(mbrDvCd); + logVO.setSopmalCd(sopmalCD); + + //ip 정보 + String clientIp = request.getHeader("X-Forwarded-For"); + if (!StringUtil.isEmpty(clientIp) && clientIp.contains(",")) { + clientIp = clientIp.split(",")[0]; + } + + if (StringUtil.isEmpty(clientIp)) { + clientIp = request.getRemoteAddr(); + } + + logVO.setIp(clientIp); + + logService.insertGoodsInqireLog(logVO); + + Map result = new HashMap<>(); + result.put("result", "success" ); + + return ResponseEntity.ok(WnbtResponse.builder() + .resBody(new WnbtResponseBody(result)) + .build()); + } +} diff --git a/src/main/java/com/wb/domainserver/domain/sopmal/ordr/controller/OrdrController.java b/src/main/java/com/wb/domainserver/domain/sopmal/ordr/controller/OrdrController.java index 951c99a6..127764f7 100644 --- a/src/main/java/com/wb/domainserver/domain/sopmal/ordr/controller/OrdrController.java +++ b/src/main/java/com/wb/domainserver/domain/sopmal/ordr/controller/OrdrController.java @@ -68,6 +68,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.logging.log4j.util.Base64Util; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; @@ -346,7 +347,7 @@ public class OrdrController { */ @Policy(AuthPolicy.RESTRICTED) @RequestMapping(value="/selectSetleExpectAmt", produces = MediaType.APPLICATION_JSON_VALUE) - public ResponseEntity selectSetleExpectAmt(HttpServletRequest request, @RequestBody DataMap param) { + public ResponseEntity selectSetleExpectAmt(HttpServletRequest request, @RequestBody HashMap param) { String sesionId =""; Cookie[] cookies = request.getCookies(); if(cookies != null){ @@ -366,7 +367,11 @@ public class OrdrController { } Map content = new HashMap<>(); try { - content = service.selectSetleExpectAmt(param); + DataMap datamap = new DataMap(); + param.entrySet().forEach(map -> { + datamap.put(map.getKey(), map.getValue()); + }); + content = service.selectSetleExpectAmt(datamap); } catch (WnbtRestException wre) { log.debug("결제예정금액 ordr wre"); log.error(wre.getMessage(), wre); @@ -1790,16 +1795,16 @@ public class OrdrController { // //sendToResrc.ofPost(RESRC.GCONEBO, "/gcone/ordr/npay/config/loadNpayConfigDetail", param) // sendToResrc.ofGetWithParam(RESRC.GCONEBO, "/gcone/ordr/npay/config/loadNpayConfigDetail", param) // ); - - Map naverMap = (Map) naverKey.get("npayConfigDetail"); + + BONpayConfigVO naverMap = (BONpayConfigVO) naverKey.get("npayConfigDetail"); log.debug("naverKey value checking > " + naverMap.toString()); // 네이버 페이 사용 여부 model.addAttribute("naverPayYn", naverKey.get("naverPayYn").toString()); // 네이버 페이 공통인증키 - model.addAttribute("commonCertiKey", naverMap.get("commonCertiKey").toString()); + model.addAttribute("commonCertiKey", naverMap.getCommonCertiKey()); // 네이버 페이 BUTTON_KEY - model.addAttribute("buttonKey", naverMap.get("buttonKey").toString()); + model.addAttribute("buttonKey", naverMap.getButtonKey()); return Util.getDeviceType(request) + "/ordr/SpbkPtinR"; } diff --git a/src/main/webapp/WEB-INF/views/sopmal/ordr/SpbkPtinR.jsp b/src/main/webapp/WEB-INF/views/sopmal/ordr/SpbkPtinR.jsp index 1202fe74..1901b491 100644 --- a/src/main/webapp/WEB-INF/views/sopmal/ordr/SpbkPtinR.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal/ordr/SpbkPtinR.jsp @@ -429,7 +429,7 @@ */ data['sopmalCd'] = $('#sopmalCd').val(); - + console.log(data); $.ajax({ type : 'post', contentType: 'application/json', @@ -439,7 +439,7 @@ success : function(data) { if (data.resBody != null) { const result = JSON.parse(data.resBody.result); - + console.log(data); fn_set_setle_amt(result.setleExpectAmt); } }, diff --git a/src/main/webapp/WEB-INF/views/sopmal_m/ordr/SpbkPtinR.jsp b/src/main/webapp/WEB-INF/views/sopmal_m/ordr/SpbkPtinR.jsp index a42dd2c4..4d8c6649 100644 --- a/src/main/webapp/WEB-INF/views/sopmal_m/ordr/SpbkPtinR.jsp +++ b/src/main/webapp/WEB-INF/views/sopmal_m/ordr/SpbkPtinR.jsp @@ -410,7 +410,6 @@ */ data['sopmalCd'] = $('#sopmalCd').val(); - $.ajax({ type: 'post', contentType: 'application/json',