using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace IStation.Service
|
{
|
/// <summary>
|
/// 用户登录
|
/// </summary>
|
public class UserLogin
|
{
|
/// <summary>
|
/// 登录
|
/// </summary>
|
public Model.User Login
|
(string SoftType,string SoftTag, string LoginName, string LoginPwd,string IP, string Message,out Model.eLoginStatus LoginStatus)
|
{
|
LoginStatus = Model.eLoginStatus.Success;
|
//验证
|
if (string.IsNullOrEmpty(LoginName))
|
return default;
|
if (string.IsNullOrEmpty(LoginPwd))
|
return default;
|
var dt_now = DateTime.Now;
|
|
try
|
{
|
|
#region 用户验证
|
|
var service_user = new User();
|
var user = service_user.GetByLoginName(LoginName);
|
if (user == null)
|
{
|
LoginStatus = Model.eLoginStatus.UserIsNotExist;
|
return default;
|
}
|
if (user.LoginPwd != LoginPwd)
|
{
|
LoginStatus = Model.eLoginStatus.PasswordError;
|
return default;
|
}
|
if (user.UseStatus == Model.eUseStatus.Disable)
|
{
|
LoginStatus = Model.eLoginStatus.UserIsStopped;
|
return default;
|
}
|
if (!service_user.VerifyCreateUseStatus(user.ID))
|
{
|
LoginStatus = Model.eLoginStatus.ParentUserIsStopped;
|
return default;
|
}
|
|
#endregion
|
|
#region 用户更新
|
|
var model_lastLogin = new Model.UserLastLogin();
|
model_lastLogin.ID = user.ID;
|
model_lastLogin.CorpID = user.CorpID;
|
model_lastLogin.LastLoginIP = IP;
|
model_lastLogin.LastLoginSoftType = SoftType;
|
model_lastLogin.LastLoginSoftTag = SoftTag;
|
model_lastLogin.LastLoginTime = dt_now;
|
|
if (!service_user.UpdateLastLogin(model_lastLogin))
|
{
|
LoginStatus = Model.eLoginStatus.Failed;
|
return default;
|
}
|
|
#endregion
|
|
#region 登录日志
|
|
var entity_log = new Entity.UserLoginLog();
|
entity_log.CorpID = user.CorpID;
|
entity_log.SoftType = SoftType;
|
entity_log.SoftTag = SoftTag;
|
entity_log.UserID = user.ID;
|
entity_log.InputLoginName = LoginName;
|
entity_log.LoginTime = DateTime.Now;
|
entity_log.LoginIP = IP;
|
entity_log.Message = Message;
|
new DAL.UserLoginLog().Insert(entity_log);
|
|
#endregion
|
|
return service_user.GetByID(user.ID);
|
}
|
catch(Exception ex)
|
{
|
LogHelper.Error("用户登录异常",ex);
|
LoginStatus=Model.eLoginStatus.Failed;
|
return default;
|
}
|
}
|
|
/// <summary>
|
/// 客户登录
|
/// </summary>
|
public Model.User LoginCorp
|
(long CorpID, string SoftType, string SoftTag, string LoginName, string LoginPwd, string IP, string Message, out Model.eLoginStatus LoginStatus)
|
{
|
var user = Login(SoftType,SoftTag,LoginName,LoginPwd,IP,Message,out LoginStatus);
|
if (LoginStatus == Model.eLoginStatus.Success)
|
{
|
if (!user.IsAdmin)
|
{
|
if (user.CorpID != CorpID)
|
{
|
LoginStatus = Model.eLoginStatus.UserIsNotExist;
|
return default;
|
}
|
}
|
}
|
return user;
|
}
|
|
|
}
|
}
|