コード例 #1
0
        public ActionResult GetFlowDetailsPage(PageParm parm)
        {
            int totalCount = 0;
            TipIncomeDetailModel sumModel = new TipIncomeDetailModel();
            var res    = sysTipIncomeDetailLogic.GetTipIncomeDetailPage(parm, ref totalCount, ref sumModel);
            var result = new
            {
                code     = 0,
                msg      = "success",
                data     = res,
                count    = totalCount, // pageData.Count
                totalRow = new         //合计
                {
                    AnchorIncome   = sumModel.AnchorIncome.ToString(),
                    UserIncome     = sumModel.UserIncome.ToString(),
                    PlatformIncome = sumModel.PlatformIncome.ToString(),
                    totalamount    = sumModel.totalamount.ToString(),
                }
            };

            return(Content(result.ToJson()));
        }
コード例 #2
0
        /// <summary>
        /// 礼物返点信息 分页信息
        /// </summary>
        /// <param name="parm"></param>
        /// <returns></returns>
        public List <TipIncomeDetailModel> GetTipIncomeDetailPage(PageParm parm, ref int totalCount, ref TipIncomeDetailModel sumModel)
        {
            var res = new List <TipIncomeDetailModel>();

            try
            {
                if (parm == null)
                {
                    parm = new PageParm();
                }
                Dictionary <string, object> dic = new Dictionary <string, object>();
                if (!string.IsNullOrEmpty(parm.where))
                {
                    dic = JsonConvert.DeserializeObject <Dictionary <string, object> >(parm.where);
                }
                using (var db = GetSqlSugarDB(DbConnType.QPAnchorRecordDB))
                {
                    var query = db.Queryable <SysTipIncomeDetailEntity, SysUser, SysAnchor, TipEntity, SysShopAnchorEntity>((at, bt, ct, dt, ot) => new object[] {
                        JoinType.Left, at.UserID == bt.Id,
                        JoinType.Left, at.AnchorID == ct.id,
                        JoinType.Left, at.orderno == dt.orderno,
                        JoinType.Left, ct.id == ot.AnchorID
                    })
                                .Where((at, bt, ct, dt) => at.StartDate >= Convert.ToDateTime(dic["startTime"]) && at.StartDate < Convert.ToDateTime(dic["endTime"]).AddDays(1))
                                .WhereIF(dic.ContainsKey("AgentName") && !string.IsNullOrEmpty(dic["AgentName"].ToString()), (at, bt, ct, dt) => bt.Account.Contains(dic["AgentName"].ToString()))
                                .WhereIF(dic.ContainsKey("AnchorName") && !string.IsNullOrEmpty(dic["AnchorName"].ToString()), (at, bt, ct, dt) => ct.anchorName.Contains(dic["AnchorName"].ToString()) || ct.nickName.Contains(dic["AnchorName"].ToString()))
                                .WhereIF(dic.ContainsKey("Type") && Convert.ToInt32(dic["Type"].ToString()) != -1, (at, bt, ct, dt) => at.TipType == (TipTypeEnum)Convert.ToInt32(dic["Type"].ToString()))
                                .WhereIF(dic.ContainsKey("incomeType") && Convert.ToInt32(dic["incomeType"].ToString()) != -1, (at, bt, ct, dt) => at.IncomeType == (IncomeTypeEnum)Convert.ToInt32(dic["incomeType"].ToString()))
                                .WhereIF(dic.ContainsKey("ShopID") && Convert.ToInt32(dic["ShopID"]) != -1, (at, bt, ct, dt, ot) => ot.ShopID == Convert.ToInt32(dic["ShopID"]));
                    sumModel = query.Clone().Select((at, bt, ct, dt) => new TipIncomeDetailModel
                    {
                        AnchorIncome   = SqlFunc.AggregateSum(at.AnchorIncome),
                        UserIncome     = SqlFunc.AggregateSum(at.UserIncome),
                        PlatformIncome = SqlFunc.AggregateSum(at.PlatformIncome),
                        totalamount    = SqlFunc.AggregateSum(dt.totalamount)
                    }).WithCache(10).First();
                    res = query
                          .Select((at, bt, ct, dt) => new TipIncomeDetailModel
                    {
                        UserName       = bt.Account,
                        AnchorName     = ct.anchorName,
                        AnchorNickName = ct.nickName,
                        UserIncome     = at.UserIncome,
                        AnchorIncome   = at.AnchorIncome,
                        PlatformIncome = at.PlatformIncome,
                        UserRebate     = at.UserRebate,
                        PlatformRebate = at.PlatformRebate,
                        orderno        = dt.orderno,
                        totalamount    = dt.totalamount,
                        CreateTime     = at.CreateTime,
                        Type           = at.TipType,
                        incomeType     = at.IncomeType,
                    }).WithCache(10)
                          .OrderBy(" at.CreateTime desc")
                          .ToPageList(parm.page, parm.limit, ref totalCount);
                }
            }
            catch (Exception ex)
            {
                new LogLogic().Write(Level.Error, "礼物返点信息 分页信息", ex.Message, ex.StackTrace);
            }
            return(res);
        }