gongfuzhu hai 1 ano
pai
achega
381520efba

+ 50 - 51
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/job/standard/StandardOrderJob.java

@@ -75,75 +75,74 @@ public class StandardOrderJob {
                     operateStockDto.setGoodsId(createOrder2Model.getGoodsList().get(0).getGoodsId());
                     String goodsId = createOrder2Model.getGoodsList().get(0).getGoodsId();
 
-                    // 暂用库存
-                    com.zswl.cloud.shop.client.ret.ResultContent resultContent1 = goodsService.operateStock(operateStockDto);
+                    try {
 
 
-                    if (resultContent1.getState().equals(ResultState.Success)) {
-                        CreateOrder2Model.Goods goods = createOrder2Model.getGoodsList().get(0);
+                        // 暂用库存
+                        com.zswl.cloud.shop.client.ret.ResultContent resultContent1 = goodsService.operateStock(operateStockDto);
 
-                        // 计算价格
-                        CalculateCouponDto calculateCouponDto = new CalculateCouponDto();
-                        calculateCouponDto.setUserId(createOrder2Model.getUserId());
-                        calculateCouponDto.setShopId(createOrder2Model.getShopId());
-                        calculateCouponDto.setGoodsId(goods.getGoodsId());
 
+                        if (resultContent1.getState().equals(ResultState.Success)) {
+                            CreateOrder2Model.Goods goods = createOrder2Model.getGoodsList().get(0);
 
-                        com.zswl.cloud.shop.client.ret.ResultContent<CalculateVo> calculate = goodsService.calculate(calculateCouponDto);
-                        if (!calculate.getState().equals(ResultState.Success)) {
-                            resultContent.set(ResultContent.build(com.github.microservice.auth.client.content.ResultState.Fail, calculate.getMsg()));
-                            stop.set(true);
-                            return RepeatStatus.FINISHED;
-                        }
-                        CalculateVo calculateVo = calculate.getContent();
-                        // 设置订单价格
-                        createOrder2Model.setTotalAmount(calculateVo.getPrice());
-                        createOrder2Model.setPayAmount(calculateVo.getPrice());
-                        createOrder2Model.setDiscountAmount(BigDecimal.ZERO);
+                            // 计算价格
+                            CalculateCouponDto calculateCouponDto = new CalculateCouponDto();
+                            calculateCouponDto.setUserId(createOrder2Model.getUserId());
+                            calculateCouponDto.setShopId(createOrder2Model.getShopId());
+                            calculateCouponDto.setGoodsId(goods.getGoodsId());
 
-                        goods.setPayAmount(calculateVo.getPrice());
 
-                        // 店铺详情
-                        com.zswl.cloud.shop.client.ret.ResultContent<ShopDetailVo> detail1 = shopService.detail(createOrder2Model.getShopId());
-                        ShopDetailVo shopDetailVo = detail1.getContent();
-                        createOrder2Model.setShopInfo(JSONUtil.parseObj(shopDetailVo));
+                            com.zswl.cloud.shop.client.ret.ResultContent<CalculateVo> calculate = goodsService.calculate(calculateCouponDto);
+                            CalculateVo calculateVo = calculate.getContent();
+                            // 设置订单价格
+                            createOrder2Model.setTotalAmount(calculateVo.getPrice());
+                            createOrder2Model.setPayAmount(calculateVo.getPrice());
+                            createOrder2Model.setDiscountAmount(BigDecimal.ZERO);
 
+                            goods.setPayAmount(calculateVo.getPrice());
 
-                        // 商品详情
-                        com.zswl.cloud.shop.client.ret.ResultContent<GoodsInfoVo> detail = goodsService.detail(goodsId, 1, createOrder2Model.getUserId());
-                        GoodsInfoVo goodsInfoVo = detail.getContent();
-                        SharePlatformVo sharePlatformVo = goodsInfoVo.getSharePlatformVo();
+                            // 店铺详情
+                            com.zswl.cloud.shop.client.ret.ResultContent<ShopDetailVo> detail1 = shopService.detail(createOrder2Model.getShopId());
+                            ShopDetailVo shopDetailVo = detail1.getContent();
+                            createOrder2Model.setShopInfo(JSONUtil.parseObj(shopDetailVo));
 
 
-                        goods.setTransferType(sharePlatformVo.getShareType() == 1 ? TransferType.RATIO : TransferType.FIXED);
-                        CreateOrder2Model.Owner platform = new CreateOrder2Model.Owner();
-                        platform.setOwner(TransferOwner.PLATFORM);
-                        platform.setValue(sharePlatformVo.getPlatformRate());
+                            // 商品详情
+                            com.zswl.cloud.shop.client.ret.ResultContent<GoodsInfoVo> detail = goodsService.detail(goodsId, 1, createOrder2Model.getUserId());
+                            GoodsInfoVo goodsInfoVo = detail.getContent();
+                            SharePlatformVo sharePlatformVo = goodsInfoVo.getSharePlatformVo();
 
-                        CreateOrder2Model.Owner byShop = new CreateOrder2Model.Owner();
-                        byShop.setOwner(TransferOwner.BUY_SHOP);
-                        byShop.setValue(sharePlatformVo.getBuyShopRate());
 
-                        CreateOrder2Model.Owner useShop = new CreateOrder2Model.Owner();
-                        useShop.setOwner(TransferOwner.USE_SHOP);
-                        useShop.setValue(sharePlatformVo.getCheckShopRate());
+                            goods.setTransferType(sharePlatformVo.getShareType() == 1 ? TransferType.RATIO : TransferType.FIXED);
+                            CreateOrder2Model.Owner platform = new CreateOrder2Model.Owner();
+                            platform.setOwner(TransferOwner.PLATFORM);
+                            platform.setValue(sharePlatformVo.getPlatformRate());
 
-                        ArrayList<CreateOrder2Model.Owner> rule = new ArrayList<>();
-                        rule.add(platform);
-                        rule.add(byShop);
-                        rule.add(useShop);
+                            CreateOrder2Model.Owner byShop = new CreateOrder2Model.Owner();
+                            byShop.setOwner(TransferOwner.BUY_SHOP);
+                            byShop.setValue(sharePlatformVo.getBuyShopRate());
 
-                        goods.setTransferRrule(rule);
-                        goods.setGoodsInfo(JSONUtil.parseObj(goodsInfoVo));
-                        goods.setJobFlowMap(JobFlowMap.P81);
-                        return RepeatStatus.FINISHED;
+                            CreateOrder2Model.Owner useShop = new CreateOrder2Model.Owner();
+                            useShop.setOwner(TransferOwner.USE_SHOP);
+                            useShop.setValue(sharePlatformVo.getCheckShopRate());
 
+                            ArrayList<CreateOrder2Model.Owner> rule = new ArrayList<>();
+                            rule.add(platform);
+                            rule.add(byShop);
+                            rule.add(useShop);
 
-                    }
-
+                            goods.setTransferRrule(rule);
+                            goods.setGoodsInfo(JSONUtil.parseObj(goodsInfoVo));
+                            goods.setJobFlowMap(JobFlowMap.P81);
+                            return RepeatStatus.FINISHED;
 
-                    resultContent.set(ResultContent.build(com.github.microservice.auth.client.content.ResultState.Fail, resultContent1.getMsg()));
-                    stop.set(true);
+                        }
+                    } catch (Exception e) {
+                        stop.set(true);
+                        resultContent.set(ResultContent.build(com.github.microservice.auth.client.content.ResultState.Fail, e.getMessage()));
+                        operateStockDto.setOperate(2);
+                        goodsService.operateStock(operateStockDto);
+                    }
 
                     return RepeatStatus.FINISHED;