丽知:钉钉回调优化,防止重复回调

This commit is contained in:
zhengyf 2024-11-08 16:25:53 +08:00
parent 2fdd86ef4f
commit de751c32e1
1 changed files with 22 additions and 16 deletions

View File

@ -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<FileModuleVO> fileModuleVOList = JSONUtil.toList(fjJson, FileModuleVO.class);
List<SysFileVO> sysFileVOS = fileUtil.DingFileTransBase64(fileModuleVOList, processInstanceId, token);
List<SysFileVO> sysFileVOS = fileUtil.DingFileTransBase64(fileModuleVOList, token, processInstanceId);
for (SysFileVO sysFileVO : sysFileVOS) {
//上传u8c单据