Commit cad61c5f by 赵剑炜

合并

parent 08ef56e2
...@@ -8,15 +8,13 @@ ...@@ -8,15 +8,13 @@
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" /> <outputRelativeToContentRoot value="true" />
<module name="jyzb-common" /> <module name="jyzb-common" />
<module name="jyzb-process" />
<module name="jyzb-api" /> <module name="jyzb-api" />
<module name="jyzb-boot" />
<module name="jyzb-biz" /> <module name="jyzb-biz" />
<module name="jyzb-process" /> <module name="jyzb-boot" />
</profile> </profile>
</annotationProcessing> </annotationProcessing>
<bytecodeTargetLevel> <bytecodeTargetLevel target="9" />
<module name="jyzb-business" target="1.8" />
</bytecodeTargetLevel>
</component> </component>
<component name="JavacSettings"> <component name="JavacSettings">
<option name="ADDITIONAL_OPTIONS_OVERRIDE"> <option name="ADDITIONAL_OPTIONS_OVERRIDE">
...@@ -24,7 +22,6 @@ ...@@ -24,7 +22,6 @@
<module name="jyzb-api" options="-parameters" /> <module name="jyzb-api" options="-parameters" />
<module name="jyzb-biz" options="-parameters" /> <module name="jyzb-biz" options="-parameters" />
<module name="jyzb-boot" options="-parameters" /> <module name="jyzb-boot" options="-parameters" />
<module name="jyzb-business" options="-parameters" />
<module name="jyzb-common" options="-parameters" /> <module name="jyzb-common" options="-parameters" />
<module name="jyzb-process" options="-parameters" /> <module name="jyzb-process" options="-parameters" />
</option> </option>
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<project version="4"> <project version="4">
<component name="Encoding"> <component name="Encoding">
<file url="file://$PROJECT_DIR$/jyzb-api/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/jyzb-api/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/jyzb-api/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/jyzb-biz/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/jyzb-biz/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/jyzb-biz/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/jyzb-biz/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/jyzb-boot/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/jyzb-boot/src/main/java" charset="UTF-8" />
...@@ -10,5 +11,7 @@ ...@@ -10,5 +11,7 @@
<file url="file://$PROJECT_DIR$/jyzb-common/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/jyzb-common/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/jyzb-process/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/jyzb-process/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/jyzb-process/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/jyzb-process/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
</component> </component>
</project> </project>
\ No newline at end of file
...@@ -2,14 +2,9 @@ ...@@ -2,14 +2,9 @@
<project version="4"> <project version="4">
<component name="RemoteRepositoriesConfiguration"> <component name="RemoteRepositoriesConfiguration">
<remote-repository> <remote-repository>
<option name="id" value="oss" /> <option name="id" value="aliyun" />
<option name="name" value="oss" /> <option name="name" value="aliyun" />
<option name="url" value="https://oss.sonatype.org/content/groups/public" /> <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="junmp-public" />
<option name="name" value="junmp-public" />
<option name="url" value="http://maven.sothing.top/repository/junmp-public/" />
</remote-repository> </remote-repository>
<remote-repository> <remote-repository>
<option name="id" value="central" /> <option name="id" value="central" />
...@@ -17,24 +12,29 @@ ...@@ -17,24 +12,29 @@
<option name="url" value="https://repo.maven.apache.org/maven2" /> <option name="url" value="https://repo.maven.apache.org/maven2" />
</remote-repository> </remote-repository>
<remote-repository> <remote-repository>
<option name="id" value="junmp-public" />
<option name="name" value="junmp-public" />
<option name="url" value="http://maven.sothing.top/repository/junmp-public/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" /> <option name="id" value="central" />
<option name="name" value="Maven Central repository" /> <option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" /> <option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository> </remote-repository>
<remote-repository> <remote-repository>
<option name="id" value="spring-milestones" /> <option name="id" value="jboss.community" />
<option name="name" value="Spring Milestones" /> <option name="name" value="JBoss Community repository" />
<option name="url" value="https://repo.spring.io/libs-milestone" /> <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository> </remote-repository>
<remote-repository> <remote-repository>
<option name="id" value="aliyun" /> <option name="id" value="oss" />
<option name="name" value="aliyun" /> <option name="name" value="oss" />
<option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" /> <option name="url" value="https://oss.sonatype.org/content/groups/public" />
</remote-repository> </remote-repository>
<remote-repository> <remote-repository>
<option name="id" value="jboss.community" /> <option name="id" value="spring-milestones" />
<option name="name" value="JBoss Community repository" /> <option name="name" value="Spring Milestones" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> <option name="url" value="https://repo.spring.io/libs-milestone" />
</remote-repository> </remote-repository>
</component> </component>
</project> </project>
\ No newline at end of file
...@@ -17,5 +17,5 @@ ...@@ -17,5 +17,5 @@
</set> </set>
</option> </option>
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" /> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8 (3)" project-jdk-type="JavaSDK" />
</project> </project>
\ No newline at end of file
...@@ -3,39 +3,70 @@ package com.junmp.junmpProcess.controller; ...@@ -3,39 +3,70 @@ package com.junmp.junmpProcess.controller;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.junmp.junmpProcess.common.Result;
import com.junmp.junmpProcess.doc.BpmnDoc; import com.junmp.junmpProcess.doc.BpmnDoc;
import com.junmp.junmpProcess.utils.BpmnConvert;
import com.junmp.junmpProcess.vo.ProcessVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import com.junmp.junmpProcess.service.Bussiness.WorkProcessService; import com.junmp.junmpProcess.service.Bussiness.WorkProcessService;
import org.flowable.bpmn.model.BpmnModel;
import org.flowable.engine.ProcessEngine;
import org.flowable.engine.ProcessEngineConfiguration;
import org.flowable.engine.repository.Deployment;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.sql.DataSource;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/Bpmn") @RequestMapping("/Bpmn")
public class BpmnController implements BpmnDoc { public class BpmnController implements BpmnDoc {
@Resource
private DataSource dataSource;
@Autowired @Autowired
private WorkProcessService ProcessService; private WorkProcessService ProcessService;
@Override @Override
@PostMapping(value = "bpmn/create") @PostMapping(value = "bpmn/create")
public boolean create(@RequestBody String nodeJson) { public Result<String> create(@RequestBody ProcessVO processVO) throws JsonProcessingException {
// ProcessEngineConfiguration.
ProcessEngineConfiguration config = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();
config.setDataSource(dataSource);
config.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
ProcessEngine processEngine = config.buildProcessEngine();
//流程定义
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonNode = null; JsonNode processJsonNode = objectMapper.readTree(processVO.getProcessJson());
try {
jsonNode = objectMapper.readTree(nodeJson);
} catch (JsonProcessingException e) { ObjectMapper formMapper = new ObjectMapper();
throw new RuntimeException(e); JsonNode formJsonNode = objectMapper.readTree(processVO.getFormJson());
}
return ProcessService.createBpmn(jsonNode);
//将json转换为bpmn
BpmnConvert bpmnConvert=new BpmnConvert();
BpmnModel bpmnModel = bpmnConvert.toBpmn(processJsonNode,formJsonNode);
Deployment deployment = processEngine.getRepositoryService()
.createDeployment()
.addBpmnModel(bpmnModel.getProcesses().get(0).getId()+".bpmn20.xml", bpmnModel)
.deploy();
return Result.OK(deployment.getId());
} }
} }
package com.junmp.junmpProcess.doc; package com.junmp.junmpProcess.doc;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.junmp.junmpProcess.common.Result;
import com.junmp.junmpProcess.vo.ProcessVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -10,5 +13,5 @@ public interface BpmnDoc { ...@@ -10,5 +13,5 @@ public interface BpmnDoc {
* bpmn划线 * bpmn划线
*/ */
@ApiOperation(value = "bpmn划线", tags = "bpmn划线") @ApiOperation(value = "bpmn划线", tags = "bpmn划线")
boolean create(String nodeJson); Result<String> create(ProcessVO processVO) throws JsonProcessingException;
} }
spring: #环境 dev|test|pro|preview
profiles:
active: dev
servlet:
multipart: #文件传输配置
max-file-size: 100MB #单个数据大小限制
max-request-size: 100MB #请求总数据大小限制
enabled: true #是否启用分段上传支持
mvc:
hiddenmethod: #隐式方法过滤器
filter:
enabled: true #默认关闭。开启以支持:PUT,DELETE表单提交方法
jackson: #序列化和反序列化json框架
serialization:
write-dates-as-timestamps: true #是否写入日期时间时间戳格式
time-zone: GMT+8 #指定日期格式化时区
main:
allow-bean-definition-overriding: true #允许同名bean后者覆盖,默认:true
allow-circular-references: true #允许Bean相互引用,默认:false
server:
error:
whitelabel:
enabled: false
# 应用服务器
server:
tomcat:
uri-encoding: UTF-8 #tomcat编码
port: 8999 #tomcat端口
#===================== 数据源配置 =====================
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
username: ${MYSQL_USER:junmp} #junmp
password: ${MYSQL_PWD:123456} #123456
url: jdbc:mysql://${MYSQL_HOST:192.168.3.128}:${MYSQL_PORT:3306}/${MYSQL_DB:db_jyzb}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&allowPublicKeyRetrieval=true&queryTimeout=2400&nullCatalogMeansCurrent=true
#===================== Redis配置 =====================
redis:
database: 1 #缓存库编号
host: 127.0.0.1
port: 6379
password:
timeout: 3000 #超时时间(单位:秒)
lettuce: #Lettuce为Redis的Java驱动包
pool:
max-active: 8 # 连接池最大连接数
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
min-idle: 0 # 连接池中的最小空闲连接
max-idle: 8 # 连接池中的最大空闲连接
mail:
host: smtp.qq.com #邮件服务器的host
password: sb #邮件服务器的发件人密码
username: 6666@qq.com #邮件服务器的发件人
port: 25 #smtp默认端口
protocol: smtp #使用smtp协议
default-encoding: UTF-8 #邮件使用的字符集
properties:
mail:
debug: true #启调试模式(发送邮件的细节都能看出来) 默认值为fasle
debug.auth: true
smtp:
auth: true #如果为true ,则尝试使用auth命令对用户进行身份验证 默认为false
connectiontimeout: 20000 #套接字连接超时值(毫秒)。默认值为无限超时。
sendpartial: true #如果为true 并且邮件有一些有效和无效的地址 并使用SendFailException 报告部分失败, 如果设置为false(默认值) 如果存在无效的收件人地址, 则不会将邮件发送给任何收件人
starttls:
#如果为true,则在发出任何登录命令之前,启用starttl命令(如果服务器支持) 将连接切换到受TLS保护的连接,请注意,必须配置适当的信任存储,以便客户端信任服务器的证书,默认为false
enable: true
# 如果为true,则需要使用 starttl命令,如果服务器不支持此命令,或者该命令失败,connect()将失败,默认为false 如果此设置为true james邮件服务器会报错 STARTTLS is required but host does not support STARTTLS
required: false
timeout: 20000 #I/O超时值(ms) 默认为无限超时
userset: true #如果设置为true,则在isConnected()中使用RSET命令而不是NOOP命令 在某些情况下,sendmail在执行许多NOOP命令后响应缓存,使用RSET可以避免这个sendMail问题,默认为false
flowable:
dmn:
enabled: false
cmmn:
enabled: false
idm:
enabled: false
async-history-executor-activate: false
async-executor-activate: false
check-process-definitions: false
content:
enabled: false
app:
enabled: false
eventregistry:
enabled: false
config:
minio:
endpoint: http://192.168.0.147:9000/ #服务端地址
accessKey: admin #账号
secretKey: test. #密码
fileHost: http://192.168.0.147:9000/ #地址
scanner:
open: false
# 配置第三方请求
junmp:
swagger:
base-package: com.junmp
id:
worker-id: 1
data-center-id: 1
epoch: 1656036996843
max: 9999
log:
type: db
ds: true #是否多数据源
knife4j:
enable: true
setting:
enableDebug: false
basic:
enable: true
username: ning
password: ning
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
#jdbc:mysql://192.168.3.128:3306/db_jyzb?
url: jdbc:mysql://192.168.3.128:3306/db_jyzb?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true
# junmp 123456
username: junmp
password: 123456
redis:
host: 127.0.0.1
port: 6379
database: 1
password:
flowable:
dmn:
enabled: false
cmmn:
enabled: false
idm:
enabled: false
async-history-executor-activate: false
async-executor-activate: false
check-process-definitions: false
content:
enabled: false
app:
enabled: false
eventregistry:
enabled: false
#mybatis plus 设置
mybatis-plus:
configuration:
cache-enabled: true
lazy-loading-enabled: true
multiple-result-sets-enabled: true
map-underscore-to-camel-case: true #开启驼峰命名
global-config:
banner: false
enable-sql-runner: true
db-config:
id-type: assign_id
table-underline: true
mapper-locations: classpath*:/mapper/**/*Mapper.xml
...@@ -8,7 +8,7 @@ spring: ...@@ -8,7 +8,7 @@ spring:
application: application:
name: jyzb-app name: jyzb-app
profiles: profiles:
#local #@spring.active@
active: local active: local
servlet: servlet:
multipart: multipart:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论