feat: 암호화 모듈 저장/삭제 후 online 서버 broadcast 결과 alert 출력

- CryptoModuleConfigManController: INSERT/UPDATE/DELETE 모두 broadcast()
  결과(CommandResult)를 broadcastResult 필드로 응답에 포함
- cryptoModuleManDetail.jsp: 저장/삭제 success 콜백에서 broadcastResult를
  alert 메시지에 추가 출력 (서버명=결과 형태)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
curry772
2026-05-07 15:35:46 +09:00
parent 49fdc3b577
commit 3d916eda53
2 changed files with 28 additions and 11 deletions
@@ -166,9 +166,14 @@ $(document).ready(function() {
$.ajax({
type: 'POST',
url: url,
dataType: 'json',
data: postData,
success: function() {
alert('<%= localeMessage.getString("common.saveMsg") %>');
success: function(data) {
var msg = '<%= localeMessage.getString("common.saveMsg") %>';
if (data && data.broadcastResult) {
msg += '\n\n[서버 반영 결과]\n' + data.broadcastResult;
}
alert(msg);
goNav(returnUrl);
},
error: function(e) {
@@ -182,9 +187,14 @@ $(document).ready(function() {
$.ajax({
type: 'POST',
url: url,
dataType: 'json',
data: { cmd: 'DELETE', cryptoId: $('input[name=cryptoId]').val() },
success: function() {
alert('<%= localeMessage.getString("common.deleteMsg") %>');
success: function(data) {
var msg = '<%= localeMessage.getString("common.deleteMsg") %>';
if (data && data.broadcastResult) {
msg += '\n\n[서버 반영 결과]\n' + data.broadcastResult;
}
alert(msg);
goNav(returnUrl);
},
error: function(e) {
@@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.PostMapping;
import com.eactive.eai.agent.command.CommandResult;
import com.eactive.eai.agent.command.CommonCommand;
import com.eactive.eai.rms.common.base.OnlBaseAnnotationController;
import com.eactive.eai.rms.common.login.SessionManager;
@@ -77,12 +78,14 @@ public class CryptoModuleConfigManController extends OnlBaseAnnotationController
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(errors);
}
String cryptoId = service.insert(ui, SessionManager.getUserId(request));
CommonCommand.builder()
CommandResult broadcastResult = CommonCommand.builder()
.name(RELOAD_CRYPTO_MODULE_COMMAND)
.args(cryptoId)
.build()
.broadcast(agentUtilService);
return ResponseEntity.ok().build();
Map<String, String> body = new HashMap<>();
body.put("broadcastResult", broadcastResult.getMessage(true));
return ResponseEntity.ok(body);
}
@PostMapping(value = "/onl/admin/security/cryptoModuleMan.json", params = "cmd=UPDATE")
@@ -96,23 +99,27 @@ public class CryptoModuleConfigManController extends OnlBaseAnnotationController
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(errors);
}
service.update(ui, SessionManager.getUserId(request));
CommonCommand.builder()
CommandResult broadcastResult = CommonCommand.builder()
.name(RELOAD_CRYPTO_MODULE_COMMAND)
.args(ui.getCryptoId())
.build()
.broadcast(agentUtilService);
return ResponseEntity.ok().build();
Map<String, String> body = new HashMap<>();
body.put("broadcastResult", broadcastResult.getMessage(true));
return ResponseEntity.ok(body);
}
@PostMapping(value = "/onl/admin/security/cryptoModuleMan.json", params = "cmd=DELETE")
public ResponseEntity<Void> delete(String cryptoId) {
public ResponseEntity<Map<String, String>> delete(String cryptoId) {
service.delete(cryptoId);
CommonCommand.builder()
CommandResult broadcastResult = CommonCommand.builder()
.name(RELOAD_CRYPTO_MODULE_COMMAND)
.args(cryptoId)
.build()
.broadcast(agentUtilService);
return ResponseEntity.ok().build();
Map<String, String> body = new HashMap<>();
body.put("broadcastResult", broadcastResult.getMessage(true));
return ResponseEntity.ok(body);
}
}