diff --git a/CoreCms.Net.RedisMQ/Subscribe/UserSubscribe.cs b/CoreCms.Net.RedisMQ/Subscribe/UserSubscribe.cs index 407febf1..cd09e62c 100644 --- a/CoreCms.Net.RedisMQ/Subscribe/UserSubscribe.cs +++ b/CoreCms.Net.RedisMQ/Subscribe/UserSubscribe.cs @@ -100,13 +100,22 @@ namespace CoreCms.Net.RedisMQ.Subscribe //判断是否符合升级条件 var userGradeId = 0; - foreach (var item in userGradeModel.TakeWhile(item => defaultModel == null || defaultModel.prioritySortId > item.prioritySortId).Where(item => developNum >= item.developNum && expenditureMoney >= item.expenditureMoney && rechargeAmount >= item.rechargeAmount)) + + //权限从小向大找,直到升级到不满足的情况下。 + foreach (var item in userGradeModel + .Where(item => + defaultModel != null && + defaultModel.prioritySortId < item.prioritySortId && + developNum >= item.developNum && + expenditureMoney >= item.expenditureMoney && + rechargeAmount >= item.rechargeAmount + )) { userGradeId = item.id; } if (userGradeId > 0) { - await _userServices.UpdateAsync(p => new CoreCmsUser() {grade = userGradeId}, p => p.id == userInfo.id); + await _userServices.UpdateAsync(p => new CoreCmsUser() { grade = userGradeId }, p => p.id == userInfo.id); } NLogUtil.WriteAll(NLog.LogLevel.Info, LogType.RedisMessageQueue, "订单完成-用户升级处理", msg);