|
|
@@ -3,7 +3,6 @@ package org.springblade.data.michelinApi.service.impl;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
-import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.core.tool.utils.BeanUtil;
|
|
|
import org.springblade.data.extemalOrder.entity.ExternalOrder;
|
|
|
import org.springblade.data.extemalOrder.service.IExternalOrderService;
|
|
|
@@ -14,7 +13,6 @@ import org.springblade.data.michelinApi.dto.LinesDto;
|
|
|
import org.springblade.data.michelinApi.dto.SalesOrderDto;
|
|
|
import org.springblade.data.michelinApi.dto.SalesOrderR;
|
|
|
import org.springblade.data.michelinApi.service.IMichelinService;
|
|
|
-import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
@@ -35,98 +33,105 @@ public class MichelinServiceImpl implements IMichelinService {
|
|
|
|
|
|
@Override
|
|
|
public String getSalesOrder(String agentId) throws Exception {
|
|
|
- String geturl = MichelinValues.BASE_URL_DEV + "/GetSalesOrder";
|
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
- //设置请求体
|
|
|
- Map<String, String> map = new HashMap<>();
|
|
|
- //key-value的形式设置请求参数
|
|
|
- map.put("agentId", agentId);
|
|
|
- String result = HttpsUtils.sending(geturl, map);
|
|
|
- System.out.println("==============result===============" + result);
|
|
|
- System.out.println("==============请求成功时间:===============" + sdf.format(new Date()));
|
|
|
- //如果返回值是标准的JSON字符串进行转换
|
|
|
- JSONObject jsonObject = JSONObject.parseObject(result);
|
|
|
- SalesOrderR salesOrderR = JSONObject.parseObject(jsonObject.get("response").toString(), SalesOrderR.class);
|
|
|
- if (salesOrderR != null) {
|
|
|
- if ("001".equals(salesOrderR.getCode())) {
|
|
|
- SalesOrderDto salesOrderDto = salesOrderR.getSalesOrder();
|
|
|
- if (salesOrderDto != null) {
|
|
|
- String dateString = "2024-05-12 00:00:00";
|
|
|
- boolean res = false;
|
|
|
- if (ObjectUtils.isNotNull(salesOrderDto.getCreationTime())) {
|
|
|
- Date date = sdf.parse(dateString);
|
|
|
- Date date1 = sdf.parse(salesOrderDto.getCreationTime());
|
|
|
- if (date1.compareTo(date) > 0) {
|
|
|
- if (!salesOrderDto.getLines().isEmpty()) {
|
|
|
- for (LinesDto item : salesOrderDto.getLines()) {
|
|
|
- ExternalOrder order = new ExternalOrder();
|
|
|
- BeanUtil.copyProperties(salesOrderDto, order);
|
|
|
- order.setCreatetime(sdf.format(new Date()));
|
|
|
- order.setItemLineNo(item.getLineNo());
|
|
|
- order.setSku(item.getSku());
|
|
|
- order.setName(item.getName());
|
|
|
- order.setBrand(item.getBrand());
|
|
|
- order.setItemSize(item.getSize());
|
|
|
- order.setPattern(item.getPattern());
|
|
|
- order.setStructure(item.getStructure());
|
|
|
- order.setUom(item.getUom());
|
|
|
- order.setQuantity(item.getQuantity());
|
|
|
- order.setUnitPrice(item.getUnitPrice());
|
|
|
- if (ObjectUtils.isNotNull(order.getSalesOrderStatus()) && "confirm".equals(order.getSalesOrderStatus())) {
|
|
|
- System.out.println("==============状态confirm数据::===============" + order);
|
|
|
- res = externalOrderService.save(order);
|
|
|
- System.out.println("==============保存数据是否成功:===============" + res);
|
|
|
- } else {
|
|
|
- res = false;
|
|
|
- System.out.println("==============状态废弃数据:===============" + order);
|
|
|
- }
|
|
|
+ String geturl = MichelinValues.BASE_URL_DEV + "/GetSalesOrder";
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ //设置请求体
|
|
|
+ Map<String, String> map = new HashMap<>();
|
|
|
+ //key-value的形式设置请求参数
|
|
|
+ map.put("agentId", agentId);
|
|
|
+ String result = HttpsUtils.sending(geturl, map);
|
|
|
+ System.out.println("==============result===============" + result);
|
|
|
+ System.out.println("==============请求成功时间:===============" + sdf.format(new Date()));
|
|
|
+ //如果返回值是标准的JSON字符串进行转换
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(result);
|
|
|
+ SalesOrderR salesOrderR = JSONObject.parseObject(jsonObject.get("response").toString(), SalesOrderR.class);
|
|
|
+ if (salesOrderR != null) {
|
|
|
+ if ("001".equals(salesOrderR.getCode())) {
|
|
|
+ SalesOrderDto salesOrderDto = salesOrderR.getSalesOrder();
|
|
|
+ if (salesOrderDto != null) {
|
|
|
+ String dateString = "2024-05-12 00:00:00";
|
|
|
+ boolean res = false;
|
|
|
+ if (ObjectUtils.isNotNull(salesOrderDto.getCreationTime())) {
|
|
|
+ Date date = sdf.parse(dateString);
|
|
|
+ Date date1 = sdf.parse(salesOrderDto.getCreationTime());
|
|
|
+ if (date1.compareTo(date) > 0) {
|
|
|
+ if (!salesOrderDto.getLines().isEmpty()) {
|
|
|
+ int count = 0;
|
|
|
+ for (LinesDto item : salesOrderDto.getLines()) {
|
|
|
+ ExternalOrder order = new ExternalOrder();
|
|
|
+ BeanUtil.copyProperties(salesOrderDto, order);
|
|
|
+ if (count == 0) {
|
|
|
+ order.setTotalCouponAmount(salesOrderDto.getTotalCouponAmount());
|
|
|
+ } else {
|
|
|
+ order.setTotalCouponAmount("");
|
|
|
}
|
|
|
+ order.setCreatetime(sdf.format(new Date()));
|
|
|
+ order.setItemLineNo(item.getLineNo());
|
|
|
+ order.setSku(item.getSku());
|
|
|
+ order.setName(item.getName());
|
|
|
+ order.setBrand(item.getBrand());
|
|
|
+ order.setItemSize(item.getSize());
|
|
|
+ order.setPattern(item.getPattern());
|
|
|
+ order.setStructure(item.getStructure());
|
|
|
+ order.setUom(item.getUom());
|
|
|
+ order.setQuantity(item.getQuantity());
|
|
|
+ order.setUnitPrice(item.getUnitPrice());
|
|
|
+ if (ObjectUtils.isNotNull(order.getSalesOrderStatus()) && "confirm".equals(order.getSalesOrderStatus())) {
|
|
|
+ System.out.println("==============状态confirm数据::===============" + order);
|
|
|
+ res = externalOrderService.save(order);
|
|
|
+ System.out.println("==============保存数据是否成功:===============" + res);
|
|
|
+ } else {
|
|
|
+ res = false;
|
|
|
+ System.out.println("==============状态废弃数据:===============" + order);
|
|
|
+ }
|
|
|
+ count++;
|
|
|
}
|
|
|
- } else {
|
|
|
- System.out.println("==============超时废弃数据:===============" + salesOrderDto);
|
|
|
}
|
|
|
- }
|
|
|
- //设置请求体
|
|
|
- Map<String, String> map1 = new HashMap<>();
|
|
|
- //key-value的形式设置请求参数
|
|
|
- map1.put("agentId", agentId);
|
|
|
- map1.put("msgId", salesOrderR.getMsgId());
|
|
|
- String geturl1 = MichelinValues.BASE_URL_DEV + "/AckSalesOrder";
|
|
|
- if (res) {
|
|
|
- map1.put("code", "001");
|
|
|
- map1.put("result", "success");
|
|
|
- map1.put("errMsg", "");
|
|
|
} else {
|
|
|
- map1.put("code", "002");
|
|
|
- map1.put("result", "error");
|
|
|
- map1.put("errMsg", "数据处理失败");
|
|
|
+ System.out.println("==============超时废弃数据:===============" + salesOrderDto);
|
|
|
}
|
|
|
- //获取了返回值
|
|
|
- String result1 = HttpsUtils.sending(geturl1, map1);
|
|
|
- System.out.println("==============回调接口返回数据===============" + result1);
|
|
|
- //如果返回值是标准的JSON字符串进行转换
|
|
|
- JSONObject jsonObject1 = JSONObject.parseObject(result1);
|
|
|
- AckSalesOrderR ackSalesOrderR = JSONObject.parseObject(jsonObject1.get("response").toString(), AckSalesOrderR.class);
|
|
|
- if (ackSalesOrderR != null) {
|
|
|
- if ("001".equals(ackSalesOrderR.getCode())) {
|
|
|
- if ("true".equals(ackSalesOrderR.getHasNext())) {
|
|
|
- this.getSalesOrder(agentId);
|
|
|
- }
|
|
|
- return "同步成功";
|
|
|
- } else {
|
|
|
- return ackSalesOrderR.getErrMsg();
|
|
|
+ }
|
|
|
+ //设置请求体
|
|
|
+ Map<String, String> map1 = new HashMap<>();
|
|
|
+ //key-value的形式设置请求参数
|
|
|
+ map1.put("agentId", agentId);
|
|
|
+ map1.put("msgId", salesOrderR.getMsgId());
|
|
|
+ String geturl1 = MichelinValues.BASE_URL_DEV + "/AckSalesOrder";
|
|
|
+ if (res) {
|
|
|
+ map1.put("code", "001");
|
|
|
+ map1.put("result", "success");
|
|
|
+ map1.put("errMsg", "");
|
|
|
+ } else {
|
|
|
+ map1.put("code", "002");
|
|
|
+ map1.put("result", "error");
|
|
|
+ map1.put("errMsg", "数据处理失败");
|
|
|
+ }
|
|
|
+ //获取了返回值
|
|
|
+ String result1 = HttpsUtils.sending(geturl1, map1);
|
|
|
+ System.out.println("==============回调接口返回数据===============" + result1);
|
|
|
+ //如果返回值是标准的JSON字符串进行转换
|
|
|
+ JSONObject jsonObject1 = JSONObject.parseObject(result1);
|
|
|
+ AckSalesOrderR ackSalesOrderR = JSONObject.parseObject(jsonObject1.get("response").toString(), AckSalesOrderR.class);
|
|
|
+ if (ackSalesOrderR != null) {
|
|
|
+ if ("001".equals(ackSalesOrderR.getCode())) {
|
|
|
+ if ("true".equals(ackSalesOrderR.getHasNext())) {
|
|
|
+ this.getSalesOrder(agentId);
|
|
|
}
|
|
|
+ return "同步成功";
|
|
|
} else {
|
|
|
- return "订单回执接口错误";
|
|
|
+ return ackSalesOrderR.getErrMsg();
|
|
|
}
|
|
|
} else {
|
|
|
- return "单据信息为空";
|
|
|
+ return "订单回执接口错误";
|
|
|
}
|
|
|
} else {
|
|
|
- return "获取数据错误";
|
|
|
+ return "单据信息为空";
|
|
|
}
|
|
|
} else {
|
|
|
return "获取数据错误";
|
|
|
}
|
|
|
+ } else {
|
|
|
+ return "获取数据错误";
|
|
|
+ }
|
|
|
}
|
|
|
}
|