diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.WeChatUser.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.WeChatUser.cs index 81a325d4..e85cfebf 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.WeChatUser.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.WeChatUser.cs @@ -10,4 +10,31 @@ public partial class MongoRepository return weChatUser != null ? weChatUser.ToWeChatUser() : null; } + public WeChatUser? CreateWeChatUser(WeChatUser weChatUser) + { + if (weChatUser == null) return null; + + var weChatUserInfo = new WeChatUserDocument + { + Id = weChatUser.Id ?? Guid.NewGuid().ToString(), + OpenId = weChatUser.OpenId, + SessionKey = weChatUser.SessionKey, + UnionId = weChatUser.UnionId, + Sex = weChatUser.Sex, + Province = weChatUser.Province, + City = weChatUser.City, + NickName = weChatUser.NickName, + Headimgurl = weChatUser.Headimgurl, + PhoneNumber = weChatUser.PhoneNumber, + Country = weChatUser.Country, + Privilege = weChatUser.Privilege, + CreatedAt = DateTime.UtcNow, + }; + + _dc.WeChatUsers.InsertOne(weChatUserInfo); + + return weChatUserInfo.ToWeChatUser(); + } + + }