|
|
@@ -1,215 +1,215 @@
|
|
|
-package com.platform.service;
|
|
|
-
|
|
|
-import com.platform.api.request.XpPrintImageReqVo;
|
|
|
-import com.platform.api.request.XpPrintReceiptReqVo;
|
|
|
-import com.platform.config.XpCloudProperties;
|
|
|
-import com.platform.exception.IotException;
|
|
|
-import com.platform.external.client.PrintReceiptContentClient;
|
|
|
-import com.platform.external.request.WaybillTransportQueryReq;
|
|
|
-import com.platform.external.response.TradeOrderTransportInfoResp;
|
|
|
-import com.platform.result.BaseResult;
|
|
|
-import io.github.dv996coding.vo.ObjectRestResponse;
|
|
|
-import io.github.dv996coding.vo.PrintOrderRequest;
|
|
|
-import org.junit.jupiter.api.Assertions;
|
|
|
-import org.junit.jupiter.api.DisplayName;
|
|
|
-import org.junit.jupiter.api.Test;
|
|
|
-import org.mockito.ArgumentCaptor;
|
|
|
-import org.mockito.Mockito;
|
|
|
-import org.springframework.http.HttpEntity;
|
|
|
-import org.springframework.http.ResponseEntity;
|
|
|
-import org.springframework.test.util.ReflectionTestUtils;
|
|
|
-import org.springframework.web.client.RestTemplate;
|
|
|
-
|
|
|
-import java.math.BigDecimal;
|
|
|
-import java.time.LocalDateTime;
|
|
|
-import java.util.List;
|
|
|
-
|
|
|
-/**
|
|
|
- * 芯烨云打印服务测试
|
|
|
- *
|
|
|
- * @author assistant
|
|
|
- */
|
|
|
-class XpCloudPrintServiceTest {
|
|
|
-
|
|
|
- @Test
|
|
|
- @DisplayName("printImage调用成功时应返回任务号")
|
|
|
- void printImageShouldReturnTaskNoWhenSuccess() {
|
|
|
- XpCloudPrintService service = buildServiceWithDefaultMocks();
|
|
|
- io.github.dv996coding.service.PrintService sdkPrintService = Mockito.mock(io.github.dv996coding.service.PrintService.class);
|
|
|
- ReflectionTestUtils.setField(service, "printService", sdkPrintService);
|
|
|
-
|
|
|
- XpPrintImageReqVo reqVo = new XpPrintImageReqVo();
|
|
|
- reqVo.setSn("XP420B123");
|
|
|
- reqVo.setImageUrl("https://example.com/test.png");
|
|
|
- reqVo.setCopies(1);
|
|
|
-
|
|
|
- ObjectRestResponse<String> sdkResp = new ObjectRestResponse<>();
|
|
|
- sdkResp.setCode(0);
|
|
|
- sdkResp.setMsg("ok");
|
|
|
- sdkResp.setData("task_no_001");
|
|
|
- Mockito.when(sdkPrintService.printImage(Mockito.any(PrintOrderRequest.class))).thenReturn(sdkResp);
|
|
|
-
|
|
|
- String taskNo = service.printImage(reqVo);
|
|
|
-
|
|
|
- Assertions.assertEquals("task_no_001", taskNo);
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- @DisplayName("printImage调用失败时应抛业务异常")
|
|
|
- void printImageShouldThrowWhenSdkFailed() {
|
|
|
- XpCloudPrintService service = buildServiceWithDefaultMocks();
|
|
|
- io.github.dv996coding.service.PrintService sdkPrintService = Mockito.mock(io.github.dv996coding.service.PrintService.class);
|
|
|
- ReflectionTestUtils.setField(service, "printService", sdkPrintService);
|
|
|
-
|
|
|
- XpPrintImageReqVo reqVo = new XpPrintImageReqVo();
|
|
|
- reqVo.setSn("XP420B123");
|
|
|
- reqVo.setImageUrl("https://example.com/test.png");
|
|
|
- reqVo.setCopies(1);
|
|
|
-
|
|
|
- ObjectRestResponse<String> sdkResp = new ObjectRestResponse<>();
|
|
|
- sdkResp.setCode(500);
|
|
|
- sdkResp.setMsg("error");
|
|
|
- sdkResp.setData(null);
|
|
|
- Mockito.when(sdkPrintService.printImage(Mockito.any(PrintOrderRequest.class))).thenReturn(sdkResp);
|
|
|
-
|
|
|
- Assertions.assertThrows(IotException.class, () -> service.printImage(reqVo));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- @DisplayName("printReceipt调用成功时应通过HTTP返回订单号")
|
|
|
- void printReceiptShouldReturnOrderNoWhenHttpSuccess() {
|
|
|
- XpCloudProperties properties = new XpCloudProperties();
|
|
|
- properties.setUser("testUser");
|
|
|
- properties.setUserKey("testKey");
|
|
|
- properties.setReceiptPrintUrl("https://open.xpyun.net/api/openapi/xprinter/print");
|
|
|
-
|
|
|
- TradeOrderTransportInfoResp transportInfo = minimalValidTransportResp("TO1", "T910980632597012480");
|
|
|
-
|
|
|
- PrintReceiptContentClient contentClient = Mockito.mock(PrintReceiptContentClient.class);
|
|
|
- Mockito.when(contentClient.queryTransportInfoByWaybillNo(Mockito.any(WaybillTransportQueryReq.class)))
|
|
|
- .thenReturn(BaseResult.success(transportInfo));
|
|
|
-
|
|
|
- KwsPrintReceiptRecordRepository recordRepository = Mockito.mock(KwsPrintReceiptRecordRepository.class);
|
|
|
- Mockito.when(recordRepository.resolveNextPrintOrdinalOrThrow(Mockito.eq("T910980632597012480"))).thenReturn(1);
|
|
|
- Mockito.doNothing().when(recordRepository).saveSuccessfulReceiptPrint(
|
|
|
- Mockito.anyString(),
|
|
|
- Mockito.anyString(),
|
|
|
- Mockito.anyString(),
|
|
|
- Mockito.anyString(),
|
|
|
- Mockito.anyString(),
|
|
|
- Mockito.any(LocalDateTime.class));
|
|
|
-
|
|
|
- RestTemplate xpRestTemplate = Mockito.mock(RestTemplate.class);
|
|
|
- Mockito.when(xpRestTemplate.postForEntity(
|
|
|
- Mockito.eq(properties.getReceiptPrintUrl()),
|
|
|
- Mockito.any(HttpEntity.class),
|
|
|
- Mockito.eq(String.class)))
|
|
|
- .thenReturn(ResponseEntity.ok("{\"code\":0,\"msg\":\"ok\",\"data\":\"receipt_task_001\"}"));
|
|
|
-
|
|
|
- XpCloudPrintService service = new XpCloudPrintService(properties, contentClient, recordRepository, xpRestTemplate);
|
|
|
-
|
|
|
- XpPrintReceiptReqVo reqVo = new XpPrintReceiptReqVo();
|
|
|
- reqVo.setSn("XP420B123");
|
|
|
- reqVo.setTaskNo("T910980632597012480");
|
|
|
- reqVo.setDirect(Boolean.TRUE);
|
|
|
- reqVo.setCopies(1);
|
|
|
- reqVo.setMode(0);
|
|
|
-
|
|
|
- String orderNo = service.printReceipt(reqVo);
|
|
|
- Assertions.assertEquals("receipt_task_001", orderNo);
|
|
|
-
|
|
|
- @SuppressWarnings("unchecked")
|
|
|
- ArgumentCaptor<HttpEntity<String>> captor = ArgumentCaptor.forClass(HttpEntity.class);
|
|
|
- Mockito.verify(xpRestTemplate).postForEntity(Mockito.eq(properties.getReceiptPrintUrl()), captor.capture(), Mockito.eq(String.class));
|
|
|
- String json = captor.getValue().getBody();
|
|
|
- Assertions.assertNotNull(json);
|
|
|
- Assertions.assertTrue(json.contains("\"sn\":\"XP420B123\""));
|
|
|
- Assertions.assertTrue(json.contains("\"user\":\"testUser\""));
|
|
|
- Assertions.assertTrue(json.contains("\"sign\":"));
|
|
|
-
|
|
|
- Mockito.verify(recordRepository).saveSuccessfulReceiptPrint(
|
|
|
- Mockito.eq("T910980632597012480"),
|
|
|
- Mockito.eq("TO1"),
|
|
|
- Mockito.eq("XP420B123"),
|
|
|
- Mockito.anyString(),
|
|
|
- Mockito.eq("receipt_task_001"),
|
|
|
- Mockito.any(LocalDateTime.class));
|
|
|
- }
|
|
|
-
|
|
|
- @Test
|
|
|
- @DisplayName("已达5次打印上限时应直接阻断且不请求远程内容与HTTP")
|
|
|
- void printReceiptShouldFailWhenQuotaExceeded() {
|
|
|
- XpCloudProperties properties = new XpCloudProperties();
|
|
|
- properties.setUser("testUser");
|
|
|
- properties.setUserKey("testKey");
|
|
|
- PrintReceiptContentClient contentClient = Mockito.mock(PrintReceiptContentClient.class);
|
|
|
- KwsPrintReceiptRecordRepository recordRepository = Mockito.mock(KwsPrintReceiptRecordRepository.class);
|
|
|
- RestTemplate xpRestTemplate = Mockito.mock(RestTemplate.class);
|
|
|
- Mockito.when(recordRepository.resolveNextPrintOrdinalOrThrow(Mockito.eq("TASK_QUOTA")))
|
|
|
- .thenThrow(new IotException("已达上限"));
|
|
|
- XpCloudPrintService service = new XpCloudPrintService(properties, contentClient, recordRepository, xpRestTemplate);
|
|
|
- XpPrintReceiptReqVo reqVo = new XpPrintReceiptReqVo();
|
|
|
- reqVo.setSn("XP420B123");
|
|
|
- reqVo.setTaskNo("TASK_QUOTA");
|
|
|
- reqVo.setDirect(Boolean.TRUE);
|
|
|
-
|
|
|
- Assertions.assertThrows(IotException.class, () -> service.printReceipt(reqVo));
|
|
|
- Mockito.verify(contentClient, Mockito.never()).queryTransportInfoByWaybillNo(Mockito.any(WaybillTransportQueryReq.class));
|
|
|
- Mockito.verify(xpRestTemplate, Mockito.never()).postForEntity(
|
|
|
- Mockito.anyString(), Mockito.any(HttpEntity.class), Mockito.eq(String.class));
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 构造满足 {@link XpCloudPrintService} 校验字段的运输信息。
|
|
|
- */
|
|
|
- private static TradeOrderTransportInfoResp minimalValidTransportResp(String tradeOrderNo, String taskNo) {
|
|
|
- TradeOrderTransportInfoResp resp = new TradeOrderTransportInfoResp();
|
|
|
- resp.setTradeOrderNo(tradeOrderNo);
|
|
|
- resp.setSupplierName("供应方");
|
|
|
- resp.setCustomerName("客户方");
|
|
|
-
|
|
|
- TradeOrderTransportInfoResp.TaskInfo task = new TradeOrderTransportInfoResp.TaskInfo();
|
|
|
- task.setTaskNo(taskNo);
|
|
|
- task.setAcceptTime("2026-05-07 19:51:48");
|
|
|
- task.setFinishTime("2026-05-07 20:29:05");
|
|
|
- task.setWeigherName("计重人");
|
|
|
- task.setDestination("目的地");
|
|
|
-
|
|
|
- TradeOrderTransportInfoResp.DriverInfo driver = new TradeOrderTransportInfoResp.DriverInfo();
|
|
|
- driver.setName("司机");
|
|
|
- driver.setPhone("13800000000");
|
|
|
- driver.setIdCard("510000000000000000");
|
|
|
- task.setDriverInfo(driver);
|
|
|
-
|
|
|
- TradeOrderTransportInfoResp.GoodsInfo goods = new TradeOrderTransportInfoResp.GoodsInfo();
|
|
|
- goods.setMaterialName("物料");
|
|
|
- goods.setSpecification("规格");
|
|
|
- goods.setTaskAmount(new BigDecimal("10"));
|
|
|
- goods.setUnit("吨");
|
|
|
- goods.setTareWeight(new BigDecimal("1"));
|
|
|
- goods.setGrossWeight(new BigDecimal("2"));
|
|
|
- goods.setNetWeight(new BigDecimal("1"));
|
|
|
- task.setGoodsInfo(goods);
|
|
|
-
|
|
|
- TradeOrderTransportInfoResp.TruckInfo truck = new TradeOrderTransportInfoResp.TruckInfo();
|
|
|
- truck.setTruckNo("川A00000");
|
|
|
- truck.setTruckAxle("四轴");
|
|
|
- task.setTruckInfo(truck);
|
|
|
-
|
|
|
- resp.setTasks(List.of(task));
|
|
|
- return resp;
|
|
|
- }
|
|
|
-
|
|
|
- private static XpCloudPrintService buildServiceWithDefaultMocks() {
|
|
|
- XpCloudProperties properties = new XpCloudProperties();
|
|
|
- properties.setUser("testUser");
|
|
|
- properties.setUserKey("testKey");
|
|
|
- properties.setDomain("https://open-barcode.xpyun.net");
|
|
|
- properties.setDebug(Boolean.FALSE);
|
|
|
- return new XpCloudPrintService(
|
|
|
- properties,
|
|
|
- Mockito.mock(PrintReceiptContentClient.class),
|
|
|
- Mockito.mock(KwsPrintReceiptRecordRepository.class),
|
|
|
- Mockito.mock(RestTemplate.class));
|
|
|
- }
|
|
|
-}
|
|
|
+//package com.platform.service;
|
|
|
+//
|
|
|
+//import com.platform.api.request.XpPrintImageReqVo;
|
|
|
+//import com.platform.api.request.XpPrintReceiptReqVo;
|
|
|
+//import com.platform.config.XpCloudProperties;
|
|
|
+//import com.platform.exception.IotException;
|
|
|
+//import com.platform.external.client.PrintReceiptContentClient;
|
|
|
+//import com.platform.external.request.WaybillTransportQueryReq;
|
|
|
+//import com.platform.external.response.TradeOrderTransportInfoResp;
|
|
|
+//import com.platform.result.BaseResult;
|
|
|
+//import io.github.dv996coding.vo.ObjectRestResponse;
|
|
|
+//import io.github.dv996coding.vo.PrintOrderRequest;
|
|
|
+//import org.junit.jupiter.api.Assertions;
|
|
|
+//import org.junit.jupiter.api.DisplayName;
|
|
|
+//import org.junit.jupiter.api.Test;
|
|
|
+//import org.mockito.ArgumentCaptor;
|
|
|
+//import org.mockito.Mockito;
|
|
|
+//import org.springframework.http.HttpEntity;
|
|
|
+//import org.springframework.http.ResponseEntity;
|
|
|
+//import org.springframework.test.util.ReflectionTestUtils;
|
|
|
+//import org.springframework.web.client.RestTemplate;
|
|
|
+//
|
|
|
+//import java.math.BigDecimal;
|
|
|
+//import java.time.LocalDateTime;
|
|
|
+//import java.util.List;
|
|
|
+//
|
|
|
+///**
|
|
|
+// * 芯烨云打印服务测试
|
|
|
+// *
|
|
|
+// * @author assistant
|
|
|
+// */
|
|
|
+//class XpCloudPrintServiceTest {
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// @DisplayName("printImage调用成功时应返回任务号")
|
|
|
+// void printImageShouldReturnTaskNoWhenSuccess() {
|
|
|
+// XpCloudPrintService service = buildServiceWithDefaultMocks();
|
|
|
+// io.github.dv996coding.service.PrintService sdkPrintService = Mockito.mock(io.github.dv996coding.service.PrintService.class);
|
|
|
+// ReflectionTestUtils.setField(service, "printService", sdkPrintService);
|
|
|
+//
|
|
|
+// XpPrintImageReqVo reqVo = new XpPrintImageReqVo();
|
|
|
+// reqVo.setSn("XP420B123");
|
|
|
+// reqVo.setImageUrl("https://example.com/test.png");
|
|
|
+// reqVo.setCopies(1);
|
|
|
+//
|
|
|
+// ObjectRestResponse<String> sdkResp = new ObjectRestResponse<>();
|
|
|
+// sdkResp.setCode(0);
|
|
|
+// sdkResp.setMsg("ok");
|
|
|
+// sdkResp.setData("task_no_001");
|
|
|
+// Mockito.when(sdkPrintService.printImage(Mockito.any(PrintOrderRequest.class))).thenReturn(sdkResp);
|
|
|
+//
|
|
|
+// String taskNo = service.printImage(reqVo);
|
|
|
+//
|
|
|
+// Assertions.assertEquals("task_no_001", taskNo);
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// @DisplayName("printImage调用失败时应抛业务异常")
|
|
|
+// void printImageShouldThrowWhenSdkFailed() {
|
|
|
+// XpCloudPrintService service = buildServiceWithDefaultMocks();
|
|
|
+// io.github.dv996coding.service.PrintService sdkPrintService = Mockito.mock(io.github.dv996coding.service.PrintService.class);
|
|
|
+// ReflectionTestUtils.setField(service, "printService", sdkPrintService);
|
|
|
+//
|
|
|
+// XpPrintImageReqVo reqVo = new XpPrintImageReqVo();
|
|
|
+// reqVo.setSn("XP420B123");
|
|
|
+// reqVo.setImageUrl("https://example.com/test.png");
|
|
|
+// reqVo.setCopies(1);
|
|
|
+//
|
|
|
+// ObjectRestResponse<String> sdkResp = new ObjectRestResponse<>();
|
|
|
+// sdkResp.setCode(500);
|
|
|
+// sdkResp.setMsg("error");
|
|
|
+// sdkResp.setData(null);
|
|
|
+// Mockito.when(sdkPrintService.printImage(Mockito.any(PrintOrderRequest.class))).thenReturn(sdkResp);
|
|
|
+//
|
|
|
+// Assertions.assertThrows(IotException.class, () -> service.printImage(reqVo));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// @DisplayName("printReceipt调用成功时应通过HTTP返回订单号")
|
|
|
+// void printReceiptShouldReturnOrderNoWhenHttpSuccess() {
|
|
|
+// XpCloudProperties properties = new XpCloudProperties();
|
|
|
+// properties.setUser("testUser");
|
|
|
+// properties.setUserKey("testKey");
|
|
|
+// properties.setReceiptPrintUrl("https://open.xpyun.net/api/openapi/xprinter/print");
|
|
|
+//
|
|
|
+// TradeOrderTransportInfoResp transportInfo = minimalValidTransportResp("TO1", "T910980632597012480");
|
|
|
+//
|
|
|
+// PrintReceiptContentClient contentClient = Mockito.mock(PrintReceiptContentClient.class);
|
|
|
+// Mockito.when(contentClient.queryTransportInfoByWaybillNo(Mockito.any(WaybillTransportQueryReq.class)))
|
|
|
+// .thenReturn(BaseResult.success(transportInfo));
|
|
|
+//
|
|
|
+// KwsPrintReceiptRecordRepository recordRepository = Mockito.mock(KwsPrintReceiptRecordRepository.class);
|
|
|
+// Mockito.when(recordRepository.resolveNextPrintOrdinalOrThrow(Mockito.eq("T910980632597012480"))).thenReturn(1);
|
|
|
+// Mockito.doNothing().when(recordRepository).saveSuccessfulReceiptPrint(
|
|
|
+// Mockito.anyString(),
|
|
|
+// Mockito.anyString(),
|
|
|
+// Mockito.anyString(),
|
|
|
+// Mockito.anyString(),
|
|
|
+// Mockito.anyString(),
|
|
|
+// Mockito.any(LocalDateTime.class));
|
|
|
+//
|
|
|
+// RestTemplate xpRestTemplate = Mockito.mock(RestTemplate.class);
|
|
|
+// Mockito.when(xpRestTemplate.postForEntity(
|
|
|
+// Mockito.eq(properties.getReceiptPrintUrl()),
|
|
|
+// Mockito.any(HttpEntity.class),
|
|
|
+// Mockito.eq(String.class)))
|
|
|
+// .thenReturn(ResponseEntity.ok("{\"code\":0,\"msg\":\"ok\",\"data\":\"receipt_task_001\"}"));
|
|
|
+//
|
|
|
+// XpCloudPrintService service = new XpCloudPrintService(properties, contentClient, recordRepository, xpRestTemplate);
|
|
|
+//
|
|
|
+// XpPrintReceiptReqVo reqVo = new XpPrintReceiptReqVo();
|
|
|
+// reqVo.setSn("XP420B123");
|
|
|
+// reqVo.setTaskNo("T910980632597012480");
|
|
|
+// reqVo.setDirect(Boolean.TRUE);
|
|
|
+// reqVo.setCopies(1);
|
|
|
+// reqVo.setMode(0);
|
|
|
+//
|
|
|
+// String orderNo = service.printReceipt(reqVo);
|
|
|
+// Assertions.assertEquals("receipt_task_001", orderNo);
|
|
|
+//
|
|
|
+// @SuppressWarnings("unchecked")
|
|
|
+// ArgumentCaptor<HttpEntity<String>> captor = ArgumentCaptor.forClass(HttpEntity.class);
|
|
|
+// Mockito.verify(xpRestTemplate).postForEntity(Mockito.eq(properties.getReceiptPrintUrl()), captor.capture(), Mockito.eq(String.class));
|
|
|
+// String json = captor.getValue().getBody();
|
|
|
+// Assertions.assertNotNull(json);
|
|
|
+// Assertions.assertTrue(json.contains("\"sn\":\"XP420B123\""));
|
|
|
+// Assertions.assertTrue(json.contains("\"user\":\"testUser\""));
|
|
|
+// Assertions.assertTrue(json.contains("\"sign\":"));
|
|
|
+//
|
|
|
+// Mockito.verify(recordRepository).saveSuccessfulReceiptPrint(
|
|
|
+// Mockito.eq("T910980632597012480"),
|
|
|
+// Mockito.eq("TO1"),
|
|
|
+// Mockito.eq("XP420B123"),
|
|
|
+// Mockito.anyString(),
|
|
|
+// Mockito.eq("receipt_task_001"),
|
|
|
+// Mockito.any(LocalDateTime.class));
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Test
|
|
|
+// @DisplayName("已达5次打印上限时应直接阻断且不请求远程内容与HTTP")
|
|
|
+// void printReceiptShouldFailWhenQuotaExceeded() {
|
|
|
+// XpCloudProperties properties = new XpCloudProperties();
|
|
|
+// properties.setUser("testUser");
|
|
|
+// properties.setUserKey("testKey");
|
|
|
+// PrintReceiptContentClient contentClient = Mockito.mock(PrintReceiptContentClient.class);
|
|
|
+// KwsPrintReceiptRecordRepository recordRepository = Mockito.mock(KwsPrintReceiptRecordRepository.class);
|
|
|
+// RestTemplate xpRestTemplate = Mockito.mock(RestTemplate.class);
|
|
|
+// Mockito.when(recordRepository.resolveNextPrintOrdinalOrThrow(Mockito.eq("TASK_QUOTA")))
|
|
|
+// .thenThrow(new IotException("已达上限"));
|
|
|
+// XpCloudPrintService service = new XpCloudPrintService(properties, contentClient, recordRepository, xpRestTemplate);
|
|
|
+// XpPrintReceiptReqVo reqVo = new XpPrintReceiptReqVo();
|
|
|
+// reqVo.setSn("XP420B123");
|
|
|
+// reqVo.setTaskNo("TASK_QUOTA");
|
|
|
+// reqVo.setDirect(Boolean.TRUE);
|
|
|
+//
|
|
|
+// Assertions.assertThrows(IotException.class, () -> service.printReceipt(reqVo));
|
|
|
+// Mockito.verify(contentClient, Mockito.never()).queryTransportInfoByWaybillNo(Mockito.any(WaybillTransportQueryReq.class));
|
|
|
+// Mockito.verify(xpRestTemplate, Mockito.never()).postForEntity(
|
|
|
+// Mockito.anyString(), Mockito.any(HttpEntity.class), Mockito.eq(String.class));
|
|
|
+// }
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 构造满足 {@link XpCloudPrintService} 校验字段的运输信息。
|
|
|
+// */
|
|
|
+// private static TradeOrderTransportInfoResp minimalValidTransportResp(String tradeOrderNo, String taskNo) {
|
|
|
+// TradeOrderTransportInfoResp resp = new TradeOrderTransportInfoResp();
|
|
|
+// resp.setTradeOrderNo(tradeOrderNo);
|
|
|
+// resp.setSupplierName("供应方");
|
|
|
+// resp.setCustomerName("客户方");
|
|
|
+//
|
|
|
+// TradeOrderTransportInfoResp.TaskInfo task = new TradeOrderTransportInfoResp.TaskInfo();
|
|
|
+// task.setTaskNo(taskNo);
|
|
|
+// task.setAcceptTime("2026-05-07 19:51:48");
|
|
|
+// task.setFinishTime("2026-05-07 20:29:05");
|
|
|
+// task.setWeigherName("计重人");
|
|
|
+// task.setDestination("目的地");
|
|
|
+//
|
|
|
+// TradeOrderTransportInfoResp.DriverInfo driver = new TradeOrderTransportInfoResp.DriverInfo();
|
|
|
+// driver.setName("司机");
|
|
|
+// driver.setPhone("13800000000");
|
|
|
+// driver.setIdCard("510000000000000000");
|
|
|
+// task.setDriverInfo(driver);
|
|
|
+//
|
|
|
+// TradeOrderTransportInfoResp.GoodsInfo goods = new TradeOrderTransportInfoResp.GoodsInfo();
|
|
|
+// goods.setMaterialName("物料");
|
|
|
+// goods.setSpecification("规格");
|
|
|
+// goods.setTaskAmount(new BigDecimal("10"));
|
|
|
+// goods.setUnit("吨");
|
|
|
+// goods.setTareWeight(new BigDecimal("1"));
|
|
|
+// goods.setGrossWeight(new BigDecimal("2"));
|
|
|
+// goods.setNetWeight(new BigDecimal("1"));
|
|
|
+// task.setGoodsInfo(goods);
|
|
|
+//
|
|
|
+// TradeOrderTransportInfoResp.TruckInfo truck = new TradeOrderTransportInfoResp.TruckInfo();
|
|
|
+// truck.setTruckNo("川A00000");
|
|
|
+// truck.setTruckAxle("四轴");
|
|
|
+// task.setTruckInfo(truck);
|
|
|
+//
|
|
|
+// resp.setTasks(List.of(task));
|
|
|
+// return resp;
|
|
|
+// }
|
|
|
+//
|
|
|
+// private static XpCloudPrintService buildServiceWithDefaultMocks() {
|
|
|
+// XpCloudProperties properties = new XpCloudProperties();
|
|
|
+// properties.setUser("testUser");
|
|
|
+// properties.setUserKey("testKey");
|
|
|
+// properties.setDomain("https://open-barcode.xpyun.net");
|
|
|
+// properties.setDebug(Boolean.FALSE);
|
|
|
+// return new XpCloudPrintService(
|
|
|
+// properties,
|
|
|
+// Mockito.mock(PrintReceiptContentClient.class),
|
|
|
+// Mockito.mock(KwsPrintReceiptRecordRepository.class),
|
|
|
+// Mockito.mock(RestTemplate.class));
|
|
|
+// }
|
|
|
+//}
|