Example #1
0
        /// <summary>
        /// 获取优惠券信息
        /// </summary>
        private void GetCouponInfo()
        {
            int    uid         = GetFormValue("userid", 0);
            int    cpid        = GetFormValue("cpid", 0);
            string requestSign = GetFormValue("sign", "");
            Dictionary <string, string> paramters = new Dictionary <string, string>();

            paramters.Add("userid", uid.ToString());
            paramters.Add("cpid", cpid.ToString());
            string currentSign = SignatureHelper.BuildSign(paramters, ConstConfig.SECRET_KEY);

            if (!requestSign.Equals(currentSign))
            {
                json = JsonHelper.JsonSerializer(new ResultModel(ApiStatusCode.未授权));
            }
            else
            {
                // CashCouponModel model = CouponLogic.GetModel(cpid, true);
                CashCouponLogModel model = CouponLogic.GetCashCouponLogIDByUserID(uid, cpid);
                if (model != null)
                {
                    Dictionary <string, object> data = new Dictionary <string, object>();
                    data["time"]   = model.StartTime.ToString("yyyy.MM.dd") + "-" + model.EndTime.ToString("yyyy.MM.dd");
                    data["money"]  = model.Money;
                    data["remark"] = model.Remark;
                    data["url"]    = "http://" + ctx.Request.Url.Host + string.Format("/app/getcoupon.html?userid={0}&cpid={1}&sign={2}", uid, cpid, currentSign);
                    json           = JsonHelper.JsonSerializer(new ResultModel(ApiStatusCode.OK, data));
                }
                else
                {
                    json = JsonHelper.JsonSerializer(new ResultModel(ApiStatusCode.现金券已领完));
                }
            }
        }
Example #2
0
        public ActionResult SendCashCoupon(int couponId, int toUserId = 0)
        {
            try
            {
                var user = GetUserData();

                if (CouponLogic.IsSendCouponByUserId(user.UserId, couponId))
                {
                    return(Json(new ResultModel(ApiStatusCode.您已转发)));
                }

                bool flag = CouponLogic.AddSendCoupon(user.UserId, user.UserIdentity, toUserId, couponId);
                if (flag)
                {
                    return(Json(new ResultModel(ApiStatusCode.OK, "转发成功")));
                }
                else
                {
                    return(Json(new ResultModel(ApiStatusCode.SERVICEERROR)));
                }
            }
            catch (Exception ex)
            {
                LogHelper.Log(string.Format("MyCashCouponList user:message:{0},StackTrace:{1}", ex.Message, ex.StackTrace), LogHelperTag.ERROR);
                return(Json(new ResultModel(ApiStatusCode.SERVICEERROR)));
            }
        }
Example #3
0
        public ActionResult SendAllyCashCoupon(int couponId, string ids)
        {
            try
            {
                var      user      = GetUserData();
                string[] TargetIds = null;


                if (CouponLogic.IsSendCouponByUserId(user.UserId, couponId))
                {
                    return(Json(new ResultModel(ApiStatusCode.您已转发)));
                }

                //如果是盟主身份,则需要判断发送目标
                if (user.UserIdentity == 1 && !string.IsNullOrEmpty(ids))
                {
                    if (string.IsNullOrEmpty(ids))
                    {
                        return(Json(new ResultModel(ApiStatusCode.缺少发送目标)));
                    }

                    TargetIds = ids.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
                    if (TargetIds.Length <= 0)
                    {
                        return(Json(new ResultModel(ApiStatusCode.缺少发送目标)));
                    }


                    bool flag = CouponLogic.AddSendAllyCoupon(user.UserId, couponId, TargetIds);
                    if (flag)
                    {
                        return(Json(new ResultModel(ApiStatusCode.OK, "转发成功")));
                    }
                    else
                    {
                        return(Json(new ResultModel(ApiStatusCode.SERVICEERROR)));
                    }
                }
                else
                {
                    return(Json(new ResultModel(ApiStatusCode.SERVICEERROR)));
                }
            }
            catch (Exception ex)
            {
                LogHelper.Log(string.Format("SendAllyCashCoupon user:message:{0},StackTrace:{1}", ex.Message, ex.StackTrace), LogHelperTag.ERROR);
                return(Json(new ResultModel(ApiStatusCode.SERVICEERROR)));
            }
        }
