mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 17:53:25 +08:00
【修复】修复日历签到进行结果集处理未获取到details的问题。
This commit is contained in:
@@ -10,6 +10,7 @@
|
|||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using System.Linq.Expressions;
|
using System.Linq.Expressions;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using CoreCms.Net.Configuration;
|
using CoreCms.Net.Configuration;
|
||||||
@@ -180,37 +181,29 @@ namespace CoreCms.Net.Services
|
|||||||
|
|
||||||
|
|
||||||
//判断连续签到次数是否满足
|
//判断连续签到次数是否满足
|
||||||
var continuousCheckInRules = await _continuousCheckInRulesServices.QueryAsync(true, true);
|
var continuousCheckInRules = await _continuousCheckInRulesServices.GetDataWidthChild();
|
||||||
//获取用户数据
|
//获取用户数据
|
||||||
var user = await _userServices.QueryByIdAsync(entity.userId);
|
var user = await _userServices.QueryByIdAsync(entity.userId);
|
||||||
//获取用户当前已经连续签到的次数
|
//获取用户当前已经连续签到的次数
|
||||||
var userContinuousCheckInNum = userCheckIn.continuousCheckInCount;
|
var userContinuousCheckInNum = userCheckIn.continuousCheckInCount;
|
||||||
|
|
||||||
//遍历处理结果
|
//遍历处理结果
|
||||||
async void Action1(CoreCmsContinuousCheckInRules p)
|
foreach (var rule in from p in continuousCheckInRules where p.days == userContinuousCheckInNum select p.details.Find(o => o.userGradeId == user.grade) into rule where rule != null select rule)
|
||||||
{
|
{
|
||||||
if (p.days == userContinuousCheckInNum)
|
switch (rule.type)
|
||||||
{
|
{
|
||||||
var rule = p.details.Find(o => o.userGradeId == user.grade);
|
case (int)GlobalEnumVars.CheckInCommonType.积分:
|
||||||
if (rule != null)
|
point += rule.num;
|
||||||
{
|
//储值积分
|
||||||
switch (rule.type)
|
await _userPointLogServices.SetPoint(entity.userId, rule.num, (int)GlobalEnumVars.UserPointSourceTypes.PointTypeSign, "日历签到,获得" + rule.num + "积分");
|
||||||
{
|
break;
|
||||||
case (int)GlobalEnumVars.CheckInCommonType.积分:
|
case (int)GlobalEnumVars.CheckInCommonType.余额:
|
||||||
point += rule.num;
|
money += rule.num;
|
||||||
//储值积分
|
//储值余额
|
||||||
await _userPointLogServices.SetPoint(entity.userId, rule.num, (int)GlobalEnumVars.UserPointSourceTypes.PointTypeSign, "日历签到,获得" + rule.num + "积分");
|
await _userBalanceServices.Change(entity.userId, (int)GlobalEnumVars.UserBalanceSourceTypes.CheckIn, rule.num, id.ToString());
|
||||||
break;
|
break;
|
||||||
case (int)GlobalEnumVars.CheckInCommonType.余额:
|
|
||||||
money += rule.num;
|
|
||||||
//储值余额
|
|
||||||
await _userBalanceServices.Change(entity.userId, (int)GlobalEnumVars.UserBalanceSourceTypes.CheckIn, rule.num, id.ToString());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
continuousCheckInRules.ForEach(Action1);
|
|
||||||
|
|
||||||
jm.code = 0;
|
jm.code = 0;
|
||||||
jm.msg = "签到成功共获得" + point + "积分" + money + "余额";
|
jm.msg = "签到成功共获得" + point + "积分" + money + "余额";
|
||||||
|
|||||||
Reference in New Issue
Block a user