/// <summary> /// 查询年卡详情 /// </summary> /// <param name="cardId"></param> /// <returns></returns> public JsonResult GetUserBeautyYearCardDetails(int cardId) { var result = new UserYearCardDetailResponse(); if (cardId > 0) { var cardDetails = BeautyYearCardConfigManger.Instanse.GetShopBeautyUserYearCardDetails(cardId); if (cardDetails != null && cardDetails.Any()) { var codeDetails = KuaiXiuService.GetServiceCodeDetailsByCodes(cardDetails.Select(t => t.FwCode)); var firstCard = cardDetails.First(); result.OrderInfo = new YearCardOrderInfo() { OrderId = firstCard.UserCardId, OrderTime = firstCard.CreateTime.ToString() }; result.Product = new YearCardProduct() { Pid = firstCard.ProductId, Num = firstCard.ProductNumber, UseCycle = firstCard.UseCycle + "/" + (firstCard.CycleType == 0 ? "年" : firstCard.CycleType == 1 ? "月" : firstCard.CycleType == 2 ? "周" : "天") }; result.YearCards = cardDetails.Join(codeDetails, x => x.FwCode, y => y.Code, (x, y) => { return(y); }).Select(t => new YearCard() { _disabled = ((t.Status == ServiceCodeStatusType.Created || t.Status == ServiceCodeStatusType.SmsSent) && !t.Source.Contains("Revert")) ? false : true, Code = t.Code, Status = KuaiXiuService.GetServiceCodeStatusDescription(t) }); } } return(Json(result, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 查询用户美容年卡 /// </summary> /// <param name="mobile"></param> /// <param name="orderId"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public JsonResult GetUserBeautyYearCards(string mobile, string orderId, int pageIndex, int pageSize) { string userId = null; if (!string.IsNullOrEmpty(mobile)) { var user = UserAccountService.GetUserByMobile(mobile); if (user != null) { userId = user.UserId.ToString(); } } var tupleResult = BeautyYearCardConfigManger.Instanse.GetShopBeautyUserYearCards(userId, orderId, pageIndex, pageSize); var yearcards = tupleResult.Item1; List <User> users = new List <User>(); users = UserAccountService.GetUsersByIds(yearcards.Select(t => t.UserId).Distinct().ToList()); var cardDetails = BeautyYearCardConfigManger.Instanse.GetShopBeautyUserYearCardDetails(yearcards.Select(t => t.PKID)); var serviceCodeDetails = KuaiXiuService.GetServiceCodeDetailsByCodes(cardDetails.Select(t => t.FwCode)); var result = yearcards.Select(t => { var user = users.FirstOrDefault(u => u.UserId == t.UserId); var details = cardDetails.Where(s => s.UserYearCardId == t.PKID); var codeDetails = serviceCodeDetails.Join(details, x => x.Code, y => y.FwCode, (x, y) => { return(x); }); var effictiveNum = codeDetails.Where(c => (c.Status == ServiceCodeStatusType.Created || c.Status == ServiceCodeStatusType.SmsSent) && !c.Source.Contains("Revert")).Count(); return(new GetUserYearCardResponse() { PKID = t.PKID, CardPrice = t.CardPrice, CardType = t.CardType, CreateTime = t.CreateTime.ToString(), EffictiveTime = t.BeginTime.ToString() + '-' + t.EndTime.ToString(), Mobile = user?.MobileNumber, OrderId = (int)t.UserCardId, UserName = user?.Profile?.UserName ?? user?.Profile?.NickName, RemainTime = $"{effictiveNum}/{details.Count()}" }); }); return(Json(new { data = result, totalCount = tupleResult.Item2 }, JsonRequestBehavior.AllowGet)); }