wzy
2022-03-27 42996aa74b9f44c26d275e8afbbe4e206c57a8e7
add simulate data
3 files modified
7 files added
230 ■■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/controller/DappUserController.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/controller/ViewController.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/dto/SimulateDataDto.java 29 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/entity/DappSimulateDataEntity.java 26 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/mapper/DappSimulateDataDao.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/DappSimulateDataService.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSimulateServiceImpl.java 11 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/dapp/DappSimulateDataDao.xml 5 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/dapp/simulate-data.html 108 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/dapp/user.html 21 ●●●●● patch | view | raw | blame | history
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();
    }
}
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")
src/main/java/cc/mrbird/febs/dapp/dto/SimulateDataDto.java
New file
@@ -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;
}
src/main/java/cc/mrbird/febs/dapp/entity/DappSimulateDataEntity.java
New file
@@ -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;
}
src/main/java/cc/mrbird/febs/dapp/mapper/DappSimulateDataDao.java
New file
@@ -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> {
}
src/main/java/cc/mrbird/febs/dapp/service/DappSimulateDataService.java
New file
@@ -0,0 +1,6 @@
package cc.mrbird.febs.dapp.service;
public interface DappSimulateDataService {
    void generateSimulateData();
}
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSimulateServiceImpl.java
New file
@@ -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() {
    }
}
src/main/resources/mapper/dapp/DappSimulateDataDao.xml
New file
@@ -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>
src/main/resources/templates/febs/views/dapp/simulate-data.html
New file
@@ -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>
src/main/resources/templates/febs/views/dapp/user.html
@@ -39,7 +39,7 @@
                                    <i class="layui-icon">&#xe79b;</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">&#xe875;</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'
            }]
        });