ソースを参照

创建订单业务逻辑

gongfuzhu 1 年間 前
コミット
ec334725bb

+ 18 - 10
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/service/OrderServiceImp.java

@@ -2,8 +2,11 @@ package com.zswl.cloud.springBtach.server.core.service;
 
 import com.github.microservice.auth.client.content.ResultContent;
 import com.zhongshu.payment.client.model.order.v2.CreateOrder2Model;
-import com.zswl.cloud.springBatch.cline.service.OrderService;
-import com.zswl.cloud.springBtach.server.core.step.CreateOrderStep;
+import com.zswl.cloud.springBatch.client.model.CreateOrderModel;
+import com.zswl.cloud.springBatch.client.service.OrderService;
+import com.zswl.cloud.springBatch.client.type.JobFlowMap;
+import com.zswl.cloud.springBatch.client.type.JobFlowType;
+import com.zswl.cloud.springBtach.server.core.job.standard.StandardOrderJob;
 import lombok.SneakyThrows;
 import org.springframework.batch.core.Job;
 import org.springframework.batch.core.JobParameters;
@@ -11,6 +14,7 @@ import org.springframework.batch.core.JobParametersBuilder;
 import org.springframework.batch.core.explore.JobExplorer;
 import org.springframework.batch.core.launch.JobLauncher;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -19,7 +23,7 @@ import javax.annotation.Resource;
 public class OrderServiceImp implements OrderService {
 
     @Autowired
-    private CreateOrderStep createOrderStep;
+    private StandardOrderJob standardOrderJob;
 
     @Resource
     private JobLauncher jobLauncher;
@@ -27,19 +31,23 @@ public class OrderServiceImp implements OrderService {
     @Resource
     private JobExplorer jobExplorer;
 
-    @Resource
-    private Job creatOrder;
+
+    @Autowired
+    private ApplicationContext applicationContext;
 
 
     @Override
     @SneakyThrows
-    public ResultContent creat(CreateOrder2Model createOrderModel) {
-        ThreadLocal<CreateOrder2Model> parameter = createOrderStep.getParameter();
+    public ResultContent creat(CreateOrderModel createOrderModel) {
+        JobFlowMap jobFlowMap = createOrderModel.getJobFlowMap();
+        String jobName = jobFlowMap.getJobMapping().get(JobFlowType.CrateOrder);
+        ThreadLocal<CreateOrder2Model> parameter = standardOrderJob.getParameter();
         parameter.set(createOrderModel);
+        Job job = (Job) applicationContext.getBean(jobName);
         JobParameters parameters = new JobParametersBuilder(jobExplorer)
-                .getNextJobParameters(creatOrder)
+                .getNextJobParameters(job)
                 .toJobParameters();
-        jobLauncher.run(creatOrder, parameters).getExitStatus();
-        return createOrderStep.getResultContent().get();
+        jobLauncher.run(job, parameters).getExitStatus();
+        return standardOrderJob.getResultContent().get();
     }
 }