|
@@ -1204,39 +1204,95 @@ namespace TEAMModelOS.Controllers
|
|
|
if (data != default && !data.IsNullOrEmpty)
|
|
|
{
|
|
|
var value = data.ToString().ToObject<GroupWaitingList>();
|
|
|
+ string stuKey = !string.IsNullOrWhiteSpace(school) ? $"GroupList:StudentWaitinglist:{school}_{_userid}" : $"GroupList:StudentWaitinglist:{_userid}";
|
|
|
+ string sutFiled = $"{_scope}:{_id}";
|
|
|
+ long now = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
|
|
|
if ($"{_pass}".Equals("0"))
|
|
|
{
|
|
|
//通过
|
|
|
value.status=0;
|
|
|
- await _azureRedis.GetRedisClient(8).HashDeleteAsync(key, filed);
|
|
|
-
|
|
|
- string stuKey = !string.IsNullOrWhiteSpace(school) ? $"GroupList:StudentWaitinglist:{school}_{_userid}" : $"GroupList:StudentWaitinglist:{_userid}";
|
|
|
- string sutFiled = $"{_scope}:{_id}";
|
|
|
- await _azureRedis.GetRedisClient(8).HashSetAsync(stuKey, sutFiled, value.ToJsonString());
|
|
|
+ string msg = "";
|
|
|
+ Azure.Response response= await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, tbname).ReadItemStreamAsync(_id.ToString(),new PartitionKey(code));
|
|
|
+ if (response.Status==200) {
|
|
|
+
|
|
|
+ GroupList groupList=JsonDocument.Parse(response.Content).RootElement.ToObject<GroupList>();
|
|
|
+ if (now>value.qrcodeExpire) {
|
|
|
+ value.status=2;
|
|
|
+ msg="申请已经过期";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (groupList!=null)
|
|
|
+ {
|
|
|
+ var mb = groupList.members.Find(x => x.type==value.type && x.id.Equals(value.userid));
|
|
|
+ if (mb== null)
|
|
|
+ {
|
|
|
+ var joindata = GroupListService.JoinList(groupList, value.userid, value.type, value.school, value.year);
|
|
|
+ //加入成功
|
|
|
+ if (joindata.status == 0)
|
|
|
+ {
|
|
|
+ await GroupListService.UpsertList(joindata.stuList, _azureCosmos, _configuration, _serviceBus);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ msg = "已经通过";
|
|
|
+ await _azureRedis.GetRedisClient(8).HashDeleteAsync(key, filed);
|
|
|
+ await _azureRedis.GetRedisClient(8).HashSetAsync(stuKey, sutFiled, value.ToJsonString());
|
|
|
+ }
|
|
|
+ return Ok(new { code = value.status, msg });
|
|
|
}
|
|
|
else if ($"{_pass}".Equals("1"))
|
|
|
{
|
|
|
//拒绝
|
|
|
value.status=1;
|
|
|
await _azureRedis.GetRedisClient(8).HashDeleteAsync(key, filed);
|
|
|
+ await _azureRedis.GetRedisClient(8).HashSetAsync(stuKey, sutFiled, value.ToJsonString());
|
|
|
+ return Ok(new { code = value.status, msg = "已拒绝加入" });
|
|
|
}
|
|
|
else {
|
|
|
return BadRequest(new { code = 1, msg = "参数错误" });
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
else {
|
|
|
- return Ok(new { code = 0, msg = "未找到申请人" }) ;
|
|
|
+ return Ok(new { code = 404, msg = "未找到申请人" }) ;
|
|
|
}
|
|
|
- break;
|
|
|
+
|
|
|
}
|
|
|
- //审核结果,学生端获取到被拒绝的,或者过期的自动删除,未被审核的保存
|
|
|
+ //审核结果,学生端获取到被拒绝的,或者过期的自动删除,未被审核的保存
|
|
|
case bool when $"{grant_type}".Equals("result", StringComparison.OrdinalIgnoreCase):
|
|
|
- break;
|
|
|
-
|
|
|
+ {
|
|
|
+ string stuKey = !string.IsNullOrWhiteSpace(school) ? $"GroupList:StudentWaitinglist:{school}_{userId}" : $"GroupList:StudentWaitinglist:{userId}";
|
|
|
+ var datas = await _azureRedis.GetRedisClient().HashGetAllAsync(stuKey);
|
|
|
+ List<GroupWaitingList> waitingLists = new List<GroupWaitingList>();
|
|
|
+ long now = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
|
|
|
+ if (datas!=null && datas.Length>0)
|
|
|
+ {
|
|
|
+ foreach (var data in datas)
|
|
|
+ {
|
|
|
+ var group = data.ToString().ToObject<GroupWaitingList>();
|
|
|
+ if (group!=null)
|
|
|
+ {
|
|
|
+ waitingLists.Add(group);
|
|
|
+ if (group.status!=-1)
|
|
|
+ {
|
|
|
+ await _azureRedis.GetRedisClient(8).HashDeleteAsync(stuKey, $"{group.groupScope}:{group.groupId}");
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ if (now>group.qrcodeExpire)
|
|
|
+ {
|
|
|
+ group.status=2;
|
|
|
+ await _azureRedis.GetRedisClient(8).HashDeleteAsync(stuKey, $"{group.groupScope}:{group.groupId}");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return Ok(new { waitingLists });
|
|
|
+ }
|
|
|
}
|
|
|
- return Ok();
|
|
|
+ return BadRequest();
|
|
|
}
|
|
|
}
|
|
|
}
|