【修复】修复会员升级等级,TakeWhile取值为空的问题。

This commit is contained in:
JianWeie
2022-05-26 11:46:47 +08:00
parent 118d913ea4
commit 1e5816415d

View File

@@ -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);