Browse Source

feat(all): 增加暂存单走新老系统控制

pre-production
zhaoqiaobo 5 months ago
parent
commit
ede7711a8c
  1. 8
      blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomFactoryOrderListener.java
  2. 1
      blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/pros/ZbFactoryProperties.java
  3. 4
      blade-service/logpm-factory/src/main/java/com/logpm/factory/config/InterceptorAdapterConfig.java
  4. 15
      blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java
  5. 14
      blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/controller/MtFactoryDataController.java
  6. 10
      blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java
  7. 35
      blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/controller/PanFactoryDataController.java
  8. 23
      blade-service/logpm-factory/src/main/java/com/logpm/factory/props/SendDataProperties.java

8
blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomFactoryOrderListener.java

@ -24,6 +24,7 @@ import com.logpm.factorydata.zbom.entity.ZbOrderPackageEntity;
import com.logpm.factorydata.zbom.entity.ZbPackageInfoEntity;
import com.logpm.factorydata.zbom.entity.ZbReceiptEntity;
import com.logpm.factorydata.zbom.mapper.ZbCategoryContrastMapper;
import com.logpm.factorydata.zbom.pros.ZbFactoryProperties;
import com.logpm.factorydata.zbom.service.IOrderPackageService;
import com.logpm.factorydata.zbom.service.IPackageInfoService;
import com.logpm.factorydata.zbom.service.IReceiptService;
@ -78,6 +79,7 @@ public class ZbomFactoryOrderListener {
private final IReceiptService receiptService;
private final IPackageInfoService packageInfoService;
private final IOrderPackageService orderPackageService;
private final ZbFactoryProperties zbFactoryProperties;
@RabbitListener(bindings = @QueueBinding(
value = @Queue(name = FactoryDataConstants.Mq.Queues.ZBOM_FACTORY_ORDER),
@ -185,8 +187,10 @@ public class ZbomFactoryOrderListener {
// 保存物料数据
packageInfoService.saveBatch(packageInfoEntities);
}
// 处理暂存单 TODO 暂时关闭推送新系统暂存单
// receiptService.buildAdvance(zbReceiptDTO, packageCode);
// 处理暂存单
if(zbFactoryProperties.isAdvance()){
receiptService.buildAdvance(zbReceiptDTO, packageCode);
}
}
}

1
blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/pros/ZbFactoryProperties.java

@ -19,6 +19,7 @@ public class ZbFactoryProperties {
private String customerid;
private String secretkey;
private String url;
private boolean isAdvance = false;
private boolean enable = true;
}

4
blade-service/logpm-factory/src/main/java/com/logpm/factory/config/InterceptorAdapterConfig.java

@ -36,8 +36,8 @@ public class InterceptorAdapterConfig implements WebMvcConfigurer {
excludePathPatterns("/factory/oupai/**").
excludePathPatterns("/factory/zb/**")
.excludePathPatterns("/factory/common/**").order(2);
// interceptorRegistry.addInterceptor(new ZbFactoryAccountsInterceptor(zbFactoryProperties))
// .addPathPatterns("/factory/zb/**").order(3);
interceptorRegistry.addInterceptor(new ZbFactoryAccountsInterceptor(zbFactoryProperties))
.addPathPatterns("/factory/zb/**").order(3);
interceptorRegistry.addInterceptor(new LocalServerLoginAccountsInterceptor(redis,environment,redisLockClient)).addPathPatterns("/**").order(1);
}

15
blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java

@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.factory.comfac.dto.OrderStatusDTO;
import com.logpm.factory.oupai.mapper.FactoryOrderMapper;
import com.logpm.factory.oupai.service.IOuPaiFactoryService;
import com.logpm.factory.props.SendDataProperties;
import com.logpm.factory.snm.dto.GroupByPackagesDTO;
import com.logpm.factory.snm.entity.OrderLogEntity;
import com.logpm.factory.snm.entity.StaorderPackagesEntity;
@ -32,6 +33,7 @@ import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.xxl.job.core.log.XxlJobLogger;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.common.constant.HttpConstants;
@ -60,6 +62,7 @@ import java.util.stream.Collectors;
*
* @author xuxueli
*/
@Slf4j
@AllArgsConstructor
@Component
public class FactoryXxlJob {
@ -87,6 +90,8 @@ public class FactoryXxlJob {
private final IFactoryDataBaseClient factoryDataBaseClient;
private final IFactoryDataClient factoryDataClient;
private final SendDataProperties sendDataProperties;
/**
* snm工厂数据任务调度
@ -190,9 +195,15 @@ public class FactoryXxlJob {
});
// 调用接口写入到老系统的数据库
// resoveFactoryData();
if (ObjectUtil.equal(sendDataProperties.getSend(), "old")) {
log.info("推送到老系统");
resoveFactoryData();
}
// 走新系统暂存单
resoveFactoryDataNew();
if (ObjectUtil.equal(sendDataProperties.getSend(), "new")) {
log.info("推送到新系统");
resoveFactoryDataNew();
}
return ReturnT.SUCCESS;
}

14
blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/controller/MtFactoryDataController.java

@ -18,12 +18,14 @@ package com.logpm.factory.mt.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.EnumUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.factory.comfac.service.IAsyncDataService;
import com.logpm.factory.comfac.service.IOrderStatusLogService;
import com.logpm.factory.mt.dto.MtFactoryDataDTO;
import com.logpm.factory.mt.service.IMtFactoryDataService;
import com.logpm.factory.props.SendDataProperties;
import com.logpm.factory.snm.entity.OrderStatusLog;
import com.logpm.factorydata.enums.BrandEnums;
import com.logpm.factorydata.vo.NodePushMsg;
@ -38,6 +40,7 @@ import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -70,6 +73,7 @@ public class MtFactoryDataController extends BladeController {
private final IAsyncDataService asyncDataService;
private final RabbitTemplate rabbitTemplate;
private final SendDataProperties sendDataProperties;
@ResponseBody
@PostMapping("/sendMsg")
@ -129,9 +133,15 @@ public class MtFactoryDataController extends BladeController {
orderStatusLog.setStatus(0);
//开启异步线程处理数据
if (!Objects.isNull(mainId)) {
// asyncDataService.handlerMtDataToHt(map.get("mainId"));
if (ObjectUtil.equal(sendDataProperties.getSend(), "old")) {
log.info("推送到老系统");
asyncDataService.handlerMtDataToHt(map.get("mainId"));
}
// 走新系统暂存单
asyncDataService.handlerMtDataToHtNew(map.get("mainId"));
if (ObjectUtil.equal(sendDataProperties.getSend(), "new")) {
log.info("推送到新系统");
asyncDataService.handlerMtDataToHtNew(map.get("mainId"));
}
}
} else {
orderStatusLog.setStatus(2);

10
blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java

@ -1,5 +1,6 @@
package com.logpm.factory.oupai.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONArray;
@ -17,6 +18,7 @@ import com.logpm.factory.oupai.entity.*;
import com.logpm.factory.oupai.mapper.ReceivingOrderMapper;
import com.logpm.factory.oupai.service.*;
import com.logpm.factory.props.OuPaiProperties;
import com.logpm.factory.props.SendDataProperties;
import com.logpm.factory.snm.bean.Resp;
import com.logpm.oldproject.feign.IAdvanceClient;
import com.logpm.oldproject.feign.IAdvanceDetailClient;
@ -39,6 +41,7 @@ import org.springblade.system.cache.DictCache;
import org.springblade.system.entity.Dict;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
@ -96,6 +99,8 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
@Autowired
private OpPushFailedPackageRecordService opPushFailedPackageRecordService;
@Autowired
private SendDataProperties sendDataProperties;
@Override
public String saveOuPaiFactoryOrderDTOByCarCarNumber(String code) {
@ -111,7 +116,10 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
handleData(code);
if (ObjectUtils.isNotNull(code)) {
// 暂停推送
asyncDataService.handlerOuPaiDataToHt(code);
if(ObjectUtil.equal(sendDataProperties.getSend(), "new")){
log.info("推送新系统");
asyncDataService.handlerOuPaiDataToHt(code);
}
}
return code;

35
blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/controller/PanFactoryDataController.java

@ -16,6 +16,7 @@
*/
package com.logpm.factory.pan.controller;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.logpm.factory.comfac.service.IAsyncDataService;
@ -25,6 +26,7 @@ import com.logpm.factory.pan.service.IPanFactoryDataService;
import com.logpm.factory.pan.service.IPanFactoryOrderService;
import com.logpm.factory.pan.service.IPanPackageInfoService;
import com.logpm.factory.pan.service.IPanPackageListService;
import com.logpm.factory.props.SendDataProperties;
import com.logpm.factory.snm.bean.Resp;
import com.logpm.factory.snm.entity.OrderStatusLog;
import io.swagger.annotations.Api;
@ -32,9 +34,13 @@ import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springblade.core.boot.ctrl.BladeController;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.Objects;
@ -57,8 +63,8 @@ public class PanFactoryDataController extends BladeController {
private final IPanPackageListService packageListService;
private final IPanFactoryDataService panFactoryDataService;
private final IAsyncDataService syncDataService;
private RabbitTemplate rabbitTemplate;
private final IOrderStatusLogService panOrderStatusLogService;
private final SendDataProperties sendDataProperties;
// @ResponseBody
// @PostMapping("/token")
@ -87,7 +93,6 @@ public class PanFactoryDataController extends BladeController {
// }
/**
* 工厂数据推送接口
*/
@ -111,26 +116,32 @@ public class PanFactoryDataController extends BladeController {
//判断数据是否已存入
String orderNo = factoryOrderDTO.getOrderNo();
Long orderId = null;
try{
try {
orderId = panFactoryDataService.saveData(factoryOrderDTO);
panOrderStatusLog.setStatus(0);
}catch (Exception e){
log.warn("############data: 保存数据失败 orderNo={}",orderNo);
log.error("############data: 保存数据失败",e);
} catch (Exception e) {
log.warn("############data: 保存数据失败 orderNo={}", orderNo);
log.error("############data: 保存数据失败", e);
//修改保存数据的状态
panOrderStatusLog.setStatus(2);
}
panOrderStatusLogService.saveOrUpdate(panOrderStatusLog);
//开启异步线程处理数据
if(!Objects.isNull(orderId)){
// syncDataService.handlerPanDataToHt(orderId);
if (!Objects.isNull(orderId)) {
if (ObjectUtil.equal(sendDataProperties.getSend(), "old")) {
log.info("推送到老系统");
syncDataService.handlerPanDataToHt(orderId);
}
// 走新系统暂存单
syncDataService.handlerPanDataToHtNew(orderId);
if (ObjectUtil.equal(sendDataProperties.getSend(), "new")) {
log.info("推送到新系统");
syncDataService.handlerPanDataToHtNew(orderId);
}
}
return Resp.successOrderNo(factoryOrderDTO.getOrderNo(),factoryOrderDTO.getDeliveryNumber(),"SUCCESS");
return Resp.successOrderNo(factoryOrderDTO.getOrderNo(), factoryOrderDTO.getDeliveryNumber(), "SUCCESS");
}

23
blade-service/logpm-factory/src/main/java/com/logpm/factory/props/SendDataProperties.java

@ -0,0 +1,23 @@
package com.logpm.factory.props;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* FactoryProperties
*
* @author pref
*/
@Component
@Data
@ConfigurationProperties(prefix = "factory.data")
public class SendDataProperties {
/**
* 名称
*/
private String send = "old";
}
Loading…
Cancel
Save