public JsonResult UploadTrialReport(Guid userId, int orderId, int pkid, string title, string content, string imgStr) { var result = ZeroActivityManager.CreateProductComment(userId, orderId, pkid, title, content, imgStr); return(Json(new { result = result.Item1, msg = result.Item2 }, JsonRequestBehavior.AllowGet)); }
//0元购成功获奖的处理 public ActionResult SucceedAward(string model, int OrderId) { var Zaa = JsonConvert.DeserializeObject <ZeroActivityApply>(model); var UserID = Zaa.UserID.ToString(); var UserMobileNumber = Zaa.UserMobileNumber; var Period = Zaa.Period; return(Json(ZeroActivityManager.ZeroAward(Period, UserID, UserMobileNumber, OrderId))); }
/// <summary> /// 获取未结束的首页众测活动列表 /// </summary> /// <returns></returns> public async Task <OperationResult <IEnumerable <ZeroActivityModel> > > SelectUnfinishedZeroActivitiesForHomepageAsync(bool resetCache = false) { try { return(await OperationResult.FromResultAsync(ZeroActivityManager.SelectUnfinishedZeroActivitiesForHomepageAsync(resetCache))); } catch (Exception ex) { return(OperationResult.FromError <IEnumerable <ZeroActivityModel> >(ErrorCode.DataNotExisted, "服务端异常")); } }
/// <summary> /// 判断用户是否已触发开测提醒 /// </summary> /// <returns></returns> public async Task <OperationResult <bool> > HasZeroActivityReminderSubmittedAsync(Guid userId, int period) { if (userId == null || userId.Equals(Guid.Empty) || period < 0) { return(OperationResult.FromError <bool>(ErrorCode.ParameterError, "参数错误")); } try { return(await OperationResult.FromResultAsync(ZeroActivityManager.HasZeroActivityReminderSubmittedAsync(userId, period))); } catch (Exception ex) { return(OperationResult.FromError <bool>(ErrorCode.DataNotExisted, "服务端异常")); } }
/// <summary> /// 获取众测报告详情 /// </summary> /// <returns></returns> public async Task <OperationResult <SelectedTestReportDetail> > FetchTestReportDetailAsync(int commentId) { if (commentId < 0) { return(OperationResult.FromError <SelectedTestReportDetail>(ErrorCode.ParameterError, "参数错误")); } try { return(await OperationResult.FromResultAsync(ZeroActivityManager.FetchTestReportDetailAsync(commentId))); } catch (Exception ex) { return(OperationResult.FromError <SelectedTestReportDetail>(ErrorCode.DataNotExisted, "服务端异常")); } }
/// <summary> /// 获取已结束的首页众测活动列表 /// </summary> /// <returns></returns> public async Task <OperationResult <IEnumerable <ZeroActivityModel> > > SelectFinishedZeroActivitiesForHomepageAsync(int pageNumber) { if (pageNumber <= 0) { return(OperationResult.FromError <IEnumerable <ZeroActivityModel> >(ErrorCode.ParameterError, "参数错误")); } try { return(await OperationResult.FromResultAsync(ZeroActivityManager.SelectFinishedZeroActivitiesForHomepageAsync(pageNumber))); } catch (Exception ex) { return(OperationResult.FromError <IEnumerable <ZeroActivityModel> >(ErrorCode.DataNotExisted, "服务端异常")); } }
/// <summary> /// 获取众测活动详情 /// </summary> /// <returns></returns> public async Task <OperationResult <ZeroActivityDetailModel> > FetchZeroActivityDetailAsync(int period) { if (period < 0) { return(OperationResult.FromError <ZeroActivityDetailModel>(ErrorCode.ParameterError, "参数错误")); } try { return(await OperationResult.FromResultAsync(ZeroActivityManager.FetchZeroActivityDetailAsync(period))); } catch (Exception ex) { return(OperationResult.FromError <ZeroActivityDetailModel>(ErrorCode.DataNotExisted, "服务端异常")); } }
/// <summary> /// 获取特定众测活动的入选用户与其报告概况 /// </summary> /// <returns></returns> public async Task <OperationResult <IEnumerable <SelectedTestReport> > > SelectChosenUserReportsAsync(int period) { if (period < 0) { return(OperationResult.FromError <IEnumerable <SelectedTestReport> >(ErrorCode.ParameterError, "参数错误")); } try { return(await OperationResult.FromResultAsync(ZeroActivityManager.SelectChosenUserReportsAsync(period))); } catch (Exception ex) { return(OperationResult.FromError <IEnumerable <SelectedTestReport> >(ErrorCode.DataNotExisted, "服务端异常")); } }
/// <summary> /// 获取用户众测活动申请 /// </summary> /// <returns></returns> public async Task <OperationResult <IEnumerable <MyZeroActivityApplications> > > SelectMyApplicationsAsync(Guid userId, int applicationStatus) { if (userId == null || userId.Equals(Guid.Empty)) { return(OperationResult.FromError <IEnumerable <MyZeroActivityApplications> >(ErrorCode.ParameterError, "参数错误")); } try { return(await OperationResult.FromResultAsync(ZeroActivityManager.SelectMyApplicationsAsync(userId, applicationStatus))); } catch (Exception ex) { return(OperationResult.FromError <IEnumerable <MyZeroActivityApplications> >(ErrorCode.DataNotExisted, "服务端异常")); } }
/// <summary> ///提交众测申请 /// </summary> /// <returns></returns> public async Task <OperationResult <bool> > SubmitZeroActivityApplicationAsync(ZeroActivityRequest requestModel) { if (requestModel == null) { return(OperationResult.FromError <bool>(ErrorCode.ParameterError, "传入的requestModel不能为空")); } else if (requestModel.Period < 0) { return(OperationResult.FromError <bool>(ErrorCode.ParameterError, "period参数出错,应该大于0")); } else if (requestModel.UserId == null || requestModel.UserId == Guid.Empty) { return(OperationResult.FromError <bool>(ErrorCode.ParameterError, "UserId参数不能为空")); } else if (string.IsNullOrWhiteSpace(requestModel.UserName)) { return(OperationResult.FromError <bool>(ErrorCode.ParameterError, "UserName参数不能为空")); } var result = await ZeroActivityManager.SubmitZeroActivityApplicationAsync(requestModel); if (result > 0) { return(OperationResult.FromResult(true)); } else if (result == -2) { return(OperationResult.FromError <bool>("ActivityNotExisted", "该期活动不存在")); } else if (result == -3) { return(OperationResult.FromError <bool>("ActivityNotProceeding", "该期活动不在进行中")); } else if (result == -4) { return(OperationResult.FromError <bool>("ActivityNotProceeding", "该期活动的PID或ProductName为空,无法插入")); } else if (result == -1) { return(OperationResult.FromError <bool>("ApplyExisted", "您已经申请了本期活动")); } else { return(OperationResult.FromError <bool>("InsertFailure", "新建数据失败")); } }
//0元购活动配置 public ActionResult ZAConfigure(int pageIndex = 1, int pageSize = 10) { var result = ZeroActivityManager.SelectZeroActivityDetail(); var totalpage = result.Count * 1.0 / pageSize; if (totalpage - (int)totalpage == 0) { ViewBag.TotalCount = (int)totalpage; } else { ViewBag.TotalCount = (int)totalpage + 1; } ViewBag.CurrentPage = pageIndex; result = result.Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList(); return(View(result)); }
public JsonResult UpsertZeroActivity(string productId, string variantId, string des, DateTime start, DateTime end, string imgUrl, int period = 0, int successQuota = 0, int quantity = 0) { var msg = string.Empty; if (start != null && end != null && start > end) { return(Json(new { status = "fail", msg = "日期选择错误" }, JsonRequestBehavior.AllowGet)); } var details = ZeroActivityManager.SelectZeroActivityDetail(); if (start > details.Where(o => !o.Period.Equals(period)).OrderByDescending(_ => _.EndDateTime).Select(x => x.EndDateTime).FirstOrDefault()) { return(Json(new { status = "fail", msg = "活动时间有间断" }, JsonRequestBehavior.AllowGet)); } ZeroActivityDetail data = new ZeroActivityDetail() { Period = period, ProductID = productId, VariantID = variantId, Description = des, StartDateTime = start, EndDateTime = end, SucceedQuota = successQuota, Quantity = quantity, ImgUrl = imgUrl }; var result = ZeroActivityManager.ZAConfigureAct(data) > 0; if (result) { return(Json(new { status = "success" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { status = "fail", msg = "操作失败" }, JsonRequestBehavior.AllowGet)); } }
/// <summary> ///触发开测提醒 /// </summary> /// <returns></returns> public async Task <OperationResult <bool> > SubmitZeroActivityReminderAsync(Guid userId, int period) { if (userId == null || userId == Guid.Empty || period < 0) { return(OperationResult.FromError <bool>(ErrorCode.ParameterError, "参数出错")); } try { var result = await ZeroActivityManager.SubmitZeroActivityReminderAsync(userId, period); if (result > 0) { return(OperationResult.FromResult(true)); } else if (result == -3) { return(OperationResult.FromError <bool>("ActivityAlreadyStarted", "该期活动已开始")); } else if (result == -2) { return(OperationResult.FromError <bool>("ActivityNotExisted", "该期活动不存在")); } else if (result == -1) { return(OperationResult.FromError <bool>("ApplyExisted", "您已经触发过开测提醒")); } else { return(OperationResult.FromError <bool>("InsertFailure", "新建数据失败")); } } catch (Exception ex) { return(OperationResult.FromError <bool>("ExceptionOccurred", "服务端异常")); } }
/// <summary> ///刷新众测活动配置缓存 /// </summary> /// <returns></returns> public Task <OperationResult <bool> > RefreshZeroActivityCacheAsync() => OperationResult.FromResultAsync(ZeroActivityManager.RefreshZeroActivityCache());
/// <summary> /// 获取 APP 首页 0元众测 列表 /// </summary> /// <returns></returns> public async Task <OperationResult <List <ZeroActivitySimpleRespnseModel> > > SelectHomePageModuleShowZeroActivityAsync() { return(OperationResult.FromResult(await ZeroActivityManager.SelectHomePageModuleShowZeroActivityAsync())); }
//0元购 筛选功能 public ActionResult ZeroActivity(ZeroActivityApply filtermodel, string type, int CurrentPage = 1) { var model = new List <ZeroActivityApply>(); int TotalCount = 0; if (type == "导出") { var workbook = new XSSFWorkbook(); var sheet = workbook.CreateSheet(); var row = sheet.CreateRow(0); var cell = null as ICell; var cellNum = 0; row.CreateCell(cellNum++).SetCellValue("申请渠道"); row.CreateCell(cellNum++).SetCellValue("期数"); row.CreateCell(cellNum++).SetCellValue("用户ID"); row.CreateCell(cellNum++).SetCellValue("用户名"); row.CreateCell(cellNum++).SetCellValue("用户电话号码"); row.CreateCell(cellNum++).SetCellValue("用户订单数"); row.CreateCell(cellNum++).SetCellValue("产品名称"); row.CreateCell(cellNum++).SetCellValue("产品PID"); row.CreateCell(cellNum++).SetCellValue("产品尺寸"); row.CreateCell(cellNum++).SetCellValue("申请的产品数量"); row.CreateCell(cellNum++).SetCellValue("所在省"); row.CreateCell(cellNum++).SetCellValue("所在地区"); row.CreateCell(cellNum++).SetCellValue("获得加油数"); row.CreateCell(cellNum++).SetCellValue("申请理由"); row.CreateCell(cellNum++).SetCellValue("车型"); row.CreateCell(cellNum++).SetCellValue("是否成功获奖"); row.CreateCell(cellNum++).SetCellValue("获得轮胎后的订单号"); row.CreateCell(cellNum++).SetCellValue("试用报告的状态"); row.CreateCell(cellNum++).SetCellValue("申请时间"); row.CreateCell(cellNum++).SetCellValue("更新时间"); cellNum = 0; sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); sheet.SetColumnWidth(cellNum++, 18 * 256); if (filtermodel.Period > 0) { model = ZeroActivityManager.ZeroConditionFilter(filtermodel, 1, 9999, out TotalCount); if (model != null && model.Any()) { for (var i = 0; i < model.Count; i++) { cellNum = 0; NPOI.SS.UserModel.IRow rowtemp = sheet.CreateRow(i + 1); rowtemp.CreateCell(cellNum++).SetCellValue(ConvertChannel(model[i].ApplyChannel)); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].Period.ToString()); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].UserID?.ToString()); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].UserName?.ToString()); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].UserMobileNumber?.ToString()); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].UserOrderQuantity?.ToString()); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].ProductName?.ToString()); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].PID?.ToString()); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].ProductSize?.ToString()); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].Quantity.ToString()); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].ProvinceName?.ToString()); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].CityName?.ToString()); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].SupportNumber.ToString()); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].ApplyReason?.ToString()); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].CarName?.ToString()); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].Succeed?.ToString() == "1" ? "是" : "否"); rowtemp.CreateCell(cellNum++).SetCellValue(ConvertStatus(model[i].Succeed, model[i].Status, model[i].OrderId)); rowtemp.CreateCell(cellNum++).SetCellValue(ConvertReportStatus(model[i].ReportStatus)); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].ApplyDateTime.ToString()); rowtemp.CreateCell(cellNum++).SetCellValue(model[i].LastUpdateDateTime.ToString()); } } } var ms = new MemoryStream(); workbook.Write(ms); return(File(ms.ToArray(), "application/x-xls", $"第{filtermodel?.Period}期众测申请信息.xlsx")); } else { int PageSize = 500; ViewBag.Period = filtermodel.Period; ViewBag.UserOrderQuantity = filtermodel.UserOrderQuantity; ViewBag.Succeed = filtermodel.Succeed; ViewBag.ReportStatus = filtermodel.ReportStatus; ViewBag.UserMobileNumber = filtermodel.UserMobileNumber; ViewBag.TotalCount = 0; model = ZeroActivityManager.ZeroConditionFilter(filtermodel, CurrentPage, PageSize, out TotalCount); var totalpage = TotalCount * 1.0 / PageSize; if (totalpage - (int)totalpage == 0) { ViewBag.TotalCount = (int)totalpage; } else { ViewBag.TotalCount = (int)totalpage + 1; } ViewBag.CurrentPage = CurrentPage; return(View(model)); } }
public ActionResult ZAConfigureDelete(int period) { return(Json(ZeroActivityManager.ZAConfigureDelete(period))); }
public ActionResult UpdateStatusByPeriod(int period) { return(Json(ZeroActivityManager.UpdateStatusByPeriod(period))); }