南骏 池
2025-05-19 2250a274775ba3d14aa233739565edbed987b9b6
1.携客云接口异常处理模式
已修改1个文件
45 ■■■■ 文件已修改
service/Warehouse/MesXkyService.cs 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/Warehouse/MesXkyService.cs
@@ -263,7 +263,7 @@
            sendStatus = _responseData.result;
            // 对数据做处理存入mes
            if (SaveDeliveryNoticeDetail(_responseData) > 0)
            if (SaveDeliveryNoticeDetail(_responseData, entity.deliveryNo) > 0)
                sendStatus = 1;
            else
                sendStatus = 0;
@@ -294,7 +294,7 @@
                edtUserGuid: Guid.Parse("11111111-1111-1111-1111-111111111111"),
                abtGuid: null,
                abtTable: "DELIVERY_NOTICE_DETAIL",
                detail: _logMessageDhdDetail,
                detail: _logMessageDhdDetail + $"系统异常错误:{e.Message}\n跟踪:{e.StackTrace}",
                orderNo: "",
                sendJson: _requestJson,
                rtnJson: JsonConvert.SerializeObject(_responseData),
@@ -309,25 +309,26 @@
    }
    //对获取到的携客云送货单做处理
    private int SaveDeliveryNoticeDetail(dynamic responseJson)
    private int SaveDeliveryNoticeDetail(dynamic responseJson,string deliveryNo)
    {
        var result = 0;
        var result = 1;
        List<DeliveryNoticeDetail> noticeList = JsonConvert.DeserializeObject<List<DeliveryNoticeDetail>>(responseJson.data.lineList.ToString());
        // 新增列表空值检查
        if (noticeList == null || !noticeList.Any() || noticeList.Count < 1)
        {
            _logMessageDhdBar += $"送货明细数据为空,送货单号:{deliveryNo}";
            return result;
        }
        // 获取送货单号并校验
        var deliveryNoObj = responseJson.data.deliveryNo;
        if (deliveryNoObj == null || string.IsNullOrEmpty(deliveryNoObj.ToString()))
        {
            _logMessageDhdDetail += $"【异常】获取送货单失败:{responseJson}";
            return result;
            throw new Exception($"【异常】获取送货单失败:{responseJson}");
        }
        string deliveryNo = deliveryNoObj.ToString();
        // 新增列表空值检查
        if (noticeList == null || !noticeList.Any())
        {
            _logMessageDhdBar += $"【异常】送货明细数据为空,送货单号:{deliveryNo}";
            return result;
        }
        deliveryNo = deliveryNoObj.ToString();
        //赋值guid和到货单号
        noticeList.ForEach(n => n.Id = Guid.NewGuid());
@@ -347,8 +348,8 @@
        },
        ex => {
            // 增强异常信息
            _logMessageDhdDetail = _logMessageDhdDetail + $"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}";
            //throw new Exception($"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}");
            //_logMessageDhdDetail = _logMessageDhdDetail + $"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}";
            throw new Exception($"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}");
        });
        return result;
@@ -451,7 +452,7 @@
                edtUserGuid: Guid.Parse("11111111-1111-1111-1111-111111111111"),
                abtGuid: null,
                abtTable: "TBL_BARCODE_INFORMATION",
                detail: _logMessageDhdBar,
                detail: _logMessageDhdBar + $"系统异常错误:{e.Message}\n跟踪:{e.StackTrace}",
                orderNo: "",
                sendJson: _requestJson,
                rtnJson: JsonConvert.SerializeObject(_responseData),
@@ -468,13 +469,13 @@
    //对获取到的携客云送货单条码做处理
    private int SaveDeliveryNoticeBar(dynamic responseJson,string deliveryNo)
    {
        var result = 0;
        var result = 1;
        List<TblBarcodeInformation> noticeList = JsonConvert.DeserializeObject<List<TblBarcodeInformation>>(responseJson.dataList.ToString());
        
        // 新增列表空值检查
        if (noticeList == null || !noticeList.Any())
        if (noticeList == null || !noticeList.Any() || noticeList.Count < 1)
        {
            _logMessageDhdBar += $"【异常】条码数据为空,送货单号:{deliveryNo}";
            _logMessageDhdBar += $"条码数据为空,送货单号:{deliveryNo}";
            return result;
        }
@@ -496,8 +497,8 @@
        },
        ex => {
            // 增强异常信息
            _logMessageDhdBar = _logMessageDhdBar + $"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}";
            //throw new Exception($"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}");
            //_logMessageDhdBar = _logMessageDhdBar + $"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}";
            throw new Exception($"数据库操作失败:{ex.Message}\n跟踪:{ex.StackTrace}");
        });
        return result;