/// <summary> /// 描述:生成奖学金券 /// <para>作 者:瞿琦</para> /// <para>创建时间:2018-11-2</para> /// </summary> /// <returns>生成的校长奖学金信息</returns> /// <exception cref="AMS.Core.BussinessException"> /// 异常ID:4, 异常描述:添加校长奖学金失败 /// 异常ID:5, 异常描述:优惠券号重复 /// </exception> public async Task <CouponResponse> CreateCoupon(CouponAmountRequest dto) { var couponNo = CreateCouponNo.GetCouponCode(); if (_tblDctCouponRepository.Value.GetCouponNoByCouponInfo(this._schoolId, couponNo) != null) { throw new BussinessException(ModelType.Discount, 5); } var entity = new TblDctCoupon() { CouponId = IdGenerator.NextId(), SchoolId = _schoolId, CouponNo = couponNo, CouponType = (int)CouponType.HeadmasterBonus, Amount = dto.Amount, Status = (int)Dto.Enum.CouponStatus.NoUse, ExpireTime = DateTime.Now.AddMonths(6), EnrollOrderId = 0, IsFreeAll = dto.IsFreeAll, StudentId = 0, UseTime = null, CreateTime = DateTime.Now, FromId = 0, Remark = string.Empty, CreatorId = dto.CreatorId }; var flag = await _tblDctCouponRepository.Value.AddTask(entity); if (!flag) { throw new BussinessException(ModelType.Discount, 4); } var result = Mapper.Map <CouponResponse>(entity); OrgService orgService = new OrgService(); var schoolList = orgService.GetAllSchoolList().FirstOrDefault(x => x.SchoolId.Trim() == _schoolId.Trim()); result.SchoolName = schoolList == null ? "" : schoolList.SchoolName; return(result); }
/// <summary> /// 描述:添加优惠券信息 /// <para>作 者:瞿琦</para> /// <para>创建时间: 2018-11-2</para> /// </summary> /// <param name="couponRuleEntity">赠与奖学金信息</param> /// <param name="studentId">学生Id</param> /// <param name="couponType">优惠券类型</param> /// <param name="enrollOrderId">来源订单Id</param> /// <param name="couponStatus">优惠券状态</param> /// <param name="tblDctCouponRepository">优惠券表仓储</param> /// <returns>优惠券Id</returns> /// <exception cref="AMS.Core.BussinessException"> /// 异常ID:8, 异常描述:添加优惠券失败 /// </exception> private async Task <long> AddCouponInfo(TblDctCouponRule couponRuleEntity, long studentId, CouponType couponType, long enrollOrderId, Dto.Enum.CouponStatus couponStatus, TblDctCouponRepository tblDctCouponRepository) { try { var recommendEntity = new TblDctCoupon { CouponId = IdGenerator.NextId(), SchoolId = _schoolId, CouponNo = CreateCouponNo.GetCouponCode(), CouponType = (int)couponType, Amount = couponRuleEntity.CouponAmount, Status = (int)couponStatus, ExpireTime = DateTime.Now.AddMonths(6), StudentId = studentId, UseTime = couponStatus == Dto.Enum.CouponStatus.HasUse ? DateTime.Now : (DateTime?)null, CreateTime = DateTime.Now, FromId = couponRuleEntity.CouponRuleId, EnrollOrderId = enrollOrderId, Remark = couponRuleEntity.Remark, IsFreeAll = false, CreatorId = base.CurrentUserId, }; var flag = await tblDctCouponRepository.AddTask(recommendEntity); if (flag) { return(recommendEntity.CouponId); } } catch (Exception ex) { Console.WriteLine(ex); throw; } throw new BussinessException(ModelType.Discount, 8); }