update - 调整模型,增加描述字段,以支持模型的备注

This commit is contained in:
wangli 2023-09-26 15:25:31 +08:00
parent c7b7e436c6
commit c735ac706f

View File

@ -1,5 +1,6 @@
package cn.axzo.workflow.core.service.impl;
import cn.axzo.framework.jackson.utility.JSON;
import cn.axzo.workflow.common.model.request.bpmn.model.BpmnModelSearchDTO;
import cn.axzo.workflow.common.model.request.form.model.FormModelCreateDTO;
import cn.axzo.workflow.common.model.request.form.model.FormModelUpdateDTO;
@ -22,11 +23,14 @@ import org.springframework.util.StringUtils;
import javax.annotation.Nullable;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import static cn.axzo.workflow.common.constant.BpmConstants.FORM_FILE_SUFFIX;
import static cn.axzo.workflow.common.constant.BpmConstants.MODEL_META_INFO_FORM;
import static cn.axzo.workflow.common.constant.MetaInfoConstants.MODEL_TYPE;
import static cn.axzo.workflow.common.constant.MetaInfoConstants.MODEL_TYPE_FORM;
import static cn.axzo.workflow.core.common.enums.BpmErrorCode.FORM_MODEL_NOT_EXISTS;
/**
@ -56,12 +60,15 @@ public class FormModelServiceImpl implements FormModelService {
if (Objects.nonNull(persistModel)) {
throw new WorkflowEngineException(FORM_MODEL_NOT_EXISTS);
}
Map<String, String> metaInfoMap = new HashMap<>();
metaInfoMap.put(MODEL_TYPE, MODEL_TYPE_FORM);
Model model = repositoryService.newModel();
model.setKey(dto.getKey());
model.setCategory(dto.getCategory());
model.setName(dto.getName());
model.setTenantId(dto.getTenantId());
model.setMetaInfo(MODEL_META_INFO_FORM);
model.setMetaInfo(JSON.toJSONString(metaInfoMap));
repositoryService.saveModel(model);
return model.getId();
}
@ -110,8 +117,8 @@ public class FormModelServiceImpl implements FormModelService {
}
baseQuerySql.append(sqlConnectors(baseQuerySql))
.append(" META_INFO_ = #{metaInfo}");
query.parameter("metaInfo", MODEL_META_INFO_FORM);
.append(" META_INFO_ like #{metaInfo}");
query.parameter("metaInfo", "%" + MODEL_TYPE_FORM + "%");
NativeModelQuery dateSqlQuery = query.sql(baseQuerySql.append(" order by LAST_UPDATE_TIME_ desc").toString());
List<Model> models = dateSqlQuery
.listPage((dto.getPageNo() - 1) * dto.getPageSize(), dto.getPageSize());
@ -126,7 +133,7 @@ public class FormModelServiceImpl implements FormModelService {
@Override
public FormModelBaseVO getById(String formModelId, @Nullable String tenantId) {
Model model = repositoryService.getModel(formModelId);
if (Objects.isNull(model) || !Objects.equals(model.getMetaInfo(), MODEL_META_INFO_FORM)) {
if (Objects.isNull(model) || !model.getMetaInfo().contains(MODEL_TYPE_FORM)) {
throw new WorkflowEngineException(FORM_MODEL_NOT_EXISTS);
}
if (StringUtils.hasLength(tenantId) && !Objects.equals(model.getTenantId(), tenantId)) {
@ -143,7 +150,7 @@ public class FormModelServiceImpl implements FormModelService {
}
Model model = modelQuery.modelKey(formModelKey).singleResult();
if (Objects.isNull(model) || !Objects.equals(model.getMetaInfo(), MODEL_META_INFO_FORM)) {
if (Objects.isNull(model) || !model.getMetaInfo().contains(MODEL_TYPE_FORM)) {
throw new WorkflowEngineException(FORM_MODEL_NOT_EXISTS);
}
return formModelConverter.toVo(model);
@ -153,7 +160,7 @@ public class FormModelServiceImpl implements FormModelService {
@Transactional(rollbackFor = Exception.class)
public String deployFormModelById(String formModelId, String tenantId) {
Model model = repositoryService.getModel(formModelId);
if (Objects.isNull(model) || !Objects.equals(model.getMetaInfo(), MODEL_META_INFO_FORM)) {
if (Objects.isNull(model) || !model.getMetaInfo().contains(MODEL_TYPE_FORM)) {
throw new WorkflowEngineException(FORM_MODEL_NOT_EXISTS);
}
if (StringUtils.hasLength(tenantId) && !Objects.equals(model.getTenantId(), tenantId)) {
@ -178,7 +185,7 @@ public class FormModelServiceImpl implements FormModelService {
modelQuery.modelTenantId(tenantId);
}
Model model = modelQuery.singleResult();
if (Objects.isNull(model) || !Objects.equals(model.getMetaInfo(), MODEL_META_INFO_FORM)) {
if (Objects.isNull(model) || !model.getMetaInfo().contains(MODEL_TYPE_FORM)) {
throw new WorkflowEngineException(FORM_MODEL_NOT_EXISTS);
}