Browse Source

1.V1.9版本接口文档逻辑调整

2.先关闭推送到皮阿诺的逻辑,先看参数
dev-warehouse
zhenghaoyu 2 years ago
parent
commit
8b01011ea7
  1. 13
      blade-service/logpm-factory/src/main/java/com/logpm/factory/snm/controller/PanFactoryDataController.java
  2. 38
      blade-service/logpm-factory/src/main/java/com/logpm/factory/snm/dto/OrderStatusDTO.java
  3. 9
      blade-service/logpm-factory/src/main/java/com/logpm/factory/snm/service/IAsyncDataService.java
  4. 55
      blade-service/logpm-factory/src/main/java/com/logpm/factory/snm/service/impl/AsyncDataServiceImpl.java
  5. 131
      blade-service/logpm-factory/src/main/java/com/logpm/factory/snm/service/impl/PanFactoryDataServiceImpl.java

13
blade-service/logpm-factory/src/main/java/com/logpm/factory/snm/controller/PanFactoryDataController.java

@ -23,10 +23,7 @@ import com.logpm.factory.snm.dto.*;
import com.logpm.factory.snm.entity.PanFactoryOrder;
import com.logpm.factory.snm.entity.PanPackageInfo;
import com.logpm.factory.snm.entity.PanPackageList;
import com.logpm.factory.snm.service.IPanFactoryDataService;
import com.logpm.factory.snm.service.IPanFactoryOrderService;
import com.logpm.factory.snm.service.IPanPackageInfoService;
import com.logpm.factory.snm.service.IPanPackageListService;
import com.logpm.factory.snm.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@ -57,9 +54,8 @@ public class PanFactoryDataController extends BladeController {
private final IPanFactoryOrderService factoryOrderService;
private final IPanPackageInfoService packageInfoService;
private final IPanPackageListService packageListService;
private final IPanFactoryDataService factoryDataService;
private final IAsyncDataService syncDataService;
// @ResponseBody
// @PostMapping("/token")
@ -128,6 +124,9 @@ public class PanFactoryDataController extends BladeController {
packageListService.saveBatch(PanPackagelist);
}
//开启异步线程处理数据
syncDataService.handlerPanDataToHt();
return Resp.successOrderNo(factoryOrder.getOrderNo(),"SUCCESS");
}
@ -139,7 +138,7 @@ public class PanFactoryDataController extends BladeController {
public R sendOrders(@Validated @RequestBody OrderInfoDTO orderInfoDTO) {
log.info("############sendOrders: ");
try{
factoryDataService.handleData(orderInfoDTO);
// factoryDataService.handleData(orderInfoDTO);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);

38
blade-service/logpm-factory/src/main/java/com/logpm/factory/snm/dto/OrderStatusDTO.java

@ -17,6 +17,7 @@
package com.logpm.factory.snm.dto;
import lombok.Data;
import org.springblade.core.tool.utils.StringUtil;
import javax.validation.constraints.NotEmpty;
@ -57,4 +58,41 @@ public class OrderStatusDTO {
@NotEmpty(message = "状态")
private String status;//状态
/**
* 验证参数是否都存在
* @return
*/
public boolean verifyData(){
if(StringUtil.isBlank(dispatchNumber)){
return false;
}
if(StringUtil.isBlank(orderNo)){
return false;
}
if(StringUtil.isBlank(plantId)){
return false;
}
if(StringUtil.isBlank(logiBillNo)){
return false;
}
if(StringUtil.isBlank(unitNo)){
return false;
}
if(StringUtil.isBlank(operationTime)){
return false;
}
if(StringUtil.isBlank(currentWarehouse)){
return false;
}
if(StringUtil.isBlank(destinationWarehouse)){
return false;
}
if(StringUtil.isBlank(status)){
return false;
}
return true;
}
}

9
blade-service/logpm-factory/src/main/java/com/logpm/factory/snm/service/IAsyncDataService.java

@ -0,0 +1,9 @@
package com.logpm.factory.snm.service;
public interface IAsyncDataService {
void handlerPanDataToHt();
}

55
blade-service/logpm-factory/src/main/java/com/logpm/factory/snm/service/impl/AsyncDataServiceImpl.java

@ -0,0 +1,55 @@
package com.logpm.factory.snm.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.logpm.factory.snm.entity.PanFactoryOrder;
import com.logpm.factory.snm.service.IAsyncDataService;
import com.logpm.factory.snm.service.IPanFactoryOrderService;
import com.logpm.factory.snm.service.IPanPackageInfoService;
import com.logpm.factory.snm.service.IPanPackageListService;
import com.logpm.oldproject.feign.IAdvanceClient;
import com.logpm.oldproject.feign.IAdvanceDetailClient;
import com.logpm.oldproject.feign.IServiceNumClient;
import com.logpm.oldproject.feign.IWarehouseClient;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 异步线程处理
*/
@Log4j2
@Service
@AllArgsConstructor
public class AsyncDataServiceImpl implements IAsyncDataService {
private final IAdvanceClient iAdvanceClient;
private final IAdvanceDetailClient advanceDetailClient;
private final IServiceNumClient serviceNumClient;
private final IWarehouseClient warehouseClient;
private final IPanFactoryOrderService panFactoryOrderService;
private final IPanPackageInfoService panPackageInfoService;
private final IPanPackageListService panPackageListService;
/**
* 处理皮阿诺数据推送到汇通老库
*/
@Override
@Async
public void handlerPanDataToHt() {
log.info("################handlerDataToHt: 处理皮阿诺订单数据到");
//查询需要同步的订单
QueryWrapper<PanFactoryOrder> orderQueryWrapper = new QueryWrapper<>();
orderQueryWrapper.eq("status",1)
.eq("is_deleted",0);
List<PanFactoryOrder> list = panFactoryOrderService.list(orderQueryWrapper);
log.info("#########handlerDataToHt: 待处理的订单数量为{}",list.size());
for (PanFactoryOrder panFactoryOrder:list){
Long id = panFactoryOrder.getId();
log.info("#########handlerDataToHt: 当前处理的订单id={}",id);
}
}
}

131
blade-service/logpm-factory/src/main/java/com/logpm/factory/snm/service/impl/PanFactoryDataServiceImpl.java

@ -10,9 +10,11 @@ import com.logpm.factory.snm.dto.OrderInfoDTO;
import com.logpm.factory.snm.dto.OrderStatusDTO;
import com.logpm.factory.snm.entity.PanFactoryOrder;
import com.logpm.factory.snm.entity.PanOrderStatusLog;
import com.logpm.factory.snm.entity.PanPackageInfo;
import com.logpm.factory.snm.service.IPanFactoryDataService;
import com.logpm.factory.snm.service.IPanFactoryOrderService;
import com.logpm.factory.snm.service.IPanOrderStatusLogService;
import com.logpm.factory.snm.service.IPanPackageInfoService;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -38,6 +40,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
private final PanFactoryProperties panFactoryProperties;
private final IPanOrderStatusLogService panOrderStatusLogService;
private final IPanPackageInfoService panPackageInfoService;
// @Override
// public FactoryTokenVO getToken(String corpId, String appKey, String appSecret) throws NoSuchAlgorithmException {
@ -110,36 +113,36 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
String s = gson.toJson(map);
//先获取token
String panToken = getPanToken();
// String panToken = getPanToken();
//
//请求参数
logger.info("##############handleData: 推送包件状态请求参数 {}",s);
//处理逻辑
//TODO 这里还差那边给到请求接口
String result = HttpRequest.post(panFactoryProperties.getUrl()+"")
.header("Authorization","Bearer "+panToken)
.header("Content-Type","application/json")
.body(s).timeout(5 * 1000)
.execute().body();
logger.info("##############handleData: 推送包件状态返回参数 {}",result);
//把结果字符串转为json对象
JSONObject jsonObject = JSONObject.parseObject(result);
JSONObject payload = jsonObject.getJSONObject("payload");
if(!Objects.isNull(payload)){
Integer code = payload.getInteger("code");
String message = payload.getString("data");
if(code.equals(1)){
logger.info("##########handleData: 物流状态传递成功");
panOrderStatusLog.setStatus(0);
panOrderStatusLogService.saveOrUpdate(panOrderStatusLog);
}else{
throw new CustomerException(400,message);
}
}else{
throw new CustomerException(400,"返回格式有误:"+result);
}
// //处理逻辑
// //TODO 这里还差那边给到请求接口
// String result = HttpRequest.post(panFactoryProperties.getUrl()+"/hitf/v1/rest/invoke?namespace=HZERO&serverCode=HUITONG_MID_RECEIVE")
// .header("Authorization","Bearer "+panToken)
// .header("Content-Type","application/json")
// .body(s).timeout(5 * 1000)
// .execute().body();
//
// logger.info("##############handleData: 推送包件状态返回参数 {}",result);
//
// //把结果字符串转为json对象
// JSONObject jsonObject = JSONObject.parseObject(result);
// JSONObject payload = jsonObject.getJSONObject("payload");
// if(!Objects.isNull(payload)){
// Integer code = payload.getInteger("code");
// String message = payload.getString("data");
// if(code.equals(1)){
// logger.info("##########handleData: 物流状态传递成功");
// panOrderStatusLog.setStatus(0);
// panOrderStatusLogService.saveOrUpdate(panOrderStatusLog);
// }else{
// throw new CustomerException(400,message);
// }
// }else{
// throw new CustomerException(400,"返回格式有误:"+result);
// }
}
@ -154,6 +157,22 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
panOrderStatusLog.setType(2);
panOrderStatusLogService.save(panOrderStatusLog);
//通过包件码查询是否是要推送的订单
String unitNo = orderStatusDTO.getUnitNo();//包件码
QueryWrapper<PanPackageInfo> packageInfoQueryWrapper = new QueryWrapper<>();
packageInfoQueryWrapper.eq("unit_no",unitNo);
PanPackageInfo one = panPackageInfoService.getOne(packageInfoQueryWrapper);
if(Objects.isNull(one)){
logger.info("#############handleStatusData: 当前包条码未找到对应数据unitNo={}",unitNo);
throw new CustomerException(400,"未找到包件数据");
}
//判断数据是都已存在
if(!orderStatusDTO.verifyData()){
logger.info("#############handleStatusData: 数据不齐全 orderStatusDTO={}",orderStatusDTO);
throw new CustomerException(400,"数据不齐全");
}
//拼接参数
Map<String,Object> map = new HashMap<>();
map.put("payload", JSONObject.toJSONString(orderStatusDTO));
@ -161,36 +180,36 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
Gson gson = new GsonBuilder().setPrettyPrinting().create();
String s = gson.toJson(map);
//先获取token
String panToken = getPanToken();
// //先获取token
// String panToken = getPanToken();
//
//请求参数
logger.info("##############handleStatusData: 推送包件状态请求参数 {}",s);
//处理逻辑
String result = HttpRequest.post(panFactoryProperties.getUrl()+"/hitf/v1/rest/invoke?namespace=HZERO&serverCode=OPEN&interfaceCode=HUITONG_RECEIVE")
.header("Authorization","Bearer "+panToken)
.header("Content-Type","application/json")
.body(s).timeout(5 * 1000)
.execute().body();
logger.info("##############handleStatusData: 推送包件状态返回参数 {}",result);
//把结果字符串转为json对象
JSONObject jsonObject = JSONObject.parseObject(result);
JSONObject payload = jsonObject.getJSONObject("payload");
if(!Objects.isNull(payload)){
Integer code = payload.getInteger("code");
String message = payload.getString("data");
if(code.equals(1)){
logger.info("##########handleStatusData: 物流状态传递成功");
panOrderStatusLog.setStatus(0);
panOrderStatusLogService.saveOrUpdate(panOrderStatusLog);
}else{
throw new CustomerException(400,message);
}
}else{
throw new CustomerException(400,"返回格式有误:"+result);
}
// //处理逻辑
// String result = HttpRequest.post(panFactoryProperties.getUrl()+"/hitf/v1/rest/invoke?namespace=HZERO&serverCode=OPEN&interfaceCode=HUITONG_RECEIVE")
// .header("Authorization","Bearer "+panToken)
// .header("Content-Type","application/json")
// .body(s).timeout(5 * 1000)
// .execute().body();
//
// logger.info("##############handleStatusData: 推送包件状态返回参数 {}",result);
//
// //把结果字符串转为json对象
// JSONObject jsonObject = JSONObject.parseObject(result);
// JSONObject payload = jsonObject.getJSONObject("payload");
// if(!Objects.isNull(payload)){
// Integer code = payload.getInteger("code");
// String message = payload.getString("data");
// if(code.equals(1)){
// logger.info("##########handleStatusData: 物流状态传递成功");
// panOrderStatusLog.setStatus(0);
// panOrderStatusLogService.saveOrUpdate(panOrderStatusLog);
// }else{
// throw new CustomerException(400,message);
// }
// }else{
// throw new CustomerException(400,"返回格式有误:"+result);
// }
}

Loading…
Cancel
Save