Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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();
        }