using AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models; using AlibabaCloud.TeaUtil.Models; using MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Dto.webApi.DeliveryNote; using MES.Service.Modes; using MES.Service.Modes.DeliveryNote; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using Tea; public class ProductionOrderManager : Repository { public static AlibabaCloud.SDK.Dingtalkoauth2_1_0.Client CreateClient1() { AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config(); config.Protocol = "https"; config.RegionId = "central"; return new AlibabaCloud.SDK.Dingtalkoauth2_1_0.Client(config); } /** * 获取钉钉的 Access Token * @return string 返回获取到的 Access Token */ public string GetToken() { AlibabaCloud.SDK.Dingtalkoauth2_1_0.Client client = CreateClient1(); AlibabaCloud.SDK.Dingtalkoauth2_1_0.Models.GetAccessTokenRequest getAccessTokenRequest = new AlibabaCloud.SDK.Dingtalkoauth2_1_0.Models.GetAccessTokenRequest { AppKey = "dingyzos0r1bizj7g6lr", AppSecret = "-HP4RvK2OUbqhG3iBUpd_TPe5MZRj8cfLc0b8Skt8rhC3I38kVLY9SS8P3kLWFcH", }; try { var response = client.GetAccessToken(getAccessTokenRequest); return response.Body.AccessToken; // 返回获取到的 Access Token } catch (TeaException err) { Console.WriteLine($"TeaException: Code={err.Code}, Message={err.Message}"); return null; } catch (Exception _err) { Console.WriteLine($"Exception: {_err.Message}"); return null; } } public static AlibabaCloud.SDK.Dingtalkyida_1_0.Client CreateClient() { AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config(); config.Protocol = "https"; config.RegionId = "central"; return new AlibabaCloud.SDK.Dingtalkyida_1_0.Client(config); } public string GetFileUrl() { string accessToken = GetToken(); if (string.IsNullOrEmpty(accessToken)) { return "获取 Access Token 失败"; } AlibabaCloud.SDK.Dingtalkyida_1_0.Client client = CreateClient(); AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetOpenUrlHeaders getOpenUrlHeaders = new AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetOpenUrlHeaders(); getOpenUrlHeaders.XAcsDingtalkAccessToken = accessToken; AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetOpenUrlRequest getOpenUrlRequest = new AlibabaCloud.SDK.Dingtalkyida_1_0.Models.GetOpenUrlRequest { SystemToken = "54A66HC1YDSSO9DP61Y93CWQ2W9B36IZZOY6MC81", UserId = "923188102", Language = "zh_CN", FileUrl = "https://cfw1x5.aliwork.com/inst/filePreview?appType=APP_Q7PLYKXMKFUJ5HY6DMWR&fileName=APP_Q7PLYKXMKFUJ5HY6DMWR_MDcxODM5NTEyMDMyNjgzODgzX09WOTY2V0ExN1lUVFRDS0Q3WjFYTTlQNUw5MVIzTTNaQ1hHOE1SOQ$$.xls", Timeout = 3600000, }; try { var response = client.GetOpenUrlWithOptions("APP_Q7PLYKXMKFUJ5HY6DMWR", getOpenUrlRequest, getOpenUrlHeaders, new AlibabaCloud.TeaUtil.Models.RuntimeOptions()); return (Newtonsoft.Json.JsonConvert.SerializeObject(response.Body)); } catch (TeaException err) { return $"TeaException: Code={err.Code}, Message={err.Message}"; } catch (Exception _err) { return $"Exception: {_err.Message}"; } } public dynamic Save(ErpProductionOrder erpProductionOrder) { //var erpProductionOrder = productionOrder.erpProductionOrder; var mesProductionOrder = GetMesProductionOrder(erpProductionOrder); return UseTransaction(db => { return SaveOrUpdateData(db, mesProductionOrder) ? 1 : 0; }) > 0; } public dynamic SaveList(List erpProductionOrder) { var result = erpProductionOrder.Select(Save).ToList(); return result.All(b => b); } public ProductionOrders GetMesProductionOrder(ErpProductionOrder erpProductionOrder) { var mesProductionOrders = new ProductionOrders { ImageUrl = erpProductionOrder.ImageUrl, SalesOrder = erpProductionOrder.SalesOrder }; return mesProductionOrders; } private bool SaveOrUpdateData(SqlSugarScope db, ProductionOrders productionOrders) { var orUpdate = base.Insert(productionOrders); if (orUpdate) return true; throw new NotImplementedException("插入或更新失败"); } }