public static ResultDTO CancelRefund(ContextSession contextSession, OrderRefundAfterSales refund) { var jdOrderRefundAfterSales = JdOrderRefundAfterSales.ObjectSet().Where(_ => _.OrderRefundAfterSalesId == refund.Id).FirstOrDefault(); if (jdOrderRefundAfterSales == null) { return(new ResultDTO { isSuccess = true, Message = "非京东订单,跳过。" }); } if (string.IsNullOrEmpty(jdOrderRefundAfterSales.AfsServiceId)) { return(new ResultDTO { isSuccess = false, Message = "未获取到京东退款服务单号。", ResultCode = -1 }); } ResultDTO result = null; if (jdOrderRefundAfterSales.CommodityNum.HasValue && jdOrderRefundAfterSales.CommodityNum.Value > 1 && !string.IsNullOrWhiteSpace(jdOrderRefundAfterSales.AfsServiceIds)) { result = JDSV.AuditMultipulCancel(jdOrderRefundAfterSales.AfsServiceId.Split(',').ToList(), "用户取消"); } else { result = JDSV.AuditCancel(jdOrderRefundAfterSales.AfsServiceId, "用户取消"); } if (result.isSuccess) { jdOrderRefundAfterSales.Cancel = 0; contextSession.SaveObject(jdOrderRefundAfterSales); } return(result); }
public static void GetJdRefundInfo(SubmitOrderRefundDTO refund) { var jdOrderRefundAfterSales = JdOrderRefundAfterSales.ObjectSet().Where(_ => _.OrderRefundAfterSalesId == refund.Id).FirstOrDefault(); if (jdOrderRefundAfterSales == null) { return; } refund.JdOrderRefundInfo = new JdOrderRefundDto { ServiceId = jdOrderRefundAfterSales.AfsServiceId, Cancel = jdOrderRefundAfterSales.Cancel, CustomerContactName = jdOrderRefundAfterSales.CustomerContactName, CustomerTel = jdOrderRefundAfterSales.CustomerTel, PickwareAddress = jdOrderRefundAfterSales.PickwareAddress, PickwareType = jdOrderRefundAfterSales.PickwareType }; }
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); }