/// <summary>
        /// 导出佣金管理
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public ActionResult ManagementExportToExcel(DistributorSubQuery query)
        {
            query.IncludeNoSettlementAmount = true;
            var result = DistributionApplication.GetDistributorsAll(query);

            return(ExcelView("ManagementExport", "平台佣金管理", result));
        }
Exemple #2
0
        /// <summary>
        /// 获取佣金管理列表
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public static QueryPageModel <Distributor> GetDistributors(DistributorSubQuery query)
        {
            //获得所有下级
            if (query.SuperiorId > 0)
            {
                var subordinate = Service.GetSubordinate(query.SuperiorId, query.Level);
                query.Members = subordinate[query.Level];
            }
            var data         = Service.GetNewDistributors(query);
            var result       = data.Models.Map <List <Distributor> >();
            var memberids    = data.Models.Select(p => p.MemberId).ToList();
            var members      = GetService <IMemberService>().GetMembers(memberids);
            var achievements = Service.GetAchievement(memberids);

            result.ForEach(item =>
            {
                item.Member      = members.FirstOrDefault(p => p.Id == item.MemberId);
                item.Achievement = achievements.FirstOrDefault(p => p.MemberId == item.MemberId);
            });
            return(new QueryPageModel <Distributor>
            {
                Models = result,
                Total = data.Total
            });
        }
        public JsonResult GetSubDistributorList(DistributorSubQuery query)
        {
            query.IsAll = true;
            var data = DistributionApplication.GetDistributors(query);
            var list = data.Models.Select(item =>
                                          new
            {
                memberName  = item.Member == null? "":item.Member.UserName,
                totalCount  = item.Achievement?.TotalCount ?? 0,
                totalAmount = item.Achievement?.TotalAmount ?? 0,
                regTime     = item.Member == null ? "" : item.Member.CreateDate.ToString("yyyy-MM-dd HH:mm:ss")
            }).ToList();

            return(Json(new { rows = list, total = data.Total }));
        }
        public ActionResult MySubordinate(DistributorSubQuery query)
        {
            query.SuperiorId = CurrentUser.Id;
            query.IsAll      = true;
            var data = DistributionApplication.GetDistributors(query);
            var list = data.Models.Select(item => new
            {
                MemberName  = item.Member.UserName,
                TotalCount  = item.Achievement?.TotalCount ?? 0,
                TotalAmount = item.Achievement?.TotalAmount ?? 0,
                RegTime     = item.Member.CreateDate.ToString("yyyy-MM-dd"),
                Photo       = MallIO.GetRomoteImagePath(item.Member.Photo)
            }).ToList();

            return(Json(list, true));
        }
        public ActionResult List(DistributorSubQuery query)
        {
            query.IncludeNoSettlementAmount = true;
            var data = DistributionApplication.GetDistributors(query);
            var list = data.Models.Select(item =>
                                          new
            {
                item.MemberId,
                MemberName = item.Member == null ? "" : item.Member.UserName,
                item.ShopName,
                SettlementAmount   = item.SettlementAmount.ToString("n2"),
                NoSettlementAmount = item.NoSettlementAmount.ToString("n2"),
                Balance            = item.Balance.ToString("n2"),
                FreezeAmount       = item.FreezeAmount.ToString("n2"),
                WithdrawalsAmount  = item.WithdrawalsAmount.ToString("n2")
            });

            return(Json(new { rows = list, total = data.Total }, true));
        }
        /// <summary>
        /// 查询我的下级明细
        /// </summary>
        /// <param name="level"></param>
        /// <param name="pageSize"></param>
        /// <param name="pageNo"></param>
        /// <returns></returns>
        public JsonResult <Result <dynamic> > GetMySubordinateRecords(int level, int pageSize, int pageNo)
        {
            CheckUserLogin();
            DistributorSubQuery query = new DistributorSubQuery();

            query.Level      = level;
            query.PageSize   = pageSize;
            query.PageNo     = pageNo;
            query.SuperiorId = CurrentUser.Id;
            query.IsAll      = true;
            var data = DistributionApplication.GetDistributors(query);
            var list = data.Models.Select(item => new
            {
                MemberName  = item.Member.UserName,
                TotalCount  = item.Achievement?.TotalCount ?? 0,
                TotalAmount = item.Achievement?.TotalAmount ?? 0,
                RegTime     = item.Member.CreateDate.ToString("yyyy-MM-dd"),
                Photo       = HimallIO.GetRomoteImagePath(item.Member.Photo)
            }).ToList();

            return(JsonResult <dynamic>(new { rows = list, total = data.Total }));
        }