✨ 添加新特性。 扩展spring cache 支持ttl 和自动租户管理

This commit is contained in:
冷冷 committed 2018-10-03 23:36:43 +08:00
1 parent 1d2d8f6e32
commit 668c62bc73
17 files changed
+717 -88

No files matched your search

@@ -24,7 +24,8 @@ import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
@@ -74,11 +75,16 @@ public class LeaveBill extends Model<LeaveBill> {
@TableLogic
private String delFlag;
/**
* 主键值
*/
@Override
protected Serializable pkVal() {
return this.leaveId;
}
/**
* 租户ID
*/
private Integer tenantId;
/**
* 主键值
*/
@Override
protected Serializable pkVal() {
return this.leaveId;
}
}
@@ -21,6 +21,7 @@ import cn.hutool.core.util.CharsetUtil;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.pig4cloud.pigx.act.service.EditorService;
import com.pig4cloud.pigx.common.security.util.SecurityUtils;
import lombok.AllArgsConstructor;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.RepositoryService;
@@ -110,6 +111,8 @@ public class EditorServiceImpl implements EditorService {
modelJson.put(MODEL_DESCRIPTION, description);
model.setMetaInfo(modelJson.toString());
model.setName(name);
model.setTenantId(String.valueOf(SecurityUtils.getTenantId()));
repositoryService.saveModel(model);
repositoryService.addModelEditorSource(model.getId(), jsonXml.getBytes(CharsetUtil.UTF_8));
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
@@ -24,6 +24,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.pig4cloud.pigx.act.service.ModelService;
import com.pig4cloud.pigx.common.core.constant.SecurityConstants;
import com.pig4cloud.pigx.common.security.util.SecurityUtils;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.activiti.bpmn.model.BpmnModel;
@@ -87,6 +88,7 @@ public class ModelServiceImpl implements ModelService {
modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, model.getVersion());
modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, desc);
model.setMetaInfo(modelObjectNode.toString());
model.setTenantId(String.valueOf(SecurityUtils.getTenantId()));
repositoryService.saveModel(model);
repositoryService.addModelEditorSource(model.getId(), editorNode.toString().getBytes("utf-8"));
@@ -154,10 +156,13 @@ public class ModelServiceImpl implements ModelService {
Deployment deployment = repositoryService
.createDeployment().name(model.getName())
.addBpmnModel(processName, bpmnModel)
.tenantId(String.valueOf(SecurityUtils.getTenantId()))
.deploy();
// 设置流程分类
List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).list();
List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery()
.deploymentId(deployment.getId())
.list();
list.stream().forEach(processDefinition ->
repositoryService.setProcessDefinitionCategory(processDefinition.getId(), model.getCategory()));
@@ -27,6 +27,7 @@ import com.pig4cloud.pigx.act.service.ProcessService;
import com.pig4cloud.pigx.common.core.constant.enums.EnumProcessStatus;
import com.pig4cloud.pigx.common.core.constant.enums.EnumResourceType;
import com.pig4cloud.pigx.common.core.constant.enums.EnumTaskStatus;
import com.pig4cloud.pigx.common.security.util.SecurityUtils;
import lombok.AllArgsConstructor;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
@@ -164,7 +165,7 @@ public class ProcessServiceImpl implements ProcessService {
//3: 格式:LeaveBill_id的形式(使用流程变量)
String businessKey = key + "_" + leaveBill.getLeaveId();
//4:使用流程定义的key,启动流程实例,正在执行的执行对象表中的字段BUSINESS_KEY添加业务数据,同时让流程关联业务
runtimeService.startProcessInstanceByKey(key, businessKey);
runtimeService.startProcessInstanceByKeyAndTenantId(key, businessKey, String.valueOf(SecurityUtils.getTenantId()));
leaveBillMapper.updateById(leaveBill);
return Boolean.TRUE;
}