Пример #1
0
 /// <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 + "&param=" + 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
         });
     }
 }
Пример #2
0
        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);
        }