Client API 추가 Popup Scope화면에도 적용. bzwksvckeyname를 화면에 넘겨주기위해 일부 수정.
추가요건 1. 팝업 및 리스트에 API명, API FULL PATH 추가. 추가요건 2. API-SCOPE 매핑하면 -> SCOPE 화면에서 통합관리 할 수 있게 변경.
This commit is contained in:
@@ -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