public void GetCommissionProductListTest()
        {
            using (var client = new TuboAllianceClient())
            {
                var model = new GetCommissionProductListRequest();
                model.IsEnable  = 1;
                model.pageIndex = 1;
                model.pageSize  = 10;

                var result = client.GetCommissionProductListAsync(model);
                Assert.IsNotNull(result.Result);
            }
        }
Пример #2
0
        /// <summary>
        /// 佣金商品列表查询
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public static async Task <List <CommissionProductModel> > GetCommissionProductListDal(GetCommissionProductListRequest request)
        {
            var resultList = new List <CommissionProductModel>();

            try
            {
                using (var dbHelper = DbHelper.CreateDbHelper(true))
                {
                    string sqlGetCommissionProduct = @"SELECT [PKID]
                                                          ,[CpsId]
                                                          ,[PID]
                                                          ,[ProductName]
                                                          ,[CommissionRatio]
                                                          ,[IsEnable]
                                                          ,[CreateTime]
                                                          ,[CreateBy]
                                                          ,[UpdateTime]
                                                          ,[UpdateBy]
                                                          ,[IsDelete]
                                                      FROM [Activity].[dbo].[Cps_ProductList] WITH(NOLOCK) 
                                                      WHERE IsDelete =0 ";

                    if (request.IsEnable != -1)
                    {
                        sqlGetCommissionProduct += "AND IsEnable = @IsEnable";
                    }

                    sqlGetCommissionProduct += @"  ORDER BY CreateTime DESC 
                                                      OFFSET (@PageIndex-1) * @PageSize ROW
                                                      FETCH NEXT @PageSize ROW ONLY";


                    using (var cmd = new SqlCommand(sqlGetCommissionProduct))
                    {
                        cmd.CommandType = CommandType.Text;

                        if (request.IsEnable != -1)
                        {
                            cmd.Parameters.AddWithValue("@IsEnable", request.IsEnable);
                        }

                        cmd.Parameters.AddWithValue("@PageIndex", request.pageIndex);
                        cmd.Parameters.AddWithValue("@PageSize", request.pageSize);

                        var result = await dbHelper.ExecuteSelectAsync <CommissionProductModel>(cmd) ??
                                     new List <CommissionProductModel>();

                        resultList = result.ToList();
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error($"GetCommissionProductListDal佣金商品列表查询接口异常:{ex.Message};堆栈信息:{ex.StackTrace}");
            }

            return(resultList);
        }
        /// <summary>
        /// 佣金商品列表查询接口
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public static async Task <List <CommissionProductModel> > GetCommissionProductListManager(GetCommissionProductListRequest request)
        {
            List <CommissionProductModel> resultList = null;

            try
            {
                //通用缓存Key
                var prefix = await CacheManager.CommonGetKeyPrefixAsync(DefaultClientName,
                                                                        GlobalConstant.CommissionCacheName);

                using (var client = CacheHelper.CreateCacheClient(DefaultClientName))
                {
                    var cacheResult = await client.GetOrSetAsync($"{prefix}/{request.pageIndex}/{request.pageSize}",
                                                                 () => DalTuboAlliance.GetCommissionProductListDal(request), GlobalConstant.CommissionExpiration);

                    if (cacheResult.Success)
                    {
                        resultList = cacheResult.Value?.ToList();
                    }
                    else
                    {
                        Logger.Error($"GetCommissionProductListManager佣金商品列表查询Redis执行异常");
                        resultList = await DalTuboAlliance.GetCommissionProductListDal(request);
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error($"GetCommissionProductListManager佣金商品列表查询接口异常:{ex.Message};堆栈信息:{ex.StackTrace}");
            }

            return(resultList);
        }
 /// <summary>
 /// 佣金商品列表查询接口
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public async Task <OperationResult <List <CommissionProductModel> > > GetCommissionProductListAsync(GetCommissionProductListRequest request)
 {
     return(OperationResult.FromResult(await TuboAllianceManager.GetCommissionProductListManager(request)));
 }