Эх сурвалжийг харах

自定义流程远程调用接口

lianghanqiang 5 жил өмнө
parent
commit
baca4c59f5
23 өөрчлөгдсөн 122 нэмэгдсэн , 34 устгасан
  1. 3 4
      blade-auth/Dockerfile
  2. 8 0
      blade-auth/pom.xml
  3. 2 1
      blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java
  4. 1 0
      blade-auth/src/main/java/org/springblade/auth/utils/TokenUtil.java
  5. 2 2
      blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java
  6. 3 5
      blade-gateway/Dockerfile
  7. 7 0
      blade-ops-api/blade-flow-api/src/main/java/org/springblade/flow/core/constant/ProcessConstant.java
  8. 10 0
      blade-ops-api/blade-flow-api/src/main/java/org/springblade/flow/core/feign/IFlowClient.java
  9. 6 0
      blade-ops-api/blade-flow-api/src/main/java/org/springblade/flow/core/feign/IFlowClientFallback.java
  10. 1 0
      blade-ops-api/blade-flow-api/src/main/java/org/springblade/flow/core/utils/FlowUtil.java
  11. 1 1
      blade-ops/blade-flow-design/src/main/resources/application-dev.yml
  12. 1 1
      blade-ops/blade-flow/doc/nacos/blade-flow-dev.yaml
  13. 12 0
      blade-ops/blade-flow/src/main/java/org/springblade/flow/business/feign/FlowClient.java
  14. 3 3
      blade-ops/blade-flow/src/main/resources/application-dev.yml
  15. 1 0
      blade-service-api/pom.xml
  16. 3 6
      blade-service/blade-desk/Dockerfile
  17. 0 1
      blade-service/blade-desk/src/main/java/org/springblade/desk/service/impl/LeaveServiceImpl.java
  18. 3 4
      blade-service/blade-system/Dockerfile
  19. 1 0
      blade-service/blade-system/src/main/java/org/springblade/system/controller/RegionController.java
  20. 3 4
      blade-service/blade-user/Dockerfile
  21. 1 1
      blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java
  22. 49 0
      docker-compose.yaml
  23. 1 1
      script/docker/app/prometheus/config/prometheus.yml

+ 3 - 4
blade-auth/Dockerfile

@@ -1,6 +1,5 @@
-FROM adoptopenjdk/openjdk8-openj9:alpine-slim
+FROM openjdk:8
 
-MAINTAINER smallchill@163.com
 
 #验证码字体包
 RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
@@ -12,8 +11,8 @@ WORKDIR /blade/auth
 
 EXPOSE 8100
 
-ADD ./target/blade-auth.jar ./app.jar
+ADD ./auth/blade-auth.jar ./app.jar
 
 ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]
 
-CMD ["--spring.profiles.active=test"]
+CMD ["--spring.profiles.active=prod"]

+ 8 - 0
blade-auth/pom.xml

@@ -85,6 +85,14 @@
             <groupId>com.github.whvcse</groupId>
             <artifactId>easy-captcha</artifactId>
         </dependency>
+
+
+<!--        <dependency>-->
+<!--            <groupId>org.springblade</groupId>-->
+<!--            <artifactId>blade-service-api</artifactId>-->
+<!--            <version>2.7.2.RELEASE</version>-->
+<!--        </dependency>-->
+
         <!-- 链路追踪、服务监控 -->
         <!--<dependency>
             <groupId>org.springblade</groupId>

+ 2 - 1
blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java

