/// <summary> /// 生成优惠券编码 /// </summary> /// <param name="couponModel"></param> /// <param name="preName"></param> /// <returns>优惠券编码</returns> private string CreateCouponCode(T_Order_CouponList couponModel, string preName) { //生成编码 判断是否重复 string strCouponCode = ""; for (int i = 0; i < 10; i++) { strCouponCode = CreateCode(preName); if (CreateCouponToRedisSet(strCouponCode, i == 0)) { break; } strCouponCode = ""; } if (!string.IsNullOrEmpty(strCouponCode)) { couponModel.couponId = strCouponCode; if (_orderCouponList.Insert(couponModel)) { return(strCouponCode); } else { RemoveCouponCode(strCouponCode); } } return(null); }
public ResponseModel CreateCoupon(T_Order_CouponList couponModel, string preName) { string strCouponCode = CreateCouponCode(couponModel, preName); couponModel.couponId = strCouponCode; bool isFail = string.IsNullOrEmpty(strCouponCode); return(new ResponseModel { Code = isFail ? (int)ErrorCodeEnum.CreateCouponFail : (int)ErrorCodeEnum.Success, Data = couponModel }); }
public ResponseModel GetMobileIndexMaterialGoodsList(int id) { var userContext = GetUserContext(); MaterialCouponInfo coupinInfo = GetMaterialCouponInfo(id, userContext.AccId); if (coupinInfo.IsCanReceive) { T_Order_CouponList couponModel = new T_Order_CouponList { groupId = coupinInfo.GroupId, couponId = "", couponValue = coupinInfo.CouponMoney, couponStatus = (int)OrderCouponEnum.CouponStatus.Bound, createDate = DateTime.Now, endDate = coupinInfo.EndTime, receiveDate = DateTime.Now, toAccId = userContext.AccId, remark = "硬件商城用户自助领取", bindWay = (int)OrderCouponEnum.CouponBindWay.UserBind, flag = "硬件商城用户自助领取" }; string preName = "LJ"; var model = _orderCouponService.CreateCoupon(couponModel, preName); if (model.Code == (int)ErrorCodeEnum.Success) { _orderCouponService.HadReceivedDailyMaterialCoupon(userContext.AccId, coupinInfo.GroupId, coupinInfo.EndTimeSeconds); } return(model); } else { return(Fail(ErrorCodeEnum.RecievedCoupon)); } //return _orderCouponService.GetMobileIndexMaterialGoodsList(); }