Bläddra i källkod

修改视频会员领取

gongfuzhu 9 månader sedan
förälder
incheckning
0d67b19b19

+ 17 - 3
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/model/video2/RechargeRequest.java

@@ -1,18 +1,32 @@
 package com.zswl.cloud.springBatch.client.model.video2;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import javax.validation.constraints.NotNull;
+
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
 public class RechargeRequest {
 
-    private String outTradeNo;
+    @NotNull
+    @ApiModelProperty(value = "商品编码", required = true)
     private Integer productId;
+
+    @NotNull
+    @ApiModelProperty(value = "充值账号", required = true)
     private String rechargeAccount;
+
+    @NotNull
+    @ApiModelProperty(value = "账号类型" +
+            "- 1:手机号 " +
+            "- 2:QQ号" +
+            "- 0:其他", required = true)
     private Integer accountType;
-    private Integer number;
-    private String extendParameter = "";
+
+    @ApiModelProperty(value = "特殊场景参数", required = true)
+    private String extendParameter;
 }

+ 1 - 1
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/service/Video2Service.java

@@ -23,7 +23,7 @@ public interface Video2Service {
 
     @ApiOperation("下单")
     @RequestMapping(value = "rechargeOrder", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
-     ResultContent<Boolean> rechargeOrder(@RequestBody RechargeRequest rechargeRequest);
+     ResultContent<String> rechargeOrder(@RequestBody RechargeRequest rechargeRequest);
 
     @ApiOperation("充值查询")
     @RequestMapping(value = "rechargeQuery", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)

+ 76 - 8
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/service/impl/Video2ServiceImpl.java

@@ -32,6 +32,7 @@ import java.util.stream.Collectors;
 @Log4j2
 public class Video2ServiceImpl implements Video2Service {
 
+
     @Autowired
     private Video2Api video2Api;
 
@@ -50,6 +51,7 @@ public class Video2ServiceImpl implements Video2Service {
     private PaymentService2 paymentService2;
     @Value("${video2.notifyUrl}")
     private String notifyUrl;
+
     /**
      * 商品列表
      *
@@ -154,18 +156,84 @@ public class Video2ServiceImpl implements Video2Service {
     }
 
 
-    public ResultContent<Boolean> rechargeOrder(RechargeRequest rechargeRequest){
+    public ResultContent<String> rechargeOrder(RechargeRequest rechargeRequest) {
         RechargeOrderReq rechargeOrderReq = new RechargeOrderReq();
-        rechargeOrderReq.setNotifyUrl(notifyUrl);
         BeanUtils.copyProperties(rechargeRequest, rechargeOrderReq);
-        ResultContent<CreatOrderResultModel> creatOrderResultModelResultContent = creatOrder(rechargeOrderReq);
-        if (creatOrderResultModelResultContent.getState().equals(ResultState.Success)) {
-            return ResultContent.build(ResultState.Fail,creatOrderResultModelResultContent.getContent());
+        rechargeOrderReq.setNotifyUrl(notifyUrl);
+        rechargeOrderReq.setNumber(1);
+
+
+        RechargeProductResp rechargeProductResp = video2Api.rechargeProduct();
+        List<ProductItemResp> collect = rechargeProductResp.getProducts().stream().filter(productItemResp -> productItemResp.getProductId().equals(rechargeOrderReq.getProductId())).collect(Collectors.toList());
+        ProductItemResp productItemResp = collect.get(0);
+        BigDecimal totalPrice = BigDecimal.ZERO;
+        com.zswl.cloud.shop.client.ret.ResultContent<AccountDetailVo> shopSetting = shopService.shopSetting("视频会员");
+        if (!shopSetting.getState().equals(com.zswl.cloud.shop.client.ret.ResultState.Success)) {
+            return ResultContent.build(ResultState.Fail, "视频会员信息未配置");
+        }
+
+        String orderNo = snowflake.nextIdStr();
+        rechargeOrderReq.setOutTradeNo(orderNo);
+// 平台订单
+        AccountDetailVo accountDetailVo = shopSetting.getContent();
+        String shopId = accountDetailVo.getAccountId();
+        String authAccount = accountDetailVo.getAuthAccount();
+        SharePlatformVo sharePlatformVo = accountDetailVo.getSharePlatformVo();
+
+        // 平台订单
+        CreateOrder2Model createOrder2Model = new CreateOrder2Model();
+        createOrder2Model.setOrderNo(orderNo);
+        createOrder2Model.setUserId(authHelper.getCurrentUser().getUserId());
+        createOrder2Model.setShopId(shopId);
+        JSONObject shopInfo = JSONUtil.parseObj(shopSetting);
+        createOrder2Model.setShopInfo(shopInfo);
+        createOrder2Model.setTotalAmount(totalPrice);
+        createOrder2Model.setDiscountAmount(BigDecimal.ZERO);
+        createOrder2Model.setPayAmount(totalPrice);
+        createOrder2Model.setAccesserUserId(authAccount);
+        createOrder2Model.setChannel(Channel.ZhongShu);
+        JSONObject goodsInfo = JSONUtil.parseObj(rechargeOrderReq);
+        goodsInfo.set("goodsName", productItemResp.getItemName());
+
+        CreateOrder2Model.Goods goods = new CreateOrder2Model.Goods();
+        goods.setGoodsId(productItemResp.getProductId().toString());
+        goods.setJobFlowMap(JobFlowMap.video2);
+        goods.setGoodsInfo(goodsInfo);
+        goods.setPayAmount(totalPrice);
+        goods.setValidDay(90);
+        goods.setTransferType(sharePlatformVo.getShareType().equals(1) ? TransferType.RATIO : TransferType.FIXED);
+
+        List<CreateOrder2Model.Owner> ownerList = new ArrayList<>();
+
+        CreateOrder2Model.Owner platfor = new CreateOrder2Model.Owner();
+        platfor.setOwner(TransferOwner.PLATFORM);
+        platfor.setValue(sharePlatformVo.getPlatformRate());
+
+        CreateOrder2Model.Owner buy = new CreateOrder2Model.Owner();
+        buy.setOwner(TransferOwner.BUY_SHOP);
+        buy.setValue(sharePlatformVo.getBuyShopRate());
+        buy.setShopId(shopId);
+
+        CreateOrder2Model.Owner use = new CreateOrder2Model.Owner();
+        use.setOwner(TransferOwner.USE_SHOP);
+        use.setValue(sharePlatformVo.getCheckShopRate());
+
+        ownerList.add(platfor);
+        ownerList.add(buy);
+        ownerList.add(use);
+        goods.setTransferRrule(ownerList);
+        createOrder2Model.setGoodsList(List.of(goods));
+        ResultContent<CreatOrderResultModel> creat = orderService2.creat(createOrder2Model);
+        if (!creat.getState().equals(ResultState.Success)) {
+
+            return ResultContent.build(ResultState.Fail, "创建订单失败");
         }
-        if (video2Api.rechargeOrder(rechargeOrderReq).isSuccess()) {
-            return ResultContent.buildContent(ResultState.Success);
+        RechargeOrderResp rechargeOrderResp = video2Api.rechargeOrder(rechargeOrderReq);
+
+        if (!rechargeOrderResp.isSuccess()) {
+            return ResultContent.buildContent(rechargeOrderResp.getMessage());
         }
-        return ResultContent.buildContent(ResultState.Fail);
+        return ResultContent.buildContent(orderNo);
     }
 
     public ResultContent<RechargeQueryResp> rechargeQuery(String outTradeNo) {