using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.Description;
namespace GSYWApi.Controllers
{
///
/// 系统登录相关接口
///
public class LoggingController : BaseController
{
#region 方法 -> 用户登录
///
/// 用户登录,参数:登录账号【UserPassport】,登录密码【UserPassWord】,用户登录token【accessToken】
///
///
/// 100:登录成功
/// 200:登录失败
/// 300:token失效
///
[Route("Logging/UserLogin")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult UserLogin()
{
string accessToken = Helper.Pub.Request("accessToken");
string UserPassport = Helper.Pub.Request("UserPassport");
string UserPassWord = Helper.Pub.Request("UserPassWord");
try
{
//定义错误提示内容
string FailureString = "";
//定义登录用户对象,返回给前端
Model.PassportInfo passportInfo = new Model.PassportInfo();
//验证用户登录信息
if (!string.IsNullOrWhiteSpace(accessToken))
{
if (Helper.LoggingHelper.UserLogin(transaction, accessToken, ref passportInfo, ref FailureString))
{
return Ok(Models.JsonMsg.Success(passportInfo, 100, "登录成功"));
}
else
{
return Ok(Helper.Common.ReturnJson(300, FailureString));
}
}
else
{
bool LoginFlag = Helper.LoggingHelper.UserLogin(transaction,
UserPassport, UserPassWord, ref passportInfo, ref FailureString);
if (LoginFlag)
{
return Ok(Models.JsonMsg.Success(passportInfo, 100, "登录成功"));
}
else
{
return Ok(Helper.Common.ReturnJson(200, FailureString));
}
}
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
Helper.LogUtil.WriteLog(null, "登录失败!失败原因:" + ex.Message + "\r\n",
DateTime.Now.ToString("yyyyMMdd") + "_UserLogin");
return Ok(Helper.Common.ReturnJson(999, "登录失败" + ex.Message));
}
}
#endregion
#region 方法 -> 用户登出
///
/// 用户登出,参数:用户登录token【accessToken】
///
///
[Route("Logging/UserLogout")]
[AcceptVerbs("POST")]
[ResponseType(typeof(Models.JsonMsg))]
public IHttpActionResult UserLogout()
{
string accessToken = Helper.Pub.Request("accessToken", Helper.Pub.Request("token"));
Helper.LogUtil.WriteLog(null, "用户登录token:" + accessToken,
DateTime.Now.ToString("yyyyMMdd") + "_UserLogout");
try
{
Helper.RedisHelper redisHelper = new Helper.RedisHelper();
if (Helper.LoggingHelper.LogoutPlatform(redisHelper, accessToken))
{
return Ok(Helper.Common.ReturnJson(100, "登出成功"));
}
else
{
return Ok(Helper.Common.ReturnJson(200, "登出失败"));
}
}
catch (Exception ex)
{
//事务回滚
transaction.Rollback();
Helper.LogUtil.WriteLog(null, "登录失败!失败原因:" + ex.Message,
DateTime.Now.ToString("yyyyMMdd") + "_UserLogout");
return Ok(Helper.Common.ReturnJson(999, "登录失败" + ex.Message));
}
}
#endregion
}
}