command-handler.java.mustache 954 Bytes
// 由 M2-command.yaml (command) + M4-scene.yaml + ME-event.yaml 生成的命令处理器骨架
// 渲染上下文:{ aggregateId, cmdId, inputParams:[{name,type,optional}], validations:[...], emitEvents:[...] }
package com.onto.generated.{{aggregateLower}};

import org.springframework.stereotype.Service;

@Service
public class {{cmdId}}Handler {

    /** {{desc}} */
    public {{cmdId}}Result handle({{cmdId}}Command cmd) {
        // 1. 校验(源自 M2 validations)
        {{#validations}}
        // - {{.}}
        {{/validations}}

        // 2. 业务步骤(源自 M2 bizSteps):{{bizSteps}}

        // 3. 发出领域事件(源自 M2 emitEvents / ME 定义)
        {{#emitEvents}}
        // emit {{.}}
        {{/emitEvents}}
        return new {{cmdId}}Result();
    }

    public record {{cmdId}}Command({{#inputParams}}{{javaType}} {{name}}{{^last}}, {{/last}}{{/inputParams}}) {}
    public record {{cmdId}}Result() {}
}