Files
juipnet/Services/Hncore.Pass.Vpn/Service/WxAppService.cs
wanyongkang d318014316 初始提交
2020-10-07 20:25:03 +08:00

49 lines
1.7 KiB
C#

using Hncore.Infrastructure.Service;
using Hncore.Pass.Vpn.Domain;
using Hncore.Wx.Open;
using Microsoft.AspNetCore.Http;
using Microsoft.EntityFrameworkCore;
using System.Threading.Tasks;
namespace Hncore.Pass.Vpn.Service
{
public partial class WxAppService : ServiceBase<WxAppEntity>
{
public WxAppService(CourseContext dbContext, IHttpContextAccessor httpContextAccessor) : base(dbContext, httpContextAccessor)
{
}
public async Task SaveAppInfo(GetAuthorizerInfoResponse info, int tenantId, int storeId)
{
var wxAppInfo = await this.Query(true).FirstOrDefaultAsync(m => m.TenantId == tenantId
&& m.Appid == info.authorization_info.authorizer_appid
&& m.DeleteTag == 0);
var wxAuthInfoNew = new WxAppEntity()
{
TenantId = tenantId,
StoreId = storeId,
Appid = info.authorization_info.authorizer_appid,
HeadImg = info.authorizer_info.head_img,
NickName = info.authorizer_info.nick_name,
PrincipalName = info.authorizer_info.principal_name,
UserName = info.authorizer_info.user_name,
Bussinessinfo = info.authorizer_info.signature,
AuthorizerState = 0,
RefreshToken = info.authorization_info.authorizer_refresh_token,
ExpiresIn = info.authorization_info.expires_in,
};
if (wxAppInfo == null)
{
await this.Add(wxAuthInfoNew);
}
else
{
wxAuthInfoNew.Id = wxAppInfo.Id;
await this.Update(wxAuthInfoNew);
}
}
}
}