企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### XML脚本(Minilang) > OFBiz中所有的Minilang脚本必须先定义好, 不允许调用未定义的脚本, > 而所有业务逻辑处理的服务定义都是调用这里的业务代码块去执行业务处理的. #### 配置文件特征 > 是一套标准XSD约束的XML标签, > 它存放在[newlearn]模块下的[script/org/apache/ofbiz/newlearn]目录下, > 为了将业务代码进行业务处理分类, 此目录里面的目录建立结构雷同Java类的包, > 文件命名为[NewLearnServices.xml] > >[warning] 注意: 为了确保所有Minilang脚本文件能很容易的被识别且方便多人维护, 这里要对开发人员作出编码规范的约束, 要求所有Minilang脚本文件必须是[Services.xml]或[Events.xml]后缀. #### 使用 > - 请求内事件调用: ` <event type="simple" path="component://accounting/script/org/ofbiz/accounting/payment/PaymentMethodEvents.xml" invoke="createCreditCard"/> ` > - 服务定义调用: ` <service name="deleteLearnPlan" default-entity-name="LearnPlan" engine="simple" auth="true" invoke="deleteLearnPlan" location="component://newlearn/script/org/apache/ofbiz/newlearn/NewLearnServices.xml"> ` #### 文件内容示例如下 ~~~ <simple-method method-name="deleteLearnPlan" short-description="Delete a LearnPlan" login-required="true"> <entity-one entity-name="LearnPlan" value-field="entity"/> <if> <condition><if-empty field="entity"/></condition> <then><add-error><fail-message message="待删除的学习计划不存在! #${parameters.planId}"/></add-error></then> </if> <check-errors/> <entity-and entity-name="PlanItem" list="itemList"> <field-map field-name="planId" from-field="parameters.planId" /> </entity-and> <if> <condition><not><if-empty field="itemList"/></not></condition> <then><add-error><fail-message message="待删除的学习计划存在计划项, 请先删除相关的计划项后再操作! #${parameters.planId}"/></add-error></then> </if> <check-errors/> <remove-value value-field="entity" /> </simple-method> ~~~