public ActionResult CooperationCheck(string id)
        {
            Cooperation cooper = new CooperationService().GetCooperationByWhere(a => a.Id.Equals(id) && a.IsDeleted != 1);

            if (cooper != null)
            {
                var customer = new FCake.Bll.CustomersService().GetById(cooper.CustomerId);
                cooper.CustomerId = customer.Mobile;
                return(View(cooper));
            }
            return(View());
        }
        /// <summary>
        /// 创建优惠券
        /// </summary>
        /// <param name="coupons">优惠券实体</param>
        /// <returns>成功或失败,失败信息</returns>
        public OpResult CreateCoupons(Coupons coupons)
        {
            OpResult result = new OpResult()
            {
                Successed = false
            };
            bool isEdit = false;

            try
            {
                if (coupons.Id == null)
                {
                    //id为空 添加id
                    coupons.Id          = CommonRules.GUID;
                    coupons.CouponBatch = CommonRules.CommonNoRules("couponbatch");
                }
                else
                {
                    isEdit = true;
                }

                //如果优惠券是要生成的则执行生成的代码
                if (coupons.Status == 1)
                {
                    if (coupons.GiveWay == 1)
                    {
                        //hstodo:检查短信条数
                        //if (coupons.IsSendSMS == 1 && coupons.DistributingType == 0)
                        //{
                        //    int SMSBalance = 0;
                        //    var SMSBalanceStr = EChiHelper.GetBalance_Normal();
                        //    if (!string.IsNullOrEmpty(SMSBalanceStr))
                        //    {
                        //        try
                        //        {
                        //            SMSBalance = int.Parse(SMSBalanceStr);
                        //        }
                        //        catch (Exception ex)
                        //        {
                        //            return OpResult.Fail("对不起,查询短信余额时发生错误,错误:" + SMSBalanceStr);
                        //        }
                        //        if (SMSBalance < coupons.Quantity)
                        //        {
                        //            return OpResult.Fail(string.Format("对不起,需要发送短信{0}条,短信余额剩余{1}条,短信余额不足,请充值。", coupons.Quantity, SMSBalance));
                        //        }
                        //    }
                        //}
                        Random _random = new Random();
                        switch (coupons.GivenObjectType)
                        {
                        case 1:    //1的时候是所有用户都加入数据
                            List <Customers> datas = new FCake.Bll.CustomersService().GetCustomerByWhere(a => a.IsDeleted != 1);
                            coupons.Quantity = datas.Count();
                            foreach (var item in datas)
                            {
                                CreateCouponsDetail(coupons, item, _random);
                            }
                            break;

                        case 2:    //2的时候按会员等级来
                            List <Customers> customers = new FCake.Bll.CustomersService().GetCustomerByWhere(a => coupons.GivenObjectIds.Contains(a.MemberLevelValue.ToString()));
                            coupons.Quantity = customers.Count();
                            foreach (var item in customers)
                            {
                                CreateCouponsDetail(coupons, item, _random);
                            }
                            break;

                        case 3:    //3的时候按指定用户来
                            List <Customers> customer = new FCake.Bll.CustomersService().GetCustomerByWhere(a => coupons.GivenObjectIds.Contains(a.Id));
                            if (coupons.DistributingType == 1)
                            {
                                var cu = customer.FirstOrDefault();
                                if (cu != null)
                                {
                                    for (var i = 0; i < coupons.Quantity; i++)
                                    {
                                        CreateCouponsDetail(coupons, cu, _random);
                                    }
                                }
                            }
                            else
                            {
                                coupons.Quantity = customer.Count();
                                foreach (var item in customer)
                                {
                                    CreateCouponsDetail(coupons, item, _random);
                                }
                            }
                            break;
                        }
                    }
                    else
                    {
                        var    createCount = coupons.Quantity;
                        Random _random     = new Random();
                        //不绑定客户生成优惠券
                        for (int i = 0; i < createCount; i++)
                        {
                            CouponDetail couponDetail = new CouponDetail()
                            {
                                Id = CommonRules.GUID
                            };
                            couponDetail.CouponId = coupons.Id;                         //  优惠券id
                            couponDetail.CouponSN = CommonRules.CouponsNo(12, _random); //优惠券号
                            //查询重复
                            var data = _context.CouponDetails.SingleOrDefault(p => p.CouponSN.Equals(couponDetail.CouponSN) && p.IsDeleted != 1);
                            if (data != null)
                            {
                                createCount++;
                                continue;
                            }
                            //couponDetail.MemberId = customers.Id;
                            couponDetail.UseState       = 0; //生成状态
                            couponDetail.Title          = coupons.Title;
                            couponDetail.CouponBatch    = coupons.CouponBatch;
                            couponDetail.Denomination   = coupons.Denomination;
                            couponDetail.SalesMoney     = coupons.SalesMoney;
                            couponDetail.ConditionMoney = coupons.ConditionMoney;
                            couponDetail.BeginValidDate = coupons.BeginValidDate;
                            couponDetail.EndValidDate   = coupons.EndValidDate;
                            couponDetail.CreatedOn      = DateTime.Now;
                            couponDetail.CreatedBy      = coupons.CreatedBy;
                            couponDetail.IsDeleted      = 0;
                            _context.CouponDetails.Add(couponDetail);
                        }
                    }
                }
                if (!isEdit)
                {
                    _context.Coupons.Add(coupons);
                }
                else
                {
                    var cdata = _context.Coupons.SingleOrDefault(p => p.Id.Equals(coupons.Id) && p.IsDeleted != 1);
                    if (cdata != null)
                    {
                        cdata.CopyProperty(coupons);
                        cdata.ModifiedOn = DateTime.Now;
                    }
                }
                if (_context.SaveChanges() > 0)
                {
                    result.Successed = true;
                    result.Message   = "创建优惠券成功!";
                    result.Code      = coupons.Quantity.ToString();

                    #region 发送短信

                    if (coupons.IsSendSMS == 1 && coupons.Status == 1)
                    {
                        List <string> mobileList = new List <string>();
                        mobileList = GetMobileListByCouponId(coupons.Id);
                        //将需要发送短信的号码加入result.Data中,导出Excel手动发送
                        result.Data = mobileList;
                    }
                    #endregion
                }
                else
                {
                    result.Message = "创建优惠券失败!";
                }
            }
            catch (Exception e)
            {
                result.Message = "创建优惠券发生异常!";
            }
            return(result);
        }