xiaoyong931011
2020-07-27 b5b25cee41e4971917654766715c5e5068fac453
20200727 代码提交
1 files added
6 files modified
223 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/service/IMemberService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java 53 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MemberMapper.xml 4 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/member/member.html 11 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/member/memberDetailInfo.html 141 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java
@@ -148,6 +148,16 @@
        return FebsUtil.view("modules/member/memberDetail");
    }
    /**
     * 会员列表---个人详情
     */
    @GetMapping("memberDetailInfo/{inviteId}")
    @RequiresPermissions("memberDetailInfo:detail")
    public String memberDetailInfo(@PathVariable String inviteId, Model model) {
        MemberInfoDetailVo data = memberService.selectMemberInfoDetailByInviteId(inviteId);
        model.addAttribute("member", data);
        return FebsUtil.view("modules/member/memberInfoDetail");
    }
    /**
     * 提币审核管理---个人详情
     */
    @GetMapping("memberInfoDetail/{id}")
src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java
@@ -222,5 +222,7 @@
    IPage<MemberAccountInfoVo> findmemberAccountInfoAloneTestListInPage(Page<MemberEntity> page,
            @Param("record")MemberEntity memberEntity);
    MemberEntity selectMemberInfoDetailByInviteId(String inviteId);
    
}
src/main/java/com/xcong/excoin/modules/member/service/IMemberService.java
@@ -93,4 +93,6 @@
    IPage<MemberDataInfoVo> findMemberDataInfoAllAloneTestListInPage(MemberEntity memberEntity, QueryRequest request);
    MemberInfoDetailVo selectMemberInfoDetailByInviteId(String inviteId);
}
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -1274,4 +1274,57 @@
        return selectMemberListInPage;
    }
    @Override
    public MemberInfoDetailVo selectMemberInfoDetailByInviteId(String inviteId) {
        MemberEntity memberEntity = memberMapper.selectMemberInfoDetailByInviteId(inviteId);
        Long memberId = memberEntity.getId();
        MemberInfoDetailVo memberInfoDetailVo = new MemberInfoDetailVo();
        //USDT充币总额+USDT提币总额
        String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setChargeCoin(totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
        String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setAppealCoin(totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
        //USDT充值总额+USDT提现总额
        String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setChargeUsdt(totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
        String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setAppealUsdt(totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
        //总剩余
        double platformProfitAndLoss = 0 ;
        platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
        platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
        platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
        platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
        memberInfoDetailVo.setTotalCoin(platformProfitAndLoss);
        //佣金
        String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setFee(returnMoneyByMid == null ? 0 : Double.parseDouble(returnMoneyByMid));
        //开仓手续费总额
        String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setClosingPrice(closingpriceByMid == null ? 0 : Double.parseDouble(closingpriceByMid));
        //平仓总手续费
        String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setSellClosingPrice(sellClosingpriceByMid == null ? 0 : Double.parseDouble(sellClosingpriceByMid));
        //总盈亏
        String rewardratioByMid = memberMapper.selectRewardratioForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setPlatformProfitAndLoss(rewardratioByMid == null ? 0 : Double.parseDouble(rewardratioByMid));
        //持仓手续费
        String doingPrice = memberMapper.selectprepriceForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setDoingPrice(doingPrice == null ? 0 : Double.parseDouble(doingPrice));
        //账户金额
        String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setWalletCoinNum(walletNum == null ? 0 : Double.parseDouble(walletNum));
        String walletCoinNum = memberMapper.selectHYZCForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setTotalContract(walletCoinNum == null ? 0 : Double.parseDouble(walletCoinNum));
        String agentNum = memberMapper.selectDLZCForBasicRealDataBymemberId(memberId);
        memberInfoDetailVo.setAgentNum(agentNum == null ? 0 : Double.parseDouble(agentNum));
        return memberInfoDetailVo;
    }
}
src/main/resources/mapper/modules/MemberMapper.xml
@@ -1453,4 +1453,8 @@
         select id from member where FIND_IN_SET(#{inviteId},referer_ids)
    </select>
    
    <select id="selectMemberInfoDetailByInviteId" resultType="java.lang.String">
         select * from member where invite_id = #{inviteId}
    </select>
</mapper>
src/main/resources/templates/febs/views/modules/member/member.html
@@ -103,6 +103,11 @@
                   }
               });
             }
            if (layEvent === 'examine') {
                 febs.modal.open( '个人数据详情', 'modules/member/memberDetailInfo/' + data.inviteId, {
                      maxmin: true,
                  });
              }
        });
        
