Browse Source

fix: 调过不走回调修改

JieZ 2 years ago
parent
commit
a8d8b7d76a

+ 6 - 1
bpm-core/src/main/java/com/srm/bpm/logic/listener/ProcessBillListener.java

@@ -5,6 +5,8 @@ package com.srm.bpm.logic.listener;
5
 import com.google.common.base.MoreObjects;
5
 import com.google.common.base.MoreObjects;
6
 import com.google.common.primitives.Longs;
6
 import com.google.common.primitives.Longs;
7
 
7
 
8
+import com.srm.bpm.infra.entity.ToaBillEntity;
9
+import com.srm.bpm.infra.service.ToaBillService;
8
 import com.srm.bpm.logic.service.BillLogic;
10
 import com.srm.bpm.logic.service.BillLogic;
9
 import com.srm.config.SpringContextHolder;
11
 import com.srm.config.SpringContextHolder;
10
 
12
 
@@ -42,9 +44,12 @@ public class ProcessBillListener implements ExecutionListener {
42
             // 更新审批单为结束
44
             // 更新审批单为结束
43
             if (StringUtils.isNotEmpty(businessKey)) {
45
             if (StringUtils.isNotEmpty(businessKey)) {
44
                 long billId = MoreObjects.firstNonNull(Longs.tryParse(businessKey), 0L);
46
                 long billId = MoreObjects.firstNonNull(Longs.tryParse(businessKey), 0L);
47
+                log.debug("ProcessBillListener流程结束回调:{}",billId);
45
                 if (billId > 0) {
48
                 if (billId > 0) {
46
                     final BillLogic billService = SpringContextHolder.getBean(BillLogic.class);
49
                     final BillLogic billService = SpringContextHolder.getBean(BillLogic.class);
47
-                    billService.complete(billId, action);
50
+                    final ToaBillService toaBillService = SpringContextHolder.getBean(ToaBillService.class);
51
+                    final ToaBillEntity byId = toaBillService.getById(billId);
52
+                    billService.complete(byId, action);
48
                 }
53
                 }
49
             }
54
             }
50
         }
55
         }

+ 2 - 1
bpm-core/src/main/java/com/srm/bpm/logic/service/BillLogic.java

@@ -3,6 +3,7 @@
3
 package com.srm.bpm.logic.service;
3
 package com.srm.bpm.logic.service;
4
 
4
 
5
 import com.srm.bpm.infra.entity.BillTaskEntity;
5
 import com.srm.bpm.infra.entity.BillTaskEntity;
6
+import com.srm.bpm.infra.entity.ToaBillEntity;
6
 import com.srm.bpm.infra.po.ProcessDetailPO;
7
 import com.srm.bpm.infra.po.ProcessDetailPO;
7
 import com.srm.bpm.logic.context.BillDataContext;
8
 import com.srm.bpm.logic.context.BillDataContext;
8
 import com.srm.bpm.logic.dto.BillActionParamDTO;
9
 import com.srm.bpm.logic.dto.BillActionParamDTO;
@@ -166,7 +167,7 @@ public interface BillLogic {
166
      *
167
      *
167
      * @param billId 审批单ID
168
      * @param billId 审批单ID
168
      */
169
      */
169
-    void complete(long billId,String action);
170
+    void complete(ToaBillEntity byId,String action);
170
 
171
 
171
     /**
172
     /**
172
      * 获取某个审批单的审批历史记录
173
      * 获取某个审批单的审批历史记录

+ 9 - 11
bpm-core/src/main/java/com/srm/bpm/logic/service/impl/BillLogicImpl.java

@@ -894,34 +894,32 @@ public class BillLogicImpl implements BillLogic {
894
     /**
894
     /**
895
      * 结束并设置完成审批单
895
      * 结束并设置完成审批单
896
      *
896
      *
897
-     * @param billId 审批单ID
897
+     * @param bill 审批单ID
898
      */
898
      */
899
     @Override
899
     @Override
900
-    @Transactional(rollbackFor = Exception.class)
901
-    public void complete(long billId, String action) {
902
-        ToaBillEntity bill = new ToaBillEntity();
900
+    //    @Transactional(rollbackFor = Exception.class)
901
+    public void complete(ToaBillEntity bill, String action) {
903
         final int dateline = DateTimeUtil.unixTime();
902
         final int dateline = DateTimeUtil.unixTime();
904
-        bill.setId(billId);
905
         bill.setCompletionTime(dateline);
903
         bill.setCompletionTime(dateline);
906
         bill.setStatus(BillStatus.COMPLETE.getStatus());
904
         bill.setStatus(BillStatus.COMPLETE.getStatus());
907
         bill.setArchivedTime(dateline);
905
         bill.setArchivedTime(dateline);
908
         TimerTask businessTask = new TimerTask() {
906
         TimerTask businessTask = new TimerTask() {
909
             @Override
907
             @Override
910
             public void run() {
908
             public void run() {
911
-                final ToaBillEntity byId = billService.getById(billId);
912
                 billService.upldate(bill);
909
                 billService.upldate(bill);
910
+                log.info("查询到的审批单数据:{}", bill);
913
                 if (action.equals(BillAction.refuse.name())) {
911
                 if (action.equals(BillAction.refuse.name())) {
914
-                    callBackLogic.callBack(byId.getProcessId(), billId,
912
+                    callBackLogic.callBack(bill.getProcessId(), bill.getId(),
915
                             BillTaskStatus.REFUSE.getStatus());
913
                             BillTaskStatus.REFUSE.getStatus());
916
                 } else {
914
                 } else {
917
                     BillTaskEntity a = new BillTaskEntity();
915
                     BillTaskEntity a = new BillTaskEntity();
918
-                    a.setBillId(byId.getId());
919
-                    a.setUserCode(byId.getSender());
916
+                    a.setBillId(bill.getId());
917
+                    a.setUserCode(bill.getSender());
920
                     a.setNodeStatus(BillTaskStatus.COMPLATE.getStatus());
918
                     a.setNodeStatus(BillTaskStatus.COMPLATE.getStatus());
921
-                    a.setNodeName(byId.getTitle());
919
+                    a.setNodeName(bill.getTitle());
922
                     a.setOpinion("通过");
920
                     a.setOpinion("通过");
923
                     flowMsgLogic.sendMsg(Lists.newArrayList(a));
921
                     flowMsgLogic.sendMsg(Lists.newArrayList(a));
924
-                    callBackLogic.callBack(byId.getProcessId(), billId,
922
+                    callBackLogic.callBack(bill.getProcessId(), bill.getId(),
925
                             BillStatus.COMPLETE.getStatus());
923
                             BillStatus.COMPLETE.getStatus());
926
                 }
924
                 }
927
             }
925
             }

+ 11 - 8
bpm-core/src/main/java/com/srm/bpm/logic/service/impl/FlowMsgLogicImpl.java

@@ -1,16 +1,10 @@
1
 
1
 
2
 package com.srm.bpm.logic.service.impl;
2
 package com.srm.bpm.logic.service.impl;
3
 
3
 
4
-import java.util.List;
5
-import java.util.Optional;
6
-import java.util.Set;
7
-
8
-import org.jetbrains.annotations.NotNull;
9
-import org.springframework.stereotype.Service;
10
-
11
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
12
 import com.google.common.collect.Lists;
4
 import com.google.common.collect.Lists;
13
 import com.google.common.collect.Sets;
5
 import com.google.common.collect.Sets;
6
+
7
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
14
 import com.srm.bpm.infra.entity.BillTaskEntity;
8
 import com.srm.bpm.infra.entity.BillTaskEntity;
15
 import com.srm.bpm.infra.entity.ProcessNodeExtendEntity;
9
 import com.srm.bpm.infra.entity.ProcessNodeExtendEntity;
16
 import com.srm.bpm.infra.entity.ToaBillEntity;
10
 import com.srm.bpm.infra.entity.ToaBillEntity;
@@ -23,6 +17,14 @@ import com.srm.bpm.logic.dto.FlowMsgDTO;
23
 import com.srm.bpm.logic.service.FlowMsgLogic;
17
 import com.srm.bpm.logic.service.FlowMsgLogic;
24
 import com.srm.bpm.logic.service.PushMsgLogic;
18
 import com.srm.bpm.logic.service.PushMsgLogic;
25
 
19
 
20
+import org.jetbrains.annotations.NotNull;
21
+import org.springframework.scheduling.annotation.Async;
22
+import org.springframework.stereotype.Service;
23
+
24
+import java.util.List;
25
+import java.util.Optional;
26
+import java.util.Set;
27
+
26
 import cn.hutool.core.collection.CollectionUtil;
28
 import cn.hutool.core.collection.CollectionUtil;
27
 import lombok.RequiredArgsConstructor;
29
 import lombok.RequiredArgsConstructor;
28
 import lombok.extern.slf4j.Slf4j;
30
 import lombok.extern.slf4j.Slf4j;
@@ -43,6 +45,7 @@ public class FlowMsgLogicImpl implements FlowMsgLogic {
43
 	private final ProcessNodeExtendService nodeExtendService;
45
 	private final ProcessNodeExtendService nodeExtendService;
44
 
46
 
45
 	@Override
47
 	@Override
48
+	@Async
46
 	public void sendMsg(List<BillTaskEntity> billTaskEntities) {
49
 	public void sendMsg(List<BillTaskEntity> billTaskEntities) {
47
 		if (CollectionUtil.isNotEmpty(billTaskEntities)) {
50
 		if (CollectionUtil.isNotEmpty(billTaskEntities)) {
48
 			final BillTaskEntity billTaskEntity = billTaskEntities.get(0);
51
 			final BillTaskEntity billTaskEntity = billTaskEntities.get(0);

+ 9 - 10
bpm-core/src/main/java/com/srm/bpm/logic/service/impl/PushMsgLogicImpl.java

@@ -12,14 +12,6 @@
12
 
12
 
13
 package com.srm.bpm.logic.service.impl;
13
 package com.srm.bpm.logic.service.impl;
14
 
14
 
15
-import java.util.Collections;
16
-import java.util.List;
17
-import java.util.stream.Collectors;
18
-
19
-import org.springframework.http.ResponseEntity;
20
-import org.springframework.stereotype.Service;
21
-import org.springframework.util.CollectionUtils;
22
-
23
 import com.alibaba.fastjson.JSON;
15
 import com.alibaba.fastjson.JSON;
24
 import com.alibaba.fastjson.JSONObject;
16
 import com.alibaba.fastjson.JSONObject;
25
 import com.srm.bpm.facde.RestTemplateUtil;
17
 import com.srm.bpm.facde.RestTemplateUtil;
@@ -28,6 +20,13 @@ import com.srm.bpm.logic.service.PushMsgLogic;
28
 import com.srm.common.data.rest.R;
20
 import com.srm.common.data.rest.R;
29
 import com.srm.config.BpmConfig;
21
 import com.srm.config.BpmConfig;
30
 
22
 
23
+import org.springframework.http.ResponseEntity;
24
+import org.springframework.stereotype.Service;
25
+import org.springframework.util.CollectionUtils;
26
+
27
+import java.util.List;
28
+import java.util.stream.Collectors;
29
+
31
 import lombok.RequiredArgsConstructor;
30
 import lombok.RequiredArgsConstructor;
32
 import lombok.extern.slf4j.Slf4j;
31
 import lombok.extern.slf4j.Slf4j;
33
 
32
 
@@ -44,9 +43,9 @@ public class PushMsgLogicImpl implements PushMsgLogic {
44
 		if(!CollectionUtils.isEmpty(allMsg)) {
43
 		if(!CollectionUtils.isEmpty(allMsg)) {
45
 			JSONObject data = new JSONObject();
44
 			JSONObject data = new JSONObject();
46
 			data.put("msg", JSON.toJSON(allMsg));
45
 			data.put("msg", JSON.toJSON(allMsg));
47
-			log.info("回调返回的数据:{}", allMsg);
46
+			log.info("消息推送的数据:{}", allMsg);
48
 			final ResponseEntity<R> post = restTemplateUtil.post(bpmConfig.getPushmsgUrl(), data, "1");
47
 			final ResponseEntity<R> post = restTemplateUtil.post(bpmConfig.getPushmsgUrl(), data, "1");
49
-			log.info("回调返回的数据:{}", post);
48
+			log.info("消息返回的数据:{}", post);
50
 		}
49
 		}
51
 	}
50
 	}
52
 }
51
 }

+ 1 - 1
bpm-server/src/main/java/com/srm/bpmserver/logic/impl/CallBackLogicImpl.java

@@ -42,7 +42,7 @@ public class CallBackLogicImpl implements CallBackLogic {
42
         data.put("processId", processId);
42
         data.put("processId", processId);
43
         data.put("billId", billId);
43
         data.put("billId", billId);
44
         data.put("status", status);
44
         data.put("status", status);
45
-        log.info("回调返回的数据:{}", data);
45
+        log.info("回调推送的数据:{}", data);
46
 
46
 
47
         final ResponseEntity<R> post = restTemplateUtil.post(bpmConfig.getCallbackUrl(), data, "1");
47
         final ResponseEntity<R> post = restTemplateUtil.post(bpmConfig.getCallbackUrl(), data, "1");
48
         log.info("回调返回的数据:{}", post);
48
         log.info("回调返回的数据:{}", post);