Add business loop generation contracts
This commit is contained in:
@@ -23,6 +23,7 @@ public class FrontProject extends BaseEntity
|
||||
private String generateStatus;
|
||||
private String previewStatus;
|
||||
private String appBlueprint;
|
||||
private String businessLoopPlan;
|
||||
private String erDiagram;
|
||||
private String businessBlueprint;
|
||||
private String status;
|
||||
@@ -60,6 +61,8 @@ public class FrontProject extends BaseEntity
|
||||
public void setPreviewStatus(String previewStatus) { this.previewStatus = previewStatus; }
|
||||
public String getAppBlueprint() { return appBlueprint; }
|
||||
public void setAppBlueprint(String appBlueprint) { this.appBlueprint = appBlueprint; }
|
||||
public String getBusinessLoopPlan() { return businessLoopPlan; }
|
||||
public void setBusinessLoopPlan(String businessLoopPlan) { this.businessLoopPlan = businessLoopPlan; }
|
||||
public String getErDiagram() { return erDiagram; }
|
||||
public void setErDiagram(String erDiagram) { this.erDiagram = erDiagram; }
|
||||
public String getBusinessBlueprint() { return businessBlueprint; }
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.ruoyi.generator.domain.front.dto;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class BusinessLoopAuditResult
|
||||
{
|
||||
private boolean complete;
|
||||
private int loopActions;
|
||||
private int stateTransitions;
|
||||
private int quantityRules;
|
||||
private int recordRules;
|
||||
private List<String> missingRequiredActions = new ArrayList<String>();
|
||||
private List<String> errors = new ArrayList<String>();
|
||||
|
||||
public boolean isComplete() { return complete; }
|
||||
public void setComplete(boolean complete) { this.complete = complete; }
|
||||
public int getLoopActions() { return loopActions; }
|
||||
public void setLoopActions(int loopActions) { this.loopActions = loopActions; }
|
||||
public int getStateTransitions() { return stateTransitions; }
|
||||
public void setStateTransitions(int stateTransitions) { this.stateTransitions = stateTransitions; }
|
||||
public int getQuantityRules() { return quantityRules; }
|
||||
public void setQuantityRules(int quantityRules) { this.quantityRules = quantityRules; }
|
||||
public int getRecordRules() { return recordRules; }
|
||||
public void setRecordRules(int recordRules) { this.recordRules = recordRules; }
|
||||
public List<String> getMissingRequiredActions() { return missingRequiredActions; }
|
||||
public void setMissingRequiredActions(List<String> missingRequiredActions) { this.missingRequiredActions = missingRequiredActions == null ? new ArrayList<String>() : missingRequiredActions; }
|
||||
public List<String> getErrors() { return errors; }
|
||||
public void setErrors(List<String> errors) { this.errors = errors == null ? new ArrayList<String>() : errors; }
|
||||
}
|
||||
@@ -0,0 +1,196 @@
|
||||
package com.ruoyi.generator.domain.front.dto;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class BusinessLoopPlan
|
||||
{
|
||||
private String domainName;
|
||||
private List<BusinessLoopObject> coreObjects = new ArrayList<BusinessLoopObject>();
|
||||
private List<BusinessLoopStateMachine> stateMachines = new ArrayList<BusinessLoopStateMachine>();
|
||||
private List<BusinessLoopAction> actions = new ArrayList<BusinessLoopAction>();
|
||||
private List<BusinessLoopQuantityEffect> quantityRules = new ArrayList<BusinessLoopQuantityEffect>();
|
||||
private List<BusinessLoopRecordEffect> recordRules = new ArrayList<BusinessLoopRecordEffect>();
|
||||
private List<BusinessLoopPageBinding> pageBindings = new ArrayList<BusinessLoopPageBinding>();
|
||||
private List<BusinessLoopAcceptanceScenario> acceptanceScenarios = new ArrayList<BusinessLoopAcceptanceScenario>();
|
||||
|
||||
public String getDomainName() { return domainName; }
|
||||
public void setDomainName(String domainName) { this.domainName = domainName; }
|
||||
public List<BusinessLoopObject> getCoreObjects() { return coreObjects; }
|
||||
public void setCoreObjects(List<BusinessLoopObject> coreObjects) { this.coreObjects = coreObjects == null ? new ArrayList<BusinessLoopObject>() : coreObjects; }
|
||||
public List<BusinessLoopStateMachine> getStateMachines() { return stateMachines; }
|
||||
public void setStateMachines(List<BusinessLoopStateMachine> stateMachines) { this.stateMachines = stateMachines == null ? new ArrayList<BusinessLoopStateMachine>() : stateMachines; }
|
||||
public List<BusinessLoopAction> getActions() { return actions; }
|
||||
public void setActions(List<BusinessLoopAction> actions) { this.actions = actions == null ? new ArrayList<BusinessLoopAction>() : actions; }
|
||||
public List<BusinessLoopQuantityEffect> getQuantityRules() { return quantityRules; }
|
||||
public void setQuantityRules(List<BusinessLoopQuantityEffect> quantityRules) { this.quantityRules = quantityRules == null ? new ArrayList<BusinessLoopQuantityEffect>() : quantityRules; }
|
||||
public List<BusinessLoopRecordEffect> getRecordRules() { return recordRules; }
|
||||
public void setRecordRules(List<BusinessLoopRecordEffect> recordRules) { this.recordRules = recordRules == null ? new ArrayList<BusinessLoopRecordEffect>() : recordRules; }
|
||||
public List<BusinessLoopPageBinding> getPageBindings() { return pageBindings; }
|
||||
public void setPageBindings(List<BusinessLoopPageBinding> pageBindings) { this.pageBindings = pageBindings == null ? new ArrayList<BusinessLoopPageBinding>() : pageBindings; }
|
||||
public List<BusinessLoopAcceptanceScenario> getAcceptanceScenarios() { return acceptanceScenarios; }
|
||||
public void setAcceptanceScenarios(List<BusinessLoopAcceptanceScenario> acceptanceScenarios) { this.acceptanceScenarios = acceptanceScenarios == null ? new ArrayList<BusinessLoopAcceptanceScenario>() : acceptanceScenarios; }
|
||||
|
||||
public static class BusinessLoopObject
|
||||
{
|
||||
private String code;
|
||||
private String name;
|
||||
private String tableName;
|
||||
private String objectType;
|
||||
|
||||
public String getCode() { return code; }
|
||||
public void setCode(String code) { this.code = code; }
|
||||
public String getName() { return name; }
|
||||
public void setName(String name) { this.name = name; }
|
||||
public String getTableName() { return tableName; }
|
||||
public void setTableName(String tableName) { this.tableName = tableName; }
|
||||
public String getObjectType() { return objectType; }
|
||||
public void setObjectType(String objectType) { this.objectType = objectType; }
|
||||
}
|
||||
|
||||
public static class BusinessLoopStateMachine
|
||||
{
|
||||
private String objectCode;
|
||||
private String tableName;
|
||||
private String statusField;
|
||||
private List<String> states = new ArrayList<String>();
|
||||
private List<BusinessLoopStateTransition> transitions = new ArrayList<BusinessLoopStateTransition>();
|
||||
|
||||
public String getObjectCode() { return objectCode; }
|
||||
public void setObjectCode(String objectCode) { this.objectCode = objectCode; }
|
||||
public String getTableName() { return tableName; }
|
||||
public void setTableName(String tableName) { this.tableName = tableName; }
|
||||
public String getStatusField() { return statusField; }
|
||||
public void setStatusField(String statusField) { this.statusField = statusField; }
|
||||
public List<String> getStates() { return states; }
|
||||
public void setStates(List<String> states) { this.states = states == null ? new ArrayList<String>() : states; }
|
||||
public List<BusinessLoopStateTransition> getTransitions() { return transitions; }
|
||||
public void setTransitions(List<BusinessLoopStateTransition> transitions) { this.transitions = transitions == null ? new ArrayList<BusinessLoopStateTransition>() : transitions; }
|
||||
}
|
||||
|
||||
public static class BusinessLoopStateTransition
|
||||
{
|
||||
private String actionCode;
|
||||
private String fromState;
|
||||
private String toState;
|
||||
|
||||
public String getActionCode() { return actionCode; }
|
||||
public void setActionCode(String actionCode) { this.actionCode = actionCode; }
|
||||
public String getFromState() { return fromState; }
|
||||
public void setFromState(String fromState) { this.fromState = fromState; }
|
||||
public String getToState() { return toState; }
|
||||
public void setToState(String toState) { this.toState = toState; }
|
||||
}
|
||||
|
||||
public static class BusinessLoopAction
|
||||
{
|
||||
private String code;
|
||||
private String name;
|
||||
private String actor;
|
||||
private String ownerObject;
|
||||
private String ownerTable;
|
||||
private String triggerPage;
|
||||
private boolean required;
|
||||
private List<String> preconditions = new ArrayList<String>();
|
||||
private List<BusinessLoopStateTransition> stateTransitions = new ArrayList<BusinessLoopStateTransition>();
|
||||
private List<BusinessLoopQuantityEffect> quantityEffects = new ArrayList<BusinessLoopQuantityEffect>();
|
||||
private List<BusinessLoopRecordEffect> recordEffects = new ArrayList<BusinessLoopRecordEffect>();
|
||||
|
||||
public String getCode() { return code; }
|
||||
public void setCode(String code) { this.code = code; }
|
||||
public String getName() { return name; }
|
||||
public void setName(String name) { this.name = name; }
|
||||
public String getActor() { return actor; }
|
||||
public void setActor(String actor) { this.actor = actor; }
|
||||
public String getOwnerObject() { return ownerObject; }
|
||||
public void setOwnerObject(String ownerObject) { this.ownerObject = ownerObject; }
|
||||
public String getOwnerTable() { return ownerTable; }
|
||||
public void setOwnerTable(String ownerTable) { this.ownerTable = ownerTable; }
|
||||
public String getTriggerPage() { return triggerPage; }
|
||||
public void setTriggerPage(String triggerPage) { this.triggerPage = triggerPage; }
|
||||
public boolean isRequired() { return required; }
|
||||
public void setRequired(boolean required) { this.required = required; }
|
||||
public List<String> getPreconditions() { return preconditions; }
|
||||
public void setPreconditions(List<String> preconditions) { this.preconditions = preconditions == null ? new ArrayList<String>() : preconditions; }
|
||||
public List<BusinessLoopStateTransition> getStateTransitions() { return stateTransitions; }
|
||||
public void setStateTransitions(List<BusinessLoopStateTransition> stateTransitions) { this.stateTransitions = stateTransitions == null ? new ArrayList<BusinessLoopStateTransition>() : stateTransitions; }
|
||||
public List<BusinessLoopQuantityEffect> getQuantityEffects() { return quantityEffects; }
|
||||
public void setQuantityEffects(List<BusinessLoopQuantityEffect> quantityEffects) { this.quantityEffects = quantityEffects == null ? new ArrayList<BusinessLoopQuantityEffect>() : quantityEffects; }
|
||||
public List<BusinessLoopRecordEffect> getRecordEffects() { return recordEffects; }
|
||||
public void setRecordEffects(List<BusinessLoopRecordEffect> recordEffects) { this.recordEffects = recordEffects == null ? new ArrayList<BusinessLoopRecordEffect>() : recordEffects; }
|
||||
}
|
||||
|
||||
public static class BusinessLoopQuantityEffect
|
||||
{
|
||||
private String actionCode;
|
||||
private String objectCode;
|
||||
private String tableName;
|
||||
private String quantityField;
|
||||
private String effectType;
|
||||
private String amount;
|
||||
|
||||
public String getActionCode() { return actionCode; }
|
||||
public void setActionCode(String actionCode) { this.actionCode = actionCode; }
|
||||
public String getObjectCode() { return objectCode; }
|
||||
public void setObjectCode(String objectCode) { this.objectCode = objectCode; }
|
||||
public String getTableName() { return tableName; }
|
||||
public void setTableName(String tableName) { this.tableName = tableName; }
|
||||
public String getQuantityField() { return quantityField; }
|
||||
public void setQuantityField(String quantityField) { this.quantityField = quantityField; }
|
||||
public String getEffectType() { return effectType; }
|
||||
public void setEffectType(String effectType) { this.effectType = effectType; }
|
||||
public String getAmount() { return amount; }
|
||||
public void setAmount(String amount) { this.amount = amount; }
|
||||
}
|
||||
|
||||
public static class BusinessLoopRecordEffect
|
||||
{
|
||||
private String actionCode;
|
||||
private String objectCode;
|
||||
private String tableName;
|
||||
private String operation;
|
||||
|
||||
public String getActionCode() { return actionCode; }
|
||||
public void setActionCode(String actionCode) { this.actionCode = actionCode; }
|
||||
public String getObjectCode() { return objectCode; }
|
||||
public void setObjectCode(String objectCode) { this.objectCode = objectCode; }
|
||||
public String getTableName() { return tableName; }
|
||||
public void setTableName(String tableName) { this.tableName = tableName; }
|
||||
public String getOperation() { return operation; }
|
||||
public void setOperation(String operation) { this.operation = operation; }
|
||||
}
|
||||
|
||||
public static class BusinessLoopPageBinding
|
||||
{
|
||||
private String actionCode;
|
||||
private String target;
|
||||
private String pageCode;
|
||||
private String tableName;
|
||||
private String slot;
|
||||
|
||||
public String getActionCode() { return actionCode; }
|
||||
public void setActionCode(String actionCode) { this.actionCode = actionCode; }
|
||||
public String getTarget() { return target; }
|
||||
public void setTarget(String target) { this.target = target; }
|
||||
public String getPageCode() { return pageCode; }
|
||||
public void setPageCode(String pageCode) { this.pageCode = pageCode; }
|
||||
public String getTableName() { return tableName; }
|
||||
public void setTableName(String tableName) { this.tableName = tableName; }
|
||||
public String getSlot() { return slot; }
|
||||
public void setSlot(String slot) { this.slot = slot; }
|
||||
}
|
||||
|
||||
public static class BusinessLoopAcceptanceScenario
|
||||
{
|
||||
private String name;
|
||||
private List<String> steps = new ArrayList<String>();
|
||||
private List<String> expectedResults = new ArrayList<String>();
|
||||
|
||||
public String getName() { return name; }
|
||||
public void setName(String name) { this.name = name; }
|
||||
public List<String> getSteps() { return steps; }
|
||||
public void setSteps(List<String> steps) { this.steps = steps == null ? new ArrayList<String>() : steps; }
|
||||
public List<String> getExpectedResults() { return expectedResults; }
|
||||
public void setExpectedResults(List<String> expectedResults) { this.expectedResults = expectedResults == null ? new ArrayList<String>() : expectedResults; }
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,8 @@ public class GenerateBusinessBlueprintRequest
|
||||
private String projectDesc;
|
||||
private String industryTemplate;
|
||||
private String extraRequirements;
|
||||
private String appBlueprint;
|
||||
private String businessLoopPlan;
|
||||
|
||||
public String getProjectName() { return projectName; }
|
||||
public void setProjectName(String projectName) { this.projectName = projectName; }
|
||||
@@ -15,4 +17,8 @@ public class GenerateBusinessBlueprintRequest
|
||||
public void setIndustryTemplate(String industryTemplate) { this.industryTemplate = industryTemplate; }
|
||||
public String getExtraRequirements() { return extraRequirements; }
|
||||
public void setExtraRequirements(String extraRequirements) { this.extraRequirements = extraRequirements; }
|
||||
public String getAppBlueprint() { return appBlueprint; }
|
||||
public void setAppBlueprint(String appBlueprint) { this.appBlueprint = appBlueprint; }
|
||||
public String getBusinessLoopPlan() { return businessLoopPlan; }
|
||||
public void setBusinessLoopPlan(String businessLoopPlan) { this.businessLoopPlan = businessLoopPlan; }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.ruoyi.generator.domain.front.dto;
|
||||
|
||||
public class GenerateBusinessLoopPlanRequest
|
||||
{
|
||||
private String projectName;
|
||||
private String projectDesc;
|
||||
private String industryTemplate;
|
||||
private String extraRequirements;
|
||||
private String appBlueprint;
|
||||
|
||||
public String getProjectName() { return projectName; }
|
||||
public void setProjectName(String projectName) { this.projectName = projectName; }
|
||||
public String getProjectDesc() { return projectDesc; }
|
||||
public void setProjectDesc(String projectDesc) { this.projectDesc = projectDesc; }
|
||||
public String getIndustryTemplate() { return industryTemplate; }
|
||||
public void setIndustryTemplate(String industryTemplate) { this.industryTemplate = industryTemplate; }
|
||||
public String getExtraRequirements() { return extraRequirements; }
|
||||
public void setExtraRequirements(String extraRequirements) { this.extraRequirements = extraRequirements; }
|
||||
public String getAppBlueprint() { return appBlueprint; }
|
||||
public void setAppBlueprint(String appBlueprint) { this.appBlueprint = appBlueprint; }
|
||||
}
|
||||
@@ -7,6 +7,7 @@ public class GenerateDatabaseRequest
|
||||
private String industryTemplate;
|
||||
private String extraRequirements;
|
||||
private String appBlueprint;
|
||||
private String businessLoopPlan;
|
||||
|
||||
public String getProjectName() { return projectName; }
|
||||
public void setProjectName(String projectName) { this.projectName = projectName; }
|
||||
@@ -18,4 +19,6 @@ public class GenerateDatabaseRequest
|
||||
public void setExtraRequirements(String extraRequirements) { this.extraRequirements = extraRequirements; }
|
||||
public String getAppBlueprint() { return appBlueprint; }
|
||||
public void setAppBlueprint(String appBlueprint) { this.appBlueprint = appBlueprint; }
|
||||
public String getBusinessLoopPlan() { return businessLoopPlan; }
|
||||
public void setBusinessLoopPlan(String businessLoopPlan) { this.businessLoopPlan = businessLoopPlan; }
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="generateStatus" column="generate_status" />
|
||||
<result property="previewStatus" column="preview_status" />
|
||||
<result property="appBlueprint" column="app_blueprint" />
|
||||
<result property="businessLoopPlan" column="business_loop_plan" />
|
||||
<result property="erDiagram" column="er_diagram" />
|
||||
<result property="businessBlueprint" column="business_blueprint" />
|
||||
<result property="status" column="status" />
|
||||
@@ -29,7 +30,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectFrontProjectVo">
|
||||
select project_id, user_id, project_name, project_file_name, package_name, version, project_desc, requirement_keyword, industry_template, front_framework, back_framework, frontend_enabled, generate_status, preview_status, app_blueprint, er_diagram, business_blueprint, status, create_time, update_time, remark from front_project
|
||||
select project_id, user_id, project_name, project_file_name, package_name, version, project_desc, requirement_keyword, industry_template, front_framework, back_framework, frontend_enabled, generate_status, preview_status, app_blueprint, business_loop_plan, er_diagram, business_blueprint, status, create_time, update_time, remark from front_project
|
||||
</sql>
|
||||
|
||||
<select id="selectFrontProjectById" parameterType="Long" resultMap="FrontProjectResult">
|
||||
@@ -72,6 +73,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="generateStatus != null">generate_status,</if>
|
||||
<if test="previewStatus != null">preview_status,</if>
|
||||
<if test="appBlueprint != null">app_blueprint,</if>
|
||||
<if test="businessLoopPlan != null">business_loop_plan,</if>
|
||||
<if test="erDiagram != null">er_diagram,</if>
|
||||
<if test="businessBlueprint != null">business_blueprint,</if>
|
||||
<if test="status != null">status,</if>
|
||||
@@ -93,6 +95,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="generateStatus != null">#{generateStatus},</if>
|
||||
<if test="previewStatus != null">#{previewStatus},</if>
|
||||
<if test="appBlueprint != null">#{appBlueprint},</if>
|
||||
<if test="businessLoopPlan != null">#{businessLoopPlan},</if>
|
||||
<if test="erDiagram != null">#{erDiagram},</if>
|
||||
<if test="businessBlueprint != null">#{businessBlueprint},</if>
|
||||
<if test="status != null">#{status},</if>
|
||||
@@ -117,6 +120,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="generateStatus != null">generate_status = #{generateStatus},</if>
|
||||
<if test="previewStatus != null">preview_status = #{previewStatus},</if>
|
||||
<if test="appBlueprint != null">app_blueprint = #{appBlueprint},</if>
|
||||
<if test="businessLoopPlan != null">business_loop_plan = #{businessLoopPlan},</if>
|
||||
<if test="erDiagram != null">er_diagram = #{erDiagram},</if>
|
||||
<if test="businessBlueprint != null">business_blueprint = #{businessBlueprint},</if>
|
||||
<if test="status != null">status = #{status},</if>
|
||||
|
||||
@@ -1311,6 +1311,7 @@ create table front_project (
|
||||
generate_status char(1) default '0' comment '数据库生成状态(0未生成 1生成中 2已生成 3失败)',
|
||||
preview_status char(1) default '0' comment '预览状态(0未预览 1已预览 2失败)',
|
||||
app_blueprint longtext comment '系统模块设计草稿JSON',
|
||||
business_loop_plan longtext NULL COMMENT '业务闭环计划',
|
||||
er_diagram longtext comment 'ER图草稿JSON',
|
||||
business_blueprint longtext comment '业务流程设计草稿JSON',
|
||||
status char(1) default '0' comment '状态(0正常 1停用)',
|
||||
|
||||
@@ -76,6 +76,23 @@ prepare front_project_er_diagram_stmt from @front_project_er_diagram_sql;
|
||||
execute front_project_er_diagram_stmt;
|
||||
deallocate prepare front_project_er_diagram_stmt;
|
||||
|
||||
set @front_project_business_loop_plan_exists := (
|
||||
select count(1)
|
||||
from information_schema.columns
|
||||
where table_schema = database()
|
||||
and table_name = 'front_project'
|
||||
and column_name = 'business_loop_plan'
|
||||
);
|
||||
|
||||
set @front_project_business_loop_plan_sql := if(
|
||||
@front_project_business_loop_plan_exists = 0,
|
||||
'alter table front_project add column business_loop_plan longtext null comment ''业务闭环计划'' after app_blueprint',
|
||||
'select ''front_project.business_loop_plan already exists'''
|
||||
);
|
||||
|
||||
prepare front_project_business_loop_plan_stmt from @front_project_business_loop_plan_sql;
|
||||
execute front_project_business_loop_plan_stmt;
|
||||
deallocate prepare front_project_business_loop_plan_stmt;
|
||||
set @front_project_business_blueprint_exists := (
|
||||
select count(1)
|
||||
from information_schema.columns
|
||||
|
||||
Reference in New Issue
Block a user