From d525e4e96c5217704f634e858b14f4c458ab1db5 Mon Sep 17 00:00:00 2001 From: Rinjae Date: Thu, 29 Jan 2026 15:34:06 +0900 Subject: [PATCH] =?UTF-8?q?kjbank.com=20=EB=8F=84=EB=A9=94=EC=9D=B8=20?= =?UTF-8?q?=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PartnershipApplicationController.java | 2 ++ .../PartnershipApplicationFacadeImpl.java | 14 ++++++++-- .../qna/controller/InquiryController.java | 3 +++ .../qna/service/InquiryFacadeImpl.java | 27 ++++++++++++++----- .../views/apps/community/mainInquiryForm.html | 7 +++-- .../apps/community/mainPartnershipForm.html | 6 ++--- 6 files changed, 43 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/eactive/apim/portal/apps/community/partnership/controller/PartnershipApplicationController.java b/src/main/java/com/eactive/apim/portal/apps/community/partnership/controller/PartnershipApplicationController.java index 07eedda..4b053a5 100644 --- a/src/main/java/com/eactive/apim/portal/apps/community/partnership/controller/PartnershipApplicationController.java +++ b/src/main/java/com/eactive/apim/portal/apps/community/partnership/controller/PartnershipApplicationController.java @@ -3,6 +3,7 @@ package com.eactive.apim.portal.apps.community.partnership.controller; import com.eactive.apim.portal.apps.community.partnership.dto.PartnershipApplicationDTO; import com.eactive.apim.portal.apps.community.partnership.service.PartnershipApplicationFacade; import com.eactive.apim.portal.common.util.SecurityUtil; +import com.eactive.apim.portal.common.util.UserTypeUtil; import java.io.IOException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -38,6 +39,7 @@ public class PartnershipApplicationController { } model.addAttribute("partnership", new PartnershipApplicationDTO()); + model.addAttribute("isInternalUser", UserTypeUtil.isCurrentUserInternal()); return "apps/community/mainPartnershipForm"; } diff --git a/src/main/java/com/eactive/apim/portal/apps/community/partnership/service/PartnershipApplicationFacadeImpl.java b/src/main/java/com/eactive/apim/portal/apps/community/partnership/service/PartnershipApplicationFacadeImpl.java index c9019c7..0cc7d4b 100644 --- a/src/main/java/com/eactive/apim/portal/apps/community/partnership/service/PartnershipApplicationFacadeImpl.java +++ b/src/main/java/com/eactive/apim/portal/apps/community/partnership/service/PartnershipApplicationFacadeImpl.java @@ -2,6 +2,9 @@ package com.eactive.apim.portal.apps.community.partnership.service; import com.eactive.apim.portal.apps.community.partnership.dto.PartnershipApplicationDTO; import com.eactive.apim.portal.apps.community.partnership.mapper.PartnershipApplicationMapper; +import com.eactive.apim.portal.common.user.PortalAuthenticatedUser; +import com.eactive.apim.portal.common.util.SecurityUtil; +import com.eactive.apim.portal.common.util.UserTypeUtil; import com.eactive.apim.portal.file.entity.FileInfo; import com.eactive.apim.portal.file.service.FileService; import com.eactive.apim.portal.file.service.FileTypeContext; @@ -25,8 +28,15 @@ public class PartnershipApplicationFacadeImpl implements PartnershipApplicationF FileInfo file = null; if (!partnershipApplicationDTO.getFiles().isEmpty()) { - FileTypeContext.setFileType("business"); - file = fileService.createFile(partnershipApplicationDTO.getFiles()); + try { + PortalAuthenticatedUser user = SecurityUtil.getPortalAuthenticatedUser(); + FileService.setInternalUserContext(UserTypeUtil.isInternalUser(user)); + + FileTypeContext.setFileType("business"); + file = fileService.createFile(partnershipApplicationDTO.getFiles()); + } finally { + FileService.clearInternalUserContext(); + } } PartnershipApplication partnershipApplication = partnershipApplicationMapper.toEntity(partnershipApplicationDTO); if (file != null) { diff --git a/src/main/java/com/eactive/apim/portal/apps/community/qna/controller/InquiryController.java b/src/main/java/com/eactive/apim/portal/apps/community/qna/controller/InquiryController.java index 2c4eb39..5e99a18 100644 --- a/src/main/java/com/eactive/apim/portal/apps/community/qna/controller/InquiryController.java +++ b/src/main/java/com/eactive/apim/portal/apps/community/qna/controller/InquiryController.java @@ -5,6 +5,7 @@ import com.eactive.apim.portal.apps.community.qna.dto.InquirySearch; import com.eactive.apim.portal.apps.community.qna.service.InquiryFacade; import com.eactive.apim.portal.common.user.PortalAuthenticatedUser; import com.eactive.apim.portal.common.util.SecurityUtil; +import com.eactive.apim.portal.common.util.UserTypeUtil; import java.io.IOException; import org.springframework.data.domain.Page; @@ -67,6 +68,7 @@ public class InquiryController { @GetMapping("/new") public String newInquiryForm(Model model) { model.addAttribute("inquiry", new InquiryDTO()); + model.addAttribute("isInternalUser", UserTypeUtil.isCurrentUserInternal()); return APPS_COMMUNITY_MAIN_INQUIRY_FORM; } @@ -77,6 +79,7 @@ public class InquiryController { public String editInquiryForm(@RequestParam("id") String id, Model model) { InquiryDTO inquiry = inquiryFacade.getMyInquiry(SecurityUtil.getPortalAuthenticatedUser(), id); model.addAttribute("inquiry", inquiry); + model.addAttribute("isInternalUser", UserTypeUtil.isCurrentUserInternal()); return APPS_COMMUNITY_MAIN_INQUIRY_FORM; } diff --git a/src/main/java/com/eactive/apim/portal/apps/community/qna/service/InquiryFacadeImpl.java b/src/main/java/com/eactive/apim/portal/apps/community/qna/service/InquiryFacadeImpl.java index 9f84e7c..5b7af77 100644 --- a/src/main/java/com/eactive/apim/portal/apps/community/qna/service/InquiryFacadeImpl.java +++ b/src/main/java/com/eactive/apim/portal/apps/community/qna/service/InquiryFacadeImpl.java @@ -6,6 +6,7 @@ import com.eactive.apim.portal.apps.community.qna.mapper.InquiryMapper; import com.eactive.apim.portal.common.user.PortalAuthenticatedUser; import com.eactive.apim.portal.common.util.SecurityUtil; import com.eactive.apim.portal.common.util.StringMaskingUtil; +import com.eactive.apim.portal.common.util.UserTypeUtil; import com.eactive.apim.portal.file.entity.FileInfo; import com.eactive.apim.portal.file.service.FileService; import com.eactive.apim.portal.file.service.FileTypeContext; @@ -83,8 +84,15 @@ public class InquiryFacadeImpl implements InquiryFacade { FileInfo file = null; if (!inquiryDTO.getFiles().isEmpty()) { - FileTypeContext.setFileType("qna"); - file = fileService.createFile(inquiryDTO.getFiles()); + try { + PortalAuthenticatedUser user = SecurityUtil.getPortalAuthenticatedUser(); + FileService.setInternalUserContext(UserTypeUtil.isInternalUser(user)); + + FileTypeContext.setFileType("qna"); + file = fileService.createFile(inquiryDTO.getFiles()); + } finally { + FileService.clearInternalUserContext(); + } } Inquiry inquiry = inquiryMapper.toEntity(inquiryDTO); @@ -104,12 +112,17 @@ public class InquiryFacadeImpl implements InquiryFacade { public void updateUserInquiry(PortalAuthenticatedUser user, String id, InquiryDTO inquiryDTO) throws IOException { Inquiry existingInquiry = inquiryService.getMyInquiry(user, id); - // 파일이 새로 업로드된 경우 if (!inquiryDTO.getFiles().isEmpty() && !inquiryDTO.getFiles().get(0).isEmpty()) { - FileTypeContext.setFileType("qna"); - FileInfo file = fileService.createFile(inquiryDTO.getFiles()); - if(file != null) { - inquiryDTO.setAttachFile(file.getFileId()); + try { + FileService.setInternalUserContext(UserTypeUtil.isInternalUser(user)); + + FileTypeContext.setFileType("qna"); + FileInfo file = fileService.createFile(inquiryDTO.getFiles()); + if(file != null) { + inquiryDTO.setAttachFile(file.getFileId()); + } + } finally { + FileService.clearInternalUserContext(); } } else if (existingInquiry.getAttachFile() != null && inquiryDTO.getAttachFile() == null) { fileService.deleteFile(inquiryDTO.getAttachFile()); diff --git a/src/main/resources/templates/views/apps/community/mainInquiryForm.html b/src/main/resources/templates/views/apps/community/mainInquiryForm.html index dd22058..93d1aa9 100644 --- a/src/main/resources/templates/views/apps/community/mainInquiryForm.html +++ b/src/main/resources/templates/views/apps/community/mainInquiryForm.html @@ -94,7 +94,7 @@
@@ -195,11 +195,11 @@ form.submit(); }); - // File input change handler fileInput.addEventListener('change', function () { const file = fileInput.files[0]; if (file) { + /*[# th:if="${!isInternalUser}"]*/ const allowedExtensions = ['.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.hwp', '.gif', '.jpg', '.jpeg', '.png']; const fileExt = '.' + file.name.split('.').pop().toLowerCase(); @@ -208,14 +208,13 @@ fileInput.value = ''; return; } + /*[/]*/ - // Show file name in display fileDisplayText.textContent = file.name; fileDisplayText.classList.add('has-file'); fileInputDisplay.classList.add('has-file'); btnRemoveFile.style.display = 'flex'; - // Clear existing attachFile if new file selected if (attachFileInput) { attachFileInput.value = ''; } diff --git a/src/main/resources/templates/views/apps/community/mainPartnershipForm.html b/src/main/resources/templates/views/apps/community/mainPartnershipForm.html index 1ce7b56..4b47bd4 100644 --- a/src/main/resources/templates/views/apps/community/mainPartnershipForm.html +++ b/src/main/resources/templates/views/apps/community/mainPartnershipForm.html @@ -86,7 +86,7 @@
@@ -182,11 +182,11 @@ form.submit(); }); - // File input change handler fileInput.addEventListener('change', function () { const file = fileInput.files[0]; if (file) { + /*[# th:if="${!isInternalUser}"]*/ const allowedExtensions = ['.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.hwp', '.gif', '.jpg', '.jpeg', '.png']; const fileExt = '.' + file.name.split('.').pop().toLowerCase(); @@ -195,8 +195,8 @@ fileInput.value = ''; return; } + /*[/]*/ - // Show file name in display fileDisplayText.textContent = file.name; fileDisplayText.classList.add('has-file'); fileInputDisplay.classList.add('has-file');