From 822b60fd6a7d73708b908123e6d5b976fb38264a Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 22 Dec 2021 14:59:25 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.java | 52 +++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 49 insertions(+), 3 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.java
index b87a934..d80fe80 100644
--- a/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.java
@@ -1,5 +1,10 @@
package cc.mrbird.febs.pay.service.impl;
+import cc.mrbird.febs.blockchain.entity.MemberCoinAddressEntity;
+import cc.mrbird.febs.blockchain.enumerates.CoinTypeEnum;
+import cc.mrbird.febs.blockchain.mapper.MemberCoinAddressDao;
+import cc.mrbird.febs.blockchain.model.EthUsdtChargeDto;
+import cc.mrbird.febs.blockchain.service.Trc20Service;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.AppContants;
import cc.mrbird.febs.common.utils.LoginUserUtil;
@@ -7,13 +12,18 @@
import cc.mrbird.febs.pay.model.AliPayPassbackModel;
import cc.mrbird.febs.pay.properties.AliPayProperties;
import cc.mrbird.febs.pay.service.IPayService;
+import cc.mrbird.febs.rabbit.producer.UsdtUpdateProducer;
import cc.mrbird.febs.video.dto.VipBuyDto;
import cc.mrbird.febs.video.entity.DataDictionaryCustom;
import cc.mrbird.febs.video.entity.VideoMemberEntity;
+import cc.mrbird.febs.video.entity.VideoVipInfoEntity;
import cc.mrbird.febs.video.entity.VideoVipOrderInfoEntity;
import cc.mrbird.febs.video.mapper.DataDictionaryCustomMapper;
import cc.mrbird.febs.video.mapper.VideoMemberMapper;
+import cc.mrbird.febs.video.mapper.VideoVipInfoMapper;
import cc.mrbird.febs.video.mapper.VideoVipOrderInfoMapper;
+import cc.mrbird.febs.video.service.IApiVideoMemberService;
+import cc.mrbird.febs.video.service.impl.ApiVideoMemberServiceImpl;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.AlipayApiException;
import com.alipay.api.domain.AlipayTradeAppPayModel;
@@ -42,12 +52,16 @@
private AliPayProperties aliPayProperties;
@Resource
private DataDictionaryCustomMapper dataDictionaryCustomMapper;
-
@Resource
private VideoVipOrderInfoMapper videoVipOrderInfoMapper;
-
@Resource
private VideoMemberMapper videoMemberMapper;
+ @Resource
+ private MemberCoinAddressDao memberCoinAddressDao;
+ @Resource
+ private UsdtUpdateProducer usdtUpdateProducer;
+ @Resource
+ private IApiVideoMemberService apiVideoMemberService;
@Value("${spring.profiles.active}")
private String active;
@@ -86,6 +100,7 @@
AliPayPassbackModel passbackModel = new AliPayPassbackModel();
passbackModel.setOrderId(vipOrderInfo.getId());
passbackModel.setMemberId(vipOrderInfo.getMemberId());
+ passbackModel.setType(vipBuyDto.getType());
model.setPassbackParams(JSONObject.toJSONString(passbackModel));
model.setProductCode("QUICK_MSECURITY_PAY");
@@ -111,11 +126,42 @@
return;
}
- VideoMemberEntity member = videoMemberMapper.selectById(orderInfo.getMemberId());
+ // 延长会员时间
+ apiVideoMemberService.extendVipTime(passback.getType(), passback.getMemberId());
orderInfo.setStatus(VideoVipOrderInfoEntity.PAY_STATUS_PAY);
orderInfo.setPayTime(new Date());
orderInfo.setPayTraderNo(params.get("trade_no"));
videoVipOrderInfoMapper.updateById(orderInfo);
}
+
+ @Override
+ public String findUsdtAddress() {
+ VideoMemberEntity loginUser = LoginUserUtil.getLoginUser();
+
+ MemberCoinAddressEntity coinAddress = this.memberCoinAddressDao.selectAddressByMemberIdAndSymbol(loginUser.getId(), CoinTypeEnum.USDT.name());
+ if (coinAddress == null) {
+ Map<String, String> usdtMap = Trc20Service.createAddress();
+ String address = usdtMap.get("address");
+ String key = usdtMap.get("privateKey");
+ // 发送新增的地址到监听集合
+ usdtUpdateProducer.sendAddressMsg(address+","+"TRC20");
+
+ coinAddress = new MemberCoinAddressEntity();
+ coinAddress.setAddress(address);
+ coinAddress.setIsBiyict(MemberCoinAddressEntity.IS_BIYICT_YES);
+ coinAddress.setMemberId(loginUser.getId());
+ coinAddress.setPrivateKey(key);
+ coinAddress.setSymbol(CoinTypeEnum.USDT.name());
+ this.memberCoinAddressDao.insert(coinAddress);
+
+ return address;
+ }
+ return coinAddress.getAddress();
+ }
+
+ @Override
+ public void usdtVip(EthUsdtChargeDto usdtChargeDto) {
+
+ }
}
--
Gitblit v1.9.1