Example #1
0
        /// <summary>
        /// 获取渠道下级订单
        /// </summary>
        /// <returns></returns>
        private string QueryMyOrderChannel(HttpContext context)
        {
            int    pageIndex     = int.Parse(context.Request["PageIndex"]); //第几页
            int    pageSize      = int.Parse(context.Request["PageSize"]);  //每页记录数
            int    status        = int.Parse(context.Request["Status"]);    //分销订单状态
            string level         = context.Request["level"];                //1 直接销售
            string autoId        = context.Request["autoId"];
            string channelUserId = bllDis.GetChannelUserId(currUserInfo);

            if (!string.IsNullOrEmpty(autoId) && (currUserInfo.UserID == bllUser.WebsiteOwner || currUserInfo.UserType == 1) && (autoId != "0"))
            {
                status        = -1;
                pageSize      = 20;
                channelUserId = bllUser.GetUserInfoByAutoID(int.Parse(autoId)).UserID;
            }
            var channelUserInfo = bllUser.GetUserInfo(channelUserId);
            List <WXMallOrderInfo> sourceData = new List <WXMallOrderInfo>();

            if (string.IsNullOrEmpty(level))
            {
                sourceData = bllDis.GetChannelAllOrder(channelUserId, bllUser.WebsiteOwner);
            }
            else if (level == "1")
            {
                sourceData = bllDis.GetChannelAllFirstLevelOrder(channelUserId, bllUser.WebsiteOwner);
            }
            if (status != -1)
            {
                sourceData = sourceData.Where(p => p.DistributionStatus == status).ToList();
            }
            WebsiteInfo       websiteInfo = bllDis.GetWebsiteInfoModelFromDataBase();
            List <OrderModel> orderList   = new List <OrderModel>();
            var data = sourceData.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();

            foreach (WXMallOrderInfo item in data)
            {
                OrderModel order = new OrderModel();
                #region 分销提成比例
                #region 已分佣 提成比例及金额根据提成记录
                if (item.DistributionStatus == 3)//已打佣金,分佣金额根据记录表去查
                {
                    ProjectCommission projectCommission = bllDis.Get <ProjectCommission>(string.Format(" ProjectId='{0}' And UserId='{1}' And WebsiteOwner='{2}' ", item.OrderID, channelUserInfo.UserID, bllDis.WebsiteOwner));
                    if (projectCommission != null)
                    {
                        order.DistributionAmount = projectCommission.Amount;
                        order.DistributionRate   = projectCommission.Rate.ToString();
                        order.TotalAmount        = item.TotalAmount - item.Transport_Fee;
                        if (order.TotalAmount * (decimal.Parse(order.DistributionRate) / 100) != order.DistributionAmount)
                        {
                            order.DistributionRate = (Math.Round((order.DistributionAmount / order.TotalAmount), 3) * 100).ToString();
                        }
                    }
                    else
                    {
                        order.DistributionAmount = 0;
                        order.DistributionRate   = "0";
                    }
                }
                #endregion

                #region 还未分佣,根据预估分佣表
                else
                {
                    if (websiteInfo.IsDisabledCommission == 0)
                    {
                        //decimal rate = (decimal)bllDis.GetDistributionRateChannel(channelUserInfo);
                        //order.DistributionAmount = (rate / 100) * (item.TotalAmount - item.Transport_Fee);
                        //order.DistributionRate = rate.ToString();
                        //order.DistributionAmount = Math.Round(order.DistributionAmount, 2);
                        //if (order.DistributionAmount < 0)
                        //{
                        //    order.DistributionAmount = 0;
                        //}
                        ProjectCommissionEstimate esti = bllDis.Get <ProjectCommissionEstimate>(string.Format("ProjectId={0} And ProjectType='DistributionOnLineChannel' And UserId='{1}' ", item.OrderID, channelUserInfo.UserID));
                        if (esti != null)
                        {
                            order.DistributionAmount = esti.Amount;
                            order.DistributionRate   = esti.Rate.ToString();
                        }
                        else
                        {
                            order.DistributionRate = "0";
                        }
                    }
                    else
                    {
                        order.DistributionAmount = 0;
                        order.DistributionRate   = "0";
                    }
                }
                #endregion
                #endregion

                order.DistributionStatus = item.DistributionStatus;
                if (item.IsRefund == 1)
                {
                    order.DistributionStatus = -1;
                }
                order.InsertDate   = item.InsertDate.ToString("yyyy-MM-dd");
                order.OrderID      = item.OrderID;
                order.ProductCount = item.ProductCount;
                order.TotalAmount  = item.TotalAmount - item.Transport_Fee;
                order.ProductList  = new List <WXMallProductInfo>();
                //order.WXNickName = bllUser.GetUserInfo(item.OrderUserID).WXNickname;
                UserInfo orderUserInfo = bllUser.GetUserInfo(item.OrderUserID);
                if (orderUserInfo != null)
                {
                    order.TrueName   = orderUserInfo.TrueName;
                    order.Phone      = orderUserInfo.Phone;
                    order.AutoID     = orderUserInfo.AutoID;
                    order.WXNickName = orderUserInfo.WXNickname;
                }
                foreach (var orderdetail in bllMall.GetOrderDetailsList(item.OrderID))
                {
                    var productInfo = bllMall.GetProduct(orderdetail.PID);
                    if (productInfo != null)
                    {
                        productInfo.PDescription = null;
                        productInfo.CategoryId   = null;
                        productInfo.IP           = 0;
                        productInfo.UserID       = null;
                        productInfo.WebsiteOwner = null;
                        productInfo.Price        = (decimal)orderdetail.OrderPrice;
                        productInfo.Stock        = orderdetail.TotalCount;
                        order.ProductList.Add(productInfo);
                    }
                }

                order.OrderType = item.OrderType;
                if (!string.IsNullOrEmpty(order.Remark))
                {
                    order.Remark = item.OrderMemo.Replace("购买选项:", "<br/>购买选项:<br/>").Replace("金额:", "<br/>金额:");
                }
                orderList.Add(order);
            }

            return(Common.JSONHelper.ObjectToJson(orderList));
        }
