123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- using CZFW.Core.Security;
- using CZFW.Framework.Model.ViewModel;
- using CZFW.MDB.Util;
- using MongoDB.Bson;
- namespace CZFW.MDB
- {
- public class AdminUserRepository : IAdminUser
- {
- IMongoRepository _repository;
- public AdminUserRepository(IMongoRepository repo)
- {
- _repository = repo;
- }
- public void SetCurrentTable(string tplName)
- {
- _repository.SetCurrentTable($"{tplName}_{Constants.ADMIN_TABLE_NAME}");
- }
- public ResultModel Create(string sid,string objJson)
- {
- var bobj = BsonDocument.Parse(objJson);
- bobj.Add(Constants.SITE_NAME_FIELD, sid);
- var rawPass = bobj.GetValue("password").AsString;
- var codedPass = MD5Encrypt.Encrypt(rawPass);
- bobj.Set("password", codedPass);
- _repository.CurrentTable.InsertOne(bobj);//.Insert(objJson);
- return new ResultModel { Success = true };
- }
- public ResultModel Login(string tplName,string userName, string password)
- {
- var pageName = $"{tplName}_{Constants.ADMIN_TABLE_NAME}";
- _repository.SetCurrentTable(pageName);
- var codedPass = MD5Encrypt.Encrypt(password);
- var query = $"{{user_name:'{userName}', password:'{codedPass}'}}";
- var res = _repository.GetOne(query, "{password:0}");
- return new ResultModel { Success = !(res is null), Data = res.CZToJson() };
- }
- public ResultModel Logout(string id)
- {
- return new ResultModel { Success = true };
- }
- public ResultModel Remove(string id)
- {
- var res = _repository.Remove(id);
- return res;
- }
- public ResultModel Update(string id, string objJson)
- {
- var newBson = BsonDocument.Parse(objJson);
- //var rawPass = newBson.GetValue("password").AsString;
- //var codedPass = MD5Encrypt.Encrypt(rawPass);
- //newBson.Set("password", codedPass);
- var res = _repository.Replace(id, newBson.CZToJson());
- return res;
- }
- public BsonDocument Get( string key)
- {
- // _repository.SetCurrentTable();
- var res = _repository.Get(key);
- return res;
- }
- public ResultModel UpdatePassword(string id, string oldPass, string newPass)
- {
- var user = _repository.Get(id);
- var rawOldPass = user.GetValue("password").AsString;
- var codedOldPass = MD5Encrypt.Encrypt(oldPass);
- if ( rawOldPass!= codedOldPass)
- return new ResultModel { Success = false, Message = "原密码不正确!" };
- user.Set("password", MD5Encrypt.Encrypt(newPass));
- var res = _repository.ReplaceBson(new ObjectId(id), user);
- return res;
- }
- public ResultModel UpdatePasswordBySystem(string id, string newPass)
- {
- var user = _repository.Get(id);
- user.Set("password", MD5Encrypt.Encrypt(newPass));
- var res = _repository.ReplaceBson(new ObjectId(id), user);
- return res;
- }
- }
- }
|