/// <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.现金券已领完)); } } }
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))); } }
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))); } }
/// <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)); } }