Example #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            /// <summary>
            /// 菜单BLL
            /// </summary>
            BLLMenuPermission bllMenu = new BLLMenuPermission("");

            /// <summary>
            /// 权限BLL
            /// </summary>
            BLLPermission.BLLPermission bllPms = new BLLPermission.BLLPermission();
            /// <summary>
            /// 站点BLL
            /// </summary>
            BLLWebSite bllWebSite = new BLLWebSite();

            UserInfo currUser = DataLoadTool.GetCurrUserModel();

            if (currUser == null)
            {
                this.Response.Redirect(ConfigHelper.GetConfigString("logoutUrl"));
                return;
            }

            websiteInfo = bllWebSite.GetWebsiteInfoModelFromDataBase();

            curUserID    = currUser.UserID;
            websiteOwner = bllWebSite.WebsiteOwner;
            if (bllPms.IsActionPermissionV2(websiteOwner))
            {
                if (currUser.PermissionGroupID.HasValue)
                {
                    ZentCloud.BLLPermission.Model.PermissionGroupInfo perGroupInfo = bllPms.Get <ZentCloud.BLLPermission.Model.PermissionGroupInfo>(string.Format(" GroupID={0}", currUser.PermissionGroupID));
                    if (perGroupInfo != null && perGroupInfo.GroupType == 3)//管理员权限跟站点所有者一致
                    {
                        menuString = bllMenu.GetNewUserMenuTreeHtmlV2(websiteOwner, websiteOwner);
                    }
                    else
                    {
                        menuString = bllMenu.GetNewUserMenuTreeHtmlV2(curUserID, websiteOwner);
                    }
                }
                else
                {
                    menuString = bllMenu.GetNewUserMenuTreeHtmlV2(curUserID, websiteOwner);
                }
            }
            else
            {
                menuString = bllMenu.GetNewUserMenuTreeHtml(curUserID, websiteOwner);
            }
            WebsiteVersion = bllWebSite.GetWebsiteVersion(websiteOwner);

            WebsiteLogo = websiteInfo != null ? websiteInfo.WebsiteLogo : "";
            if (string.IsNullOrEmpty(websiteInfo.WebsiteLogo))
            {
                WebsiteLogo = ConfigHelper.GetConfigString("WebsiteLogo");
            }
            ExpirationDate = websiteInfo.WebsiteExpirationDate.HasValue ? websiteInfo.WebsiteExpirationDate.Value.ToString("yyyy-MM-dd") : "";
            //IsValid = websiteInfo.WebsiteExpirationDate.HasValue && websiteInfo.WebsiteExpirationDate.Value.AddDays(1) < DateTime.Now ? false : true;
            WebsiteName = websiteInfo.WebsiteName;
            LogoutHref  = ConfigHelper.GetConfigString("logoutUrl") + "?op=logout";
        }
