src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java
@@ -185,5 +185,8 @@ IPage<MemberAccountInfoVo> findMemberAccountInfoAloneListInPage(Page<MemberEntity> page, @Param("record")MemberEntity memberEntity); IPage<MemberEntity> findMemberListTestInPage(Page<MemberEntity> page, @Param("record")MemberEntity member); IPage<MemberAccountInfoVo> findmemberAccountInfoAloneTestListInPage(Page<MemberEntity> page, @Param("record")MemberEntity memberEntity); } src/main/java/com/xcong/excoin/modules/trademanage/controller/TradeManageController.java
@@ -71,6 +71,15 @@ } /** * 账户信息---列表Test */ @GetMapping("memberAccountInfoAloneTest") public FebsResponse memberAccountInfoAloneTest(MemberEntity memberEntity, QueryRequest request) { Map<String, Object> data = getDataTable(tradeManageService.findmemberAccountInfoAloneTestListInPage(memberEntity, request)); return new FebsResponse().success().data(data); } /** * 返佣明细---列表 */ @GetMapping("memberAgentReturnInfo") src/main/java/com/xcong/excoin/modules/trademanage/controller/ViewController.java
@@ -60,6 +60,15 @@ public String accountInfoAlone() { return FebsUtil.view("modules/trademanage/accountInfoAlone"); } /** * 账户信息---Test * @return */ @GetMapping("accountInfoAloneTest") @RequiresPermissions("accountInfoAloneTest:view") public String accountInfoAloneTest() { return FebsUtil.view("modules/trademanage/accountInfoAloneTest"); } /** * 返佣明细 src/main/java/com/xcong/excoin/modules/trademanage/service/TradeManageService.java
@@ -45,4 +45,6 @@ IPage<MemberAccountMoneyChangeEntity> findMemberAgentReturnInfoAloneTestInPage(MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity, QueryRequest request); IPage<MemberAccountInfoVo> findmemberAccountInfoAloneTestListInPage(MemberEntity memberEntity, QueryRequest request); } src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java
@@ -419,6 +419,46 @@ } return findMemberAccountInfoListInPage; } @Override public IPage<MemberAccountInfoVo> findmemberAccountInfoAloneTestListInPage(MemberEntity memberEntity, QueryRequest request) { Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); IPage<MemberAccountInfoVo> selectMemberListInPage = memberMapper.findmemberAccountInfoAloneTestListInPage(page, memberEntity); List<MemberAccountInfoVo> records = selectMemberListInPage.getRecords(); if(records.size() > 0) { for(MemberAccountInfoVo memberAccountInfoVo : records) { Long memberId = memberAccountInfoVo.getId(); Map<String, Object> columnMap = new HashMap<>(); columnMap.put("member_id", memberId); List<MemberAuthenticationEntity> selectByMap = memberAuthenticationMapper.selectByMap(columnMap ); if(selectByMap != null && selectByMap.size() > 0) { MemberAuthenticationEntity memberAuthenticationEntity = selectByMap.get(0); String firstName = memberAuthenticationEntity.getFirstName(); String secondName = memberAuthenticationEntity.getSecondName(); String realName = firstName + secondName; memberAccountInfoVo.setRealName(realName); } //总盈亏 String rewardratioByMid = memberMapper.selectRewardratioForBasicRealDataBymid(memberId); BigDecimal bd=new BigDecimal(rewardratioByMid); memberAccountInfoVo.setRewardratioByMid(bd); String inviteId = memberMapper.selectAgentForAccount(memberId); if("".equals(inviteId) || inviteId == null) { memberAccountInfoVo.setIsSuAccount(0); }else { memberAccountInfoVo.setIsSuAccount(1); } List<MemberWalletAgentEntity> selectByMaps = memberWalletAgentMapper.selectByMap(columnMap); if(selectByMaps.size() > 0) { BigDecimal availableBalance = selectByMaps.get(0).getAvailableBalance(); memberAccountInfoVo.setAgentAvailableBalance(availableBalance); } } } return selectMemberListInPage; } src/main/resources/mapper/modules/MemberMapper.xml
@@ -138,6 +138,36 @@ order by m.create_time desc </select> <select id="findmemberAccountInfoAloneTestListInPage" resultType="com.xcong.excoin.modules.trademanage.vo.MemberAccountInfoVo"> SELECT m.id, m.phone, m.email, m.invite_id inviteId, m.account_type accountType, a.available_balance walletCoinAvailableBalance, a.total_balance walletCoinTotalBalance, a.frozen_balance walletCoinFrozenBalance, b.available_balance walletAvailableBalance, b.total_balance walletTotalBalance, b.frozen_balance walletFrozenBalance FROM member m LEFT JOIN member_wallet_coin b ON m.id = b.member_id LEFT JOIN member_wallet_contract a ON a.member_id = m.id <where> b.wallet_code = 'USDT' and (m.id not in (select id from member where FIND_IN_SET('22015141', referer_ids)) or m.id = 10) <if test="record.account!=null and record.account!=''"> and (m.phone = #{record.account} or m.email = #{record.account} or m.invite_id=#{record.account}) </if> <if test="record.isTest!=null and record.isTest!=''"> and m.account_type= #{record.isTest} </if> </where> order by m.create_time desc </select> <select id="selectAgentForAccount" resultType="java.lang.String"> select invite_id from agent_friend_relation where member_id = #{memberId} </select> src/main/resources/templates/febs/views/modules/trademanage/accountInfoAloneTest.html
New file @@ -0,0 +1,131 @@ <div class="layui-fluid layui-anim febs-anim" id="febs-user" lay-title="账户信息"> <div class="layui-row febs-container"> <div class="layui-col-md12"> <div class="layui-card"> <div class="layui-card-body febs-table-full"> <form class="layui-form layui-table-form" lay-filter="user-table-form"> <div class="layui-row"> <div class="layui-col-md10"> <div class="layui-form-item"> <div class="layui-inline"> <div class="layui-input-inline"> <input type="text" placeholder="手机号/邮箱/邀请码" name="account" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label layui-form-label-sm">账号类型</label> <div class="layui-input-inline"> <select name="isTest"> <option value=""></option> <option value="1">正常账号</option> <option value="2">测试账号</option> </select> </div> </div> </div> </div> <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area"> <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain table-action" id="query"> <i class="layui-icon"></i> </div> <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset"> <i class="layui-icon"></i> </div> </div> </div> </form> <table lay-filter="userTable" lay-data="{id: 'userTable'}"></table> </div> </div> </div> </div> </div> <!-- 表格操作栏 end --> <script data-th-inline="none" type="text/javascript"> // 引入组件并初始化 layui.use([ 'jquery', 'form', 'table', 'febs'], function () { var $ = layui.jquery, febs = layui.febs, form = layui.form, table = layui.table, $view = $('#febs-user'), $query = $view.find('#query'), $reset = $view.find('#reset'), $searchForm = $view.find('form'), sortObject = {field: 'createTime', type: null}, tableIns; form.render(); // 表格初始化 initTable(); // 查询按钮 $query.on('click', function () { var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type}); tableIns.reload({where: params, page: {curr: 1}}); }); // 刷新按钮 $reset.on('click', function () { $searchForm[0].reset(); tableIns.reload({where: getQueryParams(), page: {curr: 1}}); }); function initTable() { tableIns = febs.table.init({ elem: $view.find('table'), id: 'userTable', url: ctx + 'tradeManage/memberAccountInfoAloneTest', totalRow: true, cols: [[ {field: 'phone', title: '手机号', minWidth: 100,align:'left'}, {field: 'realName', title: '姓名', minWidth: 100,align:'left'}, {field: 'email', title: '邮箱', minWidth: 200,align:'left'}, {field: 'inviteId', title: '邀请码UID', minWidth: 80,align:'center'}, {field: 'rewardratioByMid', title: '盈亏', templet: function (d) { if (d.rewardratioByMid > 0) { return '<span style="color:green;">'+d.rewardratioByMid+'</span>' } else { return '<span style="color:red;">'+d.rewardratioByMid+'</span>' } }, minWidth: 80,align:'center',totalRow: true}, {field: 'accountType', title: '账号类型', templet: function (d) { if (d.accountType === 2) { return '<span style="color:red;">测试账号</span>' } else if(d.accountType === 1){ return '<span style="color:green;">正常账号</span>' } },minWidth: 100,align:'center'}, {field: 'walletAvailableBalance', title: '币币可用', minWidth: 80,align:'center',totalRow: true}, {field: 'walletFrozenBalance', title: '币币冻结', minWidth: 80,align:'center',totalRow: true}, {field: 'walletCoinAvailableBalance', title: '合约可用', minWidth: 80,align:'center',totalRow: true}, {field: 'walletCoinFrozenBalance', title: '合约冻结', minWidth: 80,align:'center',totalRow: true}, {field: 'walletCoinTotalBalance', title: '合约总金额', minWidth: 80,align:'center',totalRow: true}, {field: 'isSuAccount', title: '是否是代理', templet: function (d) { if (d.isSuAccount === 1) { return '<span style="color:green;">是</span>' } else if (d.isSuAccount === 0) { return '<span style="color:red;">否</span>' } else { return '' } }, minWidth: 80,align:'center',totalRow: true}, {field: 'agentAvailableBalance', title: '代理账户', minWidth: 80,align:'center',totalRow: true} ]] }); } // 获取查询参数 function getQueryParams() { return { account: $searchForm.find('input[name="account"]').val().trim(), isTest: $searchForm.find("select[name='isTest']").val() }; } }) </script>