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