/// <summary> /// 根据服务码查询服务码详情,有用户信息 /// </summary> /// <param name="code"></param> /// <returns></returns> public static async Task <Tuple <List <ServiceCodeDetail>, int> > GetServiceCodeDetailByCode(string code) { var result = new List <ServiceCodeDetail>(); var totalCount = 0; if (!string.IsNullOrEmpty(code)) { var packageCodeDetails = GetBeautyServicePackageDetailCodesByCodes(new List <string>() { code }); var codeDetail = packageCodeDetails?.FirstOrDefault(); totalCount = codeDetail != null ? 1 : 0; if (codeDetail != null) { var codeDetails = await GetServiceCodeDetail(new List <string>() { code }); if (codeDetails != null && codeDetails.Any()) { User user = null; using (var client = new UserAccountClient()) { var accountResult = await client.GetUserByIdAsync(codeDetail.UserId); user = accountResult.Result; } foreach (var item in codeDetails) { item.Mobile = user?.MobileNumber; result.Add(item); } } } if (!result.Any()) { var bankRecords = BankMRManager.GetBankMRActivityCodeRecordByServiceCode(new List <string>() { code }); var bankMrServiceCodeDetails = await BankMRManager.SearchBankMRActivityCodeDetailByRecords(bankRecords); if (bankMrServiceCodeDetails != null && bankMrServiceCodeDetails.Any()) { result.AddRange(bankMrServiceCodeDetails); } } } return(Tuple.Create(result, totalCount)); }
/// <summary> /// 根据手机号查询服务码详情 /// </summary> /// <param name="mobile"></param> /// <returns></returns> public static async Task <Tuple <List <ServiceCodeDetail>, int> > GetServiceCodeDetailByMobile(string mobile, int pageIndex, int pageSize) { var result = new List <ServiceCodeDetail>(); var totalCount = 0; if (!string.IsNullOrEmpty(mobile)) { Guid userId = Guid.Empty; using (var client = new UserAccountClient()) { var accountResult = await client.GetUserByMobileAsync(mobile); if (accountResult != null && accountResult.Result != null) { userId = accountResult.Result.UserId; } } if (userId != Guid.Empty) { var packageDetailResult = GetBeautyServicePackageDetailCodesByUserId(userId, pageIndex, pageSize); if (packageDetailResult != null) { var packageDetailCodes = packageDetailResult.Item1; totalCount = packageDetailResult.Item2; if (packageDetailCodes != null && packageDetailCodes.Any()) { var codeDetail = await GetServiceCodeDetail(packageDetailCodes.Select(t => t.ServiceCode)); if (codeDetail != null && codeDetail.Any()) { foreach (var item in codeDetail) { item.Mobile = mobile; result.Add(item); } } } var bankRecords = BankMRManager.GetBankMRActivityCodeRecordByUserId(userId); var bankServiceCodeDetails = await BankMRManager.SearchBankMRActivityCodeDetailByRecords(bankRecords); if (bankServiceCodeDetails != null && bankServiceCodeDetails.Any()) { result.AddRange(bankServiceCodeDetails); } } } } return(Tuple.Create(result, totalCount)); }