public async Task <JsonResult> GetActivityModels(int pageIndex = 1, int pageSize = 10) { using (var client = new ActivityClient()) { var result = await client.GetActivityModelsPagedAsync(pageIndex, pageSize); if (result.Success) { foreach (var activity in result.Result.Item1) { var applyUserCountResult = await client.GetActivityApplyUserCountByActivityIdAsync(activity.ActivityId); var auditPassUserCount = await client.GetActivityApplyUserPassCountByActivityIdAsync(activity.ActivityId); activity.ApplyUserCount = applyUserCountResult.Success ? applyUserCountResult.Result : 0; activity.AuditPassUserCount = auditPassUserCount.Success ? auditPassUserCount.Result : 0; } return(AjaxHelper.MvcJsonResult(HttpStatusCode.OK, "成功", result.Result)); } else { return(AjaxHelper.MvcJsonResult(HttpStatusCode.BadGateway, "服务器内部错误")); } } }
private async Task <bool> CheckApplyUserCountAsync(Guid activityId) { //判断当前活动审核通过人数是否已达上限 using (var activityClient = new ActivityClient()) { //检查活动审核通过人数是否已满 var applyUserPassCountResult = await activityClient.GetActivityApplyUserPassCountByActivityIdAsync(activityId); var activityModelResult = await activityClient.GetActivityModelByActivityIdAsync(activityId); if (applyUserPassCountResult.Success && activityModelResult.Success) { if (applyUserPassCountResult.Result >= activityModelResult.Result.Quota) { return(false); } } else { Logger.Error($"审核通过人数查询失败。Message:{(applyUserPassCountResult.Success ? applyUserPassCountResult.Exception : activityModelResult.Exception)}"); return(false); } } return(true); }
private async Task <bool> CheckApplyUserCountAsync(Guid activityId, int quota) { //判断当前活动审核通过人数是否已达上限 using (var client = new ActivityClient()) { var auditPassUserCount = await client.GetActivityApplyUserPassCountByActivityIdAsync(activityId); if (auditPassUserCount.Success) { if (auditPassUserCount.Result >= quota) { return(false); } } else { Logger.Error($"审核通过人数查询失败。Message:{auditPassUserCount.Exception}"); return(false); } } return(true); }
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, "服务器内部错误")); }