|
@@ -0,0 +1,72 @@
|
|
|
+package com.zswl.cloud.springBtach.server.core.job.standard;
|
|
|
+
|
|
|
+import com.github.microservice.auth.client.content.ResultContent;
|
|
|
+import com.zhongshu.payment.client.model.order.v2.CreateOrder2Model;
|
|
|
+import com.zhongshu.payment.client.model.order.v2.OrderResult2Model;
|
|
|
+import com.zswl.cloud.shop.client.dto.life.OperateStockDto;
|
|
|
+import com.zswl.cloud.shop.client.ret.ResultState;
|
|
|
+import com.zswl.cloud.shop.client.service.GoodsService;
|
|
|
+import lombok.Data;
|
|
|
+import lombok.extern.log4j.Log4j2;
|
|
|
+import org.springframework.batch.core.Job;
|
|
|
+import org.springframework.batch.core.Step;
|
|
|
+import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
|
|
|
+import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
|
|
|
+import org.springframework.batch.core.launch.support.RunIdIncrementer;
|
|
|
+import org.springframework.batch.repeat.RepeatStatus;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.context.annotation.Bean;
|
|
|
+import org.springframework.context.annotation.Configuration;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+
|
|
|
+@Data
|
|
|
+@Configuration
|
|
|
+@Log4j2
|
|
|
+public class StandardDeliveryJob {
|
|
|
+ ThreadLocal<ResultContent> resultContent = new ThreadLocal<>();
|
|
|
+
|
|
|
+ ThreadLocal<OrderResult2Model> parameter = new ThreadLocal<>();
|
|
|
+ ThreadLocal<Boolean> stop = new ThreadLocal<>();
|
|
|
+ @Resource
|
|
|
+ private StepBuilderFactory stepBuilderFactory;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private JobBuilderFactory jobBuilderFactory;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ GoodsService goodsService;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public Step standardDeliveryStep() {
|
|
|
+ return stepBuilderFactory.get("standardDeliveryStep")
|
|
|
+ .tasklet((contribution, chunkContext) -> {
|
|
|
+
|
|
|
+ // todo 处理发货
|
|
|
+ OrderResult2Model goods = parameter.get();
|
|
|
+ OperateStockDto operateStockDto = new OperateStockDto();
|
|
|
+// operateStockDto.setUserId(goods());
|
|
|
+ operateStockDto.setOperate(3);// 暂用库存
|
|
|
+// operateStockDto.setShopId(goods.getShopId());
|
|
|
+// operateStockDto.setGoodsId(createOrder2Model.getGoodsList().get(0).getGoodsId());
|
|
|
+ // 暂用库存
|
|
|
+ com.zswl.cloud.shop.client.ret.ResultContent resultContent1 = goodsService.operateStock(operateStockDto);
|
|
|
+
|
|
|
+ if (resultContent1.getState().equals(ResultState.Success)){
|
|
|
+ getResultContent().set(ResultContent.buildContent(resultContent1.getContent()));
|
|
|
+ }
|
|
|
+ return RepeatStatus.FINISHED;
|
|
|
+ })
|
|
|
+ .build();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Bean
|
|
|
+ public Job standardDeliveryJob() {
|
|
|
+ return getJobBuilderFactory()
|
|
|
+ .get("standardDeliveryJob")
|
|
|
+ .start(standardDeliveryStep())
|
|
|
+ .incrementer(new RunIdIncrementer())
|
|
|
+ .build();
|
|
|
+ }
|
|
|
+}
|