/// <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));
        }