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