/// <summary> /// 服务单保存申请 /// </summary> /// <param name="afsServiceId"></param> /// <returns></returns> public static ResultDTO CreateAfsApply(AfterSaleDto dto) { try { string token = JdHelper.GetToken(); var par = JsonHelper.JsonSerializer(dto); string postData = "token=" + token + "¶m=" + par; string jsonstr = WebRequestHelper.SendPostInfo(UrlBase + "afterSale/createAfsApply", postData); var resullt = Newtonsoft.Json.JsonConvert.DeserializeObject <JdResultDto>(jsonstr); if (resullt.Success) { LogHelper.Info("JDSV.CreateAfsApply 服务单保存申请 成功,Request: " + postData + ",Response: " + jsonstr); return(new ResultDTO { isSuccess = true }); } else { LogHelper.Error("JDSV.CreateAfsApply 服务单保存申请 失败,Request: " + postData + ",Response: " + resullt.ResultCode + "-" + resullt.ResultMessage); return(new ResultDTO { isSuccess = false, ResultCode = resullt.ResultCode ?? -1, Message = resullt.ResultMessage }); } } catch (Exception ex) { LogHelper.Error("JDSV.CreateAfsApply 服务单保存申请 异常", ex); return(new ResultDTO { isSuccess = false, Message = ex.Message, ResultCode = -1 }); } }
public static ResultDTO SubmitRefund(ContextSession contextSession, CommodityOrder order, OrderItem orderItem, OrderRefundAfterSales refund, AddressInfo address) { if (address == null) { return(new ResultDTO { isSuccess = false, Message = "取件地址不能为空。" }); } var strCommodityOrderId = orderItem.CommodityOrderId.ToString(); var jdorderitem = JdOrderItem.ObjectSet() .Where(_ => _.CommodityOrderId == strCommodityOrderId && _.TempId == orderItem.CommodityId).FirstOrDefault(); if (jdorderitem == null) { return(new ResultDTO { isSuccess = false, ResultCode = 1, Message = "该订单不是京东订单。" }); } AfterSaleDto dto = new AfterSaleDto(); dto.jdOrderId = jdorderitem.JdOrderId; dto.customerExpect = 10; dto.questionDesc = refund.RefundDesc; dto.questionPic = refund.OrderRefundImgs; dto.asCustomerDto = new AfterSaleCustomerDto() { jdOrderId = jdorderitem.JdOrderId, customerContactName = address.customerContactName, customerTel = address.customerTel }; dto.asPickwareDto = new AfterSalePickwareDto() { pickwareType = 4, pickwareProvince = address.pickwareProvince, pickwareCity = address.pickwareCity, pickwareCounty = address.pickwareCounty, pickwareVillage = address.pickwareVillage, pickwareAddress = address.pickwareAddress }; dto.asReturnwareDto = new AfterSaleReturnwareDto { returnwareType = 10, returnwareCity = address.pickwareCity, returnwareCounty = address.pickwareCounty, returnwareProvince = address.pickwareProvince, returnwareVillage = address.pickwareVillage, returnwareAddress = address.pickwareAddress }; dto.asDetailDto = new AfterSaleDetailDto() { skuId = jdorderitem.CommoditySkuId, skuNum = orderItem.Number }; var result = JDSV.CreateAfsApply(dto); if (result.isSuccess) { // 保存到 JdOrderRefundAfterSales var jdOrderRefundAfterSales = JdOrderRefundAfterSales.CreateJdOrderRefundAfterSales(); jdOrderRefundAfterSales.AppId = order.AppId; jdOrderRefundAfterSales.OrderRefundAfterSalesId = refund.Id; jdOrderRefundAfterSales.OrderId = orderItem.CommodityOrderId; jdOrderRefundAfterSales.OrderItemId = orderItem.Id; jdOrderRefundAfterSales.JdOrderId = jdorderitem.JdOrderId; jdOrderRefundAfterSales.CommodityId = orderItem.CommodityId; jdOrderRefundAfterSales.CommodityNum = orderItem.Number; jdOrderRefundAfterSales.SkuId = jdorderitem.CommoditySkuId; jdOrderRefundAfterSales.Cancel = 1; jdOrderRefundAfterSales.PickwareType = 4; jdOrderRefundAfterSales.CustomerContactName = address.customerContactName; jdOrderRefundAfterSales.CustomerTel = address.customerTel; jdOrderRefundAfterSales.PickwareAddress = address.ProviceCityStr + address.pickwareAddress; jdOrderRefundAfterSales.AfsServiceStep = 10; jdOrderRefundAfterSales.AfsServiceStepName = "申请阶段"; contextSession.SaveObject(jdOrderRefundAfterSales); } else { bool isWriteLog = false; switch (result.ResultCode) { case -1: // 系统异常 break; //京东异常 case 2000: result.Message = "提交失败,请重试~"; break; case 6000: result.Message = "网络异常,请稍后重试~"; break; case 6001: case 6002: case 6003: case 6004: case 6006: case 6007: case 6011: case 6012: isWriteLog = true; break; case 6005: result.Message = "收货后才能申请退货~"; break; case 6008: result.Message = "收货后才能申请退货~"; break; case 6009: result.Message = "该商品不支持售后~"; break; case 6010: result.Message = "退货申请商品数量超过订单商品数量~"; isWriteLog = true; break; case 6013: result.Message = "售后申请审核未通过,如有异议,请联系客服处理~"; break; default: break; } if (isWriteLog) { var log = new Jinher.AMP.BTP.Deploy.JdlogsDTO { Id = Guid.NewGuid(), Content = "【" + order.Code + "】中的" + orderItem.Name + "商品【" + jdorderitem.CommoditySkuId + "】,提交售后申请失败,失败原因:【" + result.ResultCode + ":" + result.Message + "】" }; JdlogsFacade facade = new JdlogsFacade(); facade.SaveJdlogs(log); } } return(result); }