| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- package com.uas.eis;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.fasterxml.jackson.databind.PropertyName;
- import com.fasterxml.jackson.databind.introspect.AnnotatedClass;
- import com.fasterxml.jackson.dataformat.xml.JacksonXmlAnnotationIntrospector;
- import com.sun.xml.internal.bind.v2.util.XmlFactory;
- import com.uas.eis.config.VwmsConfig;
- import com.uas.eis.dao.*;
- import com.uas.eis.entity.vwms.req.BaseItemsReq;
- import com.uas.eis.entity.vwms.req.BaseReq;
- import com.uas.eis.entity.vwms.req.ErpCancelIORequest;
- import com.uas.eis.entity.vwms.req.ProductReq;
- import com.uas.eis.entity.vwms.resp.BaseVastResp;
- import com.uas.eis.service.ERPService;
- import com.uas.eis.utils.*;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.test.context.SpringBootTest;
- import org.springframework.test.context.junit4.SpringRunner;
- import java.io.*;
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- import java.util.*;
- import com.fasterxml.jackson.dataformat.xml.XmlMapper;
- @RunWith(SpringRunner.class)
- @SpringBootTest(classes = {UasEisApplication.class})
- public class UasEisApplicationTests {
- private final Logger logger = LoggerFactory.getLogger(this.getClass());
- @Autowired
- private BaseDao baseDao;
- // @Autowired
- // private ObjectMapper objectMapper; // 注入Jackson的ObjectMapper
- @Autowired
- private ERPService erpService;
- @Autowired
- private VwmsConfig vwmsConfig;
- @Test
- public void testCancelIO(){
- // 设置测试数据
- String master = "YUEJH_TEST";
- String emCode = "TEST";
- String caller="ProdInOut!Sale";
- String formStore = "{\"pi_id\":\"50744191\"}";
- String gridStore = "[{\"pd_id\":47029492,\"pd_outqty\":0}]";
- // 调用待测方法
- ErpCancelIORequest erpCancelIORequest = new ErpCancelIORequest();
- erpCancelIORequest.setMaster(master);
- erpCancelIORequest.setEmCode(emCode);
- erpCancelIORequest.setCaller(caller);
- erpCancelIORequest.setFormStore(formStore);
- erpCancelIORequest.setGridStore(gridStore);
- Map<String, Object> result = erpService.cancelIO(erpCancelIORequest);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendJSTH(){
- // 设置测试数据
- String master = "YUEJH_TEST";
- String id = "50744184";
- String emCode = "TEST";
- String caller="ProdInOut!AppropriationOut";
- // 调用待测方法
- Map<String, Object> result = erpService.sendIO(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendZK(){
- // 设置测试数据
- String master = "YUEJH_TEST";
- String id = "50744180";
- String emCode = "TEST";
- String caller="ProdInOut!Sale";
- // 调用待测方法
- Map<String, Object> result = erpService.sendIO(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendBC(){
- // 设置测试数据
- String master = "YUEJH_TEST";
- String id = "50744179";
- String emCode = "TEST";
- String caller="ProdInOut!AppropriationOut";
- // 调用待测方法
- Map<String, Object> result = erpService.sendIO(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendSaleOut(){
- // 设置测试数据
- String master = "YUEJH_TEST";
- String id = "50744178";//"50744173";
- String emCode = "TEST";
- String caller="ProdInOut!StockLoss";
- // = "ProdInOut!OtherOut"; //50744177
- // = "ProdInOut!PurcCheckout";
- // ="ProdInOut!Sale";
- // 调用待测方法
- Map<String, Object> result = erpService.sendIO(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendIn(){
- // 设置测试数据
- String master = "YUEJH_TEST";
- String id = "50744157";
- String emCode = "test";
- String caller ="ProdInOut!OtherIn";
- //50744156 "ProdInOut!StockProfit";
- //="ProdInOut!SaleReturn";
- // = "ProdInOut!PurcCheckin";
- // 调用待测方法
- Map<String, Object> result = erpService.sendIO(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendProd(){
- // 设置测试数据
- String master = "YUEJH_TEST";
- String emCode = "test";
- String caller = "Product";
- String id = baseDao.queryForObject("select pr_id from "+vwmsConfig.getDC_MASTER()+".product where pr_code = 'U00014725'",String.class);
- // 调用待测方法
- Map<String, Object> result = erpService.sendProd(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testResp(){
- String responseText="<?xml version=\"1.0\" encoding=\"utf-8\"?><response><flag>success</flag><code>201</code><message>openapi.items.synchronize successfully</message></response>";
- System.out.println("responseText:"+responseText);
- XmlMapper xmlMapper = new XmlMapper();
- // 解析XML响应
- BaseVastResp baseVastResp = null;
- try {
- baseVastResp = xmlMapper.readValue(responseText, BaseVastResp.class);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- BaseVastResp.Response baseVastRespResponse= baseVastResp.getResponse();
- System.out.println("baseVastRespResponse:"+baseVastRespResponse.toString());
- }
- @Test
- public void testMY() {
- String meg = "20201015001app_key20201015001customerIdBJMGformatxmlmethodsingleitem.synchronizepartner_idtop-sdk-java-20190305sign_methodmd5timestamp2020-12-14 18:54:36v2.0<request><actionType>ADD</actionType><item><barCode>0001</barCode><itemCode>0001</itemCode><itemName>0001</itemName><itemType>ZP</itemType><stockUnit>个</stockUnit></item><ownerCode>BJMG</ownerCode><warehouseCode>OTHER</warehouseCode></request>20201015001";
- String sign = MD5Util.encrypt32Up(meg);
- System.out.println("MD5加密结果: " + sign);
- }
- @Test
- public void testSendProdByXml(){
- // 设置测试数据
- List<ProductReq> prodList = new ArrayList<>();
- // 创建BaseReq对象
- BaseItemsReq<ProductReq> prodBaseItemsReq = new BaseItemsReq();
- prodBaseItemsReq.setActionType("update");
- prodBaseItemsReq.setWarehouseCode(vwmsConfig.getWarehouseCode());
- prodBaseItemsReq.setOwnerCode("YUEJH");
- prodBaseItemsReq.setOutBizCode("sendProd-"+System.currentTimeMillis());
- // 创建BaseVastItem对象
- BaseItemsReq.BaseItems prodBaseItems = new BaseItemsReq<ProductReq>().new BaseItems<ProductReq>();
- // 设置BaseVastItem的item属性
- /* ProductReq productReq = new ProductReq.Builder()
- .itemId("TESTXML")
- .itemCode("TESTXML")
- .barCode("TESTXML")
- .itemName("TESTXML")
- .goodsCode("TESTXML")
- .brandName("TESTXML")
- .categoryName("TESTXML")
- .stockUnit("")
- .ExtendProps(new ProductReq.ExtendProps() {{
- setKey1("1000.0");
- }})
- .build();
- prodList.add(productReq);
- ProductReq productReq2 = new ProductReq.Builder()
- .itemId("TESTXML2")
- .itemCode("TESTXML2")
- .barCode("TESTXML2")
- .itemName("TESTXML2")
- .goodsCode("TESTXML2")
- .brandName("TESTXML2")
- .categoryName("TESTXML2")
- .stockUnit("")
- .ExtendProps(new ProductReq.ExtendProps() {{
- setKey1("1000.0");
- }})
- .build();*/
- // prodList.add(productReq2);
- prodBaseItems.setItem(prodList);
- prodBaseItemsReq.setItems(prodBaseItems);
- // 创建RequestWrapper对象
- // BaseReq<BaseItemsReq<ProductReq>> prodBaseReq = new BaseReq();
- // prodBaseReq.setRequest(prodBaseItemsReq);
- try {
- // 将prodBaseReq对象转换为XML字符串
- // 创建XmlMapper实例
- XmlMapper xmlMapper = new XmlMapper();
- // 配置XML根元素名称为 "request"
- // xmlMapper.setAnnotationIntrospector(new JacksonXmlAnnotationIntrospector() {
- // @Override
- // public PropertyName findRootName(AnnotatedClass ac) {
- // return PropertyName.construct("request", null);
- // }
- // });
- String xml = xmlMapper.writeValueAsString(prodBaseItemsReq);
- logger.info("Request XML: {}", xml);
- // 使用postXml方法发送请求
- // byte[] responseBytes = HttpUtil.postXmlToVWMS("openapi.singleitem.synchronize",xml, "UTF-8",vwmsConfig);
- // String responseText = new String(responseBytes, "UTF-8");
- String responseText="<?xml version=\"1.0\" encoding=\"utf-8\"?><response><flag>success</flag><code>201</code><message>openapi.items.synchronize successfully</message></response>";
- System.out.println("responseText:"+responseText);
- // 处理响应
- // if(responseBytes != null) {
- // 解析XML响应
- BaseVastResp baseVastResp = xmlMapper.readValue(responseText, BaseVastResp.class);
- BaseVastResp.Response baseVastRespResponse= baseVastResp.getResponse();
- if(baseVastRespResponse!=null){
- //默认成功
- if("success".equals(baseVastRespResponse.getFlag())){
- logger.info("response-success code: {} message: {}", baseVastRespResponse.getCode(),baseVastRespResponse.getMessage());
- }else {
- logger.info("response-failure code: {} message: {}", baseVastRespResponse.getCode(),baseVastRespResponse.getMessage());
- //不一定全部失败,此处只会返回失败提示
- BaseVastResp.Items items = baseVastRespResponse.getItems();
- if(items!=null&&!CollectionUtil.isEmpty(items.getItem())){
- for (BaseVastResp.Item item : items.getItem()) {
- logger.info("response-failure-item code: {} message: {}", item.getItemCode(),item.getMessage());
- }
- }
- }
- }
- // }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
|