|
@@ -1,42 +1,32 @@
|
|
|
using IdentityModel;
|
|
|
-using Microsoft.AspNetCore.Http;
|
|
|
-using Microsoft.Extensions.Configuration;
|
|
|
using Microsoft.Extensions.Options;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Security.Claims;
|
|
|
-using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
using TEAMModelOS.Model.Core.Dtos;
|
|
|
using TEAMModelOS.Model.Core.Models;
|
|
|
-using TEAMModelOS.SDK.Context.Configuration;
|
|
|
-using TEAMModelOS.SDK.Context.Constant.Common;
|
|
|
using TEAMModelOS.SDK.Context.Exception;
|
|
|
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
|
|
|
-using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
|
|
|
using TEAMModelOS.SDK.Extension.HttpClient.Implements;
|
|
|
using TEAMModelOS.SDK.Extension.JwtAuth.JwtHelper;
|
|
|
using TEAMModelOS.SDK.Extension.JwtAuth.Models;
|
|
|
using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
|
|
|
using TEAMModelOS.SDK.Helper.Common.DateTimeHelper;
|
|
|
-using TEAMModelOS.SDK.Helper.Common.JsonHelper;
|
|
|
-using TEAMModelOS.SDK.Helper.Network.HttpHelper;
|
|
|
-using TEAMModelOS.SDK.Module.AzureTable.Implements;
|
|
|
-using TEAMModelOS.SDK.Module.AzureTable.Interfaces;
|
|
|
+using TEAMModelOS.SDK.Module.AzureCosmosDB.Interfaces;
|
|
|
using TEAMModelOS.Service.Core.Interfaces;
|
|
|
|
|
|
namespace TEAMModelOS.Service.Core.Implements
|
|
|
{
|
|
|
public class LoginInfoService : BaseService, ILoginInfoService
|
|
|
{
|
|
|
- //private IAzureTableDBRepository _repository;
|
|
|
+ private IAzureCosmosDBRepository repository;
|
|
|
private readonly IOptions<JwtSetting> _options;
|
|
|
private readonly HttpClientUserInfo _httpClientService;
|
|
|
- public LoginInfoService( IOptions<JwtSetting> options, HttpClientUserInfo httpClientService)
|
|
|
+ public LoginInfoService( IOptions<JwtSetting> options, HttpClientUserInfo httpClientService, IAzureCosmosDBRepository _repository)
|
|
|
{
|
|
|
_options = options;
|
|
|
- // _repository = repository;
|
|
|
+ repository = _repository;
|
|
|
_httpClientService = httpClientService;
|
|
|
}
|
|
|
|
|
@@ -78,10 +68,14 @@ namespace TEAMModelOS.Service.Core.Implements
|
|
|
Ticket = ticketInfo.Ticket,
|
|
|
CountryCode ="86"
|
|
|
};
|
|
|
- TeamModelUser user = await FindOneByKey<TeamModelUser>("TeamModelId", ticketInfo.TeamModelId);
|
|
|
- if (user == null || string.IsNullOrEmpty(user.RowKey))
|
|
|
+ List<TeamModelUser> users = await repository.FindByparams<TeamModelUser>(new Dictionary<string, object>() { { "TeamModelId", ticketInfo.TeamModelId } });
|
|
|
+ TeamModelUser user = new TeamModelUser();
|
|
|
+ if (users.IsEmpty())
|
|
|
{
|
|
|
- user = new TeamModelUser { RowKey = Guid.NewGuid().ToString(), PartitionKey = loginInfo.CountryCode, RegisterTime = DateTimeHelper.ConvertToTimeStamp13(DateTime.Now) };
|
|
|
+ user = new TeamModelUser { id = Guid.NewGuid().ToString(), CountryCode = loginInfo.CountryCode, RegisterTime = DateTimeHelper.ConvertToTimeStamp13(DateTime.Now) };
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ user = users[0];
|
|
|
}
|
|
|
user.Cellphone = "15283771540";
|
|
|
user.NickName = ticketInfo.Name;
|
|
@@ -96,7 +90,7 @@ namespace TEAMModelOS.Service.Core.Implements
|
|
|
loginInfo.Scope = jwtToken.Scope;
|
|
|
result.JwtToken = jwtToken;
|
|
|
await Save<LoginInfo>(loginInfo);
|
|
|
- await SaveOrUpdate<TeamModelUser>(user);
|
|
|
+ await repository.Save<TeamModelUser>(user);
|
|
|
// JosnRPCResponse<TeamModelIdInfo> response = MessagePackHelper.JsonToObject<JosnRPCResponse<TeamModelIdInfo>>(jsonStr);
|
|
|
return result;
|
|
|
#endregion
|