// Path: micro-core/src/main/java/sample/api/admin/SystemAdminFacade.java
// public interface SystemAdminFacade {
// 
//     String Path = "/api/admin/system";
//     
//     String PathFindAudiActor = "/audit/actor/";
//     String PathFindAudiEvent = "/audit/event/";
//     String PathFindAppSetting = "/setting/";
//     String PathChangeAppSetting = "/setting/{id}?value={value}";
//     String PathProcessDay = "/processDay";
//     
//     /** 利用者監査ログを検索します。 */
//     PagingList<AuditActor> findAuditActor(FindAuditActor p);
// 
//     /** イベント監査ログを検索します。 */
//     PagingList<AuditEvent> findAuditEvent(FindAuditEvent p);
// 
//     /** アプリケーション設定一覧を検索します。 */
//     List<AppSetting> findAppSetting(FindAppSetting p);
// 
//     /** アプリケーション設定情報を変更します。 */
//     ResponseEntity<Void> changeAppSetting(String id, String value);
// 
//     /** 営業日を進めます。 */
//     ResponseEntity<Void> processDay();
//     
// }
// 
// Path: micro-asset/src/main/java/sample/microasset/api/admin/AssetAdminFacade.java
// public interface AssetAdminFacade {
//     
//     String Path = "/api/admin/asset";
//     
//     String PathFindCashInOut = "/cio/";
//     String PathClosingCashOut = "/cio/closingCashOut";
//     String PathRealizeCashflow = "/cf/realizeCashflow";
//     
//     /** 未処理の振込依頼情報を検索します。 */
//     List<CashInOut> findCashInOut(FindCashInOut p);
//  
//     /**
//      * 振込出金依頼を締めます。
//      */
//     ResponseEntity<Void> closingCashOut();
// 
//     /**
//      * キャッシュフローを実現します。
//      * <p>受渡日を迎えたキャッシュフローを残高に反映します。
//      */
//     ResponseEntity<Void> realizeCashflow();
// 
// }


import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import sample.api.admin.SystemAdminFacade;
import sample.microasset.api.admin.AssetAdminFacade;
package sample.controller.system;



/**
 * システムジョブのUI要求を処理します。
 * low: 通常はバッチプロセス(または社内プロセスに内包)を別途作成して、ジョブスケジューラから実行される方式になります。
 * ジョブの負荷がオンライン側へ影響を与えないよう事前段階の設計が重要になります。
 * low: 社内/バッチプロセス切り出す場合はVM分散時の情報/排他同期を意識する必要があります。(DB同期/メッセージング同期/分散製品の利用 等)
 */
@RestController
@RequestMapping("/api/system/job")
public class JobController {

// Path: micro-core/src/main/java/sample/api/admin/SystemAdminFacade.java
// public interface SystemAdminFacade {
// 
//     String Path = "/api/admin/system";
//     
//     String PathFindAudiActor = "/audit/actor/";
//     String PathFindAudiEvent = "/audit/event/";
//     String PathFindAppSetting = "/setting/";
//     String PathChangeAppSetting = "/setting/{id}?value={value}";
//     String PathProcessDay = "/processDay";
//     
//     /** 利用者監査ログを検索します。 */
//     PagingList<AuditActor> findAuditActor(FindAuditActor p);
// 
//     /** イベント監査ログを検索します。 */
//     PagingList<AuditEvent> findAuditEvent(FindAuditEvent p);
// 
//     /** アプリケーション設定一覧を検索します。 */
//     List<AppSetting> findAppSetting(FindAppSetting p);
// 
//     /** アプリケーション設定情報を変更します。 */
//     ResponseEntity<Void> changeAppSetting(String id, String value);
// 
//     /** 営業日を進めます。 */
//     ResponseEntity<Void> processDay();
//     
// }
// 
// Path: micro-asset/src/main/java/sample/microasset/api/admin/AssetAdminFacade.java
// public interface AssetAdminFacade {
//     
//     String Path = "/api/admin/asset";
//     
//     String PathFindCashInOut = "/cio/";
//     String PathClosingCashOut = "/cio/closingCashOut";
//     String PathRealizeCashflow = "/cf/realizeCashflow";
//     
//     /** 未処理の振込依頼情報を検索します。 */
//     List<CashInOut> findCashInOut(FindCashInOut p);
//  
//     /**
//      * 振込出金依頼を締めます。
//      */
//     ResponseEntity<Void> closingCashOut();
// 
//     /**
//      * キャッシュフローを実現します。
//      * <p>受渡日を迎えたキャッシュフローを残高に反映します。
//      */
//     ResponseEntity<Void> realizeCashflow();
// 
// }


// Path: micro-web/src/main/java/sample/controller/system/JobController.java
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import sample.api.admin.SystemAdminFacade;
import sample.microasset.api.admin.AssetAdminFacade;

package sample.controller.system;



/**
 * システムジョブのUI要求を処理します。
 * low: 通常はバッチプロセス(または社内プロセスに内包)を別途作成して、ジョブスケジューラから実行される方式になります。
 * ジョブの負荷がオンライン側へ影響を与えないよう事前段階の設計が重要になります。
 * low: 社内/バッチプロセス切り出す場合はVM分散時の情報/排他同期を意識する必要があります。(DB同期/メッセージング同期/分散製品の利用 等)
 */
@RestController
@RequestMapping("/api/system/job")
public class JobController {

    private final AssetAdminFacade asset;