From af18f13ad4056a6a2f134c6fa3ccf6e0d67ad2be Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 19 Apr 2024 12:01:20 +0800
Subject: [PATCH] 后台优化
---
src/main/resources/templates/febs/views/modules/banner/zhiyaAdd.html | 72 ++++++++++++++++++
src/main/java/cc/mrbird/febs/dapp/service/impl/AdminBannerServiceImpl.java | 62 +++++++++++++++
src/main/java/cc/mrbird/febs/dapp/service/IAdminBannerService.java | 3
src/main/java/cc/mrbird/febs/dapp/controller/AdminBannerController.java | 10 ++
src/main/java/cc/mrbird/febs/dapp/dto/ZhiyaAddDto.java | 25 ++++++
src/main/java/cc/mrbird/febs/dapp/controller/ViewBannerController.java | 10 ++
src/main/resources/templates/febs/views/modules/banner/inviteList.html | 8 +-
7 files changed, 186 insertions(+), 4 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/AdminBannerController.java b/src/main/java/cc/mrbird/febs/dapp/controller/AdminBannerController.java
index e94bf75..efe950b 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/AdminBannerController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/AdminBannerController.java
@@ -6,6 +6,7 @@
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.enumerates.DataDicEnum;
import cc.mrbird.febs.common.utils.RedisUtils;
+import cc.mrbird.febs.dapp.dto.ZhiyaAddDto;
import cc.mrbird.febs.dapp.entity.DappCoinPrice;
import cc.mrbird.febs.dapp.entity.DappHdRecord;
import cc.mrbird.febs.dapp.entity.DappMemberEntity;
@@ -40,6 +41,15 @@
private final ChainProducer chainProducer;
/**
+ * 质押恢复
+ */
+ @PostMapping("zhiyaAdd")
+ @ControllerEndpoint(operation = "质押恢复", exceptionMessage = "操作失败")
+ public FebsResponse zhiyaAdd(@Valid ZhiyaAddDto zhiyaAddDto) {
+ return iAdminBannerService.zhiyaAdd(zhiyaAddDto);
+ }
+
+ /**
* 邀请---列表
*/
@GetMapping("inviteList")
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ViewBannerController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ViewBannerController.java
index 68f44d4..b9e8466 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ViewBannerController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ViewBannerController.java
@@ -31,6 +31,16 @@
/**
+ * 质押恢复
+ */
+ @GetMapping("zhiyaAdd")
+ @RequiresPermissions("zhiyaAdd:view")
+ public String zhiyaAdd() {
+ return FebsUtil.view("modules/banner/zhiyaAdd");
+ }
+
+
+ /**
* 邀请---列表
*/
@GetMapping("inviteList")
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/ZhiyaAddDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/ZhiyaAddDto.java
new file mode 100644
index 0000000..36f340d
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/ZhiyaAddDto.java
@@ -0,0 +1,25 @@
+package cc.mrbird.febs.dapp.dto;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import javax.validation.Valid;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "WalletOperateDto", description = "钱包操作参数接收类")
+public class ZhiyaAddDto {
+
+ @NotBlank(message = "地址不能为空")
+ private String address;
+
+ @Valid
+ @NotNull(message = "数量不能为空")
+ @Min(0)
+ private String amount;
+
+ @NotBlank(message = "HASH不能为空")
+ private String zyHash;
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/IAdminBannerService.java b/src/main/java/cc/mrbird/febs/dapp/service/IAdminBannerService.java
index eb63c0c..bfb3146 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/IAdminBannerService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/IAdminBannerService.java
@@ -2,6 +2,7 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
+import cc.mrbird.febs.dapp.dto.ZhiyaAddDto;
import cc.mrbird.febs.dapp.entity.DappCoinPrice;
import cc.mrbird.febs.dapp.entity.DappHdRecord;
import cc.mrbird.febs.dapp.entity.DappMemberEntity;
@@ -31,4 +32,6 @@
IPage<DappHdRecord> findHdRecordInPage(DappHdRecord dappHdRecord, QueryRequest request);
IPage<DappMemberEntity> inviteList(DappMemberEntity dappMemberEntity, QueryRequest request);
+
+ FebsResponse zhiyaAdd(ZhiyaAddDto zhiyaAddDto);
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminBannerServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminBannerServiceImpl.java
index 831a44b..524171d 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminBannerServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminBannerServiceImpl.java
@@ -3,10 +3,15 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.enumerates.DataDicEnum;
+import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
import cc.mrbird.febs.common.exception.FebsException;
+import cc.mrbird.febs.common.utils.RedisUtils;
+import cc.mrbird.febs.dapp.dto.TransferDto;
+import cc.mrbird.febs.dapp.dto.ZhiyaAddDto;
import cc.mrbird.febs.dapp.entity.*;
import cc.mrbird.febs.dapp.mapper.*;
import cc.mrbird.febs.dapp.service.AsyncCjService;
+import cc.mrbird.febs.dapp.service.DappWalletService;
import cc.mrbird.febs.dapp.service.IAdminBannerService;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
@@ -40,6 +45,9 @@
private final AsyncCjService asyncCjService;
private final DappMemberDao dappMemberDao;
private final DappAchieveMapper dappAchieveMapper;
+ private final DappWalletService dappWalletService;
+ private final DappFundFlowDao dappFundFlowDao;
+ private final RedisUtils redisUtils;
@Override
public IPage<PlatformBanner> findPlatformBannerInPage(PlatformBanner platformBannerEntity,
@@ -150,4 +158,58 @@
}
return dappMemberEntityIPage;
}
+
+ @Override
+ public FebsResponse zhiyaAdd(ZhiyaAddDto zhiyaAddDto) {
+ String address = zhiyaAddDto.getAddress();
+ String hash = zhiyaAddDto.getZyHash();
+ BigDecimal amount = new BigDecimal(zhiyaAddDto.getAmount()).setScale(2,BigDecimal.ROUND_DOWN);
+
+ DappMemberEntity dappMemberEntity = dappMemberDao.selectByAddress(address, null);
+ if(ObjectUtil.isEmpty(dappMemberEntity)){
+ throw new FebsException("地址不存在");
+ }
+ if(BigDecimal.ZERO.compareTo(amount) >= 0){
+ throw new FebsException("金额不正确");
+ }
+
+ QueryWrapper<DappFundFlowEntity> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("from_hash",hash);
+ List<DappFundFlowEntity> dappFundFlowEntities = dappFundFlowDao.selectList(queryWrapper);
+ if(CollUtil.isNotEmpty(dappFundFlowEntities)){
+ throw new FebsException("HASH已经产生了质押记录");
+ }
+
+ DappFundFlowEntity fundFlow = new DappFundFlowEntity(
+ dappMemberEntity.getId(),
+ amount.negate(),
+ FlowTypeEnum.ZHI_YA.getValue(),
+ DappFundFlowEntity.WITHDRAW_STATUS_ING,
+ BigDecimal.ZERO,
+ null);
+ dappFundFlowDao.insert(fundFlow);
+
+ fundFlow.setFromHash(hash);
+ fundFlow.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
+ fundFlow.setContent(FlowTypeEnum.ZHI_YA.getDescrition());
+ dappFundFlowDao.updateById(fundFlow);
+
+ //用户质押代币数量
+ Long memberId = fundFlow.getMemberId();
+ //新增一条用户质押记录
+ DappAchieve dappAchieve = new DappAchieve();
+ dappAchieve.setMemberId(memberId);
+ dappAchieve.setAmount(amount);
+ BigDecimal achieveReleasePercent = new BigDecimal("0.01").multiply(
+ new BigDecimal(redisUtils.getString(DataDicEnum.GFA_ACHIEVE_RELEASE.getValue())).setScale(2,BigDecimal.ROUND_DOWN)
+ );
+ dappAchieve.setAmountDay(achieveReleasePercent.multiply(amount).setScale(2,BigDecimal.ROUND_DOWN));
+ BigDecimal achieveOut = new BigDecimal(redisUtils.getString(DataDicEnum.GFA_ACHIEVE_OUT.getValue())).setScale(2,BigDecimal.ROUND_DOWN);
+ dappAchieve.setAmountMax(achieveOut.multiply(amount).setScale(2,BigDecimal.ROUND_DOWN));
+ dappAchieve.setState(DappAchieve.STATUS_ING);
+ dappAchieve.setAmountDone(BigDecimal.ZERO);
+ dappAchieveMapper.insert(dappAchieve);
+ asyncCjService.insertTeamPerk(fundFlow.getId(), dappAchieve.getId());
+ return new FebsResponse().success();
+ }
}
diff --git a/src/main/resources/templates/febs/views/modules/banner/inviteList.html b/src/main/resources/templates/febs/views/modules/banner/inviteList.html
index ff538b7..6cf4316 100644
--- a/src/main/resources/templates/febs/views/modules/banner/inviteList.html
+++ b/src/main/resources/templates/febs/views/modules/banner/inviteList.html
@@ -106,10 +106,10 @@
totalRow : true,
cols: [[
{field: 'id', title: '', minWidth: 50,align:'left',totalRowText:"合计"},
- {field: 'address', title: '地址', minWidth: 400,align:'center'},
- {field: 'inviteId', title: '邀请码', minWidth: 50,align:'center'},
- {field: 'refererId', title: '上级邀请码', minWidth: 50,align:'center'},
- {field: 'refererAddress', title: '上级地址', minWidth: 400,align:'center'},
+ {field: 'address', title: '地址', minWidth: 200,align:'center'},
+ {field: 'inviteId', title: '邀请码', minWidth: 100,align:'center'},
+ {field: 'refererId', title: '上级邀请码', minWidth: 100,align:'center'},
+ {field: 'refererAddress', title: '上级地址', minWidth: 200,align:'center'},
{field: 'zhiYaAmount', title: '个人业绩', minWidth: 50,align:'center', totalRow:true},
]]
});
diff --git a/src/main/resources/templates/febs/views/modules/banner/zhiyaAdd.html b/src/main/resources/templates/febs/views/modules/banner/zhiyaAdd.html
new file mode 100644
index 0000000..7561ced
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/banner/zhiyaAdd.html
@@ -0,0 +1,72 @@
+<div class="layui-fluid layui-anim febs-anim" id="zhiya-add" lay-title="质押恢复">
+ <div class="layui-row layui-col-space8 febs-container">
+ <form class="layui-form" action="" lay-filter="zhiya-add">
+ <div class="layui-card">
+ <div class="layui-card-body">
+ <blockquote class="layui-elem-quote blue-border">恢复</blockquote>
+ <div class="layui-row layui-col-space10 layui-form-item">
+ <div class="layui-col-lg6">
+ <label class="layui-form-label febs-form-item-require">地址:</label>
+ <div class="layui-input-block">
+ <input type="text" name="address" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ </div>
+ <div class="layui-row layui-col-space10 layui-form-item">
+ <div class="layui-col-lg6">
+ <label class="layui-form-label febs-form-item-require">质押金额:</label>
+ <div class="layui-input-block">
+ <input type="text" name="amount" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ </div>
+ <div class="layui-row layui-col-space10 layui-form-item">
+ <div class="layui-col-lg6">
+ <label class="layui-form-label febs-form-item-require">质押HASH:</label>
+ <div class="layui-input-block">
+ <input type="text" name="zyHash" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="layui-card-footer">
+ <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="zhiya-add-form-submit" id="submit">保存</button>
+ </div>
+ </div>
+ </form>
+ </div>
+</div>
+<style>
+ .layui-form-label {
+ width: 120px;
+ }
+
+ .layui-form-item .layui-input-block {
+ margin-left: 150px;
+ }
+
+ .layui-table-form .layui-form-item {
+ margin-bottom: 20px !important;
+ }
+</style>
+<script data-th-inline="javascript" type="text/javascript">
+ layui.use(['dropdown', 'jquery', 'validate', 'febs', 'form', 'eleTree'], function () {
+ var $ = layui.jquery,
+ febs = layui.febs,
+ form = layui.form,
+ coinSetVo = [[${coinSetVo}]],
+ validate = layui.validate,
+ $view = $('#zhiya-add');
+
+ form.render();
+
+ form.on('submit(zhiya-add-form-submit)', function (data) {
+ console.log(data);
+ febs.post(ctx + 'admin/banner/zhiyaAdd', data.field, function (res) {
+ febs.alert.success('操作成功');
+ });
+ return false;
+ });
+
+ });
+</script>
\ No newline at end of file
--
Gitblit v1.9.1