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.WebApi.Areas.Common.Controllers;
using Newtonsoft.Json.Converters;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Http;
namespace HH.WMS.WebApi.Areas.Basic
{
public class InterfaceDefController : BaseController
{
#region 查询所有接口定义
///
/// 查询所有接口定义
///
/// 查询参数
///
/// [Hanhe(DBS)] created by 2019/2/19
[HttpPost]
public OperateResult GetList(SearchModel searchModel)
{
return ValidateToken(searchModel.TokenId, x =>
{
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
OperateResult result = BLLCreator.Create>().
GetPagingResult(searchModel.PageIndex, searchModel.PageSize, new { CN_S_OP_TYPE = Util.ToString(searchModel.SearchCondition.CN_S_OP_TYPE) });
return result;
});
}
#endregion
[HttpPost]
public OperateResult GetRequestLogList(SearchModel searchModel)
{
return ValidateToken(searchModel.TokenId, x =>
{
IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
long total=0;
DataTable dt = BLLCreator.Create>().GetPagingData(
searchModel.PageIndex, searchModel.PageSize, out total,
new { CN_S_INTERFACE_NAME = Util.ToString(searchModel.SearchCondition.CN_S_INTERFACE_NAME) }, " ORDER BY CN_T_CREATE DESC ");
foreach (DataRow dr in dt.Rows)
{
dr["CN_S_REQUEST"] = dr["CN_S_REQUEST"].ToString().Replace('[', '(').Replace(']', ')').Replace('{', '<').Replace('}', '>').Replace('"', '\'');
}
return OperateResult.Succeed("",new {rows=dt,total=total});
});
}
[HttpGet]
public OperateResult ReSend(string guid)
{
return ValidateToken(x =>
{
try
{
TN_WMS_REQ_LOGEntity model = BLLCreator.Create>().GetSingleEntity(new { CN_GUID = guid });
TN_WM_INTERFACE_DEFEntity interfaceDef = BLLCreator.Create>().GetSingleEntity(new { CN_S_INTF_CODE = model.CN_S_INTERFACE });
string str = "";
if (interfaceDef.CN_S_PROTOCOL.Equals("WebApi"))
{
if (interfaceDef.CN_S_MODE.Equals("POST"))
str= WebApiManager.HttpPost(interfaceDef.CN_S_URL, "", model.CN_S_REQUEST);
else if (interfaceDef.CN_S_MODE.Equals("GET"))
str=WebApiManager.HttpGet(interfaceDef.CN_S_URL, "", model.CN_S_REQUEST);
if(str=="")
return OperateResult.Error("接口访问失败!");
}
return OperateResult.Succeed();
}
catch (Exception ex)
{
return OperateResult.Error(ex.Message);
}
});
}
#region 获取实体
///
/// 获取实体
///
/// tokenId
/// 托盘号
///
/// [Hanhe(DBS)] created by 2019/2/19
public OperateResult GetModel(string intfCode)
{
return ValidateToken(x =>
{
TN_WM_INTERFACE_DEFEntity entity = BLLCreator.Create>().GetSingleEntity(new { CN_S_INTF_CODE = intfCode });
return OperateResult.Succeed("", entity);
});
}
#endregion
public OperateResult GetParamsDef(string intfCode)
{
return ValidateToken(x =>
{
List param = BLLCreator.Create>().GetList(new { CN_S_INTF_CODE = intfCode });
return OperateResult.Succeed("", param);
});
}
#region 新增接口定义
///
/// 新增接口定义
///
/// 接口定义实体
///
/// [Hanhe(DBS)] created by 2019/2/19
[HttpPost]
public OperateResult Add(TN_WM_INTERFACE_DEFEntity model)
{
return ValidateToken(model.TokenId, x =>
{
TN_WM_INTERFACE_DEFEntity oldModel = BLLCreator.Create>().GetSingleEntity(new { CN_S_INTF_CODE = model.CN_S_INTF_CODE });
if (oldModel != null)
{
return OperateResult.Error("该编号已存在!");
}
else
{
return BLLCreator.Create>().Add(model);
}
});
}
#endregion
[HttpPost]
public OperateResult IntfParamAdd(TN_WM_INTERFACE_PARAMEntity model)
{
return ValidateToken(model.TokenId, x =>
{
return BLLCreator.Create>().Add(model);
});
}
[HttpPost]
public OperateResult IntfParamUpdate(TN_WM_INTERFACE_PARAMEntity model)
{
return ValidateToken(model.TokenId, x =>
{
return BLLCreator.Create>()
.Update(new
{
CN_C_IS_ENABLE = model.CN_C_IS_ENABLE,
CN_S_FIXED_PARAM_NAME = model.CN_S_FIXED_PARAM_NAME,
CN_S_FIXED_PARAM_TYPE = model.CN_S_FIXED_PARAM_TYPE,
CN_S_FIXED_PARAM_VALUE = model.CN_S_FIXED_PARAM_VALUE,
CN_S_INTF_CODE = model.CN_S_INTF_CODE,
CN_S_OTHER_PARAM_NAME = model.CN_S_OTHER_PARAM_NAME,
CN_S_OTHER_SYS = model.CN_S_OTHER_SYS,
CN_S_WMS_PARAM_NAME = model.CN_S_WMS_PARAM_NAME,
CN_S_MODIFY = model.CN_S_MODIFY,
CN_S_MODIFY_BY = model.CN_S_MODIFY_BY,
CN_T_MODIFY = model.CN_T_MODIFY
}, new { CN_GUID = model.CN_GUID });
});
}
#region 修改接口定义
///
/// 修改接口定义
///
/// 接口定义实体
///
/// [Hanhe(DBS)] created by 2019/2/19
[HttpPost]
public OperateResult Update(TN_WM_INTERFACE_DEFEntity model)
{
return ValidateToken(model.TokenId, x =>
{
return BLLCreator.Create>()
.Update(new
{
CN_C_IS_ENABLE = model.CN_C_IS_ENABLE,
CN_S_CENTER_TABLE = model.CN_S_CENTER_TABLE,
CN_S_DB_TYPE = model.CN_S_DB_TYPE,
CN_S_INTF_NAME = model.CN_S_INTF_NAME,
CN_S_METHOD = model.CN_S_METHOD,
CN_S_MODE = model.CN_S_MODE,
CN_S_PROTOCOL = model.CN_S_PROTOCOL,
CN_S_TYPE = model.CN_S_TYPE,
CN_S_URL = model.CN_S_URL,
CN_S_MODIFY = model.CN_S_MODIFY,
CN_S_MODIFY_BY = model.CN_S_MODIFY_BY,
CN_T_MODIFY = model.CN_T_MODIFY
}, new { CN_S_INTF_CODE = model.CN_S_INTF_CODE });
});
}
#endregion
}
}