|
@@ -5,10 +5,17 @@ import cn.newfeifan.mall.framework.tenant.core.job.TenantJob;
|
|
|
import cn.newfeifan.mall.module.distri.mq.message.order.CalcMessage;
|
|
|
import cn.newfeifan.mall.module.distri.mq.message.order.DistriOrderMessage;
|
|
|
import cn.newfeifan.mall.module.distri.mq.message.order.OrderCalcMessage;
|
|
|
+import cn.newfeifan.mall.module.infra.dal.dataobject.job.JobDO;
|
|
|
+import cn.newfeifan.mall.module.infra.dal.mysql.job.JobMapper;
|
|
|
import cn.newfeifan.mall.module.trade.mq.producer.order.DistriOrderProducer;
|
|
|
import cn.newfeifan.mall.module.trade.service.order.TradeOrderQueryService;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.quartz.DisallowConcurrentExecution;
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
|
+import org.springframework.scheduling.annotation.EnableScheduling;
|
|
|
+import org.springframework.scheduling.annotation.SchedulingConfigurer;
|
|
|
+import org.springframework.scheduling.config.ScheduledTaskRegistrar;
|
|
|
+import org.springframework.scheduling.support.CronTrigger;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
@@ -22,7 +29,9 @@ import java.util.List;
|
|
|
@Component
|
|
|
@DisallowConcurrentExecution
|
|
|
@Lazy(false)
|
|
|
-public class TradeOrderAutoCalcJob implements JobHandler {
|
|
|
+@EnableScheduling
|
|
|
+@Slf4j
|
|
|
+public class TradeOrderAutoCalcJob implements SchedulingConfigurer {
|
|
|
|
|
|
@Resource
|
|
|
private DistriOrderProducer distriOrderProducer;
|
|
@@ -30,9 +39,12 @@ public class TradeOrderAutoCalcJob implements JobHandler {
|
|
|
@Resource
|
|
|
private TradeOrderQueryService tradeOrderQueryService;
|
|
|
|
|
|
- @Override
|
|
|
- @TenantJob
|
|
|
- public String execute(String param) {
|
|
|
+ @Resource
|
|
|
+ private JobMapper jobMapper;
|
|
|
+
|
|
|
+ // @Override
|
|
|
+// @TenantJob
|
|
|
+ public void execute() {
|
|
|
//发货七天前订单
|
|
|
List<DistriOrderMessage> appTradeOrderDetailRespVos = tradeOrderQueryService.queryAllOrder();
|
|
|
List<OrderCalcMessage> orderCalcMessages = tradeOrderQueryService.getOrderCalcMessage(appTradeOrderDetailRespVos);
|
|
@@ -43,9 +55,21 @@ public class TradeOrderAutoCalcJob implements JobHandler {
|
|
|
|
|
|
CalcMessage calcMessage = CalcMessage.builder().orderCalcMessages(orderCalcMessages).bonusQuotaOrderDO(orderCalcMessages2).distriOrderMessages(appTradeOrderDetailRespVos).build();
|
|
|
distriOrderProducer.sendDistriOrderMessage(calcMessage);
|
|
|
- return "计算订单信息结束";
|
|
|
+// return "计算订单信息结束";
|
|
|
+ log.info("==========计算订单信息结束==========");
|
|
|
|
|
|
+ }
|
|
|
|
|
|
+ @Override
|
|
|
+ public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
|
|
|
+ scheduledTaskRegistrar.addTriggerTask(this::execute,
|
|
|
+ triggerContext -> {
|
|
|
+ String cron = jobMapper.selectOne(JobDO::getHandlerName,"tradeOrderAutoCalcJob").getCronExpression();
|
|
|
+ if (cron.isEmpty()) {
|
|
|
+ log.error("==========没有找到启动 [tradeOrderAutoCalcJob] 任务的 定时任务 ==========");
|
|
|
+ }
|
|
|
+ return new CronTrigger(cron).nextExecutionTime(triggerContext);
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
}
|