@@ -128,7 +133,11 @@
                    {field: 'phone', title: '手机号', minWidth: 100,align:'left'},
                    {field: 'email', title: '邮箱', minWidth: 200,align:'left'},
                    {field: 'realName', title: '姓名', minWidth: 200,align:'left'},
                    {field: 'inviteId', title: '邀请码UID', minWidth: 80,align:'center'},
                    {field: 'inviteId', title: '邀请码UID',
                        templet: function (d) {
                                return '<a lay-event="examine" shiro:hasPermission="user:update">'+d.inviteId+'</a>'
                            }
                        }, minWidth: 80,align:'center'},
                    {field: 'refererId', title: '上级邀请码UID', minWidth: 80,align:'center'},
                    {field: 'accountType', title: '账号类型',
                        templet: function (d) {
src/main/resources/templates/febs/views/modules/member/memberDetailInfo.html
New file
@@ -0,0 +1,141 @@
<style>
    #user-update {
        padding: 20px 25px 25px 0;
    }
    #user-update .layui-treeSelect .ztree li a, .ztree li span {
        margin: 0 0 2px 3px !important;
    }
    #user-update #data-permission-tree-block {
        border: 1px solid #eee;
        border-radius: 2px;
        padding: 3px 0;
    }
    #user-add .layui-treeSelect .ztree li span.button.switch {
        top: 1px;
        left: 3px;
    }
</style>
<div class="layui-fluid" id="user-update">
    <form class="layui-form" action="" lay-filter="user-update-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="walletCoinNum" minlength="4" maxlength="10" data-th-id="${member.walletCoinNum}"
                       lay-verify="range|walletCoinNum" autocomplete="off" class="layui-input" readonly>
            </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="totalContract" minlength="4" maxlength="10" data-th-id="${member.totalContract}"
                       lay-verify="range|totalContract" autocomplete="off" class="layui-input" readonly>
            </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="agentNum" minlength="4" maxlength="10" data-th-id="${member.agentNum}"
                       lay-verify="range|agentNum" autocomplete="off" class="layui-input" readonly>
            </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="fee" minlength="4" maxlength="10" data-th-id="${member.fee}"
                       lay-verify="range|fee" autocomplete="off" class="layui-input" readonly>
            </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="chargeUsdt" minlength="4" maxlength="10" data-th-id="${member.chargeUsdt}"
                       lay-verify="range|chargeUsdt" autocomplete="off" class="layui-input" readonly>
            </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="appealUsdt" minlength="4" maxlength="10" data-th-id="${member.appealUsdt}"
                       lay-verify="range|appealUsdt" autocomplete="off" class="layui-input" readonly>
            </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="chargeCoin" minlength="4" maxlength="10" data-th-id="${member.chargeCoin}"
                       lay-verify="range|chargeCoin" autocomplete="off" class="layui-input" readonly>
            </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="appealCoin" minlength="4" maxlength="10" data-th-id="${member.appealCoin}"
                       lay-verify="range|appealCoin" autocomplete="off" class="layui-input" readonly>
            </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="platformProfitAndLoss" minlength="4" maxlength="10" data-th-id="${member.platformProfitAndLoss}"
                       lay-verify="range|platformProfitAndLoss" autocomplete="off" class="layui-input" readonly>
            </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="closingPrice" minlength="4" maxlength="10" data-th-id="${member.closingPrice}"
                       lay-verify="range|closingPrice" autocomplete="off" class="layui-input" readonly>
            </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="sellClosingPrice" minlength="4" maxlength="10" data-th-id="${member.sellClosingPrice}"
                       lay-verify="range|sellClosingPrice" autocomplete="off" class="layui-input" readonly>
            </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="doingPrice" minlength="4" maxlength="10" data-th-id="${member.doingPrice}"
                       lay-verify="range|doingPrice" autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
    </form>
</div>
<script data-th-inline="javascript">
    layui.use(['febs', 'form'], function () {
        var $ = layui.$,
            febs = layui.febs,
            layer = layui.layer,
            form = layui.form,
            member = [[${member}]],
            $view = $('#user-update'),
            validate = layui.validate,
            _deptTree;
        form.render();
        initUserValue();
        function initUserValue() {
            form.val("user-update-form", {
                "doingPrice": member.doingPrice,
                "sellClosingPrice": member.sellClosingPrice,
                "closingPrice": member.closingPrice,
                "platformProfitAndLoss": member.platformProfitAndLoss,
                "appealCoin": member.appealCoin,
                "chargeCoin": member.chargeCoin,
                "appealUsdt": member.appealUsdt,
                "chargeUsdt": member.chargeUsdt,
                "fee": member.fee,
                "agentNum": member.agentNum,
                "totalContract": member.totalContract,
                "walletCoinNum": member.walletCoinNum,
                "totalCoin": member.totalCoin
            });
        }
    });
</script>