gongfuzhu преди 1 година
родител
ревизия
eac628a5d8

+ 4 - 6
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/controller/OrderController.java

@@ -42,7 +42,6 @@ public class OrderController {
     OrderServiceImp orderServiceImp;
 
 
-
     @ApiOperation("创建订单")
     @ResourceAuth(value = AuthConstant.User, type = AuthType.User)
     @RequestMapping(value = "creat", method = RequestMethod.POST)
@@ -74,7 +73,7 @@ public class OrderController {
     @ApiOperation("创建扫码订单")
     @ResourceAuth(value = "user", type = AuthType.User)
     @RequestMapping(value = "creatScanOrder", method = RequestMethod.POST)
-    public ResultContent<CreateResponseModel> creatScanOrder(@Valid @RequestBody ScanModel scanModel){
+    public ResultContent<CreateResponseModel> creatScanOrder(@Valid @RequestBody ScanModel scanModel) {
 
         String userId = authHelper.getCurrentUser().getUserId();
 
@@ -97,8 +96,7 @@ public class OrderController {
         goods.setTransferType(TransferType.RATIO);
 
 
-
-        goods.setGoodsInfo(new JSONObject().set("goodsName","二维码商品"));
+        goods.setGoodsInfo(new JSONObject().set("goodsName", "二维码商品"));
 
         // todo 店铺分账规则
         // 平台分账
@@ -112,14 +110,14 @@ public class OrderController {
         shop.setValue(BigDecimal.valueOf(100));
         shop.setShopId(createOrder2Model.getShopId());
 
-        goods.setTransferRrule(List.of(plat,shop));
+        goods.setTransferRrule(List.of(plat, shop));
         goods.setExtend(scanModel.getExtend());
         createOrder2Model.setGoodsList(List.of(goods));
 
 
         createOrder2Model.setGoodsList(List.of(goods));
 
-       return orderServiceImp.creat(createOrder2Model);
+        return orderServiceImp.creat(createOrder2Model);
     }
 
 

+ 72 - 0
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/job/standard/StandardDeliveryJob.java

@@ -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();
+    }
+}

+ 12 - 1
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/service/PaymentService.java

@@ -5,9 +5,11 @@ import com.github.microservice.auth.security.helper.AuthHelper;
 import com.zhongshu.payment.client.model.order.AdminSeachOrderModel;
 import com.zhongshu.payment.client.model.order.v2.ApplicantRefundParam2Model;
 import com.zhongshu.payment.client.model.order.v2.RefundParam2Model;
+import com.zhongshu.payment.client.model.payment.QueryResponseModel;
 import com.zhongshu.payment.client.model.payment.zswl.CreatePayment2Model;
 import com.zhongshu.payment.client.model.payment.zswl.CreatePaymentModel;
 import com.zhongshu.payment.client.service.v2.PaymentService2;
+import com.zswl.cloud.shop.client.service.GoodsService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Pageable;
@@ -23,6 +25,9 @@ public class PaymentService {
     @Autowired
     AuthHelper authHelper;
 
+    @Autowired
+    GoodsService goodsService;
+
 
     public ResultContent creatPayOrder(CreatePaymentModel createPaymentModel) {
         CreatePayment2Model createPayment2Model = new CreatePayment2Model();
@@ -35,7 +40,13 @@ public class PaymentService {
     public ResultContent query(String orderNo) {
 
         String userId = authHelper.getCurrentUser().getUserId();
-        return paymentService2.query(userId, orderNo);
+        ResultContent<QueryResponseModel> query = paymentService2.query(userId, orderNo);
+        QueryResponseModel content = query.getContent();
+        if (content.getStatus().equals("TRADE_SUCCESS")) {
+
+            //todo 处理发货
+        }
+        return null;
     }
 
     public ResultContent applicantRefund(ApplicantRefundParam2Model applicantRefundParam2Model) {