임시저장

This commit is contained in:
Rinjae
2025-11-11 19:17:25 +09:00
parent e831b38588
commit fc0b98bb36
16 changed files with 278 additions and 321 deletions
@@ -65,7 +65,6 @@ public class SessionCheckInterceptor extends HandlerInterceptorAdapter {
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
// response.setContentType("application/json;charset=UTF-8");
} else {
//request.getRequestDispatcher("/monitoring/loginForm.do").forward(request, response);
//request.getSession().setAttribute("redirectInProgress", true);
response.sendRedirect("/monitoring/rms/logout.do");
@@ -29,6 +29,7 @@ import com.eactive.eai.rms.onl.transaction.apim.mapping.ApiSpecUIMapper;
import com.eactive.eai.rms.onl.transaction.apim.ui.ApiInterfaceUI;
import com.eactive.eai.rms.onl.transaction.apim.ui.ApiSpecInfoUI;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
@@ -142,11 +143,13 @@ public class PortalApprovalManService extends BaseService {
AppRequest appRequest = optRequest.get();
appApprovalUI.setRequestType(appRequest.getType());
String[] apiGroupList = appRequest.getApiGroupList().split(",");
for (String apiGroupId : apiGroupList) {
apiGroupService.findByIdWithApiList(apiGroupId).ifPresent(apiGroup ->
appApprovalUI.getApiServices().add(apiGroupUIMapper.toVo(apiGroup))
);
if (StringUtils.isNotEmpty(appRequest.getApiGroupList())) {
String[] apiGroupList = appRequest.getApiGroupList().split(",");
for (String apiGroupId : apiGroupList) {
apiGroupService.findByIdWithApiList(apiGroupId).ifPresent(apiGroup ->
appApprovalUI.getApiServices().add(apiGroupUIMapper.toVo(apiGroup))
);
}
}
List<String> currentGroupNameList = new ArrayList<>();
@@ -7,6 +7,7 @@ import com.eactive.apim.portal.approval.entity.Approval;
import com.eactive.apim.portal.approval.service.ApprovalDeployException;
import com.eactive.apim.portal.approval.statemachine.listener.ApprovalListener;
import com.eactive.apim.portal.portalproperty.service.PortalPropertyService;
import com.eactive.apim.portal.template.entity.MessageCode;
import com.eactive.apim.portal.template.service.MessageRecipient;
import com.eactive.apim.portal.template.service.MessageSendService;
import com.eactive.eai.agent.command.CommonCommand;
@@ -101,7 +102,7 @@ public class PortalAppApprovalListener implements ApprovalListener {
recipient.setUserId(appRequest.getApproval().getRequester().getEmailAddr());
Map<String, String> params = new HashMap<>();
params.put("apiKey", appRequest.getClientName());
messageSendService.sendMessage("APP_REGISTER_APPROVED", recipient, params);
messageSendService.sendMessage(MessageCode.APP_REGISTER_APPROVED, recipient, params);
}
private void syncTargetServer(AppRequestType action, CredentialUI credentialUI) throws ApprovalDeployException {
@@ -1,49 +0,0 @@
package com.eactive.eai.rms.onl.apim.approval.apprequest;
import com.eactive.eai.rms.common.base.OnlBaseAnnotationController;
import com.eactive.eai.rms.common.vo.GridResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.web.SortDefault;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@Controller
@RequiredArgsConstructor
public class PortalAppRequestManController extends OnlBaseAnnotationController {
private final PortalAppRequestManService portalAppRequestManService;
@GetMapping(value = "/onl/apim/approval/apprequest/prodAppRequestMan.view")
public void view() {
}
@GetMapping(value = "/onl/apim/approval/apprequest/prodAppRequestMan.view", params = "cmd=DETAIL")
public String detailView() {
return "/onl/apim/approval/apprequest/prodAppRequestManPopup";
}
@PostMapping(value = "/onl/apim/approval/apprequest/prodAppRequestMan.json", params = "cmd=LIST")
public ResponseEntity<GridResponse<AppRequestUI>> selectList(@SortDefault(value = "createdDate", direction = Sort.Direction.DESC) Pageable pageable,
AppRequestUISearch appRequestUISearch) {
Page<AppRequestUI> page = portalAppRequestManService.selectList(pageable, appRequestUISearch);
return ResponseEntity.ok(new GridResponse<>(page));
}
@PostMapping(value = "/onl/apim/approval/apprequest/prodAppRequestMan.json", params = "cmd=DETAIL")
public ResponseEntity<AppRequestUI> selectDetail(String id) {
AppRequestUI portalApprovalUI = portalAppRequestManService.selectDetail(id);
return ResponseEntity.ok(portalApprovalUI);
}
@PostMapping(value = "/onl/apim/approval/apprequest/prodAppRequestMan.json", params = "cmd=UPDATE")
public ResponseEntity<AppRequestUI> update(AppRequestUI appRequestUI) {
AppRequestUI portalApprovalUI = portalAppRequestManService.update(appRequestUI);
return ResponseEntity.ok(portalApprovalUI);
}
}
@@ -1,39 +0,0 @@
package com.eactive.eai.rms.onl.apim.approval.apprequest;
import com.eactive.apim.portal.apispec.service.ApiSpecInfoService;
import com.eactive.apim.portal.apprequest.entity.AppRequest;
import com.eactive.eai.rms.common.base.BaseService;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional(transactionManager = "transactionManagerForEMS")
@RequiredArgsConstructor
public class PortalAppRequestManService extends BaseService {
private final ApiSpecInfoService apiSpecInfoService;
private final PortalAppRequestService portalAppRequestService;
private final AppRequestUIMapper appRequestUIMapper;
public Page<AppRequestUI> selectList(Pageable pageable, AppRequestUISearch appRequestUISearch) {
return portalAppRequestService.findAllProd(pageable, appRequestUISearch)
.map(appRequest -> appRequestUIMapper.toVo(appRequest));
}
public AppRequestUI selectDetail(String id) {
AppRequest appRequest = portalAppRequestService.getById(id);
return appRequestUIMapper.toVo(appRequest);
}
public AppRequestUI update(AppRequestUI appRequestUI) {
AppRequest appRequest = portalAppRequestService.getById(appRequestUI.getId());
appRequestUIMapper.updateToEntity(appRequestUI, appRequest);
appRequest = portalAppRequestService.save(appRequest);
return appRequestUIMapper.toVo(appRequest);
}
}
@@ -1,27 +0,0 @@
package com.eactive.eai.rms.onl.apim.approval.apprequest;
import com.eactive.apim.portal.apprequest.entity.AppRequest;
import com.eactive.apim.portal.apprequest.entity.AppRequestType;
import com.eactive.apim.portal.apprequest.entity.QAppRequest;
import com.eactive.apim.portal.apprequest.repository.AppRequestRepository;
import com.eactive.eai.rms.data.jpa.AbstractEMSDataSerivce;
import com.querydsl.core.BooleanBuilder;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class PortalAppRequestService extends AbstractEMSDataSerivce<AppRequest, String, AppRequestRepository> {
public Page<AppRequest> findAllProd(Pageable pageable, AppRequestUISearch uiSearch) {
QAppRequest qAppRequest = QAppRequest.appRequest;
BooleanBuilder predicate = new BooleanBuilder();
predicate.and(qAppRequest.type.eq(AppRequestType.PROD_NEW));
return repository.findAll(predicate, pageable);
}
}
@@ -1,11 +0,0 @@
package com.eactive.eai.rms.onl.apim.approval.prodclient;
import com.eactive.apim.portal.app.entity.ProdClient;
import com.eactive.eai.data.jpa.BaseRepository;
import com.eactive.eai.rms.data.EMSDataSource;
@EMSDataSource
public interface ProdClientEMSRepository extends BaseRepository<ProdClient, String> {
}
@@ -1,67 +0,0 @@
package com.eactive.eai.rms.onl.apim.approval.prodclient;
import com.eactive.eai.rms.common.base.OnlBaseAnnotationController;
import com.eactive.eai.rms.common.vo.GridResponse;
import java.util.Map;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.web.SortDefault;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
@RequiredArgsConstructor
public class ProdClientManController extends OnlBaseAnnotationController {
private final ProdClientManService prodClientManService;
@GetMapping(value = "/onl/apim/approval/prodclient/clientMan.view")
public void view() {
}
@GetMapping(value = "/onl/apim/approval/prodclient/clientMan.view", params = "cmd=DETAIL")
public String detailView() {
return "/onl/apim/approval/prodclient/clientManDetail";
}
@PostMapping(value = "/onl/apim/approval/prodclient/clientMan.json", params = "cmd=LIST")
public ResponseEntity<GridResponse<ProdClientUI>> selectList(@SortDefault("clientname") Pageable pageable,
ProdClientSearch clientSearch) {
Page<ProdClientUI> page = prodClientManService.selectList(pageable, clientSearch);
return ResponseEntity.ok(new GridResponse<>(page));
}
@PostMapping(value= "/onl/apim/approval/prodclient/clientMan.json",params = "cmd=LIST_DETAIL_COMBO")
public ResponseEntity<Map<String, Object>> selectDetailCombo() throws Exception {
Map<String, Object> map = prodClientManService.selectDetailCombo();
return ResponseEntity.ok(map);
}
@PostMapping(value = "/onl/apim/approval/prodclient/clientMan.json", params = "cmd=DETAIL")
public ResponseEntity<ProdClientUI> selectDetail(String clientId) {
ProdClientUI clientUI = prodClientManService.selectDetail(clientId);
return ResponseEntity.ok(clientUI);
}
@PostMapping(value = "/onl/apim/approval/prodclient/clientMan.json", params = "cmd=INSERT")
public ResponseEntity<Void> insert(ProdClientUI clientUI) {
prodClientManService.insert(clientUI);
return ResponseEntity.ok().build();
}
@PostMapping(value = "/onl/apim/approval/prodclient/clientMan.json", params = "cmd=UPDATE")
public ResponseEntity<Void> update(ProdClientUI clientUI) {
prodClientManService.update(clientUI);
return ResponseEntity.ok().build();
}
@PostMapping(value = "/onl/apim/approval/prodclient/clientMan.json", params = "cmd=DELETE")
public ResponseEntity<Void> delete(String clientId) {
prodClientManService.delete(clientId);
return ResponseEntity.ok().build();
}
}
@@ -1,64 +0,0 @@
package com.eactive.eai.rms.onl.apim.approval.prodclient;
import com.eactive.apim.portal.app.entity.ProdClient;
import com.eactive.apim.portal.portalorg.entity.PortalOrg;
import com.eactive.eai.rms.common.base.BaseService;
import com.eactive.eai.rms.data.entity.onl.apim.portalorg.PortalOrgService;
import com.eactive.eai.rms.onl.apim.portalorg.PortalOrgUI;
import com.eactive.eai.rms.onl.apim.portalorg.PortalOrgUIMapper;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional(transactionManager = "transactionManagerForEMS")
@RequiredArgsConstructor
public class ProdClientManService extends BaseService {
private final ProdClientService prodClientService;
private final ProdClientUIMapper prodClientUIMapper;
private final PortalOrgService portalOrgService;
private final PortalOrgUIMapper portalOrgUIMapper;
public Page<ProdClientUI> selectList(Pageable pageable, ProdClientSearch prodClientSearch) {
Page<ProdClient> page = prodClientService.findAll(pageable, prodClientSearch);
return page.map(prodClientUIMapper::toVo);
}
public HashMap<String, Object> selectDetailCombo() {
List<PortalOrg> portalOrgList = portalOrgService.findByOrgStatusAndApprovalStatus("ACTIVE", "COMPLETED");
List<PortalOrgUI> portalOrgUIList = portalOrgList.stream()
.map(portalOrgUIMapper::toVo)
.collect(Collectors.toList());
HashMap<String, Object> map = new HashMap<>();
map.put("portalOrgList", portalOrgUIList);
return map;
}
public ProdClientUI selectDetail(String clientId) {
ProdClient prodClient = prodClientService.getById(clientId);
return prodClientUIMapper.toVo(prodClient);
}
public void insert(ProdClientUI prodClientUI) {
ProdClient prodClient = prodClientUIMapper.toEntity(prodClientUI);
prodClient.setAppstatus("1"); // Set default status to normal
prodClientService.save(prodClient);
}
public void update(ProdClientUI prodClientUI) {
ProdClient prodClient = prodClientService.getById(prodClientUI.getClientid());
prodClientUIMapper.updateToEntity(prodClientUI, prodClient);
prodClientService.save(prodClient);
}
public void delete(String clientId) {
prodClientService.deleteById(clientId);
}
}
@@ -1,32 +0,0 @@
package com.eactive.eai.rms.onl.apim.approval.prodclient;
import com.eactive.apim.portal.app.entity.ProdClient;
import com.eactive.apim.portal.app.entity.QProdClient;
import com.eactive.eai.data.jpa.AbstractDataService;
import com.querydsl.core.types.dsl.BooleanExpression;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional
public class ProdClientService extends AbstractDataService<ProdClient, String, ProdClientEMSRepository> {
public Page<ProdClient> findAll(Pageable pageable, ProdClientSearch clientSearch) {
QProdClient qClientEntity = QProdClient.prodClient;
BooleanExpression predicate = qClientEntity.clientname.containsIgnoreCase(clientSearch.getSearchClientName());
if (StringUtils.isNotBlank(clientSearch.getSearchClientId())) {
predicate = predicate.and(qClientEntity.clientid.containsIgnoreCase(clientSearch.getSearchClientId()));
}
if (StringUtils.isNotBlank(clientSearch.getSearchOrgId())) {
predicate = predicate.and(qClientEntity.orgid.eq(clientSearch.getSearchOrgId()));
}
return repository.findAll(predicate, pageable);
}
}
@@ -1,22 +0,0 @@
package com.eactive.eai.rms.onl.apim.approval.prodclient;
import com.eactive.apim.portal.app.entity.ProdClient;
import com.eactive.eai.data.mapper.BaseMapperConfig;
import com.eactive.eai.data.mapper.GenericMapper;
import com.eactive.eai.rms.onl.transaction.apim.mapping.ApiSpecUIMapper;
import org.mapstruct.BeanMapping;
import org.mapstruct.InheritInverseConfiguration;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.MappingTarget;
import org.mapstruct.NullValuePropertyMappingStrategy;
import org.mapstruct.ReportingPolicy;
@Mapper(config = BaseMapperConfig.class, componentModel = "spring", uses = {ApiSpecUIMapper.class}, unmappedTargetPolicy = ReportingPolicy.IGNORE)
public abstract class ProdClientUIMapper implements GenericMapper<ProdClientUI, ProdClient> {
@InheritInverseConfiguration
@BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE)
@Mapping(target = "apiList", expression = "java(apiSpecUIMapper.mapList(prodClientUI.getApiList()))")
public abstract void updateToEntity(ProdClientUI prodClientUI, @MappingTarget ProdClient prodClient);
}
@@ -9,6 +9,7 @@ import com.eactive.apim.portal.portalorg.entity.PortalOrgEnums.OrgStatus;
import com.eactive.apim.portal.portalproperty.service.PortalPropertyService;
import com.eactive.apim.portal.portaluser.entity.PortalUser;
import com.eactive.apim.portal.portaluser.entity.PortalUserEnums;
import com.eactive.apim.portal.template.entity.MessageCode;
import com.eactive.apim.portal.template.service.MessageRecipient;
import com.eactive.apim.portal.template.service.MessageSendService;
import com.eactive.eai.rms.data.entity.onl.apim.portalorg.PortalOrgService;
@@ -96,7 +97,7 @@ public class PortalUserApprovalListener implements ApprovalListener {
recipient.setPhone(portalUser.getMobileNumber());
recipient.setUserId(portalUser.getEmailAddr());
Map<String, String> params = new HashMap<>();
messageSendService.sendMessage("USER_REGISTER_APPROVED", recipient, params);
messageSendService.sendMessage(MessageCode.USER_REGISTRATION_APPROVED, recipient, params);
}
private void syncStaging(PortalOrgUI portalOrgUI) throws ApprovalDeployException {
@@ -0,0 +1,9 @@
# HotSwapAgent 설정
# Spring 관련
Spring.reload=true
# Hibernate 관련
Hibernate.reload=true
# 로그 레벨
logLevel=INFO
# 자동 Hot Swap 활성화
autoHotswap=true