|
@@ -298,97 +298,97 @@ namespace MySystem
|
|
|
public List<ProfitResult> StartProftForPosByDate(int BrandId, int UserId, decimal HelpDirectTradeAmt)
|
|
|
{
|
|
|
List<ProfitResult> result = new List<ProfitResult>();
|
|
|
- ProfitObjects obj = RedisDbconn.Instance.Get<ProfitObjects>("pobj" + BrandId);
|
|
|
- if (obj.Status == 1) //判断分润是否开启
|
|
|
- {
|
|
|
- WebCMSEntities dbnew = new WebCMSEntities();
|
|
|
- try
|
|
|
- {
|
|
|
- List<UserLevelSet> levels = dbnew.UserLevelSet.ToList();
|
|
|
- Users selfUser = dbnew.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
|
|
|
- int Days = int.Parse(RedisDbconn.Instance.Get<string>("pobjrule:" + BrandId + ":HelpPolicy:Days")); //天数
|
|
|
- int maxLevel = obj.MaxLevel; //最大等级
|
|
|
- decimal diffLevelProfit = 0; //等级级差
|
|
|
- int curLevel = 0; //当前层级的会员等级
|
|
|
- string ParentNav = selfUser.ParentNav;
|
|
|
- if (string.IsNullOrEmpty(ParentNav))
|
|
|
- {
|
|
|
- ParentNav = ",0,";
|
|
|
- }
|
|
|
- if (!string.IsNullOrEmpty(ParentNav))
|
|
|
- {
|
|
|
- ParentNav += "," + UserId + ",";
|
|
|
- string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
|
|
|
- Array.Reverse(ParentNavList); //反转顺序
|
|
|
- int level = 0;
|
|
|
- DateTime now = DateTime.Now;
|
|
|
- if (HelpDirectTradeAmt > 0)
|
|
|
- {
|
|
|
- foreach (string UserIdString in ParentNavList)
|
|
|
- {
|
|
|
- level += 1;
|
|
|
- int uid = int.Parse(UserIdString);
|
|
|
- Users user = dbnew.Users.FirstOrDefault(m => m.Id == uid) ?? new Users();
|
|
|
- int UserLevel = user.UserLevel; //当前会员等级
|
|
|
- UserRankWhite rank = dbnew.UserRankWhite.FirstOrDefault(m => m.Id == user.Id && m.UpdateDate > now);
|
|
|
- if (rank != null)
|
|
|
- {
|
|
|
- if (rank.Rank > UserLevel)
|
|
|
- {
|
|
|
- UserLevel = rank.Rank;
|
|
|
- }
|
|
|
- }
|
|
|
- if (curLevel == maxLevel) //判断当前创客是否有直推的激活机具,并且在活动时间内
|
|
|
- {
|
|
|
- break;
|
|
|
- }
|
|
|
- if (UserLevel <= maxLevel && UserLevel > curLevel)
|
|
|
- {
|
|
|
- int LevelKindId = ProfitHelperV2.Instance.GetLevelKindId(BrandId, 1, 1);
|
|
|
- ProfitObjectLevels objlevel = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId + ":" + UserLevel); //获取当前等级参数
|
|
|
- int LevelKindId2 = ProfitHelperV2.Instance.GetLevelKindId(BrandId, 0, 1);
|
|
|
- ProfitObjectLevels objlevel2 = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId2 + ":" + UserLevel); //获取当前等级参数
|
|
|
- if (objlevel != null && objlevel2 != null)
|
|
|
- {
|
|
|
- decimal getLevelProfit = 0; //等级分润
|
|
|
- if (objlevel.Percents > 0 && objlevel2.Percents > 0)
|
|
|
- {
|
|
|
- //获取创客分润规则,注册日开始算起,3个自然月内算扶持期
|
|
|
- getLevelProfit += HelpDirectTradeAmt * (objlevel.Percents - objlevel2.Percents);
|
|
|
- }
|
|
|
- decimal money = getLevelProfit;
|
|
|
- getLevelProfit -= diffLevelProfit;
|
|
|
- diffLevelProfit = money;
|
|
|
- if (getLevelProfit >= obj.MinProfitVal)
|
|
|
- {
|
|
|
- result.Add(new ProfitResult()
|
|
|
- {
|
|
|
- UserId = user.Id,
|
|
|
- UserNav = user.ParentNav,
|
|
|
- Money = PublicFunction.NumberFormat(getLevelProfit),
|
|
|
- ProfitRate = objlevel.Percents,
|
|
|
- Message = "交易分润",
|
|
|
- BankCardType = 1,
|
|
|
- DirectFlag = selfUser.Id == user.Id ? 1 : 0,
|
|
|
- BrandId = BrandId,
|
|
|
- IsSubsidy = 0,
|
|
|
- TradeAmount = HelpDirectTradeAmt,
|
|
|
- HelpFlag = 1,
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- curLevel = UserLevel;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- catch (Exception ex)
|
|
|
- {
|
|
|
- function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "每月统计分润异常");
|
|
|
- }
|
|
|
- dbnew.Dispose();
|
|
|
- }
|
|
|
+ // ProfitObjects obj = RedisDbconn.Instance.Get<ProfitObjects>("pobj" + BrandId);
|
|
|
+ // if (obj.Status == 1) //判断分润是否开启
|
|
|
+ // {
|
|
|
+ // WebCMSEntities dbnew = new WebCMSEntities();
|
|
|
+ // try
|
|
|
+ // {
|
|
|
+ // List<UserLevelSet> levels = dbnew.UserLevelSet.ToList();
|
|
|
+ // Users selfUser = dbnew.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
|
|
|
+ // int Days = int.Parse(RedisDbconn.Instance.Get<string>("pobjrule:" + BrandId + ":HelpPolicy:Days")); //天数
|
|
|
+ // int maxLevel = obj.MaxLevel; //最大等级
|
|
|
+ // decimal diffLevelProfit = 0; //等级级差
|
|
|
+ // int curLevel = 0; //当前层级的会员等级
|
|
|
+ // string ParentNav = selfUser.ParentNav;
|
|
|
+ // if (string.IsNullOrEmpty(ParentNav))
|
|
|
+ // {
|
|
|
+ // ParentNav = ",0,";
|
|
|
+ // }
|
|
|
+ // if (!string.IsNullOrEmpty(ParentNav))
|
|
|
+ // {
|
|
|
+ // ParentNav += "," + UserId + ",";
|
|
|
+ // string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
|
|
|
+ // Array.Reverse(ParentNavList); //反转顺序
|
|
|
+ // int level = 0;
|
|
|
+ // DateTime now = DateTime.Now;
|
|
|
+ // if (HelpDirectTradeAmt > 0)
|
|
|
+ // {
|
|
|
+ // foreach (string UserIdString in ParentNavList)
|
|
|
+ // {
|
|
|
+ // level += 1;
|
|
|
+ // int uid = int.Parse(UserIdString);
|
|
|
+ // Users user = dbnew.Users.FirstOrDefault(m => m.Id == uid) ?? new Users();
|
|
|
+ // int UserLevel = user.UserLevel; //当前会员等级
|
|
|
+ // UserRankWhite rank = dbnew.UserRankWhite.FirstOrDefault(m => m.Id == user.Id && m.UpdateDate > now);
|
|
|
+ // if (rank != null)
|
|
|
+ // {
|
|
|
+ // if (rank.Rank > UserLevel)
|
|
|
+ // {
|
|
|
+ // UserLevel = rank.Rank;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // if (curLevel == maxLevel) //判断当前创客是否有直推的激活机具,并且在活动时间内
|
|
|
+ // {
|
|
|
+ // break;
|
|
|
+ // }
|
|
|
+ // if (UserLevel <= maxLevel && UserLevel > curLevel)
|
|
|
+ // {
|
|
|
+ // int LevelKindId = ProfitHelperV2.Instance.GetLevelKindId(BrandId, 1, 1);
|
|
|
+ // ProfitObjectLevels objlevel = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId + ":" + UserLevel); //获取当前等级参数
|
|
|
+ // int LevelKindId2 = ProfitHelperV2.Instance.GetLevelKindId(BrandId, 0, 1);
|
|
|
+ // ProfitObjectLevels objlevel2 = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId2 + ":" + UserLevel); //获取当前等级参数
|
|
|
+ // if (objlevel != null && objlevel2 != null)
|
|
|
+ // {
|
|
|
+ // decimal getLevelProfit = 0; //等级分润
|
|
|
+ // if (objlevel.Percents > 0 && objlevel2.Percents > 0)
|
|
|
+ // {
|
|
|
+ // //获取创客分润规则,注册日开始算起,3个自然月内算扶持期
|
|
|
+ // getLevelProfit += HelpDirectTradeAmt * (objlevel.Percents - objlevel2.Percents);
|
|
|
+ // }
|
|
|
+ // decimal money = getLevelProfit;
|
|
|
+ // getLevelProfit -= diffLevelProfit;
|
|
|
+ // diffLevelProfit = money;
|
|
|
+ // if (getLevelProfit >= obj.MinProfitVal)
|
|
|
+ // {
|
|
|
+ // result.Add(new ProfitResult()
|
|
|
+ // {
|
|
|
+ // UserId = user.Id,
|
|
|
+ // UserNav = user.ParentNav,
|
|
|
+ // Money = PublicFunction.NumberFormat(getLevelProfit),
|
|
|
+ // ProfitRate = objlevel.Percents,
|
|
|
+ // Message = "交易分润",
|
|
|
+ // BankCardType = 1,
|
|
|
+ // DirectFlag = selfUser.Id == user.Id ? 1 : 0,
|
|
|
+ // BrandId = BrandId,
|
|
|
+ // IsSubsidy = 0,
|
|
|
+ // TradeAmount = HelpDirectTradeAmt,
|
|
|
+ // HelpFlag = 1,
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // curLevel = UserLevel;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // catch (Exception ex)
|
|
|
+ // {
|
|
|
+ // function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "每月统计分润异常");
|
|
|
+ // }
|
|
|
+ // dbnew.Dispose();
|
|
|
+ // }
|
|
|
return result;
|
|
|
}
|
|
|
}
|