From 42996aa74b9f44c26d275e8afbbe4e206c57a8e7 Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Sun, 27 Mar 2022 21:38:36 +0800
Subject: [PATCH] add simulate data
---
src/main/java/cc/mrbird/febs/dapp/controller/DappUserController.java | 11 ++
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSimulateServiceImpl.java | 11 ++
src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java | 6 +
src/main/java/cc/mrbird/febs/dapp/mapper/DappSimulateDataDao.java | 7 +
src/main/resources/templates/febs/views/dapp/simulate-data.html | 108 +++++++++++++++++++++++++++
src/main/resources/templates/febs/views/dapp/user.html | 21 +++++
src/main/java/cc/mrbird/febs/dapp/service/DappSimulateDataService.java | 6 +
src/main/java/cc/mrbird/febs/dapp/entity/DappSimulateDataEntity.java | 26 ++++++
src/main/java/cc/mrbird/febs/dapp/dto/SimulateDataDto.java | 29 +++++++
src/main/resources/mapper/dapp/DappSimulateDataDao.xml | 5 +
10 files changed, 229 insertions(+), 1 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/DappUserController.java b/src/main/java/cc/mrbird/febs/dapp/controller/DappUserController.java
index 405d950..836e006 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/DappUserController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/DappUserController.java
@@ -5,6 +5,7 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.utils.FebsUtil;
+import cc.mrbird.febs.dapp.dto.SimulateDataDto;
import cc.mrbird.febs.dapp.service.DappUserService;
import cc.mrbird.febs.system.entity.User;
import lombok.RequiredArgsConstructor;
@@ -12,6 +13,8 @@
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
/**
* @author wzy
@@ -58,4 +61,12 @@
dappUserService.delete(ids);
return new FebsResponse().success();
}
+
+ @RequiresPermissions("admin:simulate")
+ @PostMapping(value = "/simulateData")
+ @ControllerEndpoint(operation = "模拟数据生成", exceptionMessage = "模拟数据生成失败")
+ public FebsResponse simulateData(@Valid SimulateDataDto simulateDataDto) {
+ System.out.println(simulateDataDto);
+ return new FebsResponse().success();
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java
index 73ce41f..b5ac532 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java
@@ -35,6 +35,12 @@
return FebsUtil.view("dapp/userUpdate");
}
+ @GetMapping(value = "admin/simulate")
+ @RequiresPermissions("admin:simulate")
+ public String simulate() {
+ return FebsUtil.view("dapp/simulate-data");
+ }
+
@GetMapping("member")
@RequiresPermissions("member:view")
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/SimulateDataDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/SimulateDataDto.java
new file mode 100644
index 0000000..db1b769
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/SimulateDataDto.java
@@ -0,0 +1,29 @@
+package cc.mrbird.febs.dapp.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+
+@Data
+public class SimulateDataDto {
+
+ @NotNull(message = "不能为空")
+ private BigDecimal totalOutput;
+
+ @NotNull(message = "不能为空")
+ private BigDecimal balance;
+
+ @NotNull(message = "不能为空")
+ private BigDecimal remainOutput;
+
+ @NotBlank(message = "不能为空")
+ private String change;
+
+ @NotBlank(message = "不能为空")
+ private String withdraw;
+
+ @NotBlank(message = "不能为空")
+ private String mine;
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/DappSimulateDataEntity.java b/src/main/java/cc/mrbird/febs/dapp/entity/DappSimulateDataEntity.java
new file mode 100644
index 0000000..8ede27a
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/entity/DappSimulateDataEntity.java
@@ -0,0 +1,26 @@
+package cc.mrbird.febs.dapp.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@TableName("dapp_simulate_data")
+public class DappSimulateDataEntity {
+
+ @TableId(value = "id",type = IdType.AUTO)
+ private Long id;
+
+ private Long userId;
+
+ private Long memberId;
+
+ private String data;
+
+ private String batchNo;
+
+ private Date createTime;
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappSimulateDataDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappSimulateDataDao.java
new file mode 100644
index 0000000..0df9049
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappSimulateDataDao.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.dapp.mapper;
+
+import cc.mrbird.febs.dapp.entity.DappSimulateDataEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface DappSimulateDataDao extends BaseMapper<DappSimulateDataEntity> {
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappSimulateDataService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappSimulateDataService.java
new file mode 100644
index 0000000..964f72e
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappSimulateDataService.java
@@ -0,0 +1,6 @@
+package cc.mrbird.febs.dapp.service;
+
+public interface DappSimulateDataService {
+
+ void generateSimulateData();
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSimulateServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSimulateServiceImpl.java
new file mode 100644
index 0000000..508bfc2
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSimulateServiceImpl.java
@@ -0,0 +1,11 @@
+package cc.mrbird.febs.dapp.service.impl;
+
+import cc.mrbird.febs.dapp.service.DappSimulateDataService;
+
+public class DappSimulateServiceImpl implements DappSimulateDataService {
+
+ @Override
+ public void generateSimulateData() {
+
+ }
+}
diff --git a/src/main/resources/mapper/dapp/DappSimulateDataDao.xml b/src/main/resources/mapper/dapp/DappSimulateDataDao.xml
new file mode 100644
index 0000000..94ac7f4
--- /dev/null
+++ b/src/main/resources/mapper/dapp/DappSimulateDataDao.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cc.mrbird.febs.dapp.mapper.DappSimulateDataDao">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/dapp/simulate-data.html b/src/main/resources/templates/febs/views/dapp/simulate-data.html
new file mode 100644
index 0000000..eaff6af
--- /dev/null
+++ b/src/main/resources/templates/febs/views/dapp/simulate-data.html
@@ -0,0 +1,108 @@
+<style>
+ #dapp-simulate-data {
+ padding: 20px 25px 25px 0;
+ }
+ #dapp-simulate-data .layui-treeSelect .ztree li a, .ztree li span {
+ margin: 0 0 2px 3px !important;
+ }
+ #dapp-simulate-data #data-permission-tree-block {
+ border: 1px solid #eee;
+ border-radius: 2px;
+ padding: 3px 0;
+ }
+ #dapp-simulate-data .layui-treeSelect .ztree li span.button.switch {
+ top: 1px;
+ left: 3px;
+ }
+</style>
+<div class="layui-fluid" id="dapp-simulate-data">
+ <form class="layui-form" action="" lay-filter="dapp-simulate-data-form">
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">总产量:</label>
+ <div class="layui-input-block">
+ <input type="text" name="totalOutput" autocomplete="off" lay-verify="required|number" class="layui-input" value="1">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">收入余额:</label>
+ <div class="layui-input-block">
+ <input type="text" name="balance" autocomplete="off" lay-verify="required|number" class="layui-input" value="1">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">可兑换:</label>
+ <div class="layui-input-block">
+ <input type="text" name="remainOutput" autocomplete="off" lay-verify="required|number" class="layui-input" value="1">
+ </div>
+ </div>
+ <div class="layui-form-item layui-form-text">
+ <div class="layui-input-block">
+ <div class="layui-tab">
+ <ul class="layui-tab-title">
+ <li class="layui-this">兑换</li>
+ <li>提现</li>
+ <li>采矿</li>
+ </ul>
+ <div class="layui-tab-content">
+ <div class="layui-tab-item layui-show">
+ <textarea name="change" id="change" lay-verify="required" class="layui-textarea"></textarea>
+ </br>
+ <blockquote class="layui-elem-quote layui-text">
+ 数据格式:'时间,数量,状态',状态默认为1
+ </blockquote>
+ </div>
+ <div class="layui-tab-item">
+ <textarea name="withdraw" id="withdraw" lay-verify="required" class="layui-textarea"></textarea>
+ </br>
+ <blockquote class="layui-elem-quote layui-text">
+ 数据格式:'时间,数量,状态',状态默认为'1-申请中,2-提现成功,3-提现失败'
+ </blockquote>
+ </div>
+ <div class="layui-tab-item">
+ <textarea name="mine" id="mine" lay-verify="required" class="layui-textarea"></textarea>
+ </br>
+ <blockquote class="layui-elem-quote layui-text">
+ 数据格式:'时间,类型,输出',类型默认为1
+ </blockquote>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="layui-form-item febs-hide">
+ <button class="layui-btn" lay-submit="" lay-filter="dapp-simulate-data-form-submit" id="submit"></button>
+ <button type="reset" class="layui-btn" id="reset"></button>
+ </div>
+ </form>
+</div>
+
+<script>
+ layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree', 'element'], function () {
+ var $ = layui.$,
+ febs = layui.febs,
+ layer = layui.layer,
+ form = layui.form,
+ $view = $('#dapp-simulate-data'),
+ validate = layui.validate,
+ $change = $('#change'),
+ $withdraw = $('#withdraw'),
+ $mine = $('#mine'),
+ element = layui.element;
+
+ form.verify(validate);
+ form.render();
+
+ $change.val("2022-01-01 12:12:12,1,123.00;\n2022-01-01 12:12:12,1,123.00;\n2022-01-01 12:12:12,1,123.00;\n");
+ $withdraw.val("2022-01-01 12:12:12,1,123.00;\n2022-01-01 12:12:12,1,123.00;\n2022-01-01 12:12:12,1,123.00;\n");
+ $mine.val("2022-01-01 12:12:12,123.00,1;\n2022-01-01 12:12:12,123.00,1;\n2022-01-01 12:12:12,123.00,1;\n");
+
+ form.on('submit(dapp-simulate-data-form-submit)', function (data) {
+ febs.post(ctx + 'dappUser/simulateData', data.field, function () {
+ layer.closeAll();
+ febs.alert.success('新增用户成功,初始密码为 1234qwer');
+ $('#febs-admin').find('#query').click();
+ });
+ return false;
+ });
+ });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/dapp/user.html b/src/main/resources/templates/febs/views/dapp/user.html
index 5866287..c21037d 100644
--- a/src/main/resources/templates/febs/views/dapp/user.html
+++ b/src/main/resources/templates/febs/views/dapp/user.html
@@ -39,7 +39,7 @@
<i class="layui-icon"></i>
</div>
<div class="layui-btn layui-btn-sm layui-btn-primary table-action action-more"
- shiro:hasAnyPermissions="admin:add,admin:update,admin:reset">
+ shiro:hasAnyPermissions="admin:add,admin:update,admin:reset,admin:simulate">
<i class="layui-icon"></i>
</div>
</div>
@@ -77,6 +77,7 @@
dropdown = layui.dropdown,
$view = $('#febs-admin'),
$query = $view.find('#query'),
+ $simulate = $view.find('#simulate'),
$reset = $view.find('#reset'),
$searchForm = $view.find('form'),
sortObject = {field: 'createTime', type: null},
@@ -138,6 +139,20 @@
});
}
}
+ if (name === 'simulate') {
+ febs.modal.open('生成模拟数据', 'dappView/admin/simulate', {
+ btn: ['提交', '重置'],
+ area: $(window).width() <= 750 ? '95%' : '50%',
+ offset: '30px',
+ yes: function (index, layero) {
+ $('#dapp-simulate-data').find('#submit').trigger('click');
+ },
+ btn2: function () {
+ $('#dapp-simulate-data').find('#reset').trigger('click');
+ return false;
+ }
+ });
+ }
},
options: [{
name: 'add',
@@ -151,6 +166,10 @@
name: 'reset',
title: '密码重置',
perms: 'admin:reset'
+ }, {
+ name: 'simulate',
+ title: '模拟数据',
+ perms: 'admin:simulate'
}]
});
--
Gitblit v1.9.1