示例#1
0
        public ResultModel <UploadReceiptResultModel> TicketRemove()
        {
            if (HttpContext.Current.Request.Form.Count == 0)
            {
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.NOFormParameter));
            }
            var orderId      = ParseHelper.ToInt(HttpContext.Current.Request.Form["OrderId"], 0);      //订单Id
            var orderChildId = ParseHelper.ToInt(HttpContext.Current.Request.Form["OrderChildId"], 0); //子订单Id
            var receiptPic   = HttpContext.Current.Request.Form["ReceiptPicAddress"];                  //小票上传地址
            var version      = HttpContext.Current.Request.Form["Version"];                            //版本号  1.0

            if (orderId == 0)
            {
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.InvalidOrderId));
            }
            if (orderChildId == 0)
            {
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.NoOrderChildId));
            }
            if (string.IsNullOrWhiteSpace(version)) //版本号
            {
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.NoVersion));
            }
            if (!receiptPic.StartsWith("http", StringComparison.OrdinalIgnoreCase))
            {
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.ReceiptAddressInvalid));
            }
            UploadReceiptModel uploadReceiptModel = new UploadReceiptModel()
            {
                OrderId = orderId, ReceiptPic = receiptPic, HadUploadCount = -1
            };

            ETS.Util.LogHelper.LogWriter("删除小票参数", new { version = version, receiptPic = receiptPic, orderId = orderId, orderChildId = orderChildId });
            //删除前先判断   订单状态已完成 和已经上传的小票数量 等于需要上传的小票数量相等 时 不允许删除小票
            OrderOther orderOther = iClienterProvider.GetReceipt(orderId);

            //判断订单信息,状态是否为已完成, 已经上传的小票数量是否和 需要上传的一样, 若一样则无法删除
            if (orderOther != null)
            {
                if (orderOther.OrderStatus == OrderStatus.Status1.GetHashCode() && orderOther.NeedUploadCount == orderOther.HadUploadCount)
                {
                    return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.DeleteFailed));
                }
            }
            else
            {
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.CannotFindOrder));
            }
            //判断是否存在小票
            List <OrderChildForTicket> orderChild = iClienterProvider.GetOrderChildInfo(orderId, orderChildId);

            if (orderChild != null && orderChild.Count > 0)
            {
                if (string.IsNullOrWhiteSpace(orderChild[0].TicketUrl) || orderChild[0].HasUploadTicket)  //没有小票,请先上传
                {
                    return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.FirstUpload));
                }
            }
            else
            {
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.DeleteFailed));
            }
            //删除小票的时候更新orderother表,更新 orderchild表
            OrderOther delOrderOther = iClienterProvider.DeleteReceipt(uploadReceiptModel);

            if (delOrderOther.Id > 0)
            {
                //List<string> listReceiptPic = ImageCommon.ReceiptPicConvert(delOrderOther.ReceiptPic);
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.Success, new UploadReceiptResultModel()
                {
                    OrderId = delOrderOther.OrderId, HadUploadCount = delOrderOther.HadUploadCount, NeedUploadCount = delOrderOther.NeedUploadCount
                }));
            }
            else
            {
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.DeleteFailed));
            }
        }
示例#2
0
        public ResultModel <UploadReceiptResultModel> TicketUpload()
        {
            #region 参数验证
            if (HttpContext.Current.Request.Form.Count == 0)
            {
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.NOFormParameter));
            }

            var orderId = ParseHelper.ToInt(HttpContext.Current.Request.Form["OrderId"], 0); //订单号
            if (orderId == 0)                                                                // 订单id
            {
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.InvalidOrderId));
            }
            var clienterId = ParseHelper.ToInt(HttpContext.Current.Request.Form["ClienterId"], 0); //骑士的id
            if (clienterId == 0)                                                                   // 骑士Id
            {
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.ClienterIdInvalid));
            }
            var needUploadCount = ParseHelper.ToInt(HttpContext.Current.Request.Form["NeedUploadCount"], 1);
            //该订单总共需要上传的 小票数量
            var receiptPic   = HttpContext.Current.Request.Form["ReceiptPicAddress"];                  //小票地址更新时
            var orderChildId = ParseHelper.ToInt(HttpContext.Current.Request.Form["OrderChildId"], 0); //子单号
            if (orderChildId == 0)                                                                     //子订单号
            {
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.NoOrderChildId));
            }

            if (HttpContext.Current.Request.Files.Count == 0) //图片
            {
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.InvalidFileFormat));
            }
            var file = HttpContext.Current.Request.Files[0]; //照片

            #endregion

            //上传图片
            ImgInfo imgInfo            = new ImageHelper().UploadImg(file, orderId);
            var     uploadReceiptModel = new UploadReceiptModel
            {
                OrderId         = orderId,
                ClienterId      = clienterId,
                OrderChildId    = orderChildId,
                NeedUploadCount = needUploadCount,
                ReceiptPic      = imgInfo.PicUrl
            };
            LogHelper.LogWriter("上传小票", new { orderId = orderId, clienterId = clienterId, orderChildId = orderChildId, ReceiptPic = imgInfo.PicUrl });
            var orderOther = iClienterProvider.UpdateClientReceiptPicInfo(uploadReceiptModel);
            if (orderOther == null)
            {
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.UpFailed, new UploadReceiptResultModel()
                {
                    OrderId = orderId
                }));
            }
            else
            {
                List <OrderChildImg> listOrderChild = new List <OrderChildImg>();
                listOrderChild.Add(new OrderChildImg()
                {
                    OrderChildId = orderChildId,
                    TicketUrl    = ImageCommon.ReceiptPicConvert(uploadReceiptModel.ReceiptPic)
                });
                if (!string.IsNullOrWhiteSpace(receiptPic))  //当有地址的时候删除
                {
                    ImageHelper imgHelper = new ImageHelper();
                    imgHelper.DeleteTicket(receiptPic);
                }
                //上传成功后返回图片全路径
                return(ResultModel <UploadReceiptResultModel> .Conclude(UploadIconStatus.Success, new UploadReceiptResultModel()
                {
                    OrderId = orderId, OrderChildList = listOrderChild, HadUploadCount = orderOther.HadUploadCount, NeedUploadCount = orderOther.NeedUploadCount
                }));
            }
        }