From 71e513dd68161e082a8b966e15f0971ac0e29b45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Mon, 26 Feb 2024 17:45:39 +0900 Subject: [PATCH] =?UTF-8?q?=EC=82=AC=EC=9D=B4=ED=8A=B8=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=20>=20=EC=82=AC=EC=9A=A9=EC=9E=90=EA=B4=80=EB=A6=AC=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=20=EC=82=BD=EC=9E=85=20=EA=B5=AC=EB=AC=B8=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/pages/admin/users/UserInfoModal.jsx | 19 ++++++++++++++++++ .../admin/logs/entity/ThPrivacyLog.java | 4 ++++ .../admin/logs/service/AdminLogsService.java | 13 ++++++++++++ .../admin/users/AdminUsersController.java | 20 +++++++++++++------ .../users/service/AdminUsersService.java | 1 + 5 files changed, 51 insertions(+), 6 deletions(-) diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/users/UserInfoModal.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/users/UserInfoModal.jsx index 932e900..d660a88 100644 --- a/egovframe-template-simple-react-contribution/src/pages/admin/users/UserInfoModal.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/admin/users/UserInfoModal.jsx @@ -57,6 +57,25 @@ function UserInfoModal({savedInfo, reloadFunction}){ ) } + function modalOpen(){ + EgovNet.requestFetch( + '/admin/users/info?userId='+savedInfo?.userId, + { + method: "GET", + headers: { + 'Content-type': 'application/json' + } + }, + (resp) => { + debugger + } + ) + } + + useEffect(() => { + modalOpen(); + }, []); + return ( <> diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/logs/entity/ThPrivacyLog.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/logs/entity/ThPrivacyLog.java index bc2ab54..62403e0 100644 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/logs/entity/ThPrivacyLog.java +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/logs/entity/ThPrivacyLog.java @@ -28,6 +28,7 @@ public class ThPrivacyLog extends BoardParams implements Serializable { private static final long serialVersionUID = -3779821913760046011L; @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "upl_seq") private Long uplSeq; @@ -46,4 +47,7 @@ public class ThPrivacyLog extends BoardParams implements Serializable { @Column(name = "access_dt") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate accessDt; + + @Column(name = "session_id") + private String sessionId; } diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/logs/service/AdminLogsService.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/logs/service/AdminLogsService.java index 97db4df..8059cf6 100644 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/logs/service/AdminLogsService.java +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/logs/service/AdminLogsService.java @@ -5,7 +5,9 @@ import com.dbnt.kcscbackend.admin.logs.repository.PrivacyLogsRepository; import lombok.RequiredArgsConstructor; import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDate; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -33,4 +35,15 @@ public class AdminLogsService extends EgovAbstractServiceImpl { return resultMap; } + + @Transactional + public void insertPrivacyLog(String userId, String ipAddress, String accessType, String targetUserId){ + ThPrivacyLog log = new ThPrivacyLog(); + log.setUserId(userId); + log.setAccessDt(LocalDate.now()); + log.setIpAddress(ipAddress); + log.setAccessType(accessType); + log.setTargetUserId(targetUserId); + privacyLogsRepository.save(log); + } } diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/AdminUsersController.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/AdminUsersController.java index 1c09d68..83f6025 100644 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/AdminUsersController.java +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/AdminUsersController.java @@ -1,6 +1,7 @@ package com.dbnt.kcscbackend.admin.users; +import com.dbnt.kcscbackend.admin.logs.service.AdminLogsService; import com.dbnt.kcscbackend.admin.users.service.AdminUsersService; import com.dbnt.kcscbackend.auth.entity.LoginVO; import com.dbnt.kcscbackend.auth.entity.UserInfo; @@ -8,6 +9,7 @@ import com.dbnt.kcscbackend.commonCode.service.CommonCodeService; import com.dbnt.kcscbackend.config.common.BaseController; import com.dbnt.kcscbackend.config.common.ResponseCode; import com.dbnt.kcscbackend.config.common.ResultVO; +import com.dbnt.kcscbackend.config.util.ClientUtils; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; @@ -22,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; import java.util.HashMap; import java.util.Map; @@ -33,6 +36,7 @@ import java.util.Map; public class AdminUsersController extends BaseController { private final AdminUsersService adminUsersService; + private final AdminLogsService adminLogsService; private final CommonCodeService commonCodeService; @Operation( @@ -45,7 +49,8 @@ public class AdminUsersController extends BaseController { @ApiResponse(responseCode = "403", description = "인가된 사용자가 아님") }) @RequestMapping(method = RequestMethod.GET, value = "/list") - public ResultVO getUserList(UserInfo params) throws Exception{ + public ResultVO getUserList(UserInfo params, HttpServletRequest request, @AuthenticationPrincipal LoginVO user) throws Exception{ + adminLogsService.insertPrivacyLog(user.getId(), ClientUtils.getRemoteIP(request), "PRV_LIST", null); ResultVO resultVO = new ResultVO(); Map resultMap = new HashMap<>(); params.setQueryInfo(); @@ -68,11 +73,12 @@ public class AdminUsersController extends BaseController { @ApiResponse(responseCode = "403", description = "인가된 사용자가 아님") }) @RequestMapping(method = RequestMethod.GET, value = "/info") - public ResultVO getUserInfo(UserInfo params) throws Exception{ + public ResultVO getUserInfo(UserInfo params, HttpServletRequest request, @AuthenticationPrincipal LoginVO user) throws Exception{ + adminLogsService.insertPrivacyLog(user.getId(), ClientUtils.getRemoteIP(request), "PRV_VIEW", params.getUserId()); ResultVO resultVO = new ResultVO(); Map resultMap = new HashMap<>(); - resultMap.put("userInfo", adminUsersService.selectUserInfo(params.getUserSeq())); - resultVO.setResult(resultMap); + /*resultMap.put("userInfo", adminUsersService.selectUserInfo(params.getUserSeq())); + resultVO.setResult(resultMap);*/ return resultVO; } @@ -86,7 +92,8 @@ public class AdminUsersController extends BaseController { @ApiResponse(responseCode = "403", description = "인가된 사용자가 아님") }) @RequestMapping(method = RequestMethod.PUT, value = "/info") - public ResultVO modifyUserInfo(@RequestBody @Valid UserInfo info, Errors errors, @AuthenticationPrincipal LoginVO user) throws Exception{ + public ResultVO modifyUserInfo(@RequestBody @Valid UserInfo info, Errors errors, HttpServletRequest request, @AuthenticationPrincipal LoginVO user) throws Exception{ + adminLogsService.insertPrivacyLog(user.getId(), ClientUtils.getRemoteIP(request), "PRV_UPDT", info.getUserId()); ResultVO resultVO = new ResultVO(); if(errors.hasErrors()){ StringBuilder msg = new StringBuilder(); @@ -130,7 +137,8 @@ public class AdminUsersController extends BaseController { @ApiResponse(responseCode = "403", description = "인가된 사용자가 아님") }) @RequestMapping(method = RequestMethod.DELETE, value = "/info", consumes = MediaType.APPLICATION_JSON_VALUE) - public ResultVO deleteUserInfo(@RequestBody UserInfo info) throws Exception{ + public ResultVO deleteUserInfo(@RequestBody UserInfo info, HttpServletRequest request, @AuthenticationPrincipal LoginVO user) throws Exception{ + adminLogsService.insertPrivacyLog(user.getId(), ClientUtils.getRemoteIP(request), "PRV_DLT", info.getUserId()); ResultVO resultVO = new ResultVO(); adminUsersService.deleteUserInfo(info.getUserSeq()); resultVO.setResultCode(ResponseCode.SUCCESS.getCode()); diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/service/AdminUsersService.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/service/AdminUsersService.java index a0c0aaa..ed940e4 100644 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/service/AdminUsersService.java +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/users/service/AdminUsersService.java @@ -1,5 +1,6 @@ package com.dbnt.kcscbackend.admin.users.service; +import com.dbnt.kcscbackend.admin.logs.repository.PrivacyLogsRepository; import com.dbnt.kcscbackend.admin.users.mapper.AdminUsersMapper; import com.dbnt.kcscbackend.auth.entity.UserInfo; import com.dbnt.kcscbackend.auth.repository.UserInfoRepository;