|
|
@@ -61,6 +61,9 @@ public class StakingGrpcService extends StakingServiceGrpc.StakingServiceImplBas
|
|
|
if (ObjectUtils.isNotEmpty(request.getTitle())) {
|
|
|
wrapper.like(StakingProduct::getTitle, request.getTitle());
|
|
|
}
|
|
|
+ if (request.hasIsOnline()) {
|
|
|
+ wrapper.eq(StakingProduct::getIsOnline, request.getIsOnline());
|
|
|
+ }
|
|
|
wrapper.orderByDesc(StakingProduct::getCreatedAt);
|
|
|
|
|
|
Page<StakingProduct> result = stakingProductMapper.selectPage(pageParam, wrapper);
|
|
|
@@ -147,6 +150,7 @@ public class StakingGrpcService extends StakingServiceGrpc.StakingServiceImplBas
|
|
|
product.setLockEndTime(request.getLockEndTime());
|
|
|
product.setTierConfig(request.getTierConfig());
|
|
|
product.setContributionRate(new BigDecimal(request.getContributionRate()));
|
|
|
+ product.setIsOnline(request.getIsOnline());
|
|
|
|
|
|
stakingProductMapper.insert(product);
|
|
|
|
|
|
@@ -187,8 +191,8 @@ public class StakingGrpcService extends StakingServiceGrpc.StakingServiceImplBas
|
|
|
if (ObjectUtils.isNotEmpty(request.getMaxAmount())) product.setMaxAmount(new java.math.BigDecimal(request.getMaxAmount()));
|
|
|
if (ObjectUtils.isNotEmpty(request.getTotalCapacity())) product.setTotalCapacity(new java.math.BigDecimal(request.getTotalCapacity()));
|
|
|
if (ObjectUtils.isNotEmpty(request.getStatus())) product.setStatus(request.getStatus());
|
|
|
- if (ObjectUtils.isNotEmpty(request.getIsRecommend())) product.setIsRecommend(request.getIsRecommend());
|
|
|
- if (ObjectUtils.isNotEmpty(request.getIsShowTwap())) product.setIsShowTwap(request.getIsShowTwap());
|
|
|
+ if (request.hasIsRecommend()) product.setIsRecommend(request.getIsRecommend());
|
|
|
+ if (request.hasIsShowTwap()) product.setIsShowTwap(request.getIsShowTwap());
|
|
|
if (ObjectUtils.isNotEmpty(request.getSubMode())) product.setSubMode(request.getSubMode());
|
|
|
if (ObjectUtils.isNotEmpty(request.getInterestType())) product.setInterestType(request.getInterestType());
|
|
|
if (ObjectUtils.isNotEmpty(request.getPeriodRate())) product.setPeriodRate(new BigDecimal(request.getPeriodRate()));
|
|
|
@@ -203,6 +207,7 @@ public class StakingGrpcService extends StakingServiceGrpc.StakingServiceImplBas
|
|
|
if (ObjectUtils.isNotEmpty(request.getLockEndTime())) product.setLockEndTime(request.getLockEndTime());
|
|
|
if (ObjectUtils.isNotEmpty(request.getTierConfig())) product.setTierConfig(request.getTierConfig());
|
|
|
if (ObjectUtils.isNotEmpty(request.getContributionRate())) product.setContributionRate(new BigDecimal(request.getContributionRate()));
|
|
|
+ if (request.hasIsOnline()) product.setIsOnline(request.getIsOnline());
|
|
|
|
|
|
product.setUpdatedAt(LocalDateTime.now());
|
|
|
stakingProductMapper.updateById(product);
|
|
|
@@ -211,7 +216,6 @@ public class StakingGrpcService extends StakingServiceGrpc.StakingServiceImplBas
|
|
|
|
|
|
responseObserver.onNext(UpdateProductResponse.newBuilder()
|
|
|
.setSuccess(true)
|
|
|
- .setMessage("ok")
|
|
|
.build());
|
|
|
responseObserver.onCompleted();
|
|
|
} catch (Exception e) {
|
|
|
@@ -224,6 +228,40 @@ public class StakingGrpcService extends StakingServiceGrpc.StakingServiceImplBas
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void updateProductOnlineStatus(UpdateProductOnlineStatusRequest request, StreamObserver<UpdateProductOnlineStatusResponse> responseObserver) {
|
|
|
+ try {
|
|
|
+ StakingProduct product = stakingProductMapper.selectById(request.getId());
|
|
|
+ if (product == null) {
|
|
|
+ responseObserver.onNext(UpdateProductOnlineStatusResponse.newBuilder()
|
|
|
+ .setSuccess(false)
|
|
|
+ .setMessage("Product not found")
|
|
|
+ .build());
|
|
|
+ responseObserver.onCompleted();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ product.setIsOnline(request.getIsOnline());
|
|
|
+ product.setUpdatedAt(LocalDateTime.now());
|
|
|
+ stakingProductMapper.updateById(product);
|
|
|
+
|
|
|
+ log.info("Updated staking product online status, id={}, isOnline={}", product.getId(), request.getIsOnline());
|
|
|
+
|
|
|
+ responseObserver.onNext(UpdateProductOnlineStatusResponse.newBuilder()
|
|
|
+ .setSuccess(true)
|
|
|
+ .setMessage("ok")
|
|
|
+ .build());
|
|
|
+ responseObserver.onCompleted();
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("updateProductOnlineStatus gRPC error: {}", e.getMessage(), e);
|
|
|
+ responseObserver.onNext(UpdateProductOnlineStatusResponse.newBuilder()
|
|
|
+ .setSuccess(false)
|
|
|
+ .setMessage(e.getMessage())
|
|
|
+ .build());
|
|
|
+ responseObserver.onCompleted();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void deleteProduct(DeleteProductRequest request, StreamObserver<DeleteProductResponse> responseObserver) {
|
|
|
try {
|
|
|
@@ -407,7 +445,8 @@ public class StakingGrpcService extends StakingServiceGrpc.StakingServiceImplBas
|
|
|
.setLockStartTime(p.getLockStartTime() != null ? p.getLockStartTime() : 0L)
|
|
|
.setLockEndTime(p.getLockEndTime() != null ? p.getLockEndTime() : 0L)
|
|
|
.setVersion(p.getVersion() != null ? p.getVersion() : 0)
|
|
|
- .setContributionRate(p.getContributionRate().toString());
|
|
|
+ .setContributionRate(p.getContributionRate().toString())
|
|
|
+ .setIsOnline(java.lang.Boolean.TRUE.equals(p.getIsOnline()));
|
|
|
|
|
|
if (p.getCreatedAt() != null) {
|
|
|
builder.setCreatedAt(p.getCreatedAt().atZone(ZoneId.systemDefault()).format(FMT));
|