@@ -92,8 +92,9 @@ public class BladeUserDetailsServiceImpl implements UserDetailsService {
 		if (result.isSuccess()) {
 			UserInfo userInfo = result.getData();
 			User user = userInfo.getUser();
+
 			if (user == null || user.getId() == null) {
-				throw new UsernameNotFoundException(TokenUtil.USER_NOT_FOUND);
+				throw new UsernameNotFoundException(TokenUtil.USER_HAS_NO_GRID);
 			}
 			if (Func.isEmpty(userInfo.getRoles())) {
 				throw new UserDeniedAuthorizationException(TokenUtil.USER_HAS_NO_ROLE);

+ 1 - 0
blade-auth/src/main/java/org/springblade/auth/utils/TokenUtil.java

@@ -66,6 +66,7 @@ public class TokenUtil {
 	public final static String USER_TYPE_HEADER_KEY = "User-Type";
 	public final static String DEFAULT_USER_TYPE = "web";
 	public final static String USER_NOT_FOUND = "用户名或密码错误";
+	public final static String USER_HAS_NO_GRID = "用户暂未绑定相关网格";
 	public final static String USER_HAS_NO_ROLE = "未获得用户的角色信息";
 	public final static String USER_HAS_NO_TENANT = "未获得用户的租户信息";
 	public final static String USER_HAS_NO_TENANT_PERMISSION = "租户授权已过期,请联系管理员";

+ 2 - 2
blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java

@@ -45,12 +45,12 @@ public interface LauncherConstant {
 	/**
 	 * nacos prod 地址
 	 */
-	String NACOS_PROD_ADDR = "172.30.0.48:8848";
+	String NACOS_PROD_ADDR = "192.168.0.76:8848";
 
 	/**
 	 * nacos test 地址
 	 */
-	String NACOS_TEST_ADDR = "172.30.0.48:8848";
+	String NACOS_TEST_ADDR = "192.168.0.76:8848";
 
 	/**
 	 * sentinel dev 地址

+ 3 - 5
blade-gateway/Dockerfile

@@ -1,6 +1,4 @@
-FROM adoptopenjdk/openjdk8-openj9:alpine-slim
-
-MAINTAINER smallchill@163.com
+FROM openjdk:8
 
 RUN mkdir -p /blade/gateway
 
@@ -8,8 +6,8 @@ WORKDIR /blade/gateway
 
 EXPOSE 80
 
-ADD ./target/blade-gateway.jar ./app.jar
+ADD ./blade-gateway.jar ./app.jar
 
 ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]
 
-CMD ["--spring.profiles.active=test"]
+CMD ["--spring.profiles.active=prop"]

+ 7 - 0
blade-ops-api/blade-flow-api/src/main/java/org/springblade/flow/core/constant/ProcessConstant.java

@@ -58,4 +58,11 @@ public interface ProcessConstant {
 	 */
 	String TASK_VARIABLE_CREATE_USER = "createUser";
 
+	/*================================业务分割线================================*/
+
+	/**
+	 * 	报事工单流程
+	 * */
+	String PUBLIC_EVENT = "publicEvent";
+
 }

+ 10 - 0
blade-ops-api/blade-flow-api/src/main/java/org/springblade/flow/core/feign/IFlowClient.java

@@ -44,6 +44,7 @@ public interface IFlowClient {
 	String COMPLETE_TASK = API_PREFIX + "/complete-task";
 	String TASK_VARIABLE = API_PREFIX + "/task-variable";
 	String TASK_VARIABLES = API_PREFIX + "/task-variables";
+	String FLOW_INSTANCE_SEND = API_PREFIX + "/flow-instance-send";
 
 	/**
 	 * 开启流程
@@ -97,4 +98,13 @@ public interface IFlowClient {
 	 */
 	@GetMapping(TASK_VARIABLES)
 	R<Map<String, Object>> taskVariables(@RequestParam("taskId") String taskId);
+
+	/**
+	 * 获取已发起流程实例
+	 *
+	 * @param processDefinitionId 流程定义ID
+	 * @return R
+	 */
+	@GetMapping(FLOW_INSTANCE_SEND)
+	R<BladeFlow> flowInstanceSend(@RequestParam("processDefinitionId") String processDefinitionId);
 }

+ 6 - 0
blade-ops-api/blade-flow-api/src/main/java/org/springblade/flow/core/feign/IFlowClientFallback.java

@@ -55,4 +55,10 @@ public class IFlowClientFallback implements IFlowClient {
 		return R.fail("远程调用失败");
 	}
 
+	@Override
+	public R<BladeFlow> flowInstanceSend(String processDefinitionId) {
+		return R.fail("远程调用失败");
+	}
+
+
 }

+ 1 - 0
blade-ops-api/blade-flow-api/src/main/java/org/springblade/flow/core/utils/FlowUtil.java

@@ -37,6 +37,7 @@ public class FlowUtil {
 
 	static {
 		BUSINESS_TABLE.put(ProcessConstant.LEAVE_KEY, "blade_process_leave");
+		BUSINESS_TABLE.put(ProcessConstant.PUBLIC_EVENT, "cy_public_event");
 	}
 
 	/**

+ 1 - 1
blade-ops/blade-flow-design/src/main/resources/application-dev.yml

@@ -2,7 +2,7 @@
 spring:
   datasource:
     # MySql
-    url: jdbc:mysql://localhost:3306/blade?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+    url: jdbc:mysql://localhost:3306/blade_flow?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
     username: root
     password: 123456
     # PostgreSQL

+ 1 - 1
blade-ops/blade-flow/doc/nacos/blade-flow-dev.yaml

@@ -17,7 +17,7 @@ blade:
     flow:
       dev:
         # MySql
-        url: jdbc:mysql://localhost:3306/bladex_flow?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+        url: jdbc:mysql://localhost:3306/blade_flow?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
         username: root
         password: root
         # PostgreSQL

+ 12 - 0
blade-ops/blade-flow/src/main/java/org/springblade/flow/business/feign/FlowClient.java

@@ -16,16 +16,19 @@
  */
 package org.springblade.flow.business.feign;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.AllArgsConstructor;
 import org.flowable.engine.IdentityService;
 import org.flowable.engine.RuntimeService;
 import org.flowable.engine.TaskService;
 import org.flowable.engine.runtime.ProcessInstance;
+import org.flowable.task.api.Task;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
+import org.springblade.flow.business.service.FlowBusinessService;
 import org.springblade.flow.core.entity.BladeFlow;
 import org.springblade.flow.core.feign.IFlowClient;
 import org.springblade.flow.core.utils.TaskUtil;
@@ -34,6 +37,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -49,6 +53,7 @@ public class FlowClient implements IFlowClient {
 	private final RuntimeService runtimeService;
 	private final IdentityService identityService;
 	private final TaskService taskService;
+	private final FlowBusinessService flowBusinessService;
 
 	@Override
 	@PostMapping(START_PROCESS_INSTANCE_BY_ID)
@@ -104,4 +109,11 @@ public class FlowClient implements IFlowClient {
 		return R.data(taskService.getVariables(taskId));
 	}
 
+	@Override
+	@GetMapping(FLOW_INSTANCE_SEND)
+	public R<BladeFlow> flowInstanceSend(String processDefinitionId) {
+		return null;
+	}
+
+
 }

+ 3 - 3
blade-ops/blade-flow/src/main/resources/application-dev.yml

@@ -1,6 +1,6 @@
 #数据源配置
 spring:
   datasource:
-    url: ${blade.datasource.dev.url}
-    username: ${blade.datasource.dev.username}
-    password: ${blade.datasource.dev.password}
+    url: ${blade.datasource.flow.url}
+    username: ${blade.datasource.flow.username}
+    password: ${blade.datasource.flow.password}

+ 1 - 0
blade-service-api/pom.xml

@@ -55,6 +55,7 @@
             <artifactId>blade-core-auto</artifactId>
             <scope>provided</scope>
         </dependency>
+
     </dependencies>
 
     <build>

+ 3 - 6
blade-service/blade-desk/Dockerfile

@@ -1,15 +1,12 @@
-FROM adoptopenjdk/openjdk8-openj9:alpine-slim
-
-MAINTAINER smallchill@163.com
-
+FROM openjdk:8
 RUN mkdir -p /blade/desk
 
 WORKDIR /blade/desk
 
 EXPOSE 8105
 
-ADD ./target/blade-desk.jar ./app.jar
+ADD ./desk/blade-desk.jar ./app.jar
 
 ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]
 
-CMD ["--spring.profiles.active=test"]
+CMD ["--spring.profiles.active=prop"]

+ 0 - 1
blade-service/blade-desk/src/main/java/org/springblade/desk/service/impl/LeaveServiceImpl.java

@@ -72,7 +72,6 @@ public class LeaveServiceImpl extends BaseServiceImpl<LeaveMapper, ProcessLeave>
 				throw new ServiceException("开启流程失败");
 			}
 		} else {
-
 			updateById(leave);
 		}
 		return true;

+ 3 - 4
blade-service/blade-system/Dockerfile

@@ -1,6 +1,5 @@
-FROM adoptopenjdk/openjdk8-openj9:alpine-slim
+FROM openjdk:8
 
-MAINTAINER smallchill@163.com
 
 RUN mkdir -p /blade/system
 
@@ -8,8 +7,8 @@ WORKDIR /blade/system
 
 EXPOSE 8106
 
-ADD ./target/blade-system.jar ./app.jar
+ADD ./system/blade-system.jar ./app.jar
 
 ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]
 
-CMD ["--spring.profiles.active=test"]
+CMD ["--spring.profiles.active=prop"]

+ 1 - 0
blade-service/blade-system/src/main/java/org/springblade/system/controller/RegionController.java

@@ -182,6 +182,7 @@ public class RegionController extends BladeController {
 	@ApiOperationSupport(order = 11)
 	@ApiOperation(value = "导出行政区划", notes = "传入user")
 	public void exportRegion(@ApiIgnore @RequestParam Map<String, Object> region, HttpServletResponse response) {
+		region.put("regionLevel",1);
 		QueryWrapper<Region> queryWrapper = Condition.getQueryWrapper(region, Region.class);
 		List<RegionExcel> list = regionService.exportRegion(queryWrapper);
 		ExcelUtil.export(response, "行政区划数据" + DateUtil.time(), "行政区划数据表", list, RegionExcel.class);

+ 3 - 4
blade-service/blade-user/Dockerfile

@@ -1,6 +1,5 @@
-FROM adoptopenjdk/openjdk8-openj9:alpine-slim
+FROM openjdk:8
 
-MAINTAINER smallchill@163.com
 
 RUN mkdir -p /blade/user
 
@@ -8,8 +7,8 @@ WORKDIR /blade/user
 
 EXPOSE 8102
 
-ADD ./target/blade-user.jar ./app.jar
+ADD ./user/blade-user.jar ./app.jar
 
 ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]
 
-CMD ["--spring.profiles.active=test"]
+CMD ["--spring.profiles.active=prop"]

+ 1 - 1
blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java

@@ -119,7 +119,7 @@ public class UserController {
 	})
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "列表", notes = "传入account和realName")
-	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
+//	@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
 	public R<IPage<UserVO>> page(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) {
 		IPage<User> pages = userService.selectUserPage(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId()));
 		return R.data(UserWrapper.build().pageVO(pages));

+ 49 - 0
docker-compose.yaml

@@ -0,0 +1,49 @@
+version: '3'
+networks:
+    default:
+        external:
+            name: grid-sys
+services:
+    gateway:
+        restart: always
+        ports:
+            - "6580:80"
+        build:
+            context: ./gateway
+            dockerfile: ./Dockerfile
+    auth:
+        restart: always
+        ports:
+            - "8100:8100"
+        build:
+            context: ./auth
+            dockerfile: ./Dockerfile
+    desk:
+        restart: always
+        ports:
+            - "8105:8105"
+        build:
+            context: ./desk
+            dockerfile: ./Dockerfile
+    system:
+        restart: always
+        ports:
+            - "8106:8106"
+        build:
+            context: ./system
+            dockerfile: ./Dockerfile
+    user:
+        restart: always
+        ports:
+            - "8102:8102"
+        build:
+            context: ./user
+            dockerfile: ./Dockerfile
+    grid:
+        restart: always
+        ports:
+            - "9525:9525"
+        build:
+            context: ./grid
+            dockerfile: ./Dockerfile
+

+ 1 - 1
script/docker/app/prometheus/config/prometheus.yml

@@ -41,7 +41,7 @@ scrape_configs:
   - job_name: "nacos"
     metrics_path: '/nacos/actuator/prometheus'
     static_configs:
-      - targets: ['172.30.0.48:8848'] #填写nacos服务ip:端口
+      - targets: ['MyCodeGenerator:8848'] #填写nacos服务ip:端口
   # 监控 bladex
   - job_name: "bladex"
     metrics_path: "/actuator/prometheus"