fo bo 머지작업 - 오류수정

This commit is contained in:
jazz
2025-12-03 12:04:10 +09:00
parent d0ee787a9e
commit 9cb1d3f419
5 changed files with 119 additions and 31 deletions

View File

@@ -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<String, Object> result = new HashMap<>();
result.put("result", "success" );
return ResponseEntity.ok(WnbtResponse.builder()
.resBody(new WnbtResponseBody(result))
.build());
}
}