From 4a008c219f3f2d4a73543922bdcacdaadd687f22 Mon Sep 17 00:00:00 2001 From: bairubing Date: Fri, 29 Nov 2024 09:43:36 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=98=8ESolidWorksManage=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BF=9D=E5=AD=98=E7=89=A9=E6=96=99=E6=B8=85?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dto/AddItemsInBomInput.cs | 24 ++++++++++ .../SolidWorksManageService.cs | 45 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 admin.net.pro/Admin.NET/Vistar.Application/SolidWorksManageService/Dto/AddItemsInBomInput.cs diff --git a/admin.net.pro/Admin.NET/Vistar.Application/SolidWorksManageService/Dto/AddItemsInBomInput.cs b/admin.net.pro/Admin.NET/Vistar.Application/SolidWorksManageService/Dto/AddItemsInBomInput.cs new file mode 100644 index 0000000..e4f6244 --- /dev/null +++ b/admin.net.pro/Admin.NET/Vistar.Application/SolidWorksManageService/Dto/AddItemsInBomInput.cs @@ -0,0 +1,24 @@ +// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。 +// +// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。 +// +// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Vistar.Application.SolidWorksManageService.Dto; +public class AddItemsInBomInput +{ + public string parent_object_id { get; set; } + public string parent_record_id { get; set; } + public string child_object_id { get; set; } + public string child_record_id { get; set; } + public string config_id { get; set; } + public string version_index { get; set; } + public string view_name { get; set; } + public string quantity { get; set; } +} diff --git a/admin.net.pro/Admin.NET/Vistar.Application/SolidWorksManageService/SolidWorksManageService.cs b/admin.net.pro/Admin.NET/Vistar.Application/SolidWorksManageService/SolidWorksManageService.cs index 6cd56f0..3bd1065 100644 --- a/admin.net.pro/Admin.NET/Vistar.Application/SolidWorksManageService/SolidWorksManageService.cs +++ b/admin.net.pro/Admin.NET/Vistar.Application/SolidWorksManageService/SolidWorksManageService.cs @@ -392,6 +392,51 @@ public class SolidWorksManageService : IDynamicApiController, ITransient { string responseBody = await response.Content.ReadAsStringAsync(); + var errorResponse = new ManageResponse() + { + Success = false, + Message = responseBody, + Data = "", + CustomAction = "", + CustomAttributes = "" + }; + return errorResponse; + } + } + /// + /// 保存物料清单 + /// + /// + /// + public async Task AddItemsInBom(AddItemsInBomInput input) + { + // 获取 SolidWorksManage 地址 + string apiUrl = await _sysConfigService.GetConfigValueByCode(ConfigConst.SolidWorksManageApiUrl); + // 拼接接口地址 + string url = $"{apiUrl}/api/BOM/AddItemsInBom"; + //获取token + var token = await _sysConfigService.GetConfigValueByCode(ConfigConst.SolidWorksManageAuthorization); + // 将参数对象序列化为 JSON 字符串 + string jsonParameters = JsonConvert.SerializeObject(input); + // 设置请求内容 + var content = new StringContent(jsonParameters, Encoding.UTF8, "application/json"); + client.DefaultRequestHeaders.Remove("Authorization"); + // 添加 Authorization 到请求头 + client.DefaultRequestHeaders.Add("Authorization", token); + // 发送 POST 请求 + HttpResponseMessage response = await client.PostAsync(url, content); + // 处理响应 + if (response.IsSuccessStatusCode) + { + string responseBody = await response.Content.ReadAsStringAsync(); + // 解析 JSON 数据 + var result = JsonConvert.DeserializeObject(responseBody); + return result; + } + else + { + string responseBody = await response.Content.ReadAsStringAsync(); + var errorResponse = new ManageResponse() { Success = false,