自动接收订单

liweidong
李涛 3 weeks ago
parent 6475c6d01b
commit 67b35b4a8b
  1. 30
      blade-ops/blade-job/src/main/java/org/springblade/job/processor/produce/ConfirmOrderProcessor.java
  2. 8
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/feign/IApsProduceClient.java
  3. 53
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/feign/ApsProduceClient.java

@ -0,0 +1,30 @@
package org.springblade.job.processor.produce;
import jakarta.annotation.Resource;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springblade.desk.produce.feign.IApsProduceClient;
import org.springframework.stereotype.Component;
import tech.powerjob.worker.core.processor.ProcessResult;
import tech.powerjob.worker.core.processor.TaskContext;
import tech.powerjob.worker.core.processor.sdk.BasicProcessor;
/**
* 订单接收
*
* @author litao
*/
@Component
@Data
@Slf4j
public class ConfirmOrderProcessor implements BasicProcessor {
@Resource
private IApsProduceClient client;
@Override
public ProcessResult process(TaskContext context) throws Exception {
log.info("自动开始订单接收");
return new ProcessResult(client.confirmOrder());
}
}

@ -17,6 +17,7 @@ public interface IApsProduceClient {
String API_PREFIX = "/feign/aps/produce"; String API_PREFIX = "/feign/aps/produce";
String SYNC_ORDER_FROM_OLD_MES = API_PREFIX + "/syncOrderFromOldMes"; String SYNC_ORDER_FROM_OLD_MES = API_PREFIX + "/syncOrderFromOldMes";
String CONFIRM_ORDER = API_PREFIX + "/confirmOrder";
/** /**
@ -27,4 +28,11 @@ public interface IApsProduceClient {
@GetMapping(SYNC_ORDER_FROM_OLD_MES) @GetMapping(SYNC_ORDER_FROM_OLD_MES)
Boolean syncOrderFromOldMes(); Boolean syncOrderFromOldMes();
/**
* 订单接收
*
* @return
*/
@GetMapping(CONFIRM_ORDER)
boolean confirmOrder();
} }

@ -1,12 +1,19 @@
package org.springblade.desk.produce.feign; package org.springblade.desk.produce.feign;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Hidden;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.desk.order.pojo.entity.YieldOrder;
import org.springblade.desk.order.pojo.enums.YieldOrderEnum;
import org.springblade.desk.order.service.IYieldOrderService; import org.springblade.desk.order.service.IYieldOrderService;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -18,21 +25,39 @@ import java.util.List;
@Hidden() @Hidden()
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j
public class ApsProduceClient implements IApsProduceClient { public class ApsProduceClient implements IApsProduceClient {
private final IYieldOrderService yieldOrderService; private final IYieldOrderService yieldOrderService;
@Override @Override
@GetMapping(SYNC_ORDER_FROM_OLD_MES) @GetMapping(SYNC_ORDER_FROM_OLD_MES)
public Boolean syncOrderFromOldMes() { public Boolean syncOrderFromOldMes() {
// 同步生产订单 // 同步生产订单
List<String> cardNoList = yieldOrderService.syncYieldOrderFromOldMes(); List<String> cardNoList = yieldOrderService.syncYieldOrderFromOldMes();
// 推送同步结果,避免重复同步 // 推送同步结果,避免重复同步
yieldOrderService.syncYieldOrderResultToOldMes(cardNoList); yieldOrderService.syncYieldOrderResultToOldMes(cardNoList);
return Boolean.TRUE; return Boolean.TRUE;
} }
@Override
public boolean confirmOrder() {
// 获取上1小时开始、结束时间
Date startTime = Date.from(LocalDateTime.now().minusHours(1).withMinute(0).withSecond(0).withNano(0).atZone(ZoneId.systemDefault()).toInstant());
Date endTime = Date.from(LocalDateTime.now().minusHours(1).withMinute(59).withSecond(59).withNano(999_999_999).atZone(ZoneId.systemDefault()).toInstant());
List<YieldOrder> orders = yieldOrderService.list(Wrappers.<YieldOrder>lambdaQuery().eq(YieldOrder::getValidationResult, YieldOrderEnum.VALIDATION_RESULT_PASS.getCode()).between(YieldOrder::getUpdateTime, startTime, endTime));
for (YieldOrder yieldOrder : orders) {
try {
yieldOrderService.confirm(yieldOrder.getCardNo(), "0");
} catch (Exception e) {
log.error("订单接收失败,流程卡号{},错误信息为{}", yieldOrder.getCardNo(), e.getMessage());
}
}
log.info("自动接收订单结束");
return true;
}
} }

Loading…
Cancel
Save