From 9f14a435039c4159cdc015bb567adc6a3f84306f Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 22 Dec 2021 15:35:29 +0800 Subject: [PATCH] 20211216 --- 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