//http://localhost:10010//api/Message/BangMessageCode?phone=18235139350&verificationCode=232232&userCode=121ewe&birthday='yyyy-mm-dd' public IHttpActionResult BangMessageCode(string phone, string verificationCode, string userCode, string storeCode, string birthday, string recommendedPhone = null) { LogHelper.WriteLog("BangMessageCode phone" + phone); LogHelper.WriteLog("BangMessageCode verificationCode" + verificationCode); LogHelper.WriteLog("BangMessageCode userCode" + userCode); LogHelper.WriteLog("BangMessageCode storeCode" + storeCode); LogHelper.WriteLog("BangMessageCode birthday" + birthday); LogHelper.WriteLog("BangMessageCode recommendedPhone" + recommendedPhone); IStoreService storeService = new StoreService(); ICouponService _service = new CouponService(); IUserInfo _userservice = new UserInfo(); ICouponTypeService _couponTypeservice = new CouponTypeService(); IUserTaskService _userTaskservice = new UserTaskService(); IUserStoreService userStoreService = new UserStoreService(); SimpleResult result = new SimpleResult(); try { if (UserAuthorization) { if (verificationService.CheckVerification(phone, verificationCode)) { DateTime birthdaydate = new DateTime(); if (DateTime.TryParse(birthday, out birthdaydate)) { var store = storeService.GetStore(storeCode); if (store != null) { var use = userInfo.GetUserByCode(userCode); if (use != null) { var userStore = userStoreService.GetUserStorebyUserCode(userCode); if (userStore != null) { var recouser = _userservice.GetUserByphone(recommendedPhone, store.StoreCode); //判断是不是已经领够了2次 if (recouser != null && recouser.IsMember) { if (_service.checkCoupon(recouser.Code, "2")) { var couponType = _couponTypeservice.GetCouponTypeByIsGivedType("2"); if (couponType != null) { Coupon coupon = new Coupon(); coupon.CouponCode = Guid.NewGuid().ToString(); coupon.UserCode = recouser.Code; coupon.CouponTypeCode = couponType.CouponTypeCode; coupon.StratTime = DateTime.Now; coupon.VersionEndTime = DateTime.MaxValue; coupon.IsGiveed = true; coupon.CouponUseCode = Str(10, true); //没有添加任务优惠券 var re = _service.Insert(coupon); //更改任务状态 var userTask = _userTaskservice.GetUserTaskList(recouser.Code); var ut = userTask.Where(u => u.TaskCode == "2").FirstOrDefault(); ut.IsComplete = true; _userTaskservice.UpdateUserTask(ut.UserTaskCode, 1); result.Resource = re; result.Status = Result.SUCCEED; } else { result.Resource = "好友赠送任务已经结束"; result.Status = Result.SYSTEM_ERROR; } } } //添加赠送本人 if (_service.checkCoupon(userCode, "1")) { var couponType = _couponTypeservice.GetCouponTypeByIsGivedType("1"); if (couponType != null) { Coupon coupon = new Coupon(); coupon.CouponCode = Guid.NewGuid().ToString(); coupon.UserCode = userCode; coupon.CouponTypeCode = couponType.CouponTypeCode; coupon.StratTime = DateTime.Now; coupon.VersionEndTime = DateTime.MaxValue; coupon.IsGiveed = true; coupon.CouponUseCode = Str(10, true); //没有添加任务优惠券 var re = _service.Insert(coupon); //更改任务状态 //更改任务状态 var userTask = _userTaskservice.GetUserTaskList(userCode); var ut = userTask.Where(u => u.TaskCode == "1").FirstOrDefault(); ut.IsComplete = true; _userTaskservice.UpdateUserTask(ut.UserTaskCode, 1); result.Resource = re; result.Status = Result.SUCCEED; } } var cardId = ConfigurationManager.AppSettings["cardId"].ToString(); var card = getcardlist(store.accessToken, userStore.OpenID, cardId); if (card != null && card.FirstOrDefault()?.code != null) { var code = card.FirstOrDefault()?.code; var cardstatus = getcardstatus(store.accessToken, code, cardId); if (cardstatus.user_card_status.Equals("NORMAL")) { var count = userInfo.UpdateByuserCodePhone(userCode, phone, birthdaydate, code); if (count > 0) { result.Status = Result.SUCCEED; } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "当前用户绑定手机号失败"; } } else { var wxc = Common.GetCardExt(store, userCode); if (wxc != null) { //写入到手机号和和数据库 var count = userInfo.UpdateByPhone(userCode, phone, birthdaydate, wxc.cardExt.code, recommendedPhone); if (count > 0) { result.Status = Result.SUCCEED; LogHelper.WriteLog("BangMessageCode :" + result.Status); LogHelper.WriteLog("wxc :" + wxc); LogHelper.WriteLog("code :" + wxc.cardExt.code); result.Resource = wxc; } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "获取配置失败重新获取"; } } else { result.Status = Result.USER_AUTH_ERROR; result.Msg = "获取配置失败重新获取"; } } } else { var wxc = Common.GetCardExt(store, userCode); if (wxc != null) { //写入到手机号和和数据库 var count = userInfo.UpdateByPhone(userCode, phone, birthdaydate, wxc.cardExt.code, recommendedPhone); if (count > 0) { result.Status = Result.SUCCEED; LogHelper.WriteLog("BangMessageCode :" + result.Status); LogHelper.WriteLog("wxc :" + wxc); LogHelper.WriteLog("code :" + wxc.cardExt.code); result.Resource = wxc; } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "获取配置失败重新获取"; } } else { result.Status = Result.USER_AUTH_ERROR; result.Msg = "获取配置失败重新获取"; } } } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "当前用户不存在"; } } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "当前用户不存在"; } } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "店铺不存在"; } } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "选择生日有误"; } } else { result.Status = Result.SYSTEM_ERROR; result.Msg = "验证码错误或者已经过期,请重新获取验证码。"; } } else { result.Status = ResultType; result.Resource = ReAccessToken; result.Msg = TokenMessage; } } catch (Exception ex) { LogHelper.WriteLog("BangMessageCode:", ex); result.Status = Result.FAILURE; result.Msg = ex.Message; } LogHelper.WriteLog("BangMessageCode result" + Json(result)); return(Json(result)); }