Example #4
0
        /// <summary>
        /// 领取优惠券
        /// </summary>
        private void CouponGet()
        {
            try
            {
                int    uid         = GetFormValue("userid", 0);
                int    cpid        = GetFormValue("cpid", 0);
                string username    = GetFormValue("username", "");
                string usermobile  = GetFormValue("usermobile", "");
                string requestSign = GetFormValue("sign", "");

                Dictionary <string, string> paramters = new Dictionary <string, string>();
                paramters.Add("userid", uid.ToString());
                paramters.Add("cpid", cpid.ToString());
                string currentSign = SignatureHelper.BuildSign(paramters, ConstConfig.SECRET_KEY);
                if (!requestSign.Equals(currentSign))
                {
                    json = JsonHelper.JsonSerializer(new ResultModel(ApiStatusCode.未授权));
                }
                else
                {
                    if (!RegexHelper.IsValidMobileNo(usermobile))
                    {
                        json = JsonHelper.JsonSerializer(new ResultModel(ApiStatusCode.无效手机号));
                        return;
                    }

                    //
                    lock (objCouponGetLocked)
                    {
                        CashCouponLogModel logModel = CouponLogic.GetCashCouponLogIDByUserID(uid, cpid);
                        if (logModel != null)
                        {
                            using (TransactionScope scope = new TransactionScope())
                            {
                                bool flag = CouponLogic.UpdateUserCashCouponGetLog(new CashCouponLogModel()
                                {
                                    UserId = uid,
                                    ID     = logModel.ID,
                                    Name   = username,
                                    Mobile = usermobile
                                });
                                if (flag)
                                {
                                    Dictionary <string, object> dict = new Dictionary <string, object>();
                                    dict["couponNo"] = logModel.CouponNo;
                                    json             = JsonHelper.JsonSerializer(new ResultModel(ApiStatusCode.OK, dict));

                                    CouponLogic.DeleteUserCashCoupon(logModel.CouponNo, logModel.CouponId, uid);
                                    var user = UserLogic.GetModel(uid);
                                    if (user != null)
                                    {
                                        CashCouponModel model = CouponLogic.GetModel(cpid, true);
                                        //添加优惠券领取操作日志
                                        LogLogic.AddCouponLog(new LogBaseModel()
                                        {
                                            objId         = model.CouponId,
                                            UserId        = user.UserId,
                                            ShopId        = logModel.ShopId,
                                            OperationType = 1,//0创建 1领取 2使用
                                            Money         = logModel.Money
                                        });
                                    }

                                    try
                                    {
                                        var shopData = ShopLogic.GetShopModel(logModel.ShopId);
                                        if (shopData != null)
                                        {
                                            string errmsg  = "";
                                            string content = string.Format("您收到一张新的{0}元现金券,现金券使用码:{1},您可在{2}前到门店消费使用。门店地址:{3}",
                                                                           logModel.Money,
                                                                           logModel.CouponNo,
                                                                           logModel.StartTime.ToString("yyyy.MM.dd") + "-" + logModel.EndTime.ToString("yyyy.MM.dd"),
                                                                           shopData.ShopProv + shopData.ShopCity + shopData.ShopAddress + shopData.ShopName
                                                                           );
                                            if (!string.IsNullOrEmpty(usermobile) && RegexHelper.IsValidMobileNo(usermobile))
                                            {
                                                SmsLogic.send(1, usermobile, content, out errmsg);
                                            }
                                        }
                                    }
                                    catch (Exception ex)
                                    {
                                        LogHelper.Log(string.Format("Message:{0},StackTrace:{1}", ex.Message, ex.StackTrace), LogHelperTag.ERROR);
                                    }
                                }
                                else
                                {
                                    json = JsonHelper.JsonSerializer(new ResultModel(ApiStatusCode.SERVICEERROR));
                                }

                                scope.Complete();
                            }
                        }
                        else
                        {
                            json = JsonHelper.JsonSerializer(new ResultModel(ApiStatusCode.现金券已领完));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.Log(string.Format("Message:{0},StackTrace:{1}", ex.Message, ex.StackTrace), LogHelperTag.ERROR);
                json = JsonHelper.JsonSerializer(new ResultModel(ApiStatusCode.SERVICEERROR));
            }
        }