|
|
@@ -1259,112 +1259,108 @@ namespace MySystem
|
|
|
function.WriteLog("押金:" + pos.SeoKeyword, "开机奖励发放日志");
|
|
|
if (ActPrize > 0 || pos.BrandId == 14)
|
|
|
{
|
|
|
- PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
|
|
|
- if (merchant != null)
|
|
|
+ PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PosMerchantInfo();
|
|
|
+ function.WriteLog("商户:" + merchant.KqMerNo, "开机奖励发放日志");
|
|
|
+ Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
|
|
|
+ if (user != null)
|
|
|
{
|
|
|
- function.WriteLog("商户:" + merchant.KqMerNo, "开机奖励发放日志");
|
|
|
- Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
|
|
|
- if (user != null)
|
|
|
+ function.WriteLog("所属人:" + user.MakerCode, "开机奖励发放日志");
|
|
|
+ string ParentNav = function.CheckNull(user.ParentNav) + "," + user.Id + ",";
|
|
|
+ if (!string.IsNullOrEmpty(ParentNav))
|
|
|
{
|
|
|
- function.WriteLog("所属人:" + user.MakerCode, "开机奖励发放日志");
|
|
|
- string ParentNav = function.CheckNull(user.ParentNav) + "," + user.Id + ",";
|
|
|
- if (!string.IsNullOrEmpty(ParentNav))
|
|
|
+ decimal Prize = 0;
|
|
|
+ if(pos.BrandId == 14)
|
|
|
{
|
|
|
- decimal Prize = 0;
|
|
|
- if(pos.BrandId == 14)
|
|
|
- {
|
|
|
- Prize = 19 * 0.3M;
|
|
|
- }
|
|
|
- if(Utils.Instance.IsHaoDa(pos.BrandId))
|
|
|
- {
|
|
|
- Prize = 20;
|
|
|
- }
|
|
|
- if(Utils.Instance.IsWifi(pos.BrandId))
|
|
|
+ Prize = 19 * 0.3M;
|
|
|
+ }
|
|
|
+ if(Utils.Instance.IsHaoDa(pos.BrandId))
|
|
|
+ {
|
|
|
+ Prize = 20;
|
|
|
+ }
|
|
|
+ if(Utils.Instance.IsWifi(pos.BrandId))
|
|
|
+ {
|
|
|
+ PxcModels.WifiTradeRecord trade = db.WifiTradeRecord.FirstOrDefault(m => m.SnNo == pos.PosSn);
|
|
|
+ if (trade != null)
|
|
|
{
|
|
|
- PxcModels.WifiTradeRecord trade = db.WifiTradeRecord.FirstOrDefault(m => m.SnNo == pos.PosSn);
|
|
|
- if (trade != null)
|
|
|
- {
|
|
|
- Prize = trade.TradeAmount * 0.03M;
|
|
|
- }
|
|
|
- }
|
|
|
- List<int> CheckUserIds = RedisDbconn.Instance.GetList<int>("OpenPrizeUserIds", 1, 1000);
|
|
|
- if(CheckUserIds.Count > 0)
|
|
|
+ Prize = trade.TradeAmount * 0.03M;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<int> CheckUserIds = RedisDbconn.Instance.GetList<int>("OpenPrizeUserIds", 1, 1000);
|
|
|
+ if(CheckUserIds.Count > 0)
|
|
|
+ {
|
|
|
+ PosMachines posItem = db.PosMachines.FirstOrDefault(m => m.Id == pos.Id) ?? new PosMachines();
|
|
|
+ if(posItem.UserId > 0)
|
|
|
{
|
|
|
- PosMachines posItem = db.PosMachines.FirstOrDefault(m => m.Id == pos.Id) ?? new PosMachines();
|
|
|
- if(posItem.UserId > 0)
|
|
|
+ UserRankItem puser = PosCouponPrizeService.Instance.GetUserLevel(posItem.UserId);
|
|
|
+ if (puser.Id > 0 && (puser.LeaderLevel > 0 || puser.OperateLevel > 0) && Prize > 0)
|
|
|
{
|
|
|
- UserRankItem puser = PosCouponPrizeService.Instance.GetUserLevel(posItem.UserId);
|
|
|
- if (puser.Id > 0 && (puser.LeaderLevel > 0 || puser.OperateLevel > 0) && Prize > 0)
|
|
|
+ bool op = false;
|
|
|
+ foreach(int CheckUserId in CheckUserIds)
|
|
|
{
|
|
|
- bool op = false;
|
|
|
- foreach(int CheckUserId in CheckUserIds)
|
|
|
- {
|
|
|
- if(puser.ParentNav.Contains("," + CheckUserId + ","))
|
|
|
- {
|
|
|
- op = true;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- if(op)
|
|
|
+ if(puser.ParentNav.Contains("," + CheckUserId + ","))
|
|
|
{
|
|
|
- PostOpenReward(db, pos, merchant, puser, Prize);
|
|
|
- Prize = 0;
|
|
|
+ op = true;
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
+ if(op)
|
|
|
+ {
|
|
|
+ PostOpenReward(db, pos, merchant, puser, Prize);
|
|
|
+ Prize = 0;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- if(Prize > 0)
|
|
|
+ }
|
|
|
+ if(Prize > 0)
|
|
|
+ {
|
|
|
+ string[] ParentNavs = ParentNav.Trim(',').Replace(",,", ",").Split(',');
|
|
|
+ for (int i = ParentNavs.Length - 1; i >= 0; i--)
|
|
|
{
|
|
|
- string[] ParentNavs = ParentNav.Trim(',').Replace(",,", ",").Split(',');
|
|
|
- for (int i = ParentNavs.Length - 1; i >= 0; i--)
|
|
|
+ int UserId = int.Parse(ParentNavs[i]);
|
|
|
+ // Users puser = db.Users.FirstOrDefault(m => m.Id == UserId && m.AuthFlag == 1 && m.Status > -1);
|
|
|
+ UserRankItem puser = PosCouponPrizeService.Instance.GetUserLevel(UserId);
|
|
|
+ if (puser.Id > 0 && Prize > 0)
|
|
|
{
|
|
|
- int UserId = int.Parse(ParentNavs[i]);
|
|
|
- // Users puser = db.Users.FirstOrDefault(m => m.Id == UserId && m.AuthFlag == 1 && m.Status > -1);
|
|
|
- UserRankItem puser = PosCouponPrizeService.Instance.GetUserLevel(UserId);
|
|
|
- if (puser.Id > 0 && Prize > 0)
|
|
|
+ function.WriteLog("上级:" + puser.MakerCode, "开机奖励发放日志");
|
|
|
+ function.WriteLog("条件:LeaderLevel:" + puser.LeaderLevel + ",UserType:" + puser.UserType, "开机奖励发放日志");
|
|
|
+ if(puser.UserType > 0 || puser.LeaderLevel > 0)
|
|
|
{
|
|
|
- function.WriteLog("上级:" + puser.MakerCode, "开机奖励发放日志");
|
|
|
- function.WriteLog("条件:LeaderLevel:" + puser.LeaderLevel + ",UserType:" + puser.UserType, "开机奖励发放日志");
|
|
|
- if(puser.UserType > 0 || puser.LeaderLevel > 0)
|
|
|
+ bool leaderOp = true;
|
|
|
+ if(puser.LeaderLevel > 0 && puser.UserType == 0)
|
|
|
{
|
|
|
- bool leaderOp = true;
|
|
|
- if(puser.LeaderLevel > 0 && puser.UserType == 0)
|
|
|
- {
|
|
|
- DateTime now = DateTime.Now;
|
|
|
- leaderOp = db.Leaders.Any(m => m.Id == puser.Id && m.ExpiredDate >= now);
|
|
|
- function.WriteLog("条件:leaderOp:" + leaderOp, "开机奖励发放日志");
|
|
|
- }
|
|
|
- else if(puser.LeaderLevel == 0 && puser.UserType > 0)
|
|
|
- {
|
|
|
- DateTime now = DateTime.Now;
|
|
|
- leaderOp = opdb.SysAdmin.Any(m => m.UserId == puser.Id && m.ExpireDate >= now);
|
|
|
- function.WriteLog("条件:2-leaderOp:" + leaderOp, "盟主开机奖励发放日志");
|
|
|
- }
|
|
|
- else if(puser.LeaderLevel > 0 && puser.UserType > 0)
|
|
|
- {
|
|
|
- DateTime now = DateTime.Now;
|
|
|
- leaderOp = db.Leaders.Any(m => m.Id == puser.Id && m.ExpiredDate >= now);
|
|
|
- if(!leaderOp) leaderOp = opdb.SysAdmin.Any(m => m.UserId == puser.Id && m.ExpireDate >= now);
|
|
|
- }
|
|
|
- if(leaderOp)
|
|
|
+ DateTime now = DateTime.Now;
|
|
|
+ leaderOp = db.Leaders.Any(m => m.Id == puser.Id && m.ExpiredDate >= now);
|
|
|
+ function.WriteLog("条件:leaderOp:" + leaderOp, "开机奖励发放日志");
|
|
|
+ }
|
|
|
+ else if(puser.LeaderLevel == 0 && puser.UserType > 0)
|
|
|
+ {
|
|
|
+ DateTime now = DateTime.Now;
|
|
|
+ leaderOp = opdb.SysAdmin.Any(m => m.UserId == puser.Id && m.ExpireDate >= now);
|
|
|
+ function.WriteLog("条件:2-leaderOp:" + leaderOp, "盟主开机奖励发放日志");
|
|
|
+ }
|
|
|
+ else if(puser.LeaderLevel > 0 && puser.UserType > 0)
|
|
|
+ {
|
|
|
+ DateTime now = DateTime.Now;
|
|
|
+ leaderOp = db.Leaders.Any(m => m.Id == puser.Id && m.ExpiredDate >= now);
|
|
|
+ if(!leaderOp) leaderOp = opdb.SysAdmin.Any(m => m.UserId == puser.Id && m.ExpireDate >= now);
|
|
|
+ }
|
|
|
+ if(leaderOp)
|
|
|
+ {
|
|
|
+ function.WriteLog("满足条件", "开机奖励发放日志");
|
|
|
+ int pTopUserId = 0;
|
|
|
+ if (!string.IsNullOrEmpty(puser.ParentNav))
|
|
|
{
|
|
|
- function.WriteLog("满足条件", "开机奖励发放日志");
|
|
|
- int pTopUserId = 0;
|
|
|
- if (!string.IsNullOrEmpty(puser.ParentNav))
|
|
|
- {
|
|
|
- pTopUserId = int.Parse(puser.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
|
|
|
- }
|
|
|
- PostOpenReward(db, pos, merchant, puser, Prize);
|
|
|
-
|
|
|
- Prize = 0;
|
|
|
+ pTopUserId = int.Parse(puser.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
|
|
|
}
|
|
|
+ PostOpenReward(db, pos, merchant, puser, Prize);
|
|
|
+
|
|
|
+ Prize = 0;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // }
|
|
|
}
|
|
|
}
|
|
|
}
|