Пример #1
0
 public ActionResult ManageMember(Member model)
 {
     if (ModelState.IsValid)
     {
         string ID = MemberServiceProxy.CreateMember(model);
     }
     else
     {
         return(View());
     }
     return(RedirectToAction("Index"));
 }
        /// <summary>
        /// 作废优惠券
        /// </summary>
        /// <returns></returns>
        private async Task <bool> InvalidatedPromotion()
        {
            var result = true;
            var userCreatePromotionTask = await _gfDal.SelectGFBankPromotionTaskByMobile(_task.Mobile);

            var taskPromotionIds = userCreatePromotionTask.Where(s => string.Equals(s.BusinessType, nameof(GFBusinessType.Activate)))
                                   .FirstOrDefault(s => s.RuleGuid == _task.RuleGuid)?.PromotionIds;

            if (!string.IsNullOrWhiteSpace(taskPromotionIds))
            {
                var promotionIdList = taskPromotionIds.Split(',');
                var success         = true;
                foreach (var promotionId in promotionIdList)
                {
                    var promotion = await MemberServiceProxy.FetchPromotionByPromotionCode(promotionId);

                    if (promotion != null)
                    {
                        if (promotion.Status == 0)
                        {
                            var updateRequest = new UpdateUserPromotionCodeStatusRequest()
                            {
                                UserID          = _task.UserId,
                                PromotionCodeId = Convert.ToInt32(promotionId),
                                Status          = 2,
                                Channel         = _promotionchannel,
                                OperationAuthor = "GuangFa"
                            };
                            var updateResult = await MemberServiceProxy.UpdateUserPromotionCodeStatus(updateRequest);

                            if (!updateResult)
                            {
                                success = false;
                                JobLogger.GFLogger.Warn($"作废优惠券失败,promotionId:{promotionId},task:{this.ToString()}");
                                EmailHelper.SendEmail($"广发联名卡Job警告", $"作废优惠券失败,promotionId:{promotionId},task:{this.ToString()}");
                                break;
                            }
                        }
                        else if (promotion.Status == 1)
                        {
                            JobLogger.GFLogger.Warn($"广发需要作废的优惠券已经使用,promotionId:{promotionId}");
                            EmailHelper.SendEmail($"广发联名卡Job警告", $"广发需要作废的优惠券已经使用,promotionId:{promotionId}");
                        }
                    }
                }
                result = success;
            }

            return(result);
        }
        /// <summary>
        /// 发放优惠券
        /// </summary>
        /// <returns></returns>
        private async Task <bool> CreatePromotion()
        {
            var result = false;
            var createPromotionModel = Enumerable.Range(0, _promotionCount).Select(i => new CreatePromotionModel
            {
                Author      = _task.Mobile,
                Channel     = "GFBankCardJob",
                GetRuleGUID = _task.RuleGuid,
                UserID      = _task.UserId,
                Operation   = "广发联名卡用户发券",
                Issuer      = "GFBankCard",
            });
            var gantPromotionResult = await MemberServiceProxy.CreatePromotions(createPromotionModel);

            if (gantPromotionResult != null && gantPromotionResult.IsSuccess && gantPromotionResult.promotionIds != null && gantPromotionResult.promotionIds.Any())
            {
                await _gfDal.UpdateGFBankPromotionTaskPromotionIds(_task.PKID, string.Join(",", gantPromotionResult.promotionIds));

                result = true;
            }

            return(result);
        }
Пример #4
0
        public ActionResult Index()
        {
            List <Member> MemberList = MemberServiceProxy.GetMemberList();

            return(View(MemberList));
        }