Explorar el Código

Merge remote-tracking branch 'origin/dev/1.0.0-evosynth' into dev/1.0.0-evosynth

liuc hace 3 meses
padre
commit
5320408602

+ 40 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/controller/BlinkCustomizeProcessController.java

@@ -0,0 +1,40 @@
+package com.wx.blink.backend.controller;
+
+import com.cloud.sa.flow.commom.aspect.EventProgram;
+import com.cloud.sa.flow.commom.domain.virentity.StInstanceEvent;
+import com.wx.blink.backend.service.IBlinkCustomizeProcessService;
+import com.wx.blink.base.common.annoation.NoNeedLogin;
+import com.wx.blink.base.common.domain.ResponseDTO;
+import com.wx.blink.base.common.util.BlinkRequestUtil;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * @author gufj
+ * @date 2025/07/2
+ */
+@RestController
+@Tag(name = "流程数据统一接口")
+public class BlinkCustomizeProcessController {
+
+    @Resource
+    private IBlinkCustomizeProcessService processService;
+
+    @PostMapping("/supports/common/process/handle")
+    public ResponseDTO<String> supportCommonProcessHandle(@RequestBody StInstanceEvent event) {
+        System.out.println("--------------------" + BlinkRequestUtil.getRequestUserCode());
+        return processService.supportCommonProcessHandle(event);
+    }
+    //------------------------------借款申请流程----------------------------------------
+
+    @GetMapping("/supports/process/loan/apply/handle")
+    public ResponseDTO<String> supportProcessLoanApplyHandle(String loginName) {
+        String userCode = BlinkRequestUtil.getRequestUserCode();
+        return processService.supportProcessLoanApplyHandle(loginName);
+    }
+}

+ 58 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/factory/CustomizeProcessFactory.java

@@ -0,0 +1,58 @@
+package com.wx.blink.backend.factory;
+
+import com.wx.blink.backend.handler.*;
+import com.wx.blink.base.common.code.SystemErrorCode;
+import com.wx.blink.base.common.domain.ResponseDTO;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class CustomizeProcessFactory {
+    /**
+     * 状态
+     * 0:保存未提交
+     * 1:驳回到发起人
+     * 2:运行中
+     * 3:流程异常
+     * 4:完成
+     * 5:取消
+     */
+    private static final Map<Integer, Map<String, CustomizeProcessEventHandler>> processorMap = new HashMap<>();
+
+    static {
+        processorMap.put(0, new HashMap<String, CustomizeProcessEventHandler>() {{
+            //put("PROVIDER_REGISTER", new ProviderRegisterProcessEventHandler());
+        }});
+
+        processorMap.put(1, new HashMap<String, CustomizeProcessEventHandler>() {{
+        }});
+
+        processorMap.put(2, new HashMap<String, CustomizeProcessEventHandler>() {{
+            put("PROVIDER_REGISTER", new ProviderRegisterProcessEventHandler());
+        }});
+
+        processorMap.put(3, new HashMap<String, CustomizeProcessEventHandler>() {{
+        }});
+
+        processorMap.put(4, new HashMap<String, CustomizeProcessEventHandler>() {{
+            //费用报销流程
+            put("EXPENSE_STATEMENT", new ExpenseStatementProcessEventHandler());
+            //借款申请流程
+            put("LOAN_APPLY", new LoanApplyProcessEventHandler());
+        }});
+
+        processorMap.put(5, new HashMap<String, CustomizeProcessEventHandler>() {{
+        }});
+    }
+
+    public static ResponseDTO<CustomizeProcessEventHandler> getProcessor(int state, String flowCode) {
+        Map<String, CustomizeProcessEventHandler> processors = processorMap.get(state);
+        if (processors != null) {
+            CustomizeProcessEventHandler processor = processors.get(flowCode);
+            if (processor != null) {
+                return ResponseDTO.ok(processor);
+            }
+        }
+        return ResponseDTO.error(SystemErrorCode.SYSTEM_ERROR, "No processor found for state: " + state + " and flowCode: " + flowCode);
+    }
+}

+ 9 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/handler/CustomizeProcessEventHandler.java

@@ -0,0 +1,9 @@
+package com.wx.blink.backend.handler;
+
+import com.cloud.sa.flow.commom.domain.virentity.StInstanceEvent;
+import com.wx.blink.base.common.domain.ResponseDTO;
+
+public interface CustomizeProcessEventHandler {
+
+    ResponseDTO<String> process(StInstanceEvent event);
+}

+ 15 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/handler/ExpenseStatementProcessEventHandler.java

@@ -0,0 +1,15 @@
+package com.wx.blink.backend.handler;
+
+import com.cloud.sa.flow.commom.domain.virentity.StInstanceEvent;
+import com.wx.blink.base.common.domain.ResponseDTO;
+
+/**
+ * 费用报销申请流程事件-业务动作
+ */
+public class ExpenseStatementProcessEventHandler implements CustomizeProcessEventHandler {
+    @Override
+    public ResponseDTO<String> process(StInstanceEvent event) {
+
+        return null;
+    }
+}

+ 18 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/handler/LoanApplyProcessEventHandler.java

@@ -0,0 +1,18 @@
+package com.wx.blink.backend.handler;
+
+import com.cloud.sa.flow.commom.domain.virentity.StInstanceEvent;
+import com.wx.blink.base.common.domain.ResponseDTO;
+
+/**
+ * 借款申请流程事件-业务动作
+ */
+public class LoanApplyProcessEventHandler implements CustomizeProcessEventHandler {
+    @Override
+    public ResponseDTO<String> process(StInstanceEvent event) {
+        //流程办结时触发
+        if (event.getState() == 4) {
+
+        }
+        return null;
+    }
+}

+ 15 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/handler/ProviderRegisterProcessEventHandler.java

@@ -0,0 +1,15 @@
+package com.wx.blink.backend.handler;
+
+import com.cloud.sa.flow.commom.domain.virentity.StInstanceEvent;
+import com.wx.blink.base.common.domain.ResponseDTO;
+
+/**
+ * 服务商登记发起进行中事件-业务动作
+ */
+public class ProviderRegisterProcessEventHandler implements CustomizeProcessEventHandler {
+    @Override
+    public ResponseDTO<String> process(StInstanceEvent event) {
+
+        return null;
+    }
+}

+ 39 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/manager/BlinkCustomizeProcessServiceImpl.java

@@ -0,0 +1,39 @@
+package com.wx.blink.backend.manager;
+
+import com.alibaba.fastjson.JSONObject;
+import com.cloud.sa.flow.commom.domain.virentity.StInstanceEvent;
+import com.wx.blink.backend.factory.CustomizeProcessFactory;
+import com.wx.blink.backend.handler.CustomizeProcessEventHandler;
+import com.wx.blink.backend.service.IBlinkCustomizeProcessService;
+import com.wx.blink.base.common.code.SystemErrorCode;
+import com.wx.blink.base.common.domain.ResponseDTO;
+import org.springframework.stereotype.Service;
+
+@Service
+public class BlinkCustomizeProcessServiceImpl implements IBlinkCustomizeProcessService {
+
+
+    @Override
+    public ResponseDTO<String> supportCommonProcessHandle(StInstanceEvent event) {
+        if (event != null) {
+            ResponseDTO<CustomizeProcessEventHandler> processorResponse =
+                    CustomizeProcessFactory.getProcessor(event.getState(), event.getFlowCode());
+            if (processorResponse.getOk()) {
+                CustomizeProcessEventHandler processor = processorResponse.getData();
+                processor.process(event);
+                return ResponseDTO.ok("Event processed successfully");
+            } else {
+                return ResponseDTO.error(SystemErrorCode.SYSTEM_ERROR, "No processor found for state: " + event.getState() + " and flowCode: " + event.getFlowCode());
+            }
+        }
+        return ResponseDTO.error(SystemErrorCode.SYSTEM_ERROR, "No event data");
+    }
+
+    @Override
+    public ResponseDTO<String> supportProcessLoanApplyHandle(String loginName) {
+        JSONObject obj = new JSONObject();
+        obj.put("lj", "123");
+        obj.put("zs", "231");
+        return ResponseDTO.ok(obj.toJSONString());
+    }
+}

+ 25 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/service/IBlinkCustomizeProcessService.java

@@ -0,0 +1,25 @@
+package com.wx.blink.backend.service;
+
+import com.cloud.sa.flow.commom.domain.virentity.StInstanceEvent;
+import com.wx.blink.base.common.domain.ResponseDTO;
+
+public interface IBlinkCustomizeProcessService {
+
+
+    /**
+     * 承接流程运行过程中的业务动作处理完毕后返回json结构,方便流程端进行解析
+     *
+     * @param event
+     * @return
+     */
+    ResponseDTO<String> supportCommonProcessHandle(StInstanceEvent event);
+
+
+    /**
+     * 获取该借款人累计借款金额
+     *
+     * @param loginName
+     * @return
+     */
+    ResponseDTO<String> supportProcessLoanApplyHandle(String loginName);
+}

+ 1 - 1
bound-link-api/blink-start/src/main/resources/dev/application.yaml

@@ -5,7 +5,7 @@ project:
 
 # 项目端口和url根路径
 server:
-  port: 2024
+  port: 9000
   servlet:
     context-path: /
 

+ 0 - 2
bound-link-api/sa-flow-api/src/main/java/com/cloud/sa/api/AppEngineController.java

@@ -77,8 +77,6 @@ public class AppEngineController {
         }
     }
 
-    @NoNeedLogin
-    @EventProgram
     @PostMapping("/instance/autosubmit")
     public StResult autoSubmitInstance(@Validated @RequestBody FlowEnteredParam flowEnteredParam) {
         StTaskitem taskitem = null;

+ 3 - 2
bound-link-api/sa-flow-common/src/main/java/com/cloud/sa/flow/commom/common/Request/StHttpRequest.java

@@ -1,5 +1,6 @@
 package com.cloud.sa.flow.commom.common.Request;
 
+import cn.dev33.satoken.stp.StpUtil;
 import org.apache.http.HttpEntity;
 import org.apache.http.client.methods.CloseableHttpResponse;
 import org.apache.http.client.methods.HttpGet;
@@ -27,7 +28,7 @@ public class StHttpRequest {
             entity.setContentType("application/json"); // 设置请求的内容类型
             httpPost.setEntity(entity);
             // 添加请求头
-            httpPost.addHeader("eventId", "3988bfd0-67f0-11ef-9ea9-71058a057db9"); // 添加eventId请求头
+            httpPost.addHeader("X-Access-Token", StpUtil.getTokenValue()); // 添加eventId请求头
             // 执行请求并获取响应
             CloseableHttpResponse response = httpClient.execute(httpPost);
             try {
@@ -51,7 +52,7 @@ public class StHttpRequest {
         try {
             HttpGet httpGet = new HttpGet(uri); // 替换为你的目标URL
             // 添加请求头
-            httpGet.addHeader("eventId", "3988bfd0-67f0-11ef-9ea9-71058a057db9"); // 添加eventId请求头
+            httpGet.addHeader("X-Access-Token", StpUtil.getTokenValue()); // 添加eventId请求头
             // 执行请求并获取响应
             CloseableHttpResponse response = httpClient.execute(httpGet);
             try {