优化登出接口

This commit is contained in:
tongfei
2024-01-08 10:25:27 +08:00
parent 73c511ead8
commit 2596ac58ed
11 changed files with 228 additions and 112 deletions

View File

@@ -77,9 +77,10 @@ namespace WMS.Web.Api.Controllers
SessionId = logininfo.UserInfo.SeesionId, SessionId = logininfo.UserInfo.SeesionId,
Token = logininfo.TokenInfo.Token, Token = logininfo.TokenInfo.Token,
AccessToken = logininfo.TokenInfo.PhpToken, AccessToken = logininfo.TokenInfo.PhpToken,
RefreshToken=logininfo.TokenInfo.RefreshToken,
ExpiresIn = logininfo.TokenInfo.Expired ExpiresIn = logininfo.TokenInfo.Expired
}; };
var res = await _loginService.LoginOutAsync(dto); var res = await _loginService.LoginOut(dto);
} }
} }
return Result.ReSuccess(); return Result.ReSuccess();

View File

@@ -116,14 +116,15 @@ namespace WMS.Web.Api.Controllers
public async Task<string> TestTF() public async Task<string> TestTF()
{ {
////var result = await this._erpService.BillQueryForOrg(); ////var result = await this._erpService.BillQueryForOrg();
//var result = await this._erpService.BillQueryForBillType(); var result = await this._erpService.BillQueryForBillType();
//if (!result.IsSuccess) //if (!result.IsSuccess)
// return ""; // return "";
//return JsonConvert.SerializeObject(result.Data); //return JsonConvert.SerializeObject(result.Data);
// var bis = new List<string>() { "CGDD224198", "CGDD224199", "CGDD224200", "CGDD224202", "SUB00006680", "CGDD224203", "SUB000066801", "CGDD224204", "CGDD224205", "CGDD224206", "CGDD224207", "SUB00006681", "CGDD224208", "CGDD224209", "SUB00006682", "CGDD224210", "CGDD224211", "CGDD224212", "CGDD224213", "CGDD224216", "SUB00006683", "CGDD224218", "CGDD224219", "CGDD224220", "CGDD224221", "CGDD224222", "CGDD224223", "CGDD224224", "CGDD224225", "CGDD224226", "CGDD224227", "CGDD224229", "CGDD224230", "CGDD224231", "CGDD224232", "CGDD224233", "SUB00006685", "SUB00006686", "CGDD224234", "CGDD224235", "CGDD224236", "CGDD224237", "CGDD224238", "CGDD224239", "CGDD224240", "CGDD224241", "CGDD224242", "CGDD224243", "CGDD224244", "CGDD224245", "CGDD224246", "CGDD224247", "CGDD224248", "CGDD224249", "CGDD224250", "CGDD224251" }; // var bis = new List<string>() { "CGDD224198", "CGDD224199", "CGDD224200", "CGDD224202", "SUB00006680", "CGDD224203", "SUB000066801", "CGDD224204", "CGDD224205", "CGDD224206", "CGDD224207", "SUB00006681", "CGDD224208", "CGDD224209", "SUB00006682", "CGDD224210", "CGDD224211", "CGDD224212", "CGDD224213", "CGDD224216", "SUB00006683", "CGDD224218", "CGDD224219", "CGDD224220", "CGDD224221", "CGDD224222", "CGDD224223", "CGDD224224", "CGDD224225", "CGDD224226", "CGDD224227", "CGDD224229", "CGDD224230", "CGDD224231", "CGDD224232", "CGDD224233", "SUB00006685", "SUB00006686", "CGDD224234", "CGDD224235", "CGDD224236", "CGDD224237", "CGDD224238", "CGDD224239", "CGDD224240", "CGDD224241", "CGDD224242", "CGDD224243", "CGDD224244", "CGDD224245", "CGDD224246", "CGDD224247", "CGDD224248", "CGDD224249", "CGDD224250", "CGDD224251" };
var result = await this._erpService.BillQueryForPurchaseInStock();
//var result = await this._erpService.BillQueryForPurchaseInStock();
//var result1 = await this._erpService.BillQueryForMiscellaneous(); //var result1 = await this._erpService.BillQueryForMiscellaneous();
//var result2 = await this._erpService.BillQueryForTransferDirect(); //var result2 = await this._erpService.BillQueryForTransferDirect();
//var result3 = await this._erpService.BillQueryForTransferin(); //var result3 = await this._erpService.BillQueryForTransferin();

View File

@@ -4192,31 +4192,6 @@
出库状态 出库状态
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.Type">
<summary>
单据类型
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.Operator">
<summary>
操作人(出库人)
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.OperateTime">
<summary>
操作时间(出库时间)
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.OutStock">
<summary>
出库人
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.OutStockTime">
<summary>
出库时间
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.SourceBillNo"> <member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.SourceBillNo">
<summary> <summary>
来源单号 来源单号
@@ -4227,16 +4202,6 @@
销售订单号 销售订单号
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.SourceBillNoList">
<summary>
来源单号(集合)
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.SaleBillNoList">
<summary>
销售订单号(集合)
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.DeliveryOrg"> <member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.DeliveryOrg">
<summary> <summary>
发货组织 发货组织
@@ -4247,9 +4212,14 @@
收货客户 收货客户
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.MaterialName"> <member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.Type">
<summary> <summary>
物料名称 单据类型
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.Specifications">
<summary>
物料规格型号
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.MaterialNumber"> <member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.MaterialNumber">
@@ -4257,9 +4227,14 @@
物料编码 物料编码
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.Specifications"> <member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.MaterialName">
<summary> <summary>
物料规格型号 物料名称
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.Unit">
<summary>
单位
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.Stock"> <member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.Stock">
@@ -4277,21 +4252,6 @@
已出库数量 已出库数量
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.Remark">
<summary>
订单明细备注
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.CreateTime">
<summary>
创建时间erp那边的创建时间
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.Unit">
<summary>
单位
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.OutStockBeginTime"> <member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.OutStockBeginTime">
<summary> <summary>
出库开始时间 出库开始时间
@@ -4302,6 +4262,46 @@
出库结束时间 出库结束时间
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.Operator">
<summary>
操作人
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.OperateTime">
<summary>
操作时间
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.OutStock">
<summary>
出库人
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.OutStockTime">
<summary>
出库时间
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.SourceBillNoList">
<summary>
来源单号(集合)
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.SaleBillNoList">
<summary>
销售订单号(集合)
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.Remark">
<summary>
订单明细备注
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryInfoResponse.CreateTime">
<summary>
创建时间erp那边的创建时间
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryRequest"> <member name="T:WMS.Web.Core.Dto.OutStockTask.OutStockTaskQueryRequest">
<summary> <summary>
出库单任务 出库单任务
@@ -4397,11 +4397,61 @@
单据编号 单据编号
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.SourceBillNo">
<summary>
来源单号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.SaleBillNo">
<summary>
销售订单号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.DeliveryOrg">
<summary>
发货组织
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.ReceiptCustomer">
<summary>
收货客户
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.Type"> <member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.Type">
<summary> <summary>
单据类型 单据类型
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.Specifications">
<summary>
物料规格型号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.MaterialNumber">
<summary>
物料编码
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.MaterialName">
<summary>
物料名称
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.Unit">
<summary>
单位
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.Stock">
<summary>
仓库ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.Qty">
<summary>
出库数量
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.Creator"> <member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.Creator">
<summary> <summary>
创建人 创建人
@@ -4417,16 +4467,6 @@
同步成功或者失败 null 就是未同步 同步成功或者失败 null 就是未同步
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.SourceBillNo">
<summary>
来源单号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.SaleBillNo">
<summary>
销售订单号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.SourceBillNoList"> <member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.SourceBillNoList">
<summary> <summary>
来源单号(集合) 来源单号(集合)
@@ -4437,46 +4477,6 @@
销售订单号(集合) 销售订单号(集合)
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.DeliveryOrg">
<summary>
发货组织
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.ReceiptCustomer">
<summary>
收货客户
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.MaterialName">
<summary>
物料名称
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.MaterialNumber">
<summary>
物料编码
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.Specifications">
<summary>
物料规格型号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.Unit">
<summary>
单位
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.Stock">
<summary>
仓库ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.Qty">
<summary>
出库数量
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.Remark"> <member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.Remark">
<summary> <summary>
备注 备注

View File

@@ -3213,6 +3213,13 @@
<param name="dto"></param> <param name="dto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.IService.Public.ILoginService.LoginOut(WMS.Web.Core.Dto.Login.LoginOutDto)">
<summary>
登录退出
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.IService.Public.ILoginService.RefreshToken(System.String,System.String)"> <member name="M:WMS.Web.Domain.IService.Public.ILoginService.RefreshToken(System.String,System.String)">
<summary> <summary>
刷新token 刷新token
@@ -4816,6 +4823,13 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Domain.Services.Public.LoginService.LoginOut(WMS.Web.Core.Dto.Login.LoginOutDto)">
<summary>
登录退出
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.LoginService.RefreshToken(System.String,System.String)"> <member name="M:WMS.Web.Domain.Services.Public.LoginService.RefreshToken(System.String,System.String)">
<summary> <summary>
刷新token 刷新token

View File

@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WMS.Web.Core.Dto.Login
{
public class LoginOutAuthorizeRequest
{
public string AccessToken { get; set; }
public string RefreshToken { get; set; }
}
}

View File

@@ -38,5 +38,7 @@ namespace WMS.Web.Core.Dto.Login
///ops自己产生的token 给前端验证用的 ///ops自己产生的token 给前端验证用的
/// </summary> /// </summary>
public string Token { get; set; } public string Token { get; set; }
public string RefreshToken { get; set; }
} }
} }

View File

@@ -88,7 +88,7 @@ namespace WMS.Web.Core.Help
public string PostHttp(string url, LoginAuthorizeRequest reqData) public string PostHttp(string url, LoginAuthorizeRequest reqData)
{ {
var str = string.Format("client_id={0}&client_secret={1}&grant_type={2}&username={3}&password={4}&scope={5}", var str = string.Format("client_id={0}&client_secret={1}&grant_type={2}&username={3}&password={4}&scope={5}",
reqData.ClientId, reqData.ClientSecret, reqData.GrantType, reqData.UserName, reqData.Password,reqData.Scope); reqData.ClientId, reqData.ClientSecret, reqData.GrantType, reqData.UserName, reqData.Password, reqData.Scope);
ASCIIEncoding encoding = new ASCIIEncoding(); ASCIIEncoding encoding = new ASCIIEncoding();
byte[] byte1 = encoding.GetBytes(str); byte[] byte1 = encoding.GetBytes(str);
HttpContent httpContent = new StringContent(str); HttpContent httpContent = new StringContent(str);
@@ -117,7 +117,7 @@ namespace WMS.Web.Core.Help
public string PostHttp(string url, LoginAuthorizeCodeRequest reqData) public string PostHttp(string url, LoginAuthorizeCodeRequest reqData)
{ {
var str = string.Format("client_id={0}&client_secret={1}&grant_type={2}&code={3}&scope={4}", var str = string.Format("client_id={0}&client_secret={1}&grant_type={2}&code={3}&scope={4}",
reqData.ClientId, reqData.ClientSecret, reqData.GrantType, reqData.Code,reqData.Scope); reqData.ClientId, reqData.ClientSecret, reqData.GrantType, reqData.Code, reqData.Scope);
ASCIIEncoding encoding = new ASCIIEncoding(); ASCIIEncoding encoding = new ASCIIEncoding();
byte[] byte1 = encoding.GetBytes(str); byte[] byte1 = encoding.GetBytes(str);
HttpContent httpContent = new StringContent(str); HttpContent httpContent = new StringContent(str);
@@ -143,6 +143,37 @@ namespace WMS.Web.Core.Help
} }
public string GetHttpOut(string url, LoginOutAuthorizeRequest reqData)
{
try
{
HttpClient client = new HttpClient();
//请求头添加其他值
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", reqData.AccessToken);
client.DefaultRequestHeaders.Add("Refresh-Authorization", reqData.RefreshToken);
client.DefaultRequestHeaders.Connection.Add("Keep-Alive");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.AcceptCharset.Add(new StringWithQualityHeaderValue ("utf-8"));
HttpResponseMessage response = client.GetAsync(url).Result;
if (response.IsSuccessStatusCode)
{
var resData = response.Content.ReadAsStringAsync().Result;
return resData;
}
else
{
var resData = response.Content.ReadAsStringAsync().Result;
return resData;
}
}
catch (Exception ex)
{
return "";
}
}
public string PostHttpNoData(string url, string cookieValue = "") public string PostHttpNoData(string url, string cookieValue = "")
{ {
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

View File

@@ -52,6 +52,13 @@ namespace WMS.Web.Domain.IService.Public
/// <returns></returns> /// <returns></returns>
Task<Result> LoginOutAsync(LoginOutDto dto); Task<Result> LoginOutAsync(LoginOutDto dto);
/// <summary>
/// 登录退出
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
Task<Result> LoginOut(LoginOutDto dto);
/// <summary> /// <summary>
/// 刷新token /// 刷新token

View File

@@ -86,6 +86,26 @@ namespace WMS.Web.Domain.Services.Public
} }
} }
public async Task<Result<string>> Init1()
{
BasicHttpBinding binding = new BasicHttpBinding();
binding.MaxReceivedMessageSize = int.MaxValue;
binding.SendTimeout = new TimeSpan(int.MaxValue);
EndpointAddress address = new EndpointAddress(this._erpOptions.EndpointAddress);
this._client = new ERPGWSoapClient(binding, address);
try
{
var result = await this._client.ValidateSystemAsync(this._erpOptions.UserName, this._erpOptions.Password, "Orico", "");
if (result == null)
return Result<string>.ReFailure(ResultCodes.Erp_Login_Error);
return Result<string>.ReSuccess(result.AccessToken);
}
catch (Exception ex)
{
return Result<string>.ReFailure(ResultCodes.Erp_Login_Error);
}
}
/// <summary> /// <summary>
/// 查单据类型的值 /// 查单据类型的值
/// </summary> /// </summary>
@@ -95,7 +115,7 @@ namespace WMS.Web.Domain.Services.Public
try try
{ {
//1.先登录金蝶-拿到token //1.先登录金蝶-拿到token
var token_result = await this.Init(); var token_result = await this.Init1();
if (!token_result.IsSuccess) if (!token_result.IsSuccess)
return ResultList<ErpBaseDto>.ReFailure(token_result); return ResultList<ErpBaseDto>.ReFailure(token_result);

View File

@@ -462,7 +462,7 @@ namespace WMS.Web.Domain.Services.Public
reqData.Add("app_id", _soaOptions.AppId); reqData.Add("app_id", _soaOptions.AppId);
reqData.Add("app_secret", _soaOptions.AppSecret); reqData.Add("app_secret", _soaOptions.AppSecret);
reqData.Add("access_token", dto.AccessToken); reqData.Add("access_token", dto.AccessToken);
string result = _httpClientHelp.PostHttp(_soaOptions.Url + "/uc/authorize/signin_out", reqData, true, dto.SessionId); string result = _httpClientHelp.PostHttp(_soaOptions.Url_V3 + "/uc/authorize/signin_out", reqData, true, dto.SessionId);
_logger.LogInformation("退出登录返回:" + result); _logger.LogInformation("退出登录返回:" + result);
var jObject = JsonObject.Parse(result); var jObject = JsonObject.Parse(result);
if (jObject["errno"] == 0) if (jObject["errno"] == 0)
@@ -477,6 +477,32 @@ namespace WMS.Web.Domain.Services.Public
} }
} }
/// <summary>
/// 登录退出
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
public async Task<Result> LoginOut(LoginOutDto dto)
{
//2.请求PHP单点登出接口
var reqData = new LoginOutAuthorizeRequest();
reqData.AccessToken = dto.AccessToken;
reqData.RefreshToken = dto.RefreshToken;
string result = _httpClientHelp.GetHttpOut(_soaOptions.Url_V3 + "/uc/logout", reqData);
_logger.LogInformation("退出登录返回:" + result);
var jObject = JsonObject.Parse(result);
if (jObject["code"] == 0)
{
//设置本地token的缓存为黑名单的token做存储
await CacheOutToken(dto);
return Result.ReSuccess();
}
else
{
return Result.ReFailure(BaseResultCodes.UnAuthorized);
}
}
/// <summary> /// <summary>
/// 刷新token /// 刷新token
/// </summary> /// </summary>