using Senparc.Weixin.MP.CommonAPIs; using Senparc.Weixin.MP.Containers; using System; using System.Collections.Generic; using System.Threading.Tasks; using Yitter.IdGenerator; using Znyc.Admin.Commons.Const; using Znyc.Admin.Commons.Entitys; using Znyc.Admin.Commons.Log; using Znyc.Admin.Commons.Mapping; using Znyc.Admin.Commons.Pages; using Znyc.Admin.Commons.Services; using Znyc.Admin.Security.Dtos; using Znyc.Admin.Security.Dtos.WxUserRelation; using Znyc.Admin.Security.Entitys; using Znyc.Admin.Security.Entitys.Dispatching; using Znyc.Admin.Security.IRepositories; using Znyc.Admin.Security.IServices; namespace Znyc.Admin.Security.Services { /// /// /// public class WxUserRelationService : BaseService, IWxUserRelationService { private readonly IWxUserRelationRepository _repository; public WxUserRelationService(IWxUserRelationRepository repository ) : base(repository) { _repository = repository; } /// /// /// /// /// public async Task UpdateAsync(string wxOpenId) { CommonResult result = new CommonResult(); await AccessTokenContainer.RegisterAsync("wx07c574aca93ae8d9", "2d202f91258131f63565e11bdb065f6b"); var wxUser = CommonApi.GetUserInfo("wx07c574aca93ae8d9", wxOpenId); string where = string.Format("unionId='{0}'", wxUser.unionid); var wxUserRelation = await GetWhereAsync(where); if (wxUserRelation != null) { wxUserRelation.WxOfficialOpenId = wxOpenId; wxUserRelation.ModifiedTime = DateTime.Now; await _repository.UpdateAsync(wxUserRelation, wxUserRelation.Id); } else { await _repository.InsertAsync(new WxUserRelation() { Id = YitIdHelper.NextId(), OpenId = "", UnionId = wxUser.unionid, WxOfficialOpenId = wxOpenId }); } result.Success = true; return result; } } }