public object GetRefundLogs(int refundId) { CheckUserLogin(); var curshopid = CurrentShop.Id; var refund = RefundApplication.GetOrderRefund(refundId); if (refund == null || refund.ShopId != CurrentShop.Id) { return(ErrorResult("无效的售后申请编号")); } var order = Application.OrderApplication.GetOrder(refund.OrderId); if (order == null || order.ShopId != curshopid) { return(ErrorResult("无效的售后申请编号")); } var refundLogs = RefundApplication.GetRefundLogs(refundId); var logs = new List <object>(); var roleMap = new Dictionary <OrderRefundStep, int>();//操作步骤 由谁完成的 roleMap.Add(OrderRefundStep.Confirmed, 2); roleMap.Add(OrderRefundStep.UnAudit, 1); roleMap.Add(OrderRefundStep.UnConfirm, 1); roleMap.Add(OrderRefundStep.WaitAudit, 0); roleMap.Add(OrderRefundStep.WaitDelivery, 1); roleMap.Add(OrderRefundStep.WaitReceiving, 1); foreach (var log in refundLogs) { logs.Add(new { Role = roleMap[log.Step],//操作者角色,0:买家,1:门店,2:平台 Step = log.Step, log.OperateDate, log.Remark }); } var model = new OrderRefundApiModel(); refund.Map(model); model.CertPics = new string[3]; model.CertPics[0] = HimallIO.GetRomoteImagePath(model.CertPic1); model.CertPics[1] = HimallIO.GetRomoteImagePath(model.CertPic2); model.CertPics[2] = HimallIO.GetRomoteImagePath(model.CertPic3); return(new { success = true, Refund = model, Logs = logs }); }
private List <OrderRefundApiModel> FullModel(List <OrderRefund> refunds) { var orders = Application.OrderApplication.GetOrders(refunds.Select(p => p.OrderId)); var orderItems = Application.OrderApplication.GetOrderItemsByOrderItemId(refunds.Select(p => p.OrderItemId)); var members = Application.MemberApplication.GetMembers(orders.Select(p => p.UserId)); var result = refunds.Select(item => { var orderItem = orderItems.FirstOrDefault(oi => oi.Id == item.OrderItemId); var order = orders.FirstOrDefault(o => o.Id == item.OrderId); var member = members.FirstOrDefault(m => m.Id == order.UserId); orderItem.ThumbnailsUrl = HimallIO.GetRomoteProductSizeImage(orderItem.ThumbnailsUrl, 1, (int)Himall.CommonModel.ImageSize.Size_100); ProductTypeInfo typeInfo = ServiceProvider.Instance <ITypeService> .Create.GetTypeByProductId(orderItem.ProductId); orderItem.ColorAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.ColorAlias)) ? SpecificationType.Color.ToDescription() : typeInfo.ColorAlias; orderItem.SizeAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.SizeAlias)) ? SpecificationType.Size.ToDescription() : typeInfo.SizeAlias; orderItem.VersionAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.VersionAlias)) ? SpecificationType.Version.ToDescription() : typeInfo.VersionAlias; var model = new OrderRefundApiModel(); item.Map(model); model.Status = item.SellerAuditStatus == OrderRefundInfo.OrderRefundAuditStatus.Audited ? (int)item.ManagerConfirmStatus : (int)item.SellerAuditStatus; //model.StatusDescription = item.SellerAuditStatus == OrderRefundInfo.OrderRefundAuditStatus.Audited ? item.ManagerConfirmStatus.ToDescription() : ((CommonModel.Enum.OrderRefundShopAuditStatus)item.SellerAuditStatus).ToDescription(); model.StatusDescription = item.SellerAuditStatus == OrderRefundInfo.OrderRefundAuditStatus.Audited ? item.ManagerConfirmStatus.ToDescription() : (order.ShopBranchId.HasValue && order.ShopBranchId.Value > 0 ? ((CommonModel.Enum.OrderRefundShopAuditStatus)item.SellerAuditStatus).ToDescription() : item.SellerAuditStatus.ToDescription()); model.UserName = member.RealName; model.UserCellPhone = member.CellPhone; model.OrderItem = orderItem; model.CertPics = new string[3]; model.CertPics[0] = HimallIO.GetRomoteImagePath(model.CertPic1); model.CertPics[1] = HimallIO.GetRomoteImagePath(model.CertPic2); model.CertPics[2] = HimallIO.GetRomoteImagePath(model.CertPic3); string shopBranchName = "总店"; if (order.ShopBranchId.HasValue && order.ShopBranchId.Value > 0) { var shopBranchInfo = ShopBranchApplication.GetShopBranchById(order.ShopBranchId.Value); if (shopBranchInfo != null) { shopBranchName = shopBranchInfo.ShopBranchName; } } model.ShopName = shopBranchName; return(model); }); return(result.ToList()); }
private List <OrderRefundApiModel> FullModel(List <OrderRefund> refunds) { var orders = Application.OrderApplication.GetOrders(refunds.Select(p => p.OrderId)); var orderItems = Application.OrderApplication.GetOrderItemsByOrderId(refunds.Select(p => p.OrderId)); var result = refunds.Select(item => { var orditems = new List <DTO.OrderItem>(); var order = orders.FirstOrDefault(o => o.Id == item.OrderId); if (item.RefundMode == OrderRefundInfo.OrderRefundMode.OrderRefund) { orditems = orderItems.Where(d => d.OrderId == item.OrderId).ToList(); } else { orditems.Add(orderItems.FirstOrDefault(oi => oi.Id == item.OrderItemId)); } foreach (var orderItem in orditems) { orderItem.ThumbnailsUrl = MallIO.GetRomoteProductSizeImage(orderItem.ThumbnailsUrl, 1, (int)Mall.CommonModel.ImageSize.Size_100); Entities.TypeInfo typeInfo = ServiceProvider.Instance <ITypeService> .Create.GetTypeByProductId(orderItem.ProductId); orderItem.ColorAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.ColorAlias)) ? SpecificationType.Color.ToDescription() : typeInfo.ColorAlias; orderItem.SizeAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.SizeAlias)) ? SpecificationType.Size.ToDescription() : typeInfo.SizeAlias; orderItem.VersionAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.VersionAlias)) ? SpecificationType.Version.ToDescription() : typeInfo.VersionAlias; var productInfo = ProductManagerApplication.GetProduct(orderItem.ProductId); if (productInfo != null) { orderItem.ColorAlias = !string.IsNullOrWhiteSpace(productInfo.ColorAlias) ? productInfo.ColorAlias : orderItem.ColorAlias; orderItem.SizeAlias = !string.IsNullOrWhiteSpace(productInfo.SizeAlias) ? productInfo.SizeAlias : orderItem.SizeAlias; orderItem.VersionAlias = !string.IsNullOrWhiteSpace(productInfo.VersionAlias) ? productInfo.VersionAlias : orderItem.VersionAlias; } } var member = MemberApplication.GetMember(order.UserId); var model = new OrderRefundApiModel(); item.Map(model); model.Status = item.SellerAuditStatus == OrderRefundInfo.OrderRefundAuditStatus.Audited ? (int)item.ManagerConfirmStatus : (int)item.SellerAuditStatus; model.StatusDescription = item.SellerAuditStatus == OrderRefundInfo.OrderRefundAuditStatus.Audited ? item.ManagerConfirmStatus.ToDescription() : (order.ShopBranchId > 0 ? ((CommonModel.Enum.OrderRefundShopAuditStatus)item.SellerAuditStatus).ToDescription() : item.SellerAuditStatus.ToDescription()); model.StatusDescription = model.StatusDescription.Replace("商家", "门店"); model.RefundStatus = model.RefundStatus.Replace("商家", "门店"); //model.UserName = member.RealName; //model.UserCellPhone = member.CellPhone; model.UserName = item.ContactPerson; model.UserCellPhone = item.ContactCellPhone; model.OrderItem = orditems; model.CertPics = new string[3]; model.CertPics[0] = MallIO.GetRomoteImagePath(model.CertPic1); model.CertPics[1] = MallIO.GetRomoteImagePath(model.CertPic2); model.CertPics[2] = MallIO.GetRomoteImagePath(model.CertPic3); string shopBranchName = order.ShopName; if (order.ShopBranchId > 0) { var shopBranchInfo = ShopBranchApplication.GetShopBranchById(order.ShopBranchId); if (shopBranchInfo != null) { shopBranchName = shopBranchInfo.ShopBranchName; } } model.ShopName = shopBranchName; model.ReasonDetail = item.ReasonDetail; return(model); }); return(result.ToList()); }