Compare commits

...

2 Commits

Author SHA1 Message Date
YXY b4f25d47ac 开放所有回调接口
continuous-integration/drone/push Build is passing Details
11 months ago
YXY 092149f70c 短时间内创建和修改导致数据重复的问题
11 months ago

@ -85,7 +85,11 @@ public class EdiController extends BaseController {
// public void receiveCjtTicket(Long id) {
// ErpLarkTempRelation erpLarkTempRelation = erpLarkTempRelationMapper.selectErpLarkTempRelationById(id);
// 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);
}
}
// else if ("SaleDispatchVoucher_Delete".equals(msgType)){
// log.info("畅捷通删除接口回调");
// String voucherCode = bizContent.getString("voucherCode");
// CJTEdiCallbackRequestVo cjtEdiCallbackRequestVo = new CJTEdiCallbackRequestVo(msgType, voucherCode);
// ediOperateService.cjtCallback(cjtEdiCallbackRequestVo);
// }
else{
cjtOperateCallBackFactory.handle(jsonObject);
}

@ -6,6 +6,7 @@ import com.lark.oapi.service.bitable.v1.model.CreateAppTableRecordRespBody;
import com.ruoyi.common.constant.RedisConstants;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.enums.CjtAccountEnum;
import com.ruoyi.common.enums.CjtCallBackOperateEnum;
import com.ruoyi.common.enums.FlagStatus;
import com.ruoyi.flyingbook.LarkHelper.LarkRobotHelper;
import com.ruoyi.flyingbook.LarkHelper.LarkTableHelper;
@ -62,7 +63,8 @@ public abstract class CJTOperateCallBackAbstract {
protected static final String REQUEST_ROOT_PATH = "https://openapi.chanjet.com";
public void execute(CJTEdiCallbackRequestVo req) {
String operateCallBackFlag = buildCacheUniqueKey(RedisConstants.CJT_CALLBACK_OPERATE, req.getAppId() + req.getMsgType() + req.getVoucherId());
CjtCallBackOperateEnum msgTypeEnum = req.getMsgTypeEnum();
String operateCallBackFlag = buildCacheUniqueKey(RedisConstants.CJT_CALLBACK_OPERATE, req.getAppId() + msgTypeEnum.getLarkCompanyCode() + req.getVoucherId());
try {
Boolean operateFlag = redisCache.setCacheObjectIfAbsent(operateCallBackFlag, operateCallBackFlag, 10L, TimeUnit.MINUTES);
if (!operateFlag) {
@ -228,15 +230,13 @@ public abstract class CJTOperateCallBackAbstract {
Map<String, Object> larkBody = buildLarkBody(header, detail, cjtAccountEnum);
request.setBody(larkBody);
CreateAppTableRecordRespBody respBody = larkTableHelper.addTableRecord(request);
req.setRetry(Boolean.FALSE);
String larkKey = respBody.getRecord().getRecordId();
relationList.add(buildErpLarkRelation(uniqueKey, larkKey, cjtAccountEnum.getCode(), toTableId, req.getVoucherId()));
} catch (Exception e) {
errorList.add(e.getMessage());
}
}
if (CollectionUtils.isEmpty(errorList)) {
req.setRetry(Boolean.FALSE);
}
if (!org.springframework.util.CollectionUtils.isEmpty(relationList)) {
erpLarkRelationMapper.batchInsert(relationList);
}

@ -21,6 +21,12 @@ public class CJTOperateCallBackFactory {
private SaleDispatchSyncCallOperate saleDispatchSyncCallOperate;
@Autowired
private SaleOrderSyncCallBackOperate saleOrderSyncCallBackOperate;
@Autowired
private PurchaseArrivalOrderCallBackOperate purchaseArrivalOrderCallBackOperate;
@Autowired
private PurchaseOrderSyncCallBackOperate purchaseOrderSyncCallBackOperate;
@Autowired
private SaleDeliverySyncCallBackOperate saleDeliverySyncCallBackOperate;
public void handle(JSONObject jsonObject){
String appKey = jsonObject.getString("appKey");
@ -44,36 +50,32 @@ public class CJTOperateCallBackFactory {
case SALE_DISPATCH_CREATE:
case SALE_DISPATCH_UPDATE:
case SALE_DISPATCH_DELETE:
switch (cjtAccountEnum){
case ONE:
saleDispatchSyncCallOperate.execute(cjtEdiCallbackRequestVo);
break;
default:
break;
}
saleDispatchSyncCallOperate.execute(cjtEdiCallbackRequestVo);
break;
case SALE_ORDER_CREATE:
case SALE_ORDER_UPDATE:
case SALE_ORDER_DELETE:
switch (cjtAccountEnum){
case ONE:
saleOrderSyncCallBackOperate.execute(cjtEdiCallbackRequestVo);
break;
default:
break;
}
saleOrderSyncCallBackOperate.execute(cjtEdiCallbackRequestVo);
break;
case MANUFACTURE_ORDER_CREATE:
case MANUFACTURE_ORDER_UPDATE:
case MANUFACTURE_ORDER_DELETE:
switch (cjtAccountEnum){
case TWO:
manufactureOrderSyncCallOperate.execute(cjtEdiCallbackRequestVo);
break;
default:
break;
}
manufactureOrderSyncCallOperate.execute(cjtEdiCallbackRequestVo);
break;
case PURCHASE_ORDER_CREATE:
case PURCHASE_ORDER_UPDATE:
case PURCHASE_ORDER_DELETE:
purchaseOrderSyncCallBackOperate.execute(cjtEdiCallbackRequestVo);
break;
case PURCHASE_ARRIVAL_ORDER_CREATE:
case PURCHASE_ARRIVAL_ORDER_UPDATE:
case PURCHASE_ARRIVAL_ORDER_DELETE:
purchaseArrivalOrderCallBackOperate.execute(cjtEdiCallbackRequestVo);
break;
case SALE_DELIVERY_CREATE:
case SALE_DELIVERY_UPDATE:
case SALE_DELIVERY_DELETE:
saleDeliverySyncCallBackOperate.execute(cjtEdiCallbackRequestVo);
break;
default:
saleDispatchSyncCallOperate.preHandle(cjtEdiCallbackRequestVo);

Loading…
Cancel
Save