Example #3
0
        /// <summary>
        /// 获取我的下级订单
        /// </summary>
        /// <returns></returns>
        private string QueryMyOrder(HttpContext context)
        {
            try
            {
                int pageIndex = int.Parse(context.Request["PageIndex"]); //第几页
                int pageSize  = int.Parse(context.Request["PageSize"]);  //每页记录数
                int level     = int.Parse(context.Request["Level"]);     //显示几级
                int status    = int.Parse(context.Request["Status"]);    //分销订单状态
                List <WXMallOrderInfo> sourceData = new List <WXMallOrderInfo>();
                switch (status)
                {
                case 0:
                    sourceData = bllDis.GetOrderList(currUserInfo.UserID, level, BLLJIMP.BLLDistribution.DistributionStatus.NotPay);
                    break;

                case 1:
                    sourceData = bllDis.GetOrderList(currUserInfo.UserID, level, BLLJIMP.BLLDistribution.DistributionStatus.Paied);
                    break;

                case 2:
                    sourceData = bllDis.GetOrderList(currUserInfo.UserID, level, BLLJIMP.BLLDistribution.DistributionStatus.Received);
                    break;

                case 3:
                    sourceData = bllDis.GetOrderList(currUserInfo.UserID, level, BLLJIMP.BLLDistribution.DistributionStatus.Verified);
                    break;

                case 4:
                    sourceData = bllDis.GetOrderList(currUserInfo.UserID, level, BLLJIMP.BLLDistribution.DistributionStatus.Withdraw);
                    break;

                default:
                    break;
                }
                if (level == 0)
                {
                    sourceData = sourceData.Where(p => p.OrderUserID == currUserInfo.UserID).ToList();
                }
                else
                {
                    sourceData = sourceData.Where(p => p.OrderUserID != currUserInfo.UserID).ToList();
                }

                WebsiteInfo       websiteInfo = bllDis.GetWebsiteInfoModelFromDataBase();
                List <OrderModel> orderList   = new List <OrderModel>();
                sourceData = sourceData.OrderByDescending(p => p.InsertDate).ToList();
                var data = sourceData.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
                foreach (WXMallOrderInfo item in data)
                {
                    OrderModel order = new OrderModel();
                    #region 分销提成比例
                    #region 已分佣 提成比例及金额根据提成记录
                    if (item.DistributionStatus == 3)//已打佣金,分佣金额根据记录表去查
                    {
                        ProjectCommission projectCommission = bllDis.Get <ProjectCommission>(string.Format(" ProjectId='{0}' And UserId='{1}' And WebsiteOwner='{2}' And ProjectType='DistributionOnLine'", item.OrderID, currUserInfo.UserID, bllDis.WebsiteOwner));
                        if (projectCommission != null)
                        {
                            order.DistributionAmount = projectCommission.Amount;
                            order.DistributionRate   = projectCommission.Rate.ToString();
                            order.TotalAmount        = item.TotalAmount - item.Transport_Fee;
                            if (order.TotalAmount * (decimal.Parse(order.DistributionRate) / 100) != order.DistributionAmount)
                            {
                                order.DistributionRate = (Math.Round((order.DistributionAmount / order.TotalAmount), 3) * 100).ToString();
                            }
                        }
                        else
                        {
                            order.DistributionAmount = 0;
                            order.DistributionRate   = "0";
                        }
                    }
                    #endregion

                    #region 还未分佣,根据预估分佣表
                    else
                    {
                        if (websiteInfo.IsDisabledCommission == 0)//分佣
                        {
                            // UserLevelConfig userLevel = bllDis.GetUserLevel(currUserInfo);
                            //bool isFirst = bllDis.IsFirstOrder(item);

                            switch (level)
                            {
                            case 0:
                                //decimal rate = (decimal)bllDis.GetDistributionRate(currUserInfo, 0, isFirst);//直销提成比例
                                //order.DistributionAmount = bllDis.GetUserCommission(item, currUserInfo, 0);
                                //order.DistributionRate = rate.ToString();
                                ProjectCommissionEstimate esti = bllDis.Get <ProjectCommissionEstimate>(string.Format("ProjectId={0} And ProjectType='DistributionOnLine' And UserId='{1}' ", item.OrderID, currUserInfo.UserID));
                                if (esti != null)
                                {
                                    order.DistributionAmount = esti.Amount;
                                    order.DistributionRate   = esti.Rate.ToString();
                                }
                                else
                                {
                                    order.DistributionRate = "0";
                                }
                                break;

                            case 1:
                                // var upUserLevel1 = bllDis.GetUpUser(item.OrderUserID, 1);
                                //var orderUser = bllUser.GetUserInfo(item.OrderUserID);
                                // decimal rateLevel1 = (decimal)bllDis.GetDistributionRate(currUserInfo, 1, isFirst);
                                //order.DistributionAmount = bllDis.GetUserCommission(item, currUserInfo, 1);
                                // order.DistributionRate = rateLevel1.ToString();

                                ProjectCommissionEstimate estiUpLevel = bllDis.Get <ProjectCommissionEstimate>(string.Format("ProjectId={0} And ProjectType='DistributionOnLine' And UserId='{1}' ", item.OrderID, currUserInfo.UserID));
                                if (estiUpLevel != null)
                                {
                                    order.DistributionAmount = estiUpLevel.Amount;
                                    order.DistributionRate   = estiUpLevel.Rate.ToString();
                                }
                                else
                                {
                                    order.DistributionRate = "0";
                                }
                                break;

                            //case 2:
                            //    order.DistributionAmount = (decimal.Parse(userLevel.DistributionRateLevel2) / 100) * (item.TotalAmount - item.Transport_Fee);
                            //    order.DistributionRate = userLevel.DistributionRateLevel2;
                            //    break;
                            //case 3:
                            //    order.DistributionAmount = (decimal.Parse(userLevel.DistributionRateLevel3) / 100) * item.TotalAmount;
                            //    order.DistributionRate = userLevel.DistributionRateLevel3;
                            //    break;
                            default:
                                break;
                            }
                            //order.DistributionAmount = Math.Round(order.DistributionAmount, 2);
                        }
                        else//不分佣
                        {
                            order.DistributionAmount = 0;
                            order.DistributionRate   = "0";
                        }
                    }
                    #endregion
                    #endregion

                    order.DistributionStatus = item.DistributionStatus;
                    if (item.IsRefund == 1)
                    {
                        order.DistributionStatus = -1;
                    }
                    order.InsertDate   = item.InsertDate.ToString("yyyy-MM-dd");
                    order.OrderID      = item.OrderID;
                    order.ProductCount = item.ProductCount;
                    order.TotalAmount  = item.TotalAmount - item.Transport_Fee;
                    order.ProductList  = new List <WXMallProductInfo>();
                    //order.WXNickName = bllUser.GetUserInfo(item.OrderUserID).WXNickname;
                    UserInfo orderUserInfo = bllUser.GetUserInfo(item.OrderUserID);
                    if (orderUserInfo != null)
                    {
                        order.TrueName   = orderUserInfo.TrueName;
                        order.Phone      = orderUserInfo.Phone;
                        order.AutoID     = orderUserInfo.AutoID;
                        order.WXNickName = orderUserInfo.WXNickname;
                    }
                    foreach (var orderdetail in bllMall.GetOrderDetailsList(item.OrderID))
                    {
                        var productInfo = bllMall.GetProduct(orderdetail.PID);
                        if (productInfo != null)
                        {
                            productInfo.PDescription = null;
                            productInfo.CategoryId   = null;
                            productInfo.IP           = 0;
                            productInfo.UserID       = null;
                            productInfo.WebsiteOwner = null;
                            productInfo.Price        = (decimal)orderdetail.OrderPrice;
                            productInfo.Stock        = orderdetail.TotalCount;
                            order.ProductList.Add(productInfo);
                        }
                    }

                    order.OrderType = item.OrderType;
                    if (!string.IsNullOrEmpty(order.Remark))
                    {
                        order.Remark = item.OrderMemo.Replace("购买选项:", "<br/>购买选项:<br/>").Replace("金额:", "<br/>金额:");
                    }
                    orderList.Add(order);
                }

                return(Common.JSONHelper.ObjectToJson(orderList));
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }
Example #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(Request["moduleType"]))
            {
                moduleType = Request["moduleType"];
            }
            if (!string.IsNullOrEmpty(Request["moduleName"]))
            {
                moduleName = Request["moduleName"];
            }

            if (moduleType == "HouseRecommend")
            {
                tipMsg = "楼盘名称、省份、城市、地区";
            }
            if (moduleType == "CompanyBranchApply")
            {
                tipMsg = "城市、联系人、联系方式";
            }
            if (moduleType == "CompanyBranchRecommend")
            {
                tipMsg = "城市、联系人、联系方式";
            }
            if (moduleType == "HouseAppointment")
            {
                tipMsg = "楼盘名称、联系人、联系方式、备注";
            }
            if (moduleType == "HouseBuyerRecommend")
            {
                tipMsg = "楼盘名称、联系人、联系方式、备注";
            }

            statusList = bllDis.QueryProjectStatusList(moduleType);

            var statusModel = statusList.FirstOrDefault(p => p.StatusAction == "DistributionOffLineCommission");

            if (statusModel != null)
            {
                CommissionStatus = statusModel.OrderStatu;
            }
            var fieldList = bllDis.QueryProjectFieldMapList(moduleType);

            for (int i = 0; i < fieldList.Count; i++)
            {
                if (fieldList[i].IsShowInList == 0)
                {
                    continue;
                }
                Columns += "{ field: '" + fieldList[i].Field + "', title: '" + fieldList[i].MappingName + "', width: 10, align: 'left' }";
                if (i < fieldList.Count - 1)
                {
                    Columns += ",";
                }
            }
            ActivityID = bllDis.GetDistributionOffLineApplyActivityID();
            WebsiteInfo model = bllWeisite.GetWebsiteInfo();

            if (model != null && !string.IsNullOrEmpty(model.WeiXinBindDomain))
            {
                strDomain = model.WeiXinBindDomain;
            }
        }