|
@@ -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) {
|