Client API 추가 Popup Scope화면에도 적용. bzwksvckeyname를 화면에 넘겨주기위해 일부 수정.
추가요건 1. 팝업 및 리스트에 API명, API FULL PATH 추가. 추가요건 2. API-SCOPE 매핑하면 -> SCOPE 화면에서 통합관리 할 수 있게 변경.
This commit is contained in:
@@ -9,6 +9,9 @@ import lombok.Data;
|
||||
@AllArgsConstructor
|
||||
public class ApiScopeDto {
|
||||
|
||||
@JsonProperty("EAISVCNAME")
|
||||
private String eaiSvcName;
|
||||
|
||||
@JsonProperty("EAISVCDESC")
|
||||
private String eaiSvcDesc;
|
||||
|
||||
@@ -20,5 +23,8 @@ public class ApiScopeDto {
|
||||
|
||||
@JsonProperty("SCOPENAME")
|
||||
private String scopeName;
|
||||
|
||||
@JsonProperty("APIFULLPATH")
|
||||
private String apiFullPath;
|
||||
|
||||
}
|
||||
|
||||
@@ -59,6 +59,8 @@ public class EAIMessageService extends AbstractDataService<EAIMessageEntity, Str
|
||||
, qServiceMessageEntity.psvsysadptrbzwkgroupname
|
||||
, qRouting.nonmotivrouturiname
|
||||
, qStdInfo.apifullpath
|
||||
, qStdInfo.bzwksvckeyname
|
||||
|
||||
)
|
||||
.limit(pageable.getPageSize())
|
||||
.offset(pageable.getOffset())
|
||||
@@ -111,6 +113,7 @@ public class EAIMessageService extends AbstractDataService<EAIMessageEntity, Str
|
||||
, qServiceMessageEntity.psvintfacdsticname
|
||||
, qRouting.nonmotivrouturiname
|
||||
, qStdInfo.apifullpath
|
||||
, qStdInfo.bzwksvckeyname
|
||||
)
|
||||
.from(qeaiMessageEntity)
|
||||
.join(qRouting)
|
||||
@@ -290,10 +293,14 @@ public class EAIMessageService extends AbstractDataService<EAIMessageEntity, Str
|
||||
|
||||
List<ApiScopeDto> result = getJPAQueryFactory()
|
||||
.select(Projections.constructor(ApiScopeDto.class ,
|
||||
qEaiMessageEntity.eaisvcname ,
|
||||
qEaiMessageEntity.eaisvcdesc ,
|
||||
qScopeEntity.id.scopeid ,
|
||||
qScopeEntity.id.bzwksvckeyname ,
|
||||
qScopeInfo.scopeName ))
|
||||
qScopeInfo.scopeName ,
|
||||
qStandardMessageInfo.apifullpath
|
||||
)
|
||||
)
|
||||
.from(qEaiMessageEntity)
|
||||
.join(qStandardMessageInfo)
|
||||
.on(qEaiMessageEntity.eaisvcname.eq(qStandardMessageInfo.eaisvcname))
|
||||
@@ -313,19 +320,20 @@ public class EAIMessageService extends AbstractDataService<EAIMessageEntity, Str
|
||||
private BooleanExpression booleanPredicate(QEAIMessageEntity qEaiMessageEntity, QScopeEntity qScopeEntity,
|
||||
QScopeInfo qScopeInfo, ApiScopeSearch apiScopeSearch) {
|
||||
|
||||
BooleanExpression predicate = qEaiMessageEntity.eaisvcdesc.containsIgnoreCase(apiScopeSearch.getSearchEaiSvcDesc());
|
||||
BooleanExpression predicate = qScopeEntity.id.scopeid.containsIgnoreCase(apiScopeSearch.getSearchScopeId());
|
||||
// BooleanExpression predicate = qEaiMessageEntity.eaisvcdesc.containsIgnoreCase(apiScopeSearch.getSearchEaiSvcDesc());
|
||||
|
||||
if(StringUtils.isNotBlank(apiScopeSearch.getSearchBzwkSvcKeyName())) {
|
||||
predicate = predicate.and(qScopeEntity.id.bzwksvckeyname.containsIgnoreCase(apiScopeSearch.getSearchBzwkSvcKeyName()));
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(apiScopeSearch.getSearchScopeId())) {
|
||||
predicate = predicate.and(qScopeEntity.id.scopeid.containsIgnoreCase(apiScopeSearch.getSearchScopeId()));
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(apiScopeSearch.getSearchScopeName())) {
|
||||
predicate = predicate.and(qScopeInfo.scopeName.containsIgnoreCase(apiScopeSearch.getSearchScopeName()));
|
||||
}
|
||||
// if(StringUtils.isNotBlank(apiScopeSearch.getSearchBzwkSvcKeyName())) {
|
||||
// predicate = predicate.and(qScopeEntity.id.bzwksvckeyname.containsIgnoreCase(apiScopeSearch.getSearchBzwkSvcKeyName()));
|
||||
// }
|
||||
//
|
||||
// if(StringUtils.isNotBlank(apiScopeSearch.getSearchScopeId())) {
|
||||
// predicate = predicate.and(qScopeEntity.id.scopeid.containsIgnoreCase(apiScopeSearch.getSearchScopeId()));
|
||||
// }
|
||||
//
|
||||
// if(StringUtils.isNotBlank(apiScopeSearch.getSearchScopeName())) {
|
||||
// predicate = predicate.and(qScopeInfo.scopeName.containsIgnoreCase(apiScopeSearch.getSearchScopeName()));
|
||||
// }
|
||||
|
||||
return predicate;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,15 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.eactive.eai.agent.authserver.ReloadApiScopeCommand;
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.OnlBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.vo.GridResponse;
|
||||
import com.eactive.eai.rms.data.entity.onl.eaimsg.ApiScopeSearch;
|
||||
import com.eactive.eai.rms.onl.common.exception.BizException;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
@@ -11,6 +20,7 @@ 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;
|
||||
|
||||
import com.eactive.eai.agent.authserver.ReloadApiScopeCommand;
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
@@ -53,6 +63,25 @@ public class ApiScopeController extends OnlBaseAnnotationController {
|
||||
return ResponseEntity.ok().build();
|
||||
}
|
||||
|
||||
@PostMapping(value = "/onl/admin/authserver/apiScopeMan.json", params = "cmd=INSERT_APILIST")
|
||||
public ResponseEntity<Void> insertApiScopeList(@RequestParam("apiList") String apiListJson, @RequestParam("scopeId") String scopeId) {
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
List<ApiScopeUI> apiScopeList = null;
|
||||
|
||||
try {
|
||||
apiScopeList = mapper.readValue(apiListJson, new TypeReference<List<ApiScopeUI>>(){});
|
||||
|
||||
} catch (Exception e) {
|
||||
throw new BizException("데이터 변환 중 오류가 발생했습니다.");
|
||||
}
|
||||
|
||||
apiScopeManService.insertApiScopeRelationList(apiScopeList, scopeId);
|
||||
|
||||
return ResponseEntity.ok().build();
|
||||
}
|
||||
|
||||
|
||||
@PostMapping(value = "/onl/admin/authserver/apiScopeMan.json", params = "cmd=DELETE")
|
||||
public ResponseEntity<Void> deleteApiScope(ApiScopeUI apiScopeUI) {
|
||||
apiScopeManService.deleteApiScopeRelation(apiScopeUI);
|
||||
|
||||
+31
-1
@@ -11,6 +11,8 @@ import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.eactive.eai.agent.authserver.ReloadApiScopeCommand;
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.OnlBaseService;
|
||||
import com.eactive.eai.rms.common.spring.LocaleMessage;
|
||||
import com.eactive.eai.rms.data.entity.onl.authserver.ScopeEntityService;
|
||||
@@ -56,10 +58,12 @@ public class ApiScopeManService extends OnlBaseService {
|
||||
|
||||
private ApiScopeUI convertToApiScopeUI(ApiScopeDto dto) {
|
||||
ApiScopeUI apiScopeUI = new ApiScopeUI();
|
||||
apiScopeUI.setEaiSvcDesc(dto.getEaiSvcDesc());
|
||||
apiScopeUI.setApiDesc(dto.getEaiSvcDesc());
|
||||
apiScopeUI.setScopeId(dto.getScopeId());
|
||||
apiScopeUI.setBzwkSvcKeyName(dto.getBzwkSvcKeyName());
|
||||
apiScopeUI.setScopeName(dto.getScopeName());
|
||||
apiScopeUI.setApiFullPath(dto.getApiFullPath());
|
||||
apiScopeUI.setApiId(dto.getEaiSvcName());
|
||||
return apiScopeUI;
|
||||
}
|
||||
|
||||
@@ -72,6 +76,32 @@ public class ApiScopeManService extends OnlBaseService {
|
||||
scopeEntityService.save(apiScopeUIMapper.toEntity(apiScopeUI));
|
||||
}
|
||||
|
||||
public void insertApiScopeRelationList(List<ApiScopeUI> apiScopeList, String scopeId) {
|
||||
// ScopeId 기준 전체 삭제 후 LIST 기준으로 저장.
|
||||
if(scopeId == null || scopeId.isEmpty()) {
|
||||
throw new BizException("ScopeId 가 존재하지 않습니다.");
|
||||
}
|
||||
|
||||
scopeEntityService.deleteByIdScopeId(scopeId);
|
||||
|
||||
if(apiScopeList == null || apiScopeList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (ApiScopeUI ui : apiScopeList) {
|
||||
ui.setScopeId(scopeId);
|
||||
|
||||
scopeEntityService.save(apiScopeUIMapper.toEntity(ui));
|
||||
|
||||
CommonCommand.builder()
|
||||
.name(CommonCommand.RELOAD_API_SCOPE_COMMAND)
|
||||
.args(new String[] {ReloadApiScopeCommand.COMMAND_TYPE_API_SCOPE,
|
||||
ui.getBzwkSvcKeyName(), ui.getScopeId()})
|
||||
.build()
|
||||
.broadcast(agentUtilService);
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteApiScopeRelation(ApiScopeUI apiScopeUI) {
|
||||
scopeEntityService.deleteById(apiScopeUIMapper.toId(apiScopeUI));
|
||||
}
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
package com.eactive.eai.rms.onl.manage.authserver.scope;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor // jackson 사용을 위해 추가.
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class ApiScopeUI {
|
||||
|
||||
@JsonProperty("SCOPEID")
|
||||
@@ -16,7 +20,13 @@ public class ApiScopeUI {
|
||||
@JsonProperty("SCOPENAME")
|
||||
private String scopeName;
|
||||
|
||||
@JsonProperty("EAISVCDESC")
|
||||
private String eaiSvcDesc;
|
||||
@JsonProperty("apiDesc")
|
||||
private String apiDesc;
|
||||
|
||||
@JsonProperty("APIFULLPATH")
|
||||
private String apiFullPath;
|
||||
|
||||
@JsonProperty("apiId")
|
||||
private String apiId;
|
||||
|
||||
}
|
||||
|
||||
@@ -139,6 +139,7 @@ public class ApiInterfaceService extends OnlBaseService {
|
||||
EAIMessageEntity eaiMessageEntity = tuple.get(QEAIMessageEntity.eAIMessageEntity);
|
||||
|
||||
String apiFullPath = tuple.get(QStandardMessageInfo.standardMessageInfo.apifullpath);
|
||||
String bzwksvckeyname = tuple.get(QStandardMessageInfo.standardMessageInfo.bzwksvckeyname);
|
||||
|
||||
ApiInterfaceUI apiInterfaceUI;
|
||||
if (eaiMessageEntity.getServiceMessages() != null && eaiMessageEntity.getServiceMessages().size() > 0) {
|
||||
@@ -148,6 +149,7 @@ public class ApiInterfaceService extends OnlBaseService {
|
||||
}
|
||||
|
||||
apiInterfaceUI.setApiFullPath(apiFullPath);
|
||||
apiInterfaceUI.setBzwksvckeyname(bzwksvckeyname);
|
||||
|
||||
return apiInterfaceUI;
|
||||
});
|
||||
|
||||
@@ -51,6 +51,7 @@ public class ApiInterfaceUI {
|
||||
private List<StdMessageItemUI> inboundResponseStandardMessageItems ;
|
||||
|
||||
private String apiFullPath;
|
||||
private String bzwksvckeyname;
|
||||
|
||||
//ASYNC-SYNC 용
|
||||
private String inboundResponseHttpMethod;
|
||||
|
||||
Reference in New Issue
Block a user