From e7163ceea7970a5022da2f45b51edd0c749ad14e Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 01 Feb 2023 09:57:12 +0800 Subject: [PATCH] 1 --- src/main/resources/mapper/modules/MemberCoinChargeDao.xml | 5 +++++ src/main/java/cc/mrbird/febs/mall/mapper/MemberCoinChargeDao.java | 1 + src/main/java/cc/mrbird/febs/mall/service/impl/BlockSeriveImpl.java | 9 ++++++++- 3 files changed, 14 insertions(+), 1 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MemberCoinChargeDao.java b/src/main/java/cc/mrbird/febs/mall/mapper/MemberCoinChargeDao.java index 347a5fc..ae4a7dc 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MemberCoinChargeDao.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MemberCoinChargeDao.java @@ -12,4 +12,5 @@ List<MemberCoinChargeEntity> selectAllBySymbolAndTag(@Param("symbol") String symbol, @Param("tag") String tag, @Param("status") Integer status); + MemberCoinChargeEntity selectByHash(@Param("hash") String hash); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/BlockSeriveImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/BlockSeriveImpl.java index 8e7c211..971fbb8 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/BlockSeriveImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/BlockSeriveImpl.java @@ -16,6 +16,7 @@ import cc.mrbird.febs.mall.mapper.MemberCoinChargeDao; import cc.mrbird.febs.mall.service.BlockSerive; import cc.mrbird.febs.rabbit.producter.AgentProducer; +import cn.hutool.core.util.ObjectUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -117,6 +118,12 @@ public FebsResponse setChargeInfo(ApiChargeInfoDto apiChargeInfoDto) { Long mId = LoginUserUtil.getLoginUser().getId(); MallMember member = memberDao.selectById(mId); + + String hash = apiChargeInfoDto.getHash(); + MemberCoinChargeEntity memberCoinChargeEntityExist = memberCoinChargeDao.selectByHash(hash); + if(ObjectUtil.isNotEmpty(memberCoinChargeEntityExist)){ + return new FebsResponse().fail().message("提供正确的HASH值"); + } MemberCoinChargeEntity memberCoinChargeEntity = new MemberCoinChargeEntity(); memberCoinChargeEntity.setAddress(apiChargeInfoDto.getAddress()); memberCoinChargeEntity.setMemberId(member.getId()); @@ -125,7 +132,7 @@ memberCoinChargeEntity.setTag("ERC20"); memberCoinChargeEntity.setStatus(1); memberCoinChargeEntity.setLastAmount(BigDecimal.ZERO); - memberCoinChargeEntity.setHash(apiChargeInfoDto.getHash()); + memberCoinChargeEntity.setHash(hash); memberCoinChargeDao.insert(memberCoinChargeEntity); return new FebsResponse().success(); } diff --git a/src/main/resources/mapper/modules/MemberCoinChargeDao.xml b/src/main/resources/mapper/modules/MemberCoinChargeDao.xml index c7ae181..23f5f8d 100644 --- a/src/main/resources/mapper/modules/MemberCoinChargeDao.xml +++ b/src/main/resources/mapper/modules/MemberCoinChargeDao.xml @@ -23,5 +23,10 @@ </if> </select> + <select id="selectByHash" resultType="cc.mrbird.febs.mall.entity.MemberCoinChargeEntity"> + select * from member_coin_charge + where hash = #{hash} limit 1 + </select> + </mapper> \ No newline at end of file -- Gitblit v1.9.1