Exemplo n.º 1
0
        public async Task <JsonResult> AuditUserActivityStatusByPKID(int pkid, Guid activityId, Service.Activity.Enum.AuditStatus status, string remark)
        {
            if (pkid <= 0 || activityId == Guid.Empty || status != Service.Activity.Enum.AuditStatus.NotPassed && status != Service.Activity.Enum.AuditStatus.Passed)
            {
                return(AjaxHelper.MvcJsonResult(HttpStatusCode.BadRequest, "参数不完整"));
            }
            string sendText;
            var    userActivity = new UserApplyActivityModel
            {
                PKID   = pkid,
                Remark = remark,
                Status = status
            };

            if (status == Service.Activity.Enum.AuditStatus.Passed)
            {
                using (var client = new ActivityClient())
                {
                    var activity = await client.GetActivityModelByActivityIdAsync(activityId);

                    if (activity.Success)
                    {
                        if (!await CheckApplyUserCountAsync(activityId, activity.Result.Quota))
                        {
                            return(AjaxHelper.MvcJsonResult(HttpStatusCode.Accepted, "活动审核通过人数已满"));
                        }
                    }
                    else
                    {
                        return(AjaxHelper.MvcJsonResult(HttpStatusCode.BadGateway, "服务器内部错误"));
                    }
                }
                var serviceCode = Guid.NewGuid();
                sendText = serviceCode.ToString();
                userActivity.ServiceCode = serviceCode;
            }
            else
            {
                sendText = $"抱歉,您报名途虎免费洗车活动审核未通过。备注:{remark}";
            }
            using (var activityClient = new ActivityClient())
            {
                var result = await activityClient.UpdateUserActivityStatusByPKIDAsync(userActivity);

                if (result.Success && result.Result)
                {
                    //短信发送服务码
                    var ua = await activityClient.GetUserApplyActivityByPKIDAsync(pkid);

                    if (ua.Success)
                    {
                        using (var client = new Service.Utility.SmsClient())
                        {
                            var sendResult = client.SendSms(ua.Result.Mobile, 138, sendText);
                            if (sendResult.Success)
                            {
                                return(AjaxHelper.MvcJsonResult(HttpStatusCode.OK, "审核成功"));
                            }
                        }
                    }
                    return(AjaxHelper.MvcJsonResult(HttpStatusCode.OK, "审核成功,但短信发送失败。"));
                }
            }
            return(AjaxHelper.MvcJsonResult(HttpStatusCode.BadGateway, "审核失败"));
        }
Exemplo n.º 2
0
        public async Task <JsonResult> UserApplyActivity(UserApplyActivityModel userActivityModel, string userName)
        {
            if (userActivityModel.ActivityId == Guid.Empty || string.IsNullOrWhiteSpace(userActivityModel.Mobile) || string.IsNullOrWhiteSpace(userActivityModel.CarNum) || string.IsNullOrWhiteSpace(userActivityModel.DriverNum))
            {
                return(AjaxHelper.MvcJsonResult(HttpStatusCode.BadRequest, "缺少必要参数"));
            }
            userActivityModel.UserName = userName;
            using (var activityClient = new ActivityClient())
            {
                //检查活动是否开始
                var activityModel = await activityClient.GetActivityModelByActivityIdAsync(userActivityModel.ActivityId);

                if (activityModel.Success)
                {
                    if (activityModel.Result.StartTime > DateTime.Now.Date)
                    {
                        return(AjaxHelper.MvcJsonResult(HttpStatusCode.Accepted, "活动暂未开始"));
                    }
                }
                else
                {
                    return(AjaxHelper.MvcJsonResult(HttpStatusCode.BadGateway, "服务器内部错误"));
                }
                //检查用户手机号、车牌号、驾驶证号是否已经使用
                var isExistResult = await activityClient.CheckUserApplyActivityInfoIsExistAsync(userActivityModel.ActivityId, userActivityModel.Mobile, userActivityModel.CarNum, userActivityModel.DriverNum);

                if (isExistResult.Success)
                {
                    if (!isExistResult.Result)
                    {
                        var activity = await activityClient.GetActivityModelByActivityIdAsync(userActivityModel.ActivityId);

                        //获取报名用户审核通过数
                        var auditPassCount =
                            await activityClient.GetActivityApplyUserPassCountByActivityIdAsync(userActivityModel
                                                                                                .ActivityId);

                        if (activity.Success && auditPassCount.Success && auditPassCount.Result < activity.Result.Quota)
                        {
                            var cacheResult =
                                await activityClient.AddUserApplyActivitySortedSetCacheAsync(userActivityModel);

                            if (cacheResult.Success)
                            {
                                return(AjaxHelper.MvcJsonResult(HttpStatusCode.OK,
                                                                "报名成功,审核通过后服务码将会以短信形式发送到您的手机,请注意查收"));
                            }
                        }
                        else
                        {
                            return(AjaxHelper.MvcJsonResult(HttpStatusCode.Accepted, "报名人数已满!"));
                        }
                    }
                    else
                    {
                        return(AjaxHelper.MvcJsonResult(HttpStatusCode.Accepted, "手机号、车牌号、驾驶证号已经被使用"));
                    }
                }
            }
            return(AjaxHelper.MvcJsonResult(HttpStatusCode.BadGateway, "服务器内部错误"));
        }
Exemplo n.º 3
0
 public Task <OperationResult <bool> > UpdateUserActivityStatusByPKIDAsync(UserApplyActivityModel userActivityModel)
 {
     return(ActivityManager.UpdateUserActivityStatusByPKIDAsync(userActivityModel));
 }
Exemplo n.º 4
0
 public Task <OperationResult <bool> > RemoveOneUserApplyActivitySortedSetCacheAsync(UserApplyActivityModel userApplyActivityModel)
 {
     return(ActivityManager.RemoveOneUserApplyActivitySortedSetCacheAsync(userApplyActivityModel));
 }
Exemplo n.º 5
0
 public Task <OperationResult <bool> > InsertUserActivityModelAsync(UserApplyActivityModel userActivityModel)
 {
     return(ActivityManager.InsertUserActivityModelAsync(userActivityModel));
 }