using HH.WMS.BLL;
using HH.WMS.Common;
using HH.WMS.Entitys;
using HH.WMS.Entitys.Basic;
using HH.WMS.Entitys.Common;
using HH.WMS.Entitys.Sys;
using HH.WMS.WebApi.Areas.Common.Controllers;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading;
using System.Web.Http;
namespace HH.WMS.WebApi.Controllers
{
///
/// 登录
///
public class LoginController : BaseController
{
//[HttpGet]
//public OperateResult InitConfig()
//{
// try
// {
// return OperateResult.Succeed("", Constants.config);
// }
// catch (Exception ex)
// {
// return OperateResult.Error(ex.Message);
// }
//}
#region 登录接口
///
/// 登录调用人员模型
///
/// 用户名
/// 密码
///
///
///
///
/// [HANHE(XDL)] CREATED BY 2018-11-13
[HttpPost]
public string Login(JObject json)
{
string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(json);
string result = HH.WMS.Common.WebApiManager.HttpAutoBom_Post("api/Account/Login", jsonString);
return result;
}
#endregion
#region 版本更新代码
[HttpGet]
public string GetPDAUpdateInfo()
{
StringBuilder strJson = new StringBuilder();
try
{
UpdateInfoEntity updateEntity = new UpdateInfoEntity();
if (System.Configuration.ConfigurationManager.AppSettings["AppName"] != null)
{
updateEntity.appName = System.Configuration.ConfigurationManager.AppSettings["AppName"].ToString();
}
if (System.Configuration.ConfigurationManager.AppSettings["PdaServerVersion"] != null)
{
updateEntity.serverVersion = System.Configuration.ConfigurationManager.AppSettings["PdaServerVersion"].ToString();
}
updateEntity.serverFlag = "1";
if (System.Configuration.ConfigurationManager.AppSettings["PdalastForce"] != null)
{
updateEntity.lastForce = System.Configuration.ConfigurationManager.AppSettings["PdalastForce"].ToString();
}
if (System.Configuration.ConfigurationManager.AppSettings["PdaUpdateUrl"] != null)
{
updateEntity.updateUrl = System.Configuration.ConfigurationManager.AppSettings["PdaUpdateUrl"].ToString();
}
updateEntity.upGradeInfo = "WMS有新版本,是否需要更新?";
if (System.Configuration.ConfigurationManager.AppSettings["WmsPdaApiUrl"] != null)
{
updateEntity.wmsAPiUrl = System.Configuration.ConfigurationManager.AppSettings["WmsPdaApiUrl"].ToString();
}
if (System.Configuration.ConfigurationManager.AppSettings["AmsPdaApiUrl"] != null)
{
updateEntity.amsApiUrl = System.Configuration.ConfigurationManager.AppSettings["AmsPdaApiUrl"].ToString();
}
strJson.Append(JsonConvert.SerializeObject(OperateResult.Succeed("", updateEntity)));
}
catch (Exception ex)
{
strJson.Append(JsonConvert.SerializeObject(OperateResult.Error("请检查web.config中pda升级配置参数是否正确," + ex.Message.ToString())));
}
return strJson.ToString();
}
#endregion
#region 版本更新
[HttpGet]
public OperateResult GetApkUpdateInfo()
{
var PdaServerVersionName = string.Empty;
string path = System.Web.HttpContext.Current.Server.MapPath("/Program");
DirectoryInfo folder = new DirectoryInfo(path);
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
foreach (FileInfo file in folder.GetFiles("*.apk").OrderByDescending(b => b.CreationTime))
{
PdaServerVersionName = file.Name;
break;
}
try
{
UpdateInfoEntity updateEntity = new UpdateInfoEntity();
if (string.IsNullOrEmpty(Constants.SysConfig.PdaUpdateUrl))
{
return OperateResult.Error("请检查web.config中是否配置pda下载更新地址");
}
if (Constants.SysConfig.APP_NAME != null)
{
updateEntity.appName = Constants.SysConfig.PdaTitle;
}
else
{
updateEntity.appName = "";
}
updateEntity.serverVersionName = PdaServerVersionName;
updateEntity.updateUrl = Constants.SysConfig.PdaUpdateUrl;
updateEntity.upGradeInfo = "系统有新版本,是否需要更新";
return OperateResult.Succeed("", updateEntity);
}
catch (Exception ex)
{
return OperateResult.Error("GetApkUpdateInfo方法异常" + ex.Message);
}
}
#endregion
#region 获得有权限的菜单
///
/// 获得有权限的菜单
///
///
///
///
/// [HANHE(XDL)] CREATED BY 2018-11-13
[HttpPost]
public string GetUserMenu(JObject json)
{
string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(json);
string ReturnJson = HH.WMS.Common.WebApiManager.HttpAutoBom_Post("api/Menu/GetMenuByUser", jsonString);
return ReturnJson;
}
#endregion
#region 获得当前用户有权限的按钮
///
/// 获得当前用户有权限的按钮
///
/// 菜单ID
///
public OperateResult GetPower(string menuid)
{
return ValidateToken(t =>
{
var entity = new
{
userName = t.CN_S_LOGIN,
appCode = Constants.appCode,
menuid = menuid
};
string jsonString = JsonConvert.SerializeObject(entity);
string result = WebApiManager.HttpAutoBom_Post("api/Account/GetBottonCode", jsonString);
PowerEntity power = JsonConvert.DeserializeObject(result);
if (power != null)
if (power.listButtonCode != null)
power.listButtonCode.ForEach(f => { f = f.Trim(); });
return OperateResult.Succeed(null, power);
});
}
#endregion
#region 测试登录接口
///
/// 登录调用人员模型
///
/// 用户名
/// 密码
///
///
///
///
/// [HANHE(XDL)] CREATED BY 2018-11-13
[HttpGet]
public OperateResult LoginPad(string userName, string password)
{
string maxauth = "";
byte[] bytes = Encoding.GetEncoding("utf-8").GetBytes(userName + ":" + password);
try
{
maxauth = Convert.ToBase64String(bytes);
}
catch
{
return OperateResult.Error("Base64加密失败");
}
string result = "";
try
{
result = HH.WMS.Common.WebApiManager.HttpK3_Get("maximo/oslc/login?MAXAUTH=" + maxauth);
AutobomResult autobomRes = JsonConvert.DeserializeObject(result);
}
catch(Exception ex)
{
return OperateResult.Error("调用ERP接口失败" + ex.Message);
}
return OperateResult.Succeed("", result);
}
#endregion
}
}