kjbank.com 도메인 처리

This commit is contained in:
Rinjae
2026-01-29 15:34:06 +09:00
parent 4cbfc9c0bf
commit d525e4e96c
6 changed files with 43 additions and 16 deletions
@@ -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.dto.PartnershipApplicationDTO;
import com.eactive.apim.portal.apps.community.partnership.service.PartnershipApplicationFacade; 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.SecurityUtil;
import com.eactive.apim.portal.common.util.UserTypeUtil;
import java.io.IOException; import java.io.IOException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@@ -38,6 +39,7 @@ public class PartnershipApplicationController {
} }
model.addAttribute("partnership", new PartnershipApplicationDTO()); model.addAttribute("partnership", new PartnershipApplicationDTO());
model.addAttribute("isInternalUser", UserTypeUtil.isCurrentUserInternal());
return "apps/community/mainPartnershipForm"; return "apps/community/mainPartnershipForm";
} }
@@ -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.dto.PartnershipApplicationDTO;
import com.eactive.apim.portal.apps.community.partnership.mapper.PartnershipApplicationMapper; 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.entity.FileInfo;
import com.eactive.apim.portal.file.service.FileService; import com.eactive.apim.portal.file.service.FileService;
import com.eactive.apim.portal.file.service.FileTypeContext; import com.eactive.apim.portal.file.service.FileTypeContext;
@@ -25,8 +28,15 @@ public class PartnershipApplicationFacadeImpl implements PartnershipApplicationF
FileInfo file = null; FileInfo file = null;
if (!partnershipApplicationDTO.getFiles().isEmpty()) { if (!partnershipApplicationDTO.getFiles().isEmpty()) {
FileTypeContext.setFileType("business"); try {
file = fileService.createFile(partnershipApplicationDTO.getFiles()); 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); PartnershipApplication partnershipApplication = partnershipApplicationMapper.toEntity(partnershipApplicationDTO);
if (file != null) { if (file != null) {
@@ -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.apps.community.qna.service.InquiryFacade;
import com.eactive.apim.portal.common.user.PortalAuthenticatedUser; import com.eactive.apim.portal.common.user.PortalAuthenticatedUser;
import com.eactive.apim.portal.common.util.SecurityUtil; import com.eactive.apim.portal.common.util.SecurityUtil;
import com.eactive.apim.portal.common.util.UserTypeUtil;
import java.io.IOException; import java.io.IOException;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
@@ -67,6 +68,7 @@ public class InquiryController {
@GetMapping("/new") @GetMapping("/new")
public String newInquiryForm(Model model) { public String newInquiryForm(Model model) {
model.addAttribute("inquiry", new InquiryDTO()); model.addAttribute("inquiry", new InquiryDTO());
model.addAttribute("isInternalUser", UserTypeUtil.isCurrentUserInternal());
return APPS_COMMUNITY_MAIN_INQUIRY_FORM; return APPS_COMMUNITY_MAIN_INQUIRY_FORM;
} }
@@ -77,6 +79,7 @@ public class InquiryController {
public String editInquiryForm(@RequestParam("id") String id, Model model) { public String editInquiryForm(@RequestParam("id") String id, Model model) {
InquiryDTO inquiry = inquiryFacade.getMyInquiry(SecurityUtil.getPortalAuthenticatedUser(), id); InquiryDTO inquiry = inquiryFacade.getMyInquiry(SecurityUtil.getPortalAuthenticatedUser(), id);
model.addAttribute("inquiry", inquiry); model.addAttribute("inquiry", inquiry);
model.addAttribute("isInternalUser", UserTypeUtil.isCurrentUserInternal());
return APPS_COMMUNITY_MAIN_INQUIRY_FORM; return APPS_COMMUNITY_MAIN_INQUIRY_FORM;
} }
@@ -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.user.PortalAuthenticatedUser;
import com.eactive.apim.portal.common.util.SecurityUtil; import com.eactive.apim.portal.common.util.SecurityUtil;
import com.eactive.apim.portal.common.util.StringMaskingUtil; 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.entity.FileInfo;
import com.eactive.apim.portal.file.service.FileService; import com.eactive.apim.portal.file.service.FileService;
import com.eactive.apim.portal.file.service.FileTypeContext; import com.eactive.apim.portal.file.service.FileTypeContext;
@@ -83,8 +84,15 @@ public class InquiryFacadeImpl implements InquiryFacade {
FileInfo file = null; FileInfo file = null;
if (!inquiryDTO.getFiles().isEmpty()) { if (!inquiryDTO.getFiles().isEmpty()) {
FileTypeContext.setFileType("qna"); try {
file = fileService.createFile(inquiryDTO.getFiles()); 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); 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 { public void updateUserInquiry(PortalAuthenticatedUser user, String id, InquiryDTO inquiryDTO) throws IOException {
Inquiry existingInquiry = inquiryService.getMyInquiry(user, id); Inquiry existingInquiry = inquiryService.getMyInquiry(user, id);
// 파일이 새로 업로드된 경우
if (!inquiryDTO.getFiles().isEmpty() && !inquiryDTO.getFiles().get(0).isEmpty()) { if (!inquiryDTO.getFiles().isEmpty() && !inquiryDTO.getFiles().get(0).isEmpty()) {
FileTypeContext.setFileType("qna"); try {
FileInfo file = fileService.createFile(inquiryDTO.getFiles()); FileService.setInternalUserContext(UserTypeUtil.isInternalUser(user));
if(file != null) {
inquiryDTO.setAttachFile(file.getFileId()); 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) { } else if (existingInquiry.getAttachFile() != null && inquiryDTO.getAttachFile() == null) {
fileService.deleteFile(inquiryDTO.getAttachFile()); fileService.deleteFile(inquiryDTO.getAttachFile());
@@ -94,7 +94,7 @@
<input type="file" <input type="file"
id="file" id="file"
name="files" name="files"
accept=".pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.hwp,.gif,.jpg,.jpeg,.png" th:accept="${isInternalUser ? '*' : '.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.hwp,.gif,.jpg,.jpeg,.png'}"
style="display: none;"> style="display: none;">
</div> </div>
<div class="form-help-text"> <div class="form-help-text">
@@ -195,11 +195,11 @@
form.submit(); form.submit();
}); });
// File input change handler
fileInput.addEventListener('change', function () { fileInput.addEventListener('change', function () {
const file = fileInput.files[0]; const file = fileInput.files[0];
if (file) { if (file) {
/*[# th:if="${!isInternalUser}"]*/
const allowedExtensions = ['.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.hwp', '.gif', '.jpg', '.jpeg', '.png']; const allowedExtensions = ['.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.hwp', '.gif', '.jpg', '.jpeg', '.png'];
const fileExt = '.' + file.name.split('.').pop().toLowerCase(); const fileExt = '.' + file.name.split('.').pop().toLowerCase();
@@ -208,14 +208,13 @@
fileInput.value = ''; fileInput.value = '';
return; return;
} }
/*[/]*/
// Show file name in display
fileDisplayText.textContent = file.name; fileDisplayText.textContent = file.name;
fileDisplayText.classList.add('has-file'); fileDisplayText.classList.add('has-file');
fileInputDisplay.classList.add('has-file'); fileInputDisplay.classList.add('has-file');
btnRemoveFile.style.display = 'flex'; btnRemoveFile.style.display = 'flex';
// Clear existing attachFile if new file selected
if (attachFileInput) { if (attachFileInput) {
attachFileInput.value = ''; attachFileInput.value = '';
} }
@@ -86,7 +86,7 @@
<input type="file" <input type="file"
id="file" id="file"
name="files" name="files"
accept=".pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.hwp,.gif,.jpg,.jpeg,.png" th:accept="${isInternalUser ? '*' : '.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.hwp,.gif,.jpg,.jpeg,.png'}"
style="display: none;"> style="display: none;">
</div> </div>
<div class="form-help-text"> <div class="form-help-text">
@@ -182,11 +182,11 @@
form.submit(); form.submit();
}); });
// File input change handler
fileInput.addEventListener('change', function () { fileInput.addEventListener('change', function () {
const file = fileInput.files[0]; const file = fileInput.files[0];
if (file) { if (file) {
/*[# th:if="${!isInternalUser}"]*/
const allowedExtensions = ['.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.hwp', '.gif', '.jpg', '.jpeg', '.png']; const allowedExtensions = ['.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.hwp', '.gif', '.jpg', '.jpeg', '.png'];
const fileExt = '.' + file.name.split('.').pop().toLowerCase(); const fileExt = '.' + file.name.split('.').pop().toLowerCase();
@@ -195,8 +195,8 @@
fileInput.value = ''; fileInput.value = '';
return; return;
} }
/*[/]*/
// Show file name in display
fileDisplayText.textContent = file.name; fileDisplayText.textContent = file.name;
fileDisplayText.classList.add('has-file'); fileDisplayText.classList.add('has-file');
fileInputDisplay.classList.add('has-file'); fileInputDisplay.classList.add('has-file');