短时间内创建和修改导致数据重复的问题

畅捷通同步方案更新
YXY 11 months ago
parent 052fa3f7f4
commit 092149f70c

@ -85,7 +85,11 @@ public class EdiController extends BaseController {
// public void receiveCjtTicket(Long id) { // public void receiveCjtTicket(Long id) {
// ErpLarkTempRelation erpLarkTempRelation = erpLarkTempRelationMapper.selectErpLarkTempRelationById(id); // ErpLarkTempRelation erpLarkTempRelation = erpLarkTempRelationMapper.selectErpLarkTempRelationById(id);
// JSONObject jsonObject = JSONObject.parseObject(erpLarkTempRelation.getRemark()); // JSONObject jsonObject = JSONObject.parseObject(erpLarkTempRelation.getRemark());
// execeuteByType(jsonObject); // JSONObject req = new JSONObject();
// req.put("appKey",erpLarkTempRelation.getLarkKey());
// req.put("msgType",erpLarkTempRelation.getMethod());
// req.put("bizContent",jsonObject);
// execeuteByType(req);
// } // }
/** /**
@ -124,12 +128,6 @@ public class EdiController extends BaseController {
redisCache.setCacheObject(buildUniqueKey(RedisConstants.CJT_TICKET_CACHE_KEY, appKey), appTicket, 24, TimeUnit.HOURS); redisCache.setCacheObject(buildUniqueKey(RedisConstants.CJT_TICKET_CACHE_KEY, appKey), appTicket, 24, TimeUnit.HOURS);
} }
} }
// else if ("SaleDispatchVoucher_Delete".equals(msgType)){
// log.info("畅捷通删除接口回调");
// String voucherCode = bizContent.getString("voucherCode");
// CJTEdiCallbackRequestVo cjtEdiCallbackRequestVo = new CJTEdiCallbackRequestVo(msgType, voucherCode);
// ediOperateService.cjtCallback(cjtEdiCallbackRequestVo);
// }
else{ else{
cjtOperateCallBackFactory.handle(jsonObject); cjtOperateCallBackFactory.handle(jsonObject);
} }

@ -62,7 +62,7 @@ public abstract class CJTOperateCallBackAbstract {
protected static final String REQUEST_ROOT_PATH = "https://openapi.chanjet.com"; protected static final String REQUEST_ROOT_PATH = "https://openapi.chanjet.com";
public void execute(CJTEdiCallbackRequestVo req) { public void execute(CJTEdiCallbackRequestVo req) {
String operateCallBackFlag = buildCacheUniqueKey(RedisConstants.CJT_CALLBACK_OPERATE, req.getAppId() + req.getMsgType() + req.getVoucherId()); String operateCallBackFlag = buildCacheUniqueKey(RedisConstants.CJT_CALLBACK_OPERATE, req.getAppId() + req.getVoucherId());
try { try {
Boolean operateFlag = redisCache.setCacheObjectIfAbsent(operateCallBackFlag, operateCallBackFlag, 10L, TimeUnit.MINUTES); Boolean operateFlag = redisCache.setCacheObjectIfAbsent(operateCallBackFlag, operateCallBackFlag, 10L, TimeUnit.MINUTES);
if (!operateFlag) { if (!operateFlag) {
@ -228,15 +228,13 @@ public abstract class CJTOperateCallBackAbstract {
Map<String, Object> larkBody = buildLarkBody(header, detail, cjtAccountEnum); Map<String, Object> larkBody = buildLarkBody(header, detail, cjtAccountEnum);
request.setBody(larkBody); request.setBody(larkBody);
CreateAppTableRecordRespBody respBody = larkTableHelper.addTableRecord(request); CreateAppTableRecordRespBody respBody = larkTableHelper.addTableRecord(request);
req.setRetry(Boolean.FALSE);
String larkKey = respBody.getRecord().getRecordId(); String larkKey = respBody.getRecord().getRecordId();
relationList.add(buildErpLarkRelation(uniqueKey, larkKey, cjtAccountEnum.getCode(), toTableId, req.getVoucherId())); relationList.add(buildErpLarkRelation(uniqueKey, larkKey, cjtAccountEnum.getCode(), toTableId, req.getVoucherId()));
} catch (Exception e) { } catch (Exception e) {
errorList.add(e.getMessage()); errorList.add(e.getMessage());
} }
} }
if (CollectionUtils.isEmpty(errorList)) {
req.setRetry(Boolean.FALSE);
}
if (!org.springframework.util.CollectionUtils.isEmpty(relationList)) { if (!org.springframework.util.CollectionUtils.isEmpty(relationList)) {
erpLarkRelationMapper.batchInsert(relationList); erpLarkRelationMapper.batchInsert(relationList);
} }

Loading…
Cancel
Save