提交 88cda962 编写于 作者: ibizdev's avatar ibizdev

zhouweidong 部署微服务接口 [ibz-ou,microservice]

上级 32bd8517
...@@ -37,6 +37,11 @@ ...@@ -37,6 +37,11 @@
git clone -b master $para2 ibzou/ git clone -b master $para2 ibzou/
export NODE_OPTIONS=--max-old-space-size=4096 export NODE_OPTIONS=--max-old-space-size=4096
cd ibzou/ cd ibzou/
mvn clean package -Papi
cd ibzou-provider/ibzou-provider-api
mvn -Papi docker:build
mvn -Papi docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzou-provider-api.yaml ibzlab-rt --with-registry-auth
</command> </command>
</hudson.tasks.Shell> </hudson.tasks.Shell>
</builders> </builders>
......
...@@ -84,6 +84,13 @@ public class SysDepartmentSearchContext extends QueryWrapperContext<SysDepartmen ...@@ -84,6 +84,13 @@ public class SysDepartmentSearchContext extends QueryWrapperContext<SysDepartmen
this.getSearchCond().isNull("pdeptid"); this.getSearchCond().isNull("pdeptid");
} }
} }
}
private String n_bcode_eq;//[业务编码]
public void setN_bcode_eq(String n_bcode_eq) {
this.n_bcode_eq = n_bcode_eq;
if(!ObjectUtils.isEmpty(this.n_bcode_eq)){
this.getSearchCond().eq("bcode", n_bcode_eq);
}
} }
private String n_bcode_like;//[业务编码] private String n_bcode_like;//[业务编码]
public void setN_bcode_like(String n_bcode_like) { public void setN_bcode_like(String n_bcode_like) {
......
...@@ -121,9 +121,8 @@ public class SysDepartmentServiceImpl extends ServiceImpl<SysDepartmentMapper, S ...@@ -121,9 +121,8 @@ public class SysDepartmentServiceImpl extends ServiceImpl<SysDepartmentMapper, S
@Transactional @Transactional
public SysDepartment get(String key) { public SysDepartment get(String key) {
SysDepartment et = getById(key); SysDepartment et = getById(key);
if(et == null){ if (et == null) {
et = new SysDepartment(); throw new BadRequestAlertException("数据不存在", this.getClass().getSimpleName(), key);
et.setDeptid(key);
} }
else { else {
} }
......
...@@ -113,9 +113,8 @@ public class SysDeptMemberServiceImpl extends ServiceImpl<SysDeptMemberMapper, S ...@@ -113,9 +113,8 @@ public class SysDeptMemberServiceImpl extends ServiceImpl<SysDeptMemberMapper, S
@Transactional @Transactional
public SysDeptMember get(String key) { public SysDeptMember get(String key) {
SysDeptMember et = getById(key); SysDeptMember et = getById(key);
if(et == null){ if (et == null) {
et = new SysDeptMember(); throw new BadRequestAlertException("数据不存在", this.getClass().getSimpleName(), key);
et.setMemberid(key);
} }
else { else {
} }
......
...@@ -119,9 +119,8 @@ public class SysEmployeeServiceImpl extends ServiceImpl<SysEmployeeMapper, SysEm ...@@ -119,9 +119,8 @@ public class SysEmployeeServiceImpl extends ServiceImpl<SysEmployeeMapper, SysEm
@Transactional @Transactional
public SysEmployee get(String key) { public SysEmployee get(String key) {
SysEmployee et = getById(key); SysEmployee et = getById(key);
if(et == null){ if (et == null) {
et = new SysEmployee(); throw new BadRequestAlertException("数据不存在", this.getClass().getSimpleName(), key);
et.setUserid(key);
} }
else { else {
} }
......
...@@ -125,9 +125,8 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe ...@@ -125,9 +125,8 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
@Transactional @Transactional
public SysOrganization get(String key) { public SysOrganization get(String key) {
SysOrganization et = getById(key); SysOrganization et = getById(key);
if(et == null){ if (et == null) {
et = new SysOrganization(); throw new BadRequestAlertException("数据不存在", this.getClass().getSimpleName(), key);
et.setOrgid(key);
} }
else { else {
et.setDepts(sysdepartmentService.selectByOrgid(key)); et.setDepts(sysdepartmentService.selectByOrgid(key));
......
...@@ -109,9 +109,8 @@ public class SysPostServiceImpl extends ServiceImpl<SysPostMapper, SysPost> impl ...@@ -109,9 +109,8 @@ public class SysPostServiceImpl extends ServiceImpl<SysPostMapper, SysPost> impl
@Transactional @Transactional
public SysPost get(String key) { public SysPost get(String key) {
SysPost et = getById(key); SysPost et = getById(key);
if(et == null){ if (et == null) {
et = new SysPost(); throw new BadRequestAlertException("数据不存在", this.getClass().getSimpleName(), key);
et.setPostid(key);
} }
else { else {
} }
......
...@@ -113,9 +113,8 @@ public class SysTeamMemberServiceImpl extends ServiceImpl<SysTeamMemberMapper, S ...@@ -113,9 +113,8 @@ public class SysTeamMemberServiceImpl extends ServiceImpl<SysTeamMemberMapper, S
@Transactional @Transactional
public SysTeamMember get(String key) { public SysTeamMember get(String key) {
SysTeamMember et = getById(key); SysTeamMember et = getById(key);
if(et == null){ if (et == null) {
et = new SysTeamMember(); throw new BadRequestAlertException("数据不存在", this.getClass().getSimpleName(), key);
et.setTeammemberid(key);
} }
else { else {
} }
......
...@@ -103,9 +103,8 @@ public class SysTeamServiceImpl extends ServiceImpl<SysTeamMapper, SysTeam> impl ...@@ -103,9 +103,8 @@ public class SysTeamServiceImpl extends ServiceImpl<SysTeamMapper, SysTeam> impl
@Transactional @Transactional
public SysTeam get(String key) { public SysTeam get(String key) {
SysTeam et = getById(key); SysTeam et = getById(key);
if(et == null){ if (et == null) {
et = new SysTeam(); throw new BadRequestAlertException("数据不存在", this.getClass().getSimpleName(), key);
et.setTeamid(key);
} }
else { else {
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<!--输出实体[SYS_DEPT]数据结构 --> <!--输出实体[SYS_DEPT]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_dept-79-1"> <changeSet author="a_A_5d9d78509" id="tab-sys_dept-80-1">
<createTable tableName="IBZDEPT"> <createTable tableName="IBZDEPT">
<column name="DEPTID" remarks="" type="VARCHAR(100)"> <column name="DEPTID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_DEPT_DEPTID"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_DEPT_DEPTID"/>
...@@ -225,10 +225,10 @@ ...@@ -225,10 +225,10 @@
</changeSet> </changeSet>
<!--输出实体[SYS_DEPT]外键关系 --> <!--输出实体[SYS_DEPT]外键关系 -->
<changeSet author="a_A_5d9d78509" id="fk-sys_dept-79-8"> <changeSet author="a_A_5d9d78509" id="fk-sys_dept-80-8">
<addForeignKeyConstraint baseColumnNames="PDEPTID" baseTableName="IBZDEPT" constraintName="DER1N_SYS_DEPT_SYS_DEPT_PDEPTI" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="DEPTID" referencedTableName="IBZDEPT" validate="true"/> <addForeignKeyConstraint baseColumnNames="PDEPTID" baseTableName="IBZDEPT" constraintName="DER1N_SYS_DEPT_SYS_DEPT_PDEPTI" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="DEPTID" referencedTableName="IBZDEPT" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_A_5d9d78509" id="fk-sys_dept-79-9"> <changeSet author="a_A_5d9d78509" id="fk-sys_dept-80-9">
<addForeignKeyConstraint baseColumnNames="ORGID" baseTableName="IBZDEPT" constraintName="DER1N_SYS_DEPT_SYS_ORG_ORGID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ORGID" referencedTableName="IBZORG" validate="true"/> <addForeignKeyConstraint baseColumnNames="ORGID" baseTableName="IBZDEPT" constraintName="DER1N_SYS_DEPT_SYS_ORG_ORGID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ORGID" referencedTableName="IBZORG" validate="true"/>
</changeSet> </changeSet>
<!--输出实体[SYS_DEPTMEMBER]外键关系 --> <!--输出实体[SYS_DEPTMEMBER]外键关系 -->
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.ibizlab.core.ou.mapper.SysDepartmentMapper"> <mapper namespace="cn.ibizlab.core.ou.mapper.SysDepartmentMapper">
<!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性--> <!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性-->
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.ibizlab.core.ou.mapper.SysDeptMemberMapper"> <mapper namespace="cn.ibizlab.core.ou.mapper.SysDeptMemberMapper">
<!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性--> <!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性-->
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.ibizlab.core.ou.mapper.SysEmployeeMapper"> <mapper namespace="cn.ibizlab.core.ou.mapper.SysEmployeeMapper">
<!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性--> <!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性-->
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.ibizlab.core.ou.mapper.SysOrganizationMapper"> <mapper namespace="cn.ibizlab.core.ou.mapper.SysOrganizationMapper">
<!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性--> <!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性-->
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.ibizlab.core.ou.mapper.SysPostMapper"> <mapper namespace="cn.ibizlab.core.ou.mapper.SysPostMapper">
<!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性--> <!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性-->
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.ibizlab.core.ou.mapper.SysTeamMapper"> <mapper namespace="cn.ibizlab.core.ou.mapper.SysTeamMapper">
<!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性--> <!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性-->
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.ibizlab.core.ou.mapper.SysTeamMemberMapper"> <mapper namespace="cn.ibizlab.core.ou.mapper.SysTeamMemberMapper">
<!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性--> <!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性-->
......
...@@ -10,6 +10,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \ ...@@ -10,6 +10,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \ sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Duser.timezone=$TZ -Djava.security.egd=file:/dev/./urandom -jar /ibzou-provider-api.jar java ${JAVA_OPTS} -Duser.timezone=$TZ -Djava.security.egd=file:/dev/./urandom -jar /ibzou-provider-api.jar
EXPOSE 8081 EXPOSE 40001
ADD ibzou-provider-api.jar /ibzou-provider-api.jar ADD ibzou-provider-api.jar /ibzou-provider-api.jar
...@@ -22,7 +22,34 @@ spec: ...@@ -22,7 +22,34 @@ spec:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzou-provider-api:latest image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzou-provider-api:latest
imagePullPolicy: Always imagePullPolicy: Always
ports: ports:
- containerPort: 8081 - containerPort: 40001
env:
- name: SPRING_CLOUD_NACOS_DISCOVERY_IP
value: "172.16.180.237"
- name: SERVER_PORT
value: "40001"
- name: SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR
value: "172.16.100.243:8848"
- name: SPRING_REDIS_HOST
value: "172.16.100.243"
- name: SPRING_REDIS_PORT
value: "6379"
- name: SPRING_REDIS_DATABASE
value: "0"
- name: SPRING_DATASOURCE_USERNAME
value: "a_A_5d9d78509"
- name: SPRING_DATASOURCE_PASSWORD
value: "@6dEfb3@"
- name: SPRING_DATASOURCE_URL
value: "jdbc:mysql://172.16.180.232:3306/a_A_5d9d78509?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true"
- name: SPRING_DATASOURCE_DRIVER-CLASS-NAME
value: "com.mysql.jdbc.Driver"
- name: SPRING_DATASOURCE_DEFAULTSCHEMA
value: "a_A_5d9d78509"
- name: NACOS
value: "172.16.100.243:8848"
- name: SPRING_CLOUD_NACOS_DISCOVERY_GROUP
value: "ibizdev"
volumeMounts: volumeMounts:
- name: data - name: data
mountPath: /app/file mountPath: /app/file
...@@ -42,9 +69,9 @@ spec: ...@@ -42,9 +69,9 @@ spec:
type: NodePort type: NodePort
ports: ports:
- name: http - name: http
port: 8081 port: 40001
targetPort: 8081 targetPort: 40001
nodePort: 8081 nodePort: 40001
protocol: TCP protocol: TCP
selector: selector:
app: ibzou-provider-api app: ibzou-provider-api
......
...@@ -3,9 +3,23 @@ services: ...@@ -3,9 +3,23 @@ services:
ibzou-provider-api: ibzou-provider-api:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzou-provider-api:latest image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzou-provider-api:latest
ports: ports:
- "8081:8081" - "40001:40001"
networks: networks:
- agent_network - agent_network
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
- SERVER_PORT=40001
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.100.243:8848
- SPRING_REDIS_HOST=172.16.100.243
- SPRING_REDIS_PORT=6379
- SPRING_REDIS_DATABASE=0
- SPRING_DATASOURCE_USERNAME=a_A_5d9d78509
- SPRING_DATASOURCE_PASSWORD=@6dEfb3@
- SPRING_DATASOURCE_URL=jdbc:mysql://172.16.180.232:3306/a_A_5d9d78509?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
- SPRING_DATASOURCE_DEFAULTSCHEMA=a_A_5d9d78509
- NACOS=172.16.100.243:8848
- SPRING_CLOUD_NACOS_DISCOVERY_GROUP=ibizdev
deploy: deploy:
resources: resources:
limits: limits:
......
...@@ -12,4 +12,3 @@ public interface SysDepartmentMapping extends MappingBase<SysDepartmentDTO, SysD ...@@ -12,4 +12,3 @@ public interface SysDepartmentMapping extends MappingBase<SysDepartmentDTO, SysD
} }
...@@ -12,4 +12,3 @@ public interface SysDeptMemberMapping extends MappingBase<SysDeptMemberDTO, SysD ...@@ -12,4 +12,3 @@ public interface SysDeptMemberMapping extends MappingBase<SysDeptMemberDTO, SysD
} }
...@@ -12,4 +12,3 @@ public interface SysEmployeeMapping extends MappingBase<SysEmployeeDTO, SysEmplo ...@@ -12,4 +12,3 @@ public interface SysEmployeeMapping extends MappingBase<SysEmployeeDTO, SysEmplo
} }
...@@ -12,4 +12,3 @@ public interface SysOrganizationMapping extends MappingBase<SysOrganizationDTO, ...@@ -12,4 +12,3 @@ public interface SysOrganizationMapping extends MappingBase<SysOrganizationDTO,
} }
...@@ -12,4 +12,3 @@ public interface SysPostMapping extends MappingBase<SysPostDTO, SysPost> { ...@@ -12,4 +12,3 @@ public interface SysPostMapping extends MappingBase<SysPostDTO, SysPost> {
} }
...@@ -12,4 +12,3 @@ public interface SysTeamMapping extends MappingBase<SysTeamDTO, SysTeam> { ...@@ -12,4 +12,3 @@ public interface SysTeamMapping extends MappingBase<SysTeamDTO, SysTeam> {
} }
...@@ -12,4 +12,3 @@ public interface SysTeamMemberMapping extends MappingBase<SysTeamMemberDTO, SysT ...@@ -12,4 +12,3 @@ public interface SysTeamMemberMapping extends MappingBase<SysTeamMemberDTO, SysT
} }
package cn.ibizlab.util.aspect; package cn.ibizlab.util.aspect;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import cn.ibizlab.util.domain.DELogic; import cn.ibizlab.util.domain.DELogic;
import cn.ibizlab.util.domain.EntityBase; import cn.ibizlab.util.domain.EntityBase;
import cn.ibizlab.util.errors.BadRequestAlertException; import cn.ibizlab.util.errors.BadRequestAlertException;
import cn.ibizlab.util.helper.DEFieldCacheMap; import cn.ibizlab.util.helper.DEFieldCacheMap;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Around;
...@@ -22,6 +20,8 @@ import org.kie.api.builder.Results; ...@@ -22,6 +20,8 @@ import org.kie.api.builder.Results;
import org.kie.api.runtime.KieContainer; import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession; import org.kie.api.runtime.KieSession;
import org.kie.internal.io.ResourceFactory; import org.kie.internal.io.ResourceFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.expression.EvaluationContext; import org.springframework.expression.EvaluationContext;
import org.springframework.expression.Expression; import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser; import org.springframework.expression.ExpressionParser;
...@@ -35,7 +35,6 @@ import org.springframework.util.StringUtils; ...@@ -35,7 +35,6 @@ import org.springframework.util.StringUtils;
import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamReader; import javax.xml.stream.XMLStreamReader;
import java.io.File; import java.io.File;
import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.lang.reflect.Method; import java.lang.reflect.Method;
...@@ -109,7 +108,7 @@ public class DELogicAspect { ...@@ -109,7 +108,7 @@ public class DELogicAspect {
* @param action * @param action
*/ */
private void executeBeforeLogic(EntityBase entity, String action) { private void executeBeforeLogic(EntityBase entity, String action) {
File bpmnFile = getLocalModel(entity.getClass().getSimpleName(), action, LogicExecMode.BEFORE); Resource bpmnFile = getLocalModel(entity.getClass().getSimpleName(), action, LogicExecMode.BEFORE);
if (bpmnFile != null && bpmnFile.exists() && isValid(bpmnFile, entity, action)) { if (bpmnFile != null && bpmnFile.exists() && isValid(bpmnFile, entity, action)) {
executeLogic(bpmnFile, entity, action); executeLogic(bpmnFile, entity, action);
} }
...@@ -122,7 +121,7 @@ public class DELogicAspect { ...@@ -122,7 +121,7 @@ public class DELogicAspect {
* @param action * @param action
*/ */
private void executeAfterLogic(EntityBase entity, String action) { private void executeAfterLogic(EntityBase entity, String action) {
File bpmnFile = getLocalModel(entity.getClass().getSimpleName(), action, LogicExecMode.AFTER); Resource bpmnFile = getLocalModel(entity.getClass().getSimpleName(), action, LogicExecMode.AFTER);
if (bpmnFile != null && bpmnFile.exists() && isValid(bpmnFile, entity, action)) { if (bpmnFile != null && bpmnFile.exists() && isValid(bpmnFile, entity, action)) {
executeLogic(bpmnFile, entity, action); executeLogic(bpmnFile, entity, action);
} }
...@@ -135,7 +134,7 @@ public class DELogicAspect { ...@@ -135,7 +134,7 @@ public class DELogicAspect {
* @param action * @param action
*/ */
private void executeLogic(EntityBase entity, String action) { private void executeLogic(EntityBase entity, String action) {
File bpmnFile = getLocalModel(entity.getClass().getSimpleName(), action, LogicExecMode.EXEC); Resource bpmnFile = getLocalModel(entity.getClass().getSimpleName(), action, LogicExecMode.EXEC);
if (bpmnFile != null && bpmnFile.exists() && isValid(bpmnFile, entity, action)) { if (bpmnFile != null && bpmnFile.exists() && isValid(bpmnFile, entity, action)) {
executeLogic(bpmnFile, entity, action); executeLogic(bpmnFile, entity, action);
} }
...@@ -147,9 +146,10 @@ public class DELogicAspect { ...@@ -147,9 +146,10 @@ public class DELogicAspect {
* @param bpmnFile * @param bpmnFile
* @param entity * @param entity
*/ */
private void executeLogic(File bpmnFile, Object entity, String action) { private void executeLogic(Resource bpmnFile, Object entity, String action) {
log.debug("开始执行实体处理逻辑[{}:{}:{}:本地模式]", entity.getClass().getSimpleName(), action, bpmnFile.getName()); try {
String bpmnId = DigestUtils.md5DigestAsHex(bpmnFile.getPath().getBytes()); log.debug("开始执行实体处理逻辑[{}:{}:{}:本地模式]", entity.getClass().getSimpleName(), action, bpmnFile.getFilename());
String bpmnId = DigestUtils.md5DigestAsHex(bpmnFile.getURL().getPath().getBytes());
DELogic logic = getDELogic(bpmnFile); DELogic logic = getDELogic(bpmnFile);
if (logic == null) { if (logic == null) {
return; return;
...@@ -172,7 +172,11 @@ public class DELogicAspect { ...@@ -172,7 +172,11 @@ public class DELogicAspect {
} }
} }
kieSession.startProcess(mainProcess.getId()); kieSession.startProcess(mainProcess.getId());
log.debug("实体处理逻辑[{}:{}:{}:本地模式]执行结束", entity.getClass().getSimpleName(), action, bpmnFile.getName()); log.debug("实体处理逻辑[{}:{}:{}:本地模式]执行结束", entity.getClass().getSimpleName(), action, bpmnFile.getFilename());
} catch (IOException e) {
log.error("实体处理逻辑[{}:{}:{}:本地模式]发生异常", entity.getClass().getSimpleName(), action, bpmnFile.getFilename());
throw new BadRequestAlertException("执行实体处理逻辑发生异常" + e.getMessage(), "DELogicAspect", "executeLogic");
}
} }
/** /**
...@@ -180,11 +184,11 @@ public class DELogicAspect { ...@@ -180,11 +184,11 @@ public class DELogicAspect {
* *
* @param logic * @param logic
*/ */
private void reloadLogic(DELogic logic) { private void reloadLogic(DELogic logic) throws IOException {
KieServices kieServices = KieServices.get(); KieServices kieServices = KieServices.get();
KieFileSystem kieFileSystem = kieServices.newKieFileSystem(); KieFileSystem kieFileSystem = kieServices.newKieFileSystem();
for (File bpmn : logic.getRefRuleFiles()) { for (Resource bpmn : logic.getRefRuleFiles()) {
kieFileSystem.write(ResourceFactory.newFileResource(bpmn)); kieFileSystem.write(ResourceFactory.newUrlResource(bpmn.getURL()));
} }
KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem).buildAll(); KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem).buildAll();
Results results = kieBuilder.getResults(); Results results = kieBuilder.getResults();
...@@ -239,28 +243,29 @@ public class DELogicAspect { ...@@ -239,28 +243,29 @@ public class DELogicAspect {
* @param bpmnFile * @param bpmnFile
* @return * @return
*/ */
@SneakyThrows private DELogic getDELogic(Resource bpmnFile) {
private DELogic getDELogic(File bpmnFile) {
DELogic logic = null; DELogic logic = null;
XMLStreamReader reader = null; XMLStreamReader reader = null;
InputStream bpmn = null; InputStream bpmn = null;
try { try {
if (bpmnFile.exists()) { if (bpmnFile.exists()) {
XMLInputFactory factory = XMLInputFactory.newInstance(); XMLInputFactory factory = XMLInputFactory.newInstance();
bpmn = new FileInputStream(bpmnFile); bpmn = bpmnFile.getInputStream();
reader = factory.createXMLStreamReader(bpmn); reader = factory.createXMLStreamReader(bpmn);
BpmnModel model = bpmnXMLConverter.convertToBpmnModel(reader); BpmnModel model = bpmnXMLConverter.convertToBpmnModel(reader);
Process mainProcess = model.getMainProcess(); Process mainProcess = model.getMainProcess();
if (mainProcess == null) { if (mainProcess == null) {
return null; return null;
} }
log.debug("正在加载 BPMN:{}", bpmnFile.getURL().getPath());
List<DELogic> refLogics = new ArrayList<>(); List<DELogic> refLogics = new ArrayList<>();
List<File> refFiles = new ArrayList<>(); List<Resource> refFiles = new ArrayList<>();
//自己 bpmn 及 drl //自己 bpmn 及 drl
refFiles.add(bpmnFile); refFiles.add(bpmnFile);
File drlFile = getDrl(bpmnFile); Resource drlFile = getDrl(bpmnFile);
if (drlFile != null && drlFile.exists()) { if (drlFile != null && drlFile.exists()) {
refFiles.add(drlFile); refFiles.add(drlFile);
log.debug("正在加载 DRL:{}", drlFile.getURL().getPath());
} }
//子 bpmn 及 drl //子 bpmn 及 drl
if (!ObjectUtils.isEmpty(model.getMainProcess()) && !ObjectUtils.isEmpty(model.getMainProcess().getFlowElementMap())) { if (!ObjectUtils.isEmpty(model.getMainProcess()) && !ObjectUtils.isEmpty(model.getMainProcess().getFlowElementMap())) {
...@@ -268,11 +273,7 @@ public class DELogicAspect { ...@@ -268,11 +273,7 @@ public class DELogicAspect {
if (item instanceof CallActivity) { if (item instanceof CallActivity) {
CallActivity subBpmn = (CallActivity) item; CallActivity subBpmn = (CallActivity) item;
String bpmnFileName = subBpmn.getName(); String bpmnFileName = subBpmn.getName();
log.debug("正在加载 BPMN:{}", bpmnFileName); Resource subBpmnFile = getSubBpmn(bpmnFileName);
File subBpmnFile = getSubBpmn(bpmnFileName);
if (ObjectUtils.isEmpty(subBpmnFile)) {
log.debug("BPMN:{},缺少文件:{} ", bpmnFileName, subBpmnFile);
}
DELogic refLogic = getDELogic(subBpmnFile); DELogic refLogic = getDELogic(subBpmnFile);
if (refLogic != null) { if (refLogic != null) {
refLogics.add(refLogic); refLogics.add(refLogic);
...@@ -292,7 +293,7 @@ public class DELogicAspect { ...@@ -292,7 +293,7 @@ public class DELogicAspect {
logic.setMd5(getMd5(refFiles)); logic.setMd5(getMd5(refFiles));
} }
} catch (Exception e) { } catch (Exception e) {
log.error("执行处理逻辑失败"+e); log.error("执行处理逻辑失败" + e);
} finally { } finally {
try { try {
if (reader != null) { if (reader != null) {
...@@ -302,7 +303,7 @@ public class DELogicAspect { ...@@ -302,7 +303,7 @@ public class DELogicAspect {
bpmn.close(); bpmn.close();
} }
} catch (Exception e) { } catch (Exception e) {
log.error("执行处理逻辑失败"+e); log.error("执行处理逻辑失败" + e);
} }
} }
return logic; return logic;
...@@ -327,10 +328,10 @@ public class DELogicAspect { ...@@ -327,10 +328,10 @@ public class DELogicAspect {
} }
} }
} }
if(!ObjectUtils.isEmpty(service.getSuperclass()) && !service.getSuperclass().getName().equals(Object.class.getName())) { if (!ObjectUtils.isEmpty(service.getSuperclass()) && !service.getSuperclass().getName().equals(Object.class.getName())) {
return getEntity(service.getSuperclass()); return getEntity(service.getSuperclass());
} }
log.error("获取实体信息失败,未能在[{}]中找到参数为实体类对象的行为,如create.update等",service.getSimpleName()); log.error("获取实体信息失败,未能在[{}]中找到参数为实体类对象的行为,如create.update等", service.getSimpleName());
return null; return null;
} }
...@@ -340,19 +341,19 @@ public class DELogicAspect { ...@@ -340,19 +341,19 @@ public class DELogicAspect {
* @param subFiles * @param subFiles
* @return * @return
*/ */
private String getMd5(List<File> subFiles) { private String getMd5(List<Resource> subFiles) {
try { try {
StringBuffer buffer = new StringBuffer(); StringBuffer buffer = new StringBuffer();
for (File file : subFiles) { for (Resource file : subFiles) {
InputStream bpmnFile = null; InputStream bpmnFile = null;
try { try {
bpmnFile = new FileInputStream(file); bpmnFile = file.getInputStream();
if (!ObjectUtils.isEmpty(bpmnFile)) { if (!ObjectUtils.isEmpty(bpmnFile)) {
String strBpmn = IOUtils.toString(bpmnFile, "UTF-8"); String strBpmn = IOUtils.toString(bpmnFile, "UTF-8");
buffer.append(strBpmn); buffer.append(strBpmn);
} }
} catch (Exception e) { } catch (Exception e) {
log.error("处理逻辑版本检查失败"+e); log.error("处理逻辑版本检查失败" + e);
} finally { } finally {
if (bpmnFile != null) { if (bpmnFile != null) {
bpmnFile.close(); bpmnFile.close();
...@@ -365,7 +366,7 @@ public class DELogicAspect { ...@@ -365,7 +366,7 @@ public class DELogicAspect {
return null; return null;
} }
} catch (Exception e) { } catch (Exception e) {
log.error("处理逻辑版本检查失败"+e); log.error("处理逻辑版本检查失败" + e);
return null; return null;
} }
} }
...@@ -378,10 +379,8 @@ public class DELogicAspect { ...@@ -378,10 +379,8 @@ public class DELogicAspect {
* @param logicExecMode * @param logicExecMode
* @return * @return
*/ */
private File getLocalModel(String entity, String action, LogicExecMode logicExecMode) { private Resource getLocalModel(String entity, String action, LogicExecMode logicExecMode) {
String logicName = String.format("%s.bpmn", logicExecMode.text); return new ClassPathResource("rules" + File.separator + entity + File.separator + action.toLowerCase() + File.separator + logicExecMode.text + ".bpmn");
String filePath = File.separator + "rules" + File.separator + entity + File.separator + action.toLowerCase() + File.separator + logicName;
return getBpmnFile(filePath);
} }
/** /**
...@@ -390,9 +389,8 @@ public class DELogicAspect { ...@@ -390,9 +389,8 @@ public class DELogicAspect {
* @param logicName * @param logicName
* @return * @return
*/ */
private File getSubBpmn(String logicName) { private Resource getSubBpmn(String logicName) {
String filePath = String.format("/rules/%s", logicName); return new ClassPathResource(String.format("rules/%s", logicName));
return getBpmnFile(filePath);
} }
/** /**
...@@ -401,41 +399,10 @@ public class DELogicAspect { ...@@ -401,41 +399,10 @@ public class DELogicAspect {
* @param bpmn * @param bpmn
* @return * @return
*/ */
private File getDrl(File bpmn) { private Resource getDrl(Resource bpmn) {
if (bpmn.getPath().endsWith("RuleFlow.bpmn")) { String filePath = ((ClassPathResource) bpmn).getPath();
return getBpmnFile(bpmn.getPath().replace("RuleFlow.bpmn", "Rule.drl")); filePath = filePath.endsWith("RuleFlow.bpmn") ? filePath.replace("RuleFlow.bpmn", "Rule.drl") : filePath.replace(".bpmn", ".drl");
} else { return new ClassPathResource(filePath);
return getBpmnFile(bpmn.getPath().replace(".bpmn", ".drl"));
}
}
/**
* 获取 bpmn
*
* @param filePath
* @return
*/
private File getBpmnFile(String filePath) {
InputStream in = null;
File bpmn = null;
try {
in = this.getClass().getResourceAsStream(filePath.replace("\\", "/"));
if (in != null) {
bpmn = new File(filePath);
FileUtils.copyToFile(in, bpmn);
}
} catch (IOException e) {
log.error("执行处理逻辑失败,无法获取逻辑文件"+e);
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return bpmn;
} }
/** /**
...@@ -446,8 +413,8 @@ public class DELogicAspect { ...@@ -446,8 +413,8 @@ public class DELogicAspect {
* @param action * @param action
* @return * @return
*/ */
private boolean isValid(File bpmn, Object entity, Object action) { private boolean isValid(Resource bpmn, Object entity, Object action) {
String logicId = String.format("%s%s%s", entity.getClass().getSimpleName(), action, bpmn.getName()).toLowerCase(); String logicId = String.format("%s%s%s", entity.getClass().getSimpleName(), action, bpmn.getFilename()).toLowerCase();
if (validLogic.containsKey(logicId)) { if (validLogic.containsKey(logicId)) {
return true; return true;
} else { } else {
......
...@@ -24,4 +24,5 @@ public interface IBZWFFeignClient ...@@ -24,4 +24,5 @@ public interface IBZWFFeignClient
JSONObject wfstart(@PathVariable("system") String system, @PathVariable("appname") String appname, JSONObject wfstart(@PathVariable("system") String system, @PathVariable("appname") String appname,
@PathVariable("entity") String entity, @PathVariable("entity") String entity,
@PathVariable("businessKey") String businessKey, @RequestBody JSONObject instance); @PathVariable("businessKey") String businessKey, @RequestBody JSONObject instance);
} }
...@@ -2,6 +2,7 @@ package cn.ibizlab.util.domain; ...@@ -2,6 +2,7 @@ package cn.ibizlab.util.domain;
import lombok.Data; import lombok.Data;
import org.flowable.bpmn.model.Process; import org.flowable.bpmn.model.Process;
import org.springframework.core.io.Resource;
import org.kie.api.runtime.KieContainer; import org.kie.api.runtime.KieContainer;
import java.io.File; import java.io.File;
import java.io.Serializable; import java.io.Serializable;
...@@ -14,6 +15,6 @@ public class DELogic implements Serializable { ...@@ -14,6 +15,6 @@ public class DELogic implements Serializable {
Process process; Process process;
KieContainer container; KieContainer container;
List<DELogic> refLogic; List<DELogic> refLogic;
List<File> refRuleFiles; List<Resource> refRuleFiles;
String md5; String md5;
} }
...@@ -67,6 +67,7 @@ public class SearchContextBase implements ISearchContext{ ...@@ -67,6 +67,7 @@ public class SearchContextBase implements ISearchContext{
* 工作流流程标识 * 工作流流程标识
*/ */
public String processDefinitionKey; public String processDefinitionKey;
/** /**
* 获取工作流步骤标识 * 获取工作流步骤标识
*/ */
......
...@@ -254,6 +254,7 @@ public class AuthenticationUser implements UserDetails ...@@ -254,6 +254,7 @@ public class AuthenticationUser implements UserDetails
if(this.sessionParams==null) if(this.sessionParams==null)
{ {
sessionParams = getUserSessionParam(); sessionParams = getUserSessionParam();
sessionParams.put("srfdynainstid",this.getSrfdynainstid());
sessionParams.put("srfpersonid", this.getUserid()); sessionParams.put("srfpersonid", this.getUserid());
sessionParams.put("srfpersonname", this.getPersonname()); sessionParams.put("srfpersonname", this.getPersonname());
sessionParams.put("srforgsectorid", this.getMdeptid()); sessionParams.put("srforgsectorid", this.getMdeptid());
......
...@@ -3,7 +3,6 @@ package cn.ibizlab.util.security; ...@@ -3,7 +3,6 @@ package cn.ibizlab.util.security;
import io.jsonwebtoken.ExpiredJwtException; import io.jsonwebtoken.ExpiredJwtException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import cn.ibizlab.util.service.AuthenticationUserService; import cn.ibizlab.util.service.AuthenticationUserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.context.SecurityContextHolder;
...@@ -22,6 +21,7 @@ import javax.servlet.http.HttpServletRequest; ...@@ -22,6 +21,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.*;
import org.springframework.util.StringUtils;
@Slf4j @Slf4j
@Component @Component
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册