From de751c32e1363007970d6632be85f969e33a21dd Mon Sep 17 00:00:00 2001 From: zhengyf Date: Fri, 8 Nov 2024 16:25:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BD=E7=9F=A5=EF=BC=9A=E9=92=89=E9=92=89?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=E4=BC=98=E5=8C=96=EF=BC=8C=E9=98=B2=E6=AD=A2?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E5=9B=9E=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CallBackServiceImpl.java | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/callback/service/impl/CallBackServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/callback/service/impl/CallBackServiceImpl.java index 325adbbe..b36e66b6 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/callback/service/impl/CallBackServiceImpl.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/callback/service/impl/CallBackServiceImpl.java @@ -38,6 +38,7 @@ import java.util.stream.Collectors; public class CallBackServiceImpl implements CallBackService { protected static Logger logger = LogManager.getLogger(CallBackServiceImpl.class); + public String dingId=""; @Autowired private IDingU8cBillDao dingU8cBillDao; @@ -77,21 +78,26 @@ public class CallBackServiceImpl implements CallBackService { String eventType = eventJson.getString("EventType"); - // 4. 根据EventType分类处理 - if (eventJson.getString("processCode") != null) { - switch (eventJson.getString("processCode")) { - case "PROC-EC6B5BD2-DE3C-456E-9591-6F7B377E39E4": - logger.info("采购付款申请(新) -> PROC-EC6B5BD2-DE3C-456E-9591-6F7B377E39E4"); - outSourceBill(eventJson);//采购付款申请(新) - break; - case "PROC-285CCF2B-524F-4055-BE62-FC31F490C654": - logger.info("采购付款申请(店群专用) -> PROC-285CCF2B-524F-4055-BE62-FC31F490C654"); - agencyBill(eventJson);//采购付款申请(店群专用) - break; - case "PROC-AC33FC85-FB44-49FC-B926-1D966AE3BBD2": - logger.info("采购付款申请(新) -> PROC-AC33FC85-FB44-49FC-B926-1D966AE3BBD2"); - transferBill(eventJson);//特殊业务处理(新) - break; + //防止钉钉回调 + if(!eventJson.getString("processInstanceId").equals(dingId)) { + dingId = eventJson.getString("processInstanceId"); + + // 4. 根据EventType分类处理 + if (eventJson.getString("processCode") != null) { + switch (eventJson.getString("processCode")) { + case "PROC-EC6B5BD2-DE3C-456E-9591-6F7B377E39E4": + logger.info("采购付款申请(新) -> PROC-EC6B5BD2-DE3C-456E-9591-6F7B377E39E4"); + outSourceBill(eventJson);//采购付款申请(新) + break; + case "PROC-285CCF2B-524F-4055-BE62-FC31F490C654": + logger.info("采购付款申请(店群专用) -> PROC-285CCF2B-524F-4055-BE62-FC31F490C654"); + agencyBill(eventJson);//采购付款申请(店群专用) + break; + case "PROC-AC33FC85-FB44-49FC-B926-1D966AE3BBD2": + logger.info("采购付款申请(新) -> PROC-AC33FC85-FB44-49FC-B926-1D966AE3BBD2"); + transferBill(eventJson);//特殊业务处理(新) + break; + } } } @@ -520,7 +526,7 @@ public class CallBackServiceImpl implements CallBackService { //上传附件,获取附件的表单,转base64,上传u8c List fileModuleVOList = JSONUtil.toList(fjJson, FileModuleVO.class); - List sysFileVOS = fileUtil.DingFileTransBase64(fileModuleVOList, processInstanceId, token); + List sysFileVOS = fileUtil.DingFileTransBase64(fileModuleVOList, token, processInstanceId); for (SysFileVO sysFileVO : sysFileVOS) { //上传u8c单据