From 46ac4d050555284a752acbaabe6a71d13b2f3b2a Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 26 Aug 2022 18:15:44 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 8 ++
src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java | 47 ++++++++-------
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 10 +++
src/main/java/cc/mrbird/febs/common/advise/MyResponseBodyAdvise.java | 8 ++
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java | 4
src/main/resources/application-prod.yml | 3
src/main/java/cc/mrbird/febs/common/configure/FebsConfigure.java | 7 ++
src/main/resources/application-test.yml | 1
src/main/java/cc/mrbird/febs/common/properties/SystemProperties.java | 16 +++++
src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java | 9 +-
src/main/java/cc/mrbird/febs/common/advise/MyRequestBodyAdvise.java | 6 +
src/main/resources/application-dev.yml | 5 +
src/main/java/cc/mrbird/febs/common/interceptor/DappInterceptor.java | 28 +++++---
13 files changed, 103 insertions(+), 49 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/advise/MyRequestBodyAdvise.java b/src/main/java/cc/mrbird/febs/common/advise/MyRequestBodyAdvise.java
index 7840f75..e061761 100644
--- a/src/main/java/cc/mrbird/febs/common/advise/MyRequestBodyAdvise.java
+++ b/src/main/java/cc/mrbird/febs/common/advise/MyRequestBodyAdvise.java
@@ -1,6 +1,7 @@
package cc.mrbird.febs.common.advise;
import cc.mrbird.febs.common.contants.AppContants;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.MethodParameter;
import org.springframework.http.HttpInputMessage;
import org.springframework.http.converter.HttpMessageConverter;
@@ -18,6 +19,9 @@
@ControllerAdvice
public class MyRequestBodyAdvise implements RequestBodyAdvice {
+ @Value("${system.debug}")
+ private boolean isDebug;
+
@Override
public boolean supports(MethodParameter methodParameter, Type type, Class<? extends HttpMessageConverter<?>> aClass) {
return true;
@@ -26,7 +30,7 @@
@Override
public HttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter methodParameter, Type type, Class<? extends HttpMessageConverter<?>> aClass) throws IOException {
- if(!AppContants.ENCRYPT_METHOD.contains(methodParameter.getMethod().getName())) {
+ if(!AppContants.ENCRYPT_METHOD.contains(methodParameter.getMethod().getName()) || isDebug) {
return inputMessage;
}
diff --git a/src/main/java/cc/mrbird/febs/common/advise/MyResponseBodyAdvise.java b/src/main/java/cc/mrbird/febs/common/advise/MyResponseBodyAdvise.java
index 0ff2bbc..53c9ed8 100644
--- a/src/main/java/cc/mrbird/febs/common/advise/MyResponseBodyAdvise.java
+++ b/src/main/java/cc/mrbird/febs/common/advise/MyResponseBodyAdvise.java
@@ -5,6 +5,7 @@
import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.RSA;
import com.alibaba.fastjson.JSONObject;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.MethodParameter;
import org.springframework.http.MediaType;
import org.springframework.http.server.ServerHttpRequest;
@@ -18,6 +19,10 @@
**/
@ControllerAdvice
public class MyResponseBodyAdvise implements ResponseBodyAdvice {
+
+ @Value("${system.debug}")
+ private boolean isDebug;
+
@Override
public boolean supports(MethodParameter methodParameter, Class aClass) {
return true;
@@ -25,7 +30,8 @@
@Override
public Object beforeBodyWrite(Object o, MethodParameter methodParameter, MediaType mediaType, Class aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {
- if (!AppContants.ENCRYPT_METHOD.contains(methodParameter.getMethod().getName())) {
+ if (!AppContants.ENCRYPT_METHOD.contains(methodParameter.getMethod().getName()) || isDebug) {
+ System.out.println(1111111);
return o;
}
diff --git a/src/main/java/cc/mrbird/febs/common/configure/FebsConfigure.java b/src/main/java/cc/mrbird/febs/common/configure/FebsConfigure.java
index d40fa92..db434ca 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/FebsConfigure.java
+++ b/src/main/java/cc/mrbird/febs/common/configure/FebsConfigure.java
@@ -69,11 +69,16 @@
@Bean
public Docket swaggerApi() {
SwaggerProperties swagger = properties.getSwagger();
- ParameterBuilder parameterBuilder = new ParameterBuilder();
List<Parameter> parameters = new ArrayList<Parameter>();
+ ParameterBuilder parameterBuilder = new ParameterBuilder();
parameterBuilder.name("address").description("address地址").modelRef(new ModelRef("string")).parameterType("header")
.required(false).build();
+
+ ParameterBuilder parameterBuilder2 = new ParameterBuilder();
+ parameterBuilder2.name("key").description("key").modelRef(new ModelRef("string")).parameterType("header")
+ .required(false).build();
parameters.add(parameterBuilder.build());
+ parameters.add(parameterBuilder2.build());
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
diff --git a/src/main/java/cc/mrbird/febs/common/interceptor/DappInterceptor.java b/src/main/java/cc/mrbird/febs/common/interceptor/DappInterceptor.java
index e03251c..a0d0218 100644
--- a/src/main/java/cc/mrbird/febs/common/interceptor/DappInterceptor.java
+++ b/src/main/java/cc/mrbird/febs/common/interceptor/DappInterceptor.java
@@ -2,6 +2,7 @@
import cc.mrbird.febs.common.contants.AppContants;
import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.common.properties.SystemProperties;
import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.common.utils.SpringContextUtil;
@@ -14,6 +15,7 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.web.servlet.HandlerInterceptor;
import org.web3j.crypto.Hash;
@@ -33,6 +35,8 @@
private final DappMemberDao dappMemberDao = SpringContextUtil.getBean(DappMemberDao.class);
private final RedisUtils redisUtils = SpringContextUtil.getBean(RedisUtils.class);
+ private SystemProperties systemProperties = SpringContextUtil.getBean(SystemProperties.class);
+
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
if ("OPTIONS".equals(request.getMethod().toUpperCase())) {
@@ -48,19 +52,21 @@
return false;
}
- Map<Object, Object> signKey = redisUtils.hmget(AppContants.REDIS_KEY_SIGN);
- Object signObj = signKey.get(headAddress);
+ if (!systemProperties.isDebug()) {
+ Map<Object, Object> signKey = redisUtils.hmget(AppContants.REDIS_KEY_SIGN);
+ Object signObj = signKey.get(headAddress);
- if (signObj == null) {
- responseUnAuth(response);
- return false;
- }
- String sign = (String) signObj;
+ if (signObj == null) {
+ responseUnAuth(response);
+ return false;
+ }
+ String sign = (String) signObj;
- String calKey = LoginUserUtil.sha3(sign + path + headAddress).replace("0x", "");
- if (!calKey.equals(key)) {
- responseUnAuth(response);
- return false;
+ String calKey = LoginUserUtil.sha3(sign + path + headAddress).replace("0x", "");
+ if (!calKey.equals(key)) {
+ responseUnAuth(response);
+ return false;
+ }
}
DappMemberEntity memberEntity = dappMemberDao.selectByAddress(headAddress, null);
diff --git a/src/main/java/cc/mrbird/febs/common/properties/SystemProperties.java b/src/main/java/cc/mrbird/febs/common/properties/SystemProperties.java
new file mode 100644
index 0000000..a29a9ca
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/common/properties/SystemProperties.java
@@ -0,0 +1,16 @@
+package cc.mrbird.febs.common.properties;
+
+import lombok.Data;
+import org.springframework.boot.SpringBootConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * @author wzy
+ * @date 2022-08-26
+ **/
+@Data
+@SpringBootConfiguration
+@ConfigurationProperties(prefix = "system")
+public class SystemProperties {
+ private boolean debug;
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
index a689831..46751a5 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
@@ -32,15 +32,12 @@
@Resource
private RedisUtils redisUtils;
-
- @Resource
- private DappMemberService dappMemberService;
-
@Resource
private DappFundFlowDao dappFundFlowDao;
-
@Resource
private DappWalletCoinDao dappWalletCoinDao;
+ @Resource
+ private ChainProducer chainProducer;
@Override
@@ -113,6 +110,8 @@
walletCoin.setAvailableAmount(walletCoin.getAvailableAmount().add(amount));
dappWalletCoinDao.updateById(walletCoin);
}
+
+ chainProducer.sendAchieveTreeMsg(fundFlow.getMemberId());
}
}
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
index e39ba60..40aae19 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -282,8 +282,8 @@
member.setChainType(chainType);
member.setAccountType(accountType);
member.setActiveStatus(2);
- member.setBalance(ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(address));
- member.setUsdtBalance(ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(address));
+// member.setBalance(ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(address));
+// member.setUsdtBalance(ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(address));
dappMemberDao.insert(member);
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
index 9391ffb..21ccecd 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -680,9 +680,15 @@
achieveMemberTree.setTopNode(memberId);
achieveMemberTree.setDeep(1);
achieveMemberTree.setHasMoney(1);
- achieveMemberTree.setParentNode(parentNode.getMemberId());
+ if (parentNode != null) {
+ achieveMemberTree.setParentNode(parentNode.getMemberId());
+ }
dappAchieveMemberTreeDao.insert(achieveMemberTree);
+ if (parentNode == null) {
+ return;
+ }
+
// 修改父节点在数据库中的左/右节点数据
DappAchieveTreeEntity treeMidNode = dappAchieveTreeDao.selectByMidNode(parentNode.getMemberId());
boolean isLeft = false;
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
index 1fe9315..22af2e1 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -18,6 +18,7 @@
import cc.mrbird.febs.dapp.utils.BoxUtil;
import cc.mrbird.febs.dapp.vo.ActiveNftListVo;
import cc.mrbird.febs.dapp.vo.WalletInfoVo;
+import cc.mrbird.febs.rabbit.producer.ChainProducer;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUnit;
@@ -54,6 +55,8 @@
private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
private final DappSystemService dappSystemService;
private final DappNftActivationDao dappNftActivationDao;
+
+ private final ChainProducer chainProducer;
@Override
public WalletInfoVo walletInfo() {
@@ -229,9 +232,14 @@
walletCoin.setAvailableAmount(walletCoin.getAvailableAmount().subtract(transferDto.getAmount()));
dappWalletCoinDao.updateById(walletCoin);
+
+ DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), transferDto.getAmount(), 1, 2, transferDto.getFee(), transferDto.getTxHash());
+ dappFundFlowDao.insert(fundFlow);
+
+ chainProducer.sendAchieveTreeMsg(member.getId());
} else {
if (transferDto.getId() == null) {
- DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), transferDto.getAmount(), transferDto.getType(), 1, transferDto.getFee(), transferDto.getTxHash());
+ DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), transferDto.getAmount(), 1, 1, transferDto.getFee(), transferDto.getTxHash());
dappFundFlowDao.insert(fundFlow);
return fundFlow.getId();
}
diff --git a/src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java b/src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java
index 5d63022..6af3e87 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java
@@ -22,32 +22,33 @@
@Autowired
private DappSystemService dappSystemService;
- @RabbitListener(queues = QueueConstants.ONLINE_TRANSFER)
- public void onlineTransfer(String batchNo) {
- log.info("收到链上转账消息:{}", batchNo);
- dappSystemService.onlineTransfer(batchNo);
- }
-
- @RabbitListener(queues = QueueConstants.DISTRIB_PROFIT)
- public void distrbProfit(String id) {
- log.info("收到滑点分配消息:{}", id);
- dappSystemService.tradeNftProfitDistribute(Long.parseLong(id));
- }
-
- @RabbitListener(queues = QueueConstants.USER_BUY_REWARD)
- public void userBuyReward(String id) {
- log.info("收到用户购买奖励消息:{}", id);
- dappSystemService.userBuyReward(Long.parseLong(id));
- }
-
- @RabbitListener(queues = QueueConstants.NFT_BOX)
- public void nftBox(String id) {
- log.info("收到nft盲盒消息:{}", id);
- dappSystemService.boxCnt(Long.parseLong(id));
- }
+// @RabbitListener(queues = QueueConstants.ONLINE_TRANSFER)
+// public void onlineTransfer(String batchNo) {
+// log.info("收到链上转账消息:{}", batchNo);
+// dappSystemService.onlineTransfer(batchNo);
+// }
+//
+// @RabbitListener(queues = QueueConstants.DISTRIB_PROFIT)
+// public void distrbProfit(String id) {
+// log.info("收到滑点分配消息:{}", id);
+// dappSystemService.tradeNftProfitDistribute(Long.parseLong(id));
+// }
+//
+// @RabbitListener(queues = QueueConstants.USER_BUY_REWARD)
+// public void userBuyReward(String id) {
+// log.info("收到用户购买奖励消息:{}", id);
+// dappSystemService.userBuyReward(Long.parseLong(id));
+// }
+//
+// @RabbitListener(queues = QueueConstants.NFT_BOX)
+// public void nftBox(String id) {
+// log.info("收到nft盲盒消息:{}", id);
+// dappSystemService.boxCnt(Long.parseLong(id));
+// }
@RabbitListener(queues = QueueConstants.ACHIEVE_TREE)
public void achieveTree(String id) {
log.info("收到业绩树消息");
+ dappSystemService.achieveTree(Long.parseLong(id));
}
}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 9fea10f..4a57d81 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -48,6 +48,7 @@
publisher-confirm-type: correlated
system:
- online-transfer: false
+ online-transfer: true
chain-listener: false
- trade-job: false
\ No newline at end of file
+ trade-job: false
+ debug: true
\ No newline at end of file
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 4239dba..ac92788 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -55,4 +55,5 @@
system:
online-transfer: true
chain-listener: true
- trade-job: true
\ No newline at end of file
+ trade-job: true
+ isDebug: false
\ No newline at end of file
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index 7f5872d..10e40ed 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -52,3 +52,4 @@
online-transfer: false
chain-listener: false
trade-job: false
+ isDebug: false
--
Gitblit v1.9.1