/// <summary>
        /// 确认收货
        /// </summary>
        /// <param name="ProductCommentId">评论ID</param>
        /// <returns></returns>
        public JsonResult UpdateReturnProductInfoSH(string ReturnOrderID, int ReturnStatus)
        {
            ReturnProductInfoModel model = new ReturnProductInfoModel();
            var resultModel = new ResultModel();

            if (!string.IsNullOrEmpty(ReturnOrderID))
            {
                model.ReturnOrderID = ReturnOrderID;
                model.Receiver      = UserInfo.CurrentUserName;
                model.ReturnStatus  = ReturnStatus;
                model.DeliveryDate  = DateTime.Now;
                var result = this._return_GoodsService.UpdateReturnProductInfoSH(model);
                var opera  = string.Empty;
                opera += "确认收货 ReturnStatus=4, ReturnOrderID:" + model.ReturnOrderID + ",结果:" + result.IsValid;
                LogPackage.InserAC_OperateLog(opera, "确认收货");
                resultModel = LogPackage.GetResulMessagest(result.IsValid, new List <string> {
                    result.IsValid == true ? "Confirm received success" : "Confirm received failed"
                });
                return(Json(resultModel, JsonRequestBehavior.AllowGet));
            }
            else
            {
                resultModel = LogPackage.GetResulMessagest(false, new List <string> {
                    "Confirm receipt ID is invalid"
                });
            }

            return(Json(resultModel, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Create(ReturnProductInfoModel model)
        {
            if (ModelState.IsValid)
            {
                ResultModel resultModel = new ResultModel();
                model.UpdateTime = DateTime.Now;
                model.AuditUser  = UserInfo.CurrentUserName;
                if (model.ReturnStatus == 2)
                {
                    //通过,只修改退货表状态
                    resultModel = this._return_GoodsService.UpdateReturnProductInfo(model);
                }
                else if (model.ReturnStatus == 3)
                {
                    model.RefundAmount = 0;//驳回不需要保存退款金额
                    //申请驳回 修改退货表状态 和 订单表 退款标识 修改成 已处理 和 订单明细表 退货状态 改成 审核未通过
                    resultModel = this._return_GoodsService.UpdateReturnProductInfoBH(model);
                }



                resultModel.Messages = new List <string> {
                    resultModel.IsValid == true ? "Review success!" : "Review failed!"
                };
                var opera = string.Empty;
                //opera += "修改状态UpdateTime:" + model.UpdateTime + ",ReturnStatus:" + model.ReturnStatus + ",ReturnOrderID:" + model.ReturnOrderID + ",ReturnText:" + model.ReturnText + ",RefundAmount" + model.RefundAmount + ",结果:" + result.IsValid;
                opera = string.Format("审核退换货记录:{0},操作结果:{1}", JsonConverts.ToJson(model), resultModel.Messages);
                LogPackage.InserAC_OperateLog(opera, "审核退换货记录");


                return(Json(resultModel, JsonRequestBehavior.AllowGet));
            }
            return(PartialView(model));
        }
        /// <summary>
        /// 取消退換貨
        /// 黃主霞 2016-01-20
        /// </summary>
        /// <param name="model">退换货记录模型</param>
        /// <param name="languageID">语言ID(默认繁体 4)</param>
        /// <returns>是否成功</returns>
        public ResultModel CancelReturnProductInfo(ReturnProductInfoModel model, int languageID = 4)
        {
            ResultModel result   = new ResultModel();
            var         isReturn = _database.Db.OrderDetails.FindAllByOrderDetailsID(model.OrderDetailsID).Select(_database.Db.OrderDetails.IsReturn).ToScalarOrDefault();

            if (isReturn != 1) //只有处于退款中才能进行取消退款操作
            {
                result.IsValid  = false;
                result.Messages = new List <string> {
                    "订单处于无法取消状态"
                };
            }
            else
            {
                base._database.Db.ReturnProductInfo.Delete(ReturnOrderID: model.ReturnOrderID);
                result.Data = _database.Db.OrderDetails.UpdateByOrderDetailsID(OrderDetailsID: model.OrderDetailsID, IsReturn: 0);
                if (result.Data > 0)
                {
                    //修改订单退款状态
                    _database.Db.Order.UpdateByOrderID(OrderID: model.OrderID, RefundFlag: 0);
                    result.Messages = new List <string> {
                        CultureHelper.GetAPPLangSgring("MY_APPLICATION_HAS_BEEN_SUBMITTED", languageID) + "."
                    };
                }
                else
                {
                    result.IsValid  = false;
                    result.Messages = new List <string> {
                        CultureHelper.GetAPPLangSgring("ACCOUNT_MY_ORDERRETURNPRODUCT_FAIL", languageID) + "."
                    };
                }
            }
            return(result);
        }
        /// <summary>
        /// 删除Return_Goods
        /// </summary>
        /// <param name="ProductCommentId">评论ID</param>
        /// <returns></returns>
        public JsonResult DeleteSP_ProductComment(string ReturnOrderID)
        {
            ReturnProductInfoModel model = new ReturnProductInfoModel();
            var resultModel = new ResultModel();

            if (!string.IsNullOrEmpty(ReturnOrderID))
            {
                model.ReturnOrderID = ReturnOrderID;
                var result = this._return_GoodsService.DeleteReturnProductInfo(model);
                var opera  = string.Empty;
                opera += "删除退换货记录 ReturnOrderID:" + model.ReturnOrderID + ",结果:" + result.IsValid;
                LogPackage.InserAC_OperateLog(opera, "修改退换货记录");
                resultModel = LogPackage.GetResulMessagest(result.IsValid, new List <string> {
                    result.IsValid == true ? "Delete success" : "Delete failed"
                });
                return(Json(resultModel, JsonRequestBehavior.AllowGet));
            }
            else
            {
                resultModel = LogPackage.GetResulMessagest(false, new List <string> {
                    "Invalid return or change product record ID"
                });
            }

            return(Json(resultModel, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// 删除退换货记录
        /// </summary>
        /// <param name="model">退货记录模型</param>
        /// <returns>是否删除成功</returns>
        /// wuyf
        public ResultModel DeleteReturnProductInfo(ReturnProductInfoModel model)
        {
            var result = new ResultModel();

            using (var tx1 = _database.Db.BeginTransaction())
            {
                try
                {
                    tx1.ReturnProductInfo.Delete(ReturnOrderID: model.ReturnOrderID);
                    tx1.OrderDetails.UpdateByOrderDetailsID(OrderDetailsID: model.OrderDetailsID, IsReturn: 0, Iscomment: 0);
                    tx1.Commit();
                    result.IsValid = true;
                }
                catch (Exception ex)
                {
                    tx1.Rollback();
                    result.IsValid  = false;
                    result.Messages = new List <string> {
                        ex.Message
                    };
                }
            }

            return(result);
        }
        /// <summary>
        /// 审核退换货记录(申请驳回)
        /// </summary>
        /// <param name="model">退货记录模型</param>
        /// <returns>是否修改成功</returns>
        /// wuyf
        public ResultModel UpdateReturnProductInfoBH(ReturnProductInfoModel model)
        {
            var result = new ResultModel();

            using (var tx1 = _database.Db.BeginTransaction())
            {
                try
                {
                    //退款表 修改状态成(3)
                    tx1.ReturnProductInfo.UpdateByReturnOrderID(ReturnOrderID: model.ReturnOrderID, ReturnText: model.ReturnText, RefundAmount: model.RefundAmount, ReturnStatus: model.ReturnStatus, AuditUser: model.AuditUser, UpdateTime: model.UpdateTime);
                    //订单表 退款标识 修改成 已处理(2)


                    //订单明细表 退货状态 改成 审核未通过(3)
                    tx1.OrderDetails.UpdateByOrderDetailsID(OrderDetailsID: model.OrderDetailsID, IsReturn: 3);



                    tx1.Commit();

                    IsStust(model);
                }
                catch (Exception ex)
                {
                    tx1.Rollback();

                    result.IsValid = false;
                    result.Messages.Add(ex.Message);
                }
            }

            return(result);
        }
        /// <summary>
        /// 确认退款
        /// </summary>
        /// <param name="ReturnOrderID">退款标识</param>
        /// <param name="ReturnStatus">退款状态</param>

        /// <returns></returns>
        public JsonResult UpdateReturnProductInfoTK(string ReturnOrderID, int ReturnStatus)
        {
            ReturnProductInfoModel model = new ReturnProductInfoModel();
            var resultModel = new ResultModel();

            if (!string.IsNullOrEmpty(ReturnOrderID))
            {
                model.ReturnOrderID = ReturnOrderID;
                model.ReturnStatus  = ReturnStatus;
                model.RefundPerson  = UserInfo.CurrentUserName;
                model.RefundDate    = DateTime.Now;

                //resultModel = this._return_GoodsService.UpdateReturnProductInfoTK(model);
                //修改退货表 状态 5已退款
                //订单明细表 退货状态 改成 2已退款
                //订单表 退款标识 修改成 已处理
                //订单表 状态改成8交易关闭(需要判断订单明细表里的相关产品数据都是已经退款状态)
                //给退款用户的账户余额添加退款 费用
                SearchReturnProductInfoModel spmodel = new SearchReturnProductInfoModel();
                spmodel.ReturnOrderID = ReturnOrderID;
                spmodel.PagedIndex    = 0;
                spmodel.PagedSize     = 20;
                var result = this._return_GoodsService.GetReturnProductInfoList(spmodel);
                List <ReturnProductInfoModel> ds = result.Data;
                if (ds.Count > 0)
                {
                    model = ds[0];
                    model.ReturnOrderID = ReturnOrderID;
                    model.ReturnStatus  = ReturnStatus;
                    model.RefundPerson  = UserInfo.CurrentUserName;
                    model.RefundDate    = DateTime.Now;
                }

                resultModel = this._return_GoodsService.UpdateReturnProductInfoTK(model);



                var opera = string.Empty;
                opera += "确认退款 ReturnStatus=5, ReturnOrderID:" + model.ReturnOrderID + ",结果:" + resultModel.IsValid;
                LogPackage.InserAC_OperateLog(opera, "修改退换货记录");
                resultModel = LogPackage.GetResulMessagest(resultModel.IsValid, new List <string> {
                    resultModel.IsValid == true ? "Confirm refund success" : "Confirm refund failed"
                });
                return(Json(resultModel, JsonRequestBehavior.AllowGet));
            }
            else
            {
                resultModel = LogPackage.GetResulMessagest(false, new List <string> {
                    "Invalid return or change product record ID"
                });
            }

            return(Json(resultModel, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// 收货退换货记录(收货)
        /// </summary>
        /// <param name="model">退货记录模型</param>
        /// <returns>是否修改成功</returns>
        /// wuyf
        public ResultModel UpdateReturnProductInfoSH(ReturnProductInfoModel model)
        {
            var result = new ResultModel()
            {
                Data = base._database.Db.ReturnProductInfo.UpdateByReturnOrderID(ReturnOrderID: model.ReturnOrderID, Receiver: model.Receiver, ReturnStatus: model.ReturnStatus, DeliveryDate: model.DeliveryDate)
            };

            result.IsValid = result.Data > 0 ? true : false;

            return(result);
        }
        /// <summary>
        /// 修改订单表退款状态 2 已完成
        /// </summary>
        /// <param name="model"></param>
        /// <param name="tx1"></param>
        private void IsStust(ReturnProductInfoModel model)
        {
            //过滤掉自己和相同订单存在退款流程的未退款状态
            var returnCount = _database.Db.ReturnProductInfo.GetCount(_database.Db.ReturnProductInfo.ReturnOrderID != model.ReturnOrderID && _database.Db.ReturnProductInfo.OrderID == model.OrderID && (_database.Db.ReturnProductInfo.ReturnStatus == 1 || _database.Db.ReturnProductInfo.ReturnStatus == 2 || _database.Db.ReturnProductInfo.ReturnStatus == 4));

            //不存在,修改,存在不修改
            if (returnCount == 0)
            {
                _database.Db.Order.UpdateByOrderID(OrderID: model.OrderID, RefundFlag: 2);
            }
        }
        /// <summary>
        /// 审核退换货记录(通过)
        /// </summary>
        /// <param name="model">退货记录模型</param>
        /// <returns>是否修改成功</returns>
        /// wuyf
        public ResultModel UpdateReturnProductInfo(ReturnProductInfoModel model)
        {
            var result = new ResultModel()
            {
                Data = base._database.Db.ReturnProductInfo.UpdateByReturnOrderID(ReturnOrderID: model.ReturnOrderID, ReturnText: model.ReturnText, RefundAmount: model.RefundAmount, ReturnStatus: model.ReturnStatus, AuditUser: model.AuditUser, UpdateTime: model.UpdateTime)
            };

            result.IsValid = result.Data > 0 ? true : false;

            return(result);
        }
        /// <summary>
        /// 添加退换货记录
        /// zhoub 20150820
        /// </summary>
        /// <param name="model">退换货记录模型</param>
        /// <returns>是否成功</returns>
        public ResultModel AddReturnProductInfo(ReturnProductInfoModel model, int languageID)
        {
            ResultModel result   = new ResultModel();
            var         isReturn = _database.Db.OrderDetails.FindAllByOrderDetailsID(model.OrderDetailsID).Select(_database.Db.OrderDetails.IsReturn).ToScalarOrDefault();

            if (isReturn > 0)
            {
                result.IsValid  = false;
                result.Messages = new List <string> {
                    CultureHelper.GetAPPLangSgring("ACCOUNT_My_OrderReturnProductInfo_SaveErrorMessage", languageID) + "."
                };
            }
            else
            {
                isReturn = _database.Db.Order.FindAllByOrderID(model.OrderID).Select(_database.Db.Order.OrderStatus).ToScalarOrDefault();
                if (isReturn == 5)
                {
                    _database.Db.ReturnProductInfo.Insert(model);
                    result.Data = _database.Db.OrderDetails.UpdateByOrderDetailsID(OrderDetailsID: model.OrderDetailsID, IsReturn: 1);
                    if (result.Data > 0)
                    {
                        //修改订单退款状态
                        _database.Db.Order.UpdateByOrderID(OrderID: model.OrderID, RefundFlag: 1);
                        result.Messages = new List <string> {
                            CultureHelper.GetAPPLangSgring("MY_APPLICATION_HAS_BEEN_SUBMITTED", languageID) + "."
                        };
                    }
                    else
                    {
                        result.IsValid  = false;
                        result.Messages = new List <string> {
                            CultureHelper.GetAPPLangSgring("ACCOUNT_MY_ORDERRETURNPRODUCT_FAIL", languageID) + "."
                        };
                    }
                }
                else
                {
                    result.IsValid  = false;
                    result.Messages = new List <string> {
                        CultureHelper.GetAPPLangSgring("ACCOUNT_MY_ORDERRETURNPRODUCT_FAIL", languageID) + "."
                    };
                }
            }
            return(result);
        }
        /// <summary>
        /// Return_Goods加载数据
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Create(string id)
        {
            ReturnProductInfoModel model = new ReturnProductInfoModel();

            if (!string.IsNullOrEmpty(id))
            {
                //查询列表
                //List<Return_GoodsModel> result = this._return_GoodsService.GetReturn_GoodsById(id).Data;
                SearchReturnProductInfoModel model1 = new SearchReturnProductInfoModel();
                model1.ReturnOrderID = id;
                model1.PagedIndex    = 0;
                model1.PagedSize     = 100;
                var result = this._return_GoodsService.GetReturnProductInfoList(model1);
                List <ReturnProductInfoModel> ds = result.Data;
                if (ds != null && ds.Count > 0)
                {
                    model = ds[0];
                }
            }
            return(PartialView(model));
        }
        /// <summary>
        /// 用户申请撤消退换货记录
        /// zhoub 20150815
        /// </summary>
        /// <param name="model">退货记录模型</param>
        /// <returns>是否修改成功</returns>
        public ResultModel UndoReturnProductInfoBH(ReturnProductInfoModel model, int languageID)
        {
            var result = new ResultModel();
            var info   = _database.Db.ReturnProductInfo.FindAllByReturnOrderID(model.ReturnOrderID).ToList <ReturnProductInfoModel>();

            model.ReturnStatus   = 6;
            model.UpdateTime     = DateTime.Now;
            model.OrderID        = info[0].OrderID;
            model.OrderDetailsID = info[0].OrderDetailsID;
            if (info[0].ReturnStatus == 1 || info[0].ReturnStatus == 3)
            {
                using (var tx1 = _database.Db.BeginTransaction())
                {
                    try
                    {
                        //退款表 修改状态成(6)
                        tx1.ReturnProductInfo.UpdateByReturnOrderID(ReturnOrderID: model.ReturnOrderID, ReturnStatus: model.ReturnStatus, UpdateTime: model.UpdateTime);
                        //订单明细表 退货状态 改成 审核未通过(3)
                        tx1.OrderDetails.UpdateByOrderDetailsID(OrderDetailsID: model.OrderDetailsID, IsReturn: 3);
                        tx1.Commit();
                        IsStust(model);
                        result.Messages.Add(CultureHelper.GetAPPLangSgring("ACCOUNT_RIGHTS_INDEX_UNDOSUCCESS", languageID) + ".");
                    }
                    catch (Exception ex)
                    {
                        tx1.Rollback();
                        result.IsValid = false;
                        result.Messages.Add(CultureHelper.GetAPPLangSgring("ACCOUNT_RIGHTS_INDEX_UNDOERROR", languageID) + ".");
                    }
                }
            }
            else
            {
                result.IsValid = false;
                result.Messages.Add(CultureHelper.GetAPPLangSgring("ACCOUNT_RIGHTS_INDEX_UNDOERROR", languageID) + ".");
            }
            return(result);
        }
        /// <summary>
        /// 退换货记录(确认退款)
        /// </summary>
        /// <param name="model">退货记录模型</param>
        /// <returns>是否修改成功</returns>
        /// wuyf
        public ResultModel UpdateReturnProductInfoTK(ReturnProductInfoModel model)
        {
            //修改退货表 状态 5已退款
            //订单明细表 退货状态 改成 2已退款
            //订单表 退款标识 修改成 已处理
            //订单表 状态改成8交易关闭(需要判断订单明细表里的相关产品数据都是已经退款状态)
            //给退款用户的账户余额添加退款 费用

            var result = new ResultModel();

            #region 订单表 状态改成8交易关闭(需要判断订单明细表里的相关产品数据都是已经退款状态)
            var bl = true;//是否把当前订单的状态改成 8已关闭
            SearchReturnProductInfoModel srpm = new SearchReturnProductInfoModel();
            srpm.OrderID    = model.OrderID;
            srpm.PagedIndex = 0;
            srpm.PagedSize  = 100;
            //获取退换货记录和订单明细关联列表
            List <ReturnProductInfoModel> list = GetReturnProductInfoList(srpm).Data;// GetReturnProductInfoOrderDetailsList(srpm).Data;

            //订单明细
            List <OrderDetails> orderDetails = _database.Db.OrderDetails.FindAll(_database.Db.OrderDetails.OrderID == model.OrderID).ToList <OrderDetails>();
            //判断订单详情与退款记录条数是否一致(是一个订单多个商品,还是一个订单一个商品)
            var factoryCount = orderDetails.Count();

            //if (list.Count == factoryCount)
            //{
            //    if (list.Count == 1)
            //    {
            //        ReturnProductInfoModel rpmodel = list[0];//只有一条数据时,订单明细主键和退货数量跟明细数量相等,订单表的状态可以改为 8已关闭

            //        //该订单商品已退完
            //        if (rpmodel.OrderDetailsID == model.OrderDetailsID && rpmodel.ReturntNumber < rpmodel.Quantity)
            //        {
            //            bl = false;
            //        }
            //    }
            //    else
            //    {
            //        for (int i = 0; i < list.Count; i++)
            //        {
            //            ReturnProductInfoModel rpmodel1 = list[i];
            //            //ReturnProductInfoModel returndetail = returnList.Where(x => x.OrderDetailsID == detail.OrderDetailsID).FirstOrDefault();

            //            if ((rpmodel1.OrderDetailsID != model.OrderDetailsID && rpmodel1.IsReturn != 2) || (rpmodel1.OrderDetailsID == model.OrderDetailsID && rpmodel1.ReturntNumber < rpmodel1.Quantity))//状态 2 是已退款
            //            {
            //                //退出循环,不修改订单状态 为 8交易关闭
            //                //该订单还有为退款的商品
            //                bl = false; break;
            //            }
            //        }
            //    }
            //}
            //else
            //{
            //    bl = false;
            //}

            //zhoub 20160129 edit
            if (list.Count > 0)
            {
                //查找当前退款订单产品数量是否全部退完
                ReturnProductInfoModel rpim = list.FindAll(a => a.OrderDetailsID == model.OrderDetailsID).FirstOrDefault();
                if (rpim.ReturntNumber != rpim.Quantity)
                {
                    bl = false;
                }
                //判断之前退款是否有未确认退款或是产品未全部退完的
                for (int i = 0; i < list.Count; i++)
                {
                    ReturnProductInfoModel rpmodel = list[i];
                    if (rpmodel.OrderDetailsID != model.OrderDetailsID)
                    {
                        if (rpmodel.IsReturn != 2 || rpmodel.ReturntNumber != rpmodel.Quantity)
                        {
                            bl = false;
                            break;
                        }
                    }
                }
            }


            #endregion

            using (var tx1 = _database.Db.BeginTransaction())
            {
                try
                {
                    //退款表 修改状态成(5)
                    tx1.ReturnProductInfo.UpdateByReturnOrderID(ReturnOrderID: model.ReturnOrderID, RefundPerson: model.RefundPerson, ReturnStatus: model.ReturnStatus, RefundDate: model.RefundDate);
                    //订单明细表 退货状态 改成 2已退款
                    tx1.OrderDetails.UpdateByOrderDetailsID(OrderDetailsID: model.OrderDetailsID, IsReturn: 2);


                    if (bl)
                    {
                        //订单表 订单状态 修改成 8已关闭 (需要判断订单明细表里的相关产品数据都是已经退款状态)
                        tx1.Order.UpdateByOrderID(OrderID: model.OrderID, OrderStatus: 8);
                    }


                    #region 给用户账户充值金额,金额等于退款金额
                    srpm.ReturnOrderID = model.ReturnOrderID;
                    //根据退款主键查询退款单子
                    //List<ReturnProductInfoModel> list1 = GetReturnProductInfoList(srpm).Data;
                    //ReturnProductInfoModel rmodel = list[0];
                    ZJ_UserBalanceModel zjmodel = new ZJ_UserBalanceModel();
                    zjmodel.Account        = model.Account;
                    zjmodel.AddOrCutAmount = model.RefundAmount;
                    zjmodel.AddOrCutType   = 4;
                    zjmodel.CreateBy       = model.RefundPerson;
                    zjmodel.IsDisplay      = 1;
                    zjmodel.Phone          = model.Phone;
                    zjmodel.RealName       = model.RealName;
                    zjmodel.Remark         = "退货中的退款金额";
                    zjmodel.UserID         = model.UserID;
                    zjmodel.OrderNo        = model.OrderID;
                    UpdateZJ_UserBalance(zjmodel, tx1);
                    #endregion


                    tx1.Commit();
                    //订单表 退款标识 修改成 已处理(2)
                    //tx1.Order.UpdateByOrderID(OrderID: model.OrderID, RefundFlag: 2);
                    IsStust(model);
                }
                catch (Exception ex)
                {
                    tx1.Rollback();

                    result.IsValid = false;
                    result.Messages.Add(ex.Message);
                }
            }

            return(result);
        }
        /// <summary>
        /// 生成返现订单
        /// </summary>
        /// <returns></returns>
        public BackMessage GenerateList(OderModel model)
        {
            var result = new BackMessage();

            result.status = 0;
            ExceptionLogModel exceptionLogModel = new ExceptionLogModel();

            exceptionLogModel.ServiceName = "会员购物订单返现订单生成服务";
            exceptionLogModel.CreateBy    = "系统服务";
            List <OrderDetails> orderDetails = _database.Db.OrderDetails.FindAll(_database.Db.OrderDetails.OrderID == model.OrderID).ToList <OrderDetails>();
            int tuiCount = orderDetails.Count(x => x.IsReturn == 2);//是否有退款的订单明细

            //if (model.RefundFlag != 0)//存在退款
            //{
            //    orderDetails = orderDetails.FindAll(x => x.IsReturn == 3 || x.IsReturn == 0);
            //}
            //  orderDetails = orderDetails.FindAll(x => x.IsReturn == 3 || x.IsReturn == 0);
            if (orderDetails != null)
            {
                List <ZJ_RebateInfo> zj_detils = new List <ZJ_RebateInfo>();
                if (tuiCount == 0)
                {
                    foreach (OrderDetails detail in orderDetails)
                    {
                        //商品返现金额= 销售价 * 数量
                        decimal tmoney = detail.SalesPrice * detail.Quantity;
                        zj_detils.Add(FormartZJ_RebateInfo(tmoney, model, detail));
                    }
                }
                else
                {
                    List <ReturnProductInfoModel> returnList = GetReturnProductListByOrderId(model.OrderID);
                    foreach (OrderDetails detail in orderDetails)
                    {
                        // int yituiCount = returnList.Count(x => x.OrderDetailsID == detail.OrderDetailsID);
                        ReturnProductInfoModel returndetail = returnList.Where(x => x.OrderDetailsID == detail.OrderDetailsID).FirstOrDefault();
                        if (returndetail != null)
                        {
                            int num = detail.Quantity - returndetail.ReturntNumber;
                            if (num > 0)
                            {
                                decimal tmoney = detail.SalesPrice * num;                        //商品返现金额= 销售价 * 数量
                                zj_detils.Add(FormartZJ_RebateInfo(tmoney, model, detail));
                            }
                        }
                        else
                        {
                            //商品返现金额= 销售价 * 数量
                            decimal tmoney = detail.SalesPrice * detail.Quantity;
                            zj_detils.Add(FormartZJ_RebateInfo(tmoney, model, detail));
                        }
                    }
                }

                if (SetCashBackList(model, zj_detils))
                {
                    result.status = 1;
                }
            }
            else
            {
                exceptionLogModel.HandleId   = model.OrderID;
                exceptionLogModel.Status     = 1;
                exceptionLogModel.ResultType = 1;
                exceptionLogModel.Message    = string.Format("处理订单【{0}】的返现订单生成失败,获取订单详情失败", model.OrderID);
                exceptionLogService.Add(exceptionLogModel);
                _logger.Error(typeof(ZJ_RebateService), string.Format("处理订单【{0}】的返现订单生成失败,获取订单详情失败", model.OrderID));
            }
            return(result);
        }