using Microsoft.AspNetCore.Mvc; using Print.Application; using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.Domain.Repositories; using Volo.Abp.MultiTenancy; using Volo.Abp; using Print.Forum.Application.Contracts.JingGong.Abp.MES; using Print.Forum.Application.Contracts; using Newtonsoft.Json; namespace Print.Forum.HttpApi.Host { /// /// 打印实现 /// [RemoteService] [Area("Print")] [Route("api/MES/[Controller]")] public class GoDEXPrintController : AbpController { private readonly ILogger _logger; /// /// 构造方法 /// /// public GoDEXPrintController(ILogger logger, ICurrentTenant currentTenant) { _logger = logger; } /// /// 打印图片文件 /// /// /// [HttpPost] [Route("PrintImageFile")] public ResultDto PrintImageFile(GoDEXPrintImageFile goDEXPrintImageFile) { if (goDEXPrintImageFile == null) return new ResultDto(false, $"参数{nameof(goDEXPrintImageFile)}不可为空!"); try { var godex = new GoDEXPrint(); godex.Print(goDEXPrintImageFile); return new ResultDto(true); } catch (Exception ex) { _logger.LogError(ex, $"打印失败:{goDEXPrintImageFile}"); return new ResultDto(false, $"打印失败:{nameof(ex.Message)}"); } } /// /// 打印base64格式图片 /// /// /// [HttpPost] [Route("PrintBase64Image")] public ResultDto PrintBase64Image(GoDEXPrintBase64Image goDEXPrintBase64Image) { if (goDEXPrintBase64Image == null) return new ResultDto(false, $"参数{nameof(goDEXPrintBase64Image)}不可为空!"); try { var godex = new GoDEXPrint(); godex.Print(goDEXPrintBase64Image); return new ResultDto(true); } catch (Exception ex) { return new ResultDto(false, $"打印失败:{nameof(ex.Message)}"); } } [HttpPost] [Route("PrintBase64Imagenew")] public async Task PrintBase64Imagenew(PrintPictureDto input) { _logger.LogInformation("1.进入打印接口"); //切换业务所属的租户 GoDEXPrintBase64Image goDEXPrintBase64Image = new GoDEXPrintBase64Image(); goDEXPrintBase64Image.Communication = new GoDEXCommunication(); goDEXPrintBase64Image.Communication.Host = input.ip; goDEXPrintBase64Image.Communication.Port = 9100; goDEXPrintBase64Image.LabelSetup = new GoDEXPrintSetup(); goDEXPrintBase64Image.LabelSetup.Height = 70; goDEXPrintBase64Image.LabelSetup.Speed = 3; goDEXPrintBase64Image.LabelSetup.Width = 100; goDEXPrintBase64Image.LabelSetup.Dark = 10; goDEXPrintBase64Image.PosX = 3; goDEXPrintBase64Image.PosY = 3; goDEXPrintBase64Image.Width = 97; goDEXPrintBase64Image.Height = 67; goDEXPrintBase64Image.ImageBase64 = input.Base64Data.First(); if (goDEXPrintBase64Image == null) return new ResultDto(false, $"参数{nameof(goDEXPrintBase64Image)}不可为空!"); try { var godex = new GoDEXPrint(); godex.Print(goDEXPrintBase64Image); return new ResultDto(true); } catch (Exception ex) { _logger.LogError(ex, $"打印失败:{JsonConvert.SerializeObject(goDEXPrintBase64Image)}"); return new ResultDto(false, $"打印失败:{nameof(ex.Message)}"); } return new ResultDto(false, ""); } } }