/// <summary>
        /// 描述:添加转介绍优惠券,并修改优惠券的状态
        /// <para>作    者:瞿琦</para>
        /// <para>创建时间:2019-1-10</para>
        /// </summary>
        /// <param name="useCouponList">已使用的优惠券信息集合</param>
        /// <param name="enrollStudentId">报名学生Id</param>
        /// <param name="recommendStudentId">转介绍人Id(没有转介绍时为空)</param>
        /// <param name="recommendCouponRuleId">转介绍的规则Id(没有勾选时传空)</param>
        /// <param name="enrollOrderId">订单表主键</param>
        /// <param name="tblDctCouponRepository">优惠券表仓储</param>
        /// <param name="tblDctCouponRuleRepository">优惠信息规则表仓储</param>
        /// <returns>已使用的转介绍优惠券集合</returns>
        /// <exception cref="AMS.Core.BussinessException">
        /// 异常ID:15, 异常描述:该转介绍奖学金信息不存在
        /// </exception>
        private List <CouponGenerateResponse> OperationRecommendCoupon(List <CouponGenerateResponse> useCouponList, long enrollStudentId, long?recommendStudentId, long?recommendCouponRuleId, long enrollOrderId, TblDctCouponRepository tblDctCouponRepository, TblDctCouponRuleRepository tblDctCouponRuleRepository)
        {
            if (recommendStudentId.HasValue && recommendStudentId > 0)   //介绍人不为空时才有转介绍优惠
            {
                var couponRuleService = new CouponRuleService(this._schoolId);
                TblDctCouponRule recommendRuleModel;
                if (recommendCouponRuleId.HasValue && recommendCouponRuleId > 0)  //如果报名页面勾选转介绍 ,则根据id查询转介绍信息
                {
                    recommendRuleModel = couponRuleService.GetCouponRuleIdByRuleList(recommendCouponRuleId.Value);
                    if (recommendRuleModel == null)
                    {
                        throw new BussinessException(ModelType.Discount, 15);
                    }
                }
                else //如果报名页面没有勾选转介绍 ,则获取本校区转介绍最新优惠信息
                {
                    recommendRuleModel = couponRuleService.GetTblDctCouponRuleInfo();
                }

                if (recommendRuleModel != null)                                                                                                                                                  //为空代表没有转介绍优惠,有转介绍的话则添加两张优惠券
                {
                    var enrollStuCouponId = AddCouponInfo(recommendRuleModel, enrollStudentId, CouponType.Recommend, enrollOrderId, Dto.Enum.CouponStatus.NoUse, tblDctCouponRepository).Result; //同时添加2张优惠券
                    AddCouponInfo(recommendRuleModel, recommendStudentId.Value, CouponType.Recommend, enrollOrderId, Dto.Enum.CouponStatus.NoUse, tblDctCouponRepository).Wait();

                    recommendRuleModel.UseQuota = recommendRuleModel.UseQuota + 2;
                    tblDctCouponRuleRepository.Update(recommendRuleModel);   //修改使用人数

                    LogWriter.Write(this, "测试转介绍:" + recommendCouponRuleId);
                    if (recommendCouponRuleId.HasValue && recommendCouponRuleId > 0)                                                          //转介绍规则Id不为空,则使用该优惠券
                    {
                        tblDctCouponRepository.UpdateCouponAsync(enrollStuCouponId, Dto.Enum.CouponStatus.HasUse, DateTime.Now, null).Wait(); //将当前报名学生的优惠券使用掉 修改优惠券状态
                        var recommendRuleEntity = new CouponGenerateResponse
                        {
                            CouponId         = enrollStuCouponId,
                            CouponRuleAmount = recommendRuleModel.CouponAmount,
                            CouponType       = CouponType.Recommend
                        };
                        useCouponList.Add(recommendRuleEntity);
                    }
                }
            }
            return(useCouponList);
        }