소스 검색

视频会员

gongfuzhu 1 년 전
부모
커밋
bed544ce42

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

@@ -1,6 +1,8 @@
 package com.zswl.cloud.springBtach.server.core.controller;
 
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
 import com.github.microservice.auth.client.constant.AuthConstant;
 import com.github.microservice.auth.client.content.ResultContent;
 import com.github.microservice.auth.security.annotations.ResourceAuth;
@@ -14,9 +16,12 @@ import com.zhongshu.payment.client.type.JobFlowMap;
 import com.zhongshu.payment.client.type.TransferOwner;
 import com.zhongshu.payment.client.type.TransferType;
 import com.zswl.cloud.shop.client.service.GoodsService;
+import com.zswl.cloud.shop.client.service.ShopService;
 import com.zswl.cloud.shop.client.vo.life.GoodsInfoVo;
+import com.zswl.cloud.shop.client.vo.life.ShopDetailVo;
 import com.zswl.cloud.springBtach.server.core.service.OrderServiceImp;
 import io.swagger.annotations.ApiOperation;
+import lombok.SneakyThrows;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -43,7 +48,11 @@ public class OrderController {
     @Autowired
     GoodsService goodsService;
 
+    @Autowired
+    ShopService shopService;
+
 
+    @SneakyThrows
     @ApiOperation("创建订单")
     @ResourceAuth(value = AuthConstant.User, type = AuthType.User)
     @RequestMapping(value = "creat", method = RequestMethod.POST)
@@ -55,9 +64,26 @@ public class OrderController {
         createOrder2Model.setUserId(userId);
         createOrder2Model.setShopId(orderParamModel.getShopId());
 
+
+        // 店铺详情
+        com.zswl.cloud.shop.client.ret.ResultContent<ShopDetailVo> detail1 = shopService.detail(createOrder2Model.getShopId());
+        log.info("店铺详情:{}", JSONUtil.toJsonStr(detail1));
+        ShopDetailVo shopDetailVo = detail1.getContent();
+        createOrder2Model.setShopInfo(JSONUtil.parseObj(shopDetailVo));
+        if (ObjectUtil.isEmpty(shopDetailVo.getAuthAccount())) {
+            return ResultContent.build(com.github.microservice.auth.client.content.ResultState.Fail, "分账账户未设置");
+        }
+        createOrder2Model.setAccesserUserId(shopDetailVo.getAuthAccount());
+
         for (String goodsId : orderParamModel.getGoodsList()) {
-            com.zswl.cloud.shop.client.ret.ResultContent<GoodsInfoVo> detail = goodsService.detail(goodsId, 1, userId);
-            String goodsType = detail.getContent().getGoodsType();
+
+            com.zswl.cloud.shop.client.ret.ResultContent resultContent = shopService.goodsInfo(orderParamModel.getShopId(), goodsId, userId);
+
+            GoodsInfoVo detail = (GoodsInfoVo) resultContent.getContent();
+
+//            com.zswl.cloud.shop.client.ret.ResultContent<GoodsInfoVo> detail = goodsService.detail(goodsId, 1, userId);
+
+            String goodsType = detail.getGoodsType();
 
             CreateOrder2Model.Goods goods1 = new CreateOrder2Model.Goods();
             goods1.setGoodsId(goodsId);

+ 13 - 13
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/job/standard/StandarOrderJob.java

@@ -66,16 +66,16 @@ public class StandarOrderJob {
                     CreateOrder2Model createOrder2Model = getParameter().get();
 
 
-                    // 店铺详情
-                    com.zswl.cloud.shop.client.ret.ResultContent<ShopDetailVo> detail1 = shopService.detail(createOrder2Model.getShopId());
-                    log.info("店铺详情:{}", JSONUtil.toJsonStr(detail1));
-                    ShopDetailVo shopDetailVo = detail1.getContent();
-                    createOrder2Model.setShopInfo(JSONUtil.parseObj(shopDetailVo));
-                    if (ObjectUtil.isEmpty(shopDetailVo.getAuthAccount())) {
-                        resultContent.set(ResultContent.build(com.github.microservice.auth.client.content.ResultState.Fail, "分账账户未设置"));
-                        stop.set(true);
-                        return RepeatStatus.FINISHED;
-                    }
+//                    // 店铺详情
+//                    com.zswl.cloud.shop.client.ret.ResultContent<ShopDetailVo> detail1 = shopService.detail(createOrder2Model.getShopId());
+//                    log.info("店铺详情:{}", JSONUtil.toJsonStr(detail1));
+//                    ShopDetailVo shopDetailVo = detail1.getContent();
+//                    createOrder2Model.setShopInfo(JSONUtil.parseObj(shopDetailVo));
+//                    if (ObjectUtil.isEmpty(shopDetailVo.getAuthAccount())) {
+//                        resultContent.set(ResultContent.build(com.github.microservice.auth.client.content.ResultState.Fail, "分账账户未设置"));
+//                        stop.set(true);
+//                        return RepeatStatus.FINISHED;
+//                    }
 
 
                     for (CreateOrder2Model.Goods goods : createOrder2Model.getGoodsList()) {
@@ -123,12 +123,12 @@ public class StandarOrderJob {
                                 goods.setPayAmount(calculateVo.getPrice());
 
 
-                                // 设置分账账户
-                                createOrder2Model.setAccesserUserId(shopDetailVo.getAuthAccount());
+//                                // 设置分账账户
+//                                createOrder2Model.setAccesserUserId(shopDetailVo.getAuthAccount());
 
 
                                 // 设置有效期
-                                createOrder2Model.setValidDay(goodsInfoVo.getValidDay());
+                                goods.setValidDay(goodsInfoVo.getValidDay());
 
 
                                 // 设置分账规则

+ 60 - 1
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/job/video/VideoOrderJob.java

@@ -1,7 +1,13 @@
 package com.zswl.cloud.springBtach.server.core.job.video;
 
+import cn.hutool.json.JSONUtil;
 import com.github.microservice.auth.client.content.ResultContent;
 import com.zhongshu.payment.client.model.order.v2.CreateOrder2Model;
+import com.zhongshu.payment.client.type.TransferOwner;
+import com.zhongshu.payment.client.type.TransferType;
+import com.zswl.cloud.shop.client.service.ShopService;
+import com.zswl.cloud.shop.client.vo.life.GoodsInfoVo;
+import com.zswl.cloud.shop.client.vo.life.SharePlatformVo;
 import com.zswl.cloud.springBtach.server.core.job.standard.StandarOrderJob;
 import lombok.Data;
 import lombok.experimental.Delegate;
@@ -14,6 +20,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
+
 @Data
 @Log4j2
 @Configuration
@@ -22,11 +31,61 @@ public class VideoOrderJob {
     @Delegate
     StandarOrderJob standarOrderJob;
 
+    @Autowired
+    ShopService shopService;
 
     public Step videoOrderStep() {
         return getStepBuilderFactory().get("videoOrderStep").tasklet((it, ii) -> {
 
-            ThreadLocal<CreateOrder2Model> parameter = getParameter();
+            CreateOrder2Model orderParamModel = getParameter().get();
+
+            for (CreateOrder2Model.Goods goods : orderParamModel.getGoodsList()) {
+                com.zswl.cloud.shop.client.ret.ResultContent resultContent = shopService.goodsInfo(orderParamModel.getShopId(),goods.getGoodsId(), orderParamModel.getUserId());
+                GoodsInfoVo goodsInfoVo = (GoodsInfoVo) resultContent.getContent();
+
+                // 计算价格
+                goods.setPayAmount(goods.getPayAmount());
+
+                SharePlatformVo sharePlatformVo = goodsInfoVo.getSharePlatformVo();
+
+
+                orderParamModel.setTotalAmount(goods.getPayAmount());
+                orderParamModel.setPayAmount(goods.getPayAmount());
+                orderParamModel.setDiscountAmount(BigDecimal.ZERO);
+
+
+                goods.setValidDay(goodsInfoVo.getValidDay());
+
+
+
+                // 设置分账规则
+                goods.setTransferType(sharePlatformVo.getShareType() == 1 ? TransferType.RATIO : TransferType.FIXED);
+                // 平台
+                CreateOrder2Model.Owner platform = new CreateOrder2Model.Owner();
+                platform.setOwner(TransferOwner.PLATFORM);
+                platform.setValue(sharePlatformVo.getPlatformRate());
+
+                // 购买店铺
+                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());
+
+                ArrayList<CreateOrder2Model.Owner> rule = new ArrayList<>();
+                rule.add(platform);
+                rule.add(byShop);
+                rule.add(useShop);
+                goods.setTransferRrule(rule);
+
+                // 设置商品详情
+                goods.setGoodsInfo(JSONUtil.parseObj(goodsInfoVo));
+                return RepeatStatus.FINISHED;
+
+            }
 
 
             ResultContent creat = getOrderService2().creat(getParameter().get());

+ 3 - 0
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/stream/OrderStream.java

@@ -65,6 +65,9 @@ public class OrderStream extends StreamConsumer<OrderStremModel> {
                 Assert.isTrue(resultContent.get().getState().equals(ResultState.Success), "发货失败");
                 orderService2.delivery(goodsResultModel.getId());
             }else if (OrderType.WAIT_PAYMENT.equals(orderStremModel.getOrderType())) {
+
+
+
                 //todo 暂存
             }