From 62caaece670b9ca7b61fd8bc8e2aaef2b1707417 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 29 Jun 2020 18:54:07 +0800 Subject: [PATCH] 20200629 代码提交 --- src/main/java/com/xcong/excoin/modules/member/dto/MemberDetailConfirmDto.java | 3 src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java | 37 +++ src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java | 19 src/main/resources/mapper/modules/MemberCoinWithdrawMapper.xml | 3 src/main/resources/mapper/modules/MemberMapper.xml | 286 +++++++++++++++++++++++ src/main/java/com/xcong/excoin/modules/member/vo/MemberDataInfoVo.java | 45 +++ /dev/null | 24 -- src/main/resources/templates/febs/views/modules/member/withdrawCoin.html | 56 +-- src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java | 10 src/main/java/com/xcong/excoin/modules/member/service/IMemberService.java | 4 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 74 +++++ src/main/resources/templates/febs/views/modules/member/memberDataInfo.html | 89 ++++-- src/main/resources/templates/febs/views/modules/member/extractUsdt.html | 6 src/main/java/com/xcong/excoin/modules/member/dto/MemberDataInfoDto.java | 5 src/main/resources/templates/febs/views/modules/member/memberDetail.html | 7 15 files changed, 556 insertions(+), 112 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/member/controller/DataInfoController.java b/src/main/java/com/xcong/excoin/modules/member/controller/DataInfoController.java deleted file mode 100644 index 782aa0b..0000000 --- a/src/main/java/com/xcong/excoin/modules/member/controller/DataInfoController.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.xcong.excoin.modules.member.controller; - -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import com.xcong.excoin.common.controller.BaseController; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -/** - * todo 数据关联性 - * @author Administrator - * - */ -@Slf4j -@Validated -@RestController -@RequiredArgsConstructor -@RequestMapping(value = "/dataInfo") -public class DataInfoController extends BaseController { - -} diff --git a/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java b/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java index be7967d..786df94 100644 --- a/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java +++ b/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java @@ -4,6 +4,7 @@ import com.xcong.excoin.common.controller.BaseController; import com.xcong.excoin.common.entity.FebsResponse; import com.xcong.excoin.common.entity.QueryRequest; +import com.xcong.excoin.modules.member.dto.MemberDataInfoDto; import com.xcong.excoin.modules.member.dto.MemberDetailConfirmDto; import com.xcong.excoin.modules.member.entity.MemberCoinChargeEntity; import com.xcong.excoin.modules.member.entity.MemberCoinWithdrawEntity; @@ -126,14 +127,6 @@ */ @GetMapping("memberWithdrawCoin") public FebsResponse memberWithdrawCoin(MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request) { - String isInside = memberCoinWithdrawEntity.getIsInside(); - if(!"".equals(isInside) && isInside != null) { - if("1".equals(isInside)) { - memberCoinWithdrawEntity.setIsInside("Y"); - }else { - memberCoinWithdrawEntity.setIsInside("N"); - } - } Map<String, Object> data = getDataTable(memberService.findmemberWithdrawCoinListInPage(memberCoinWithdrawEntity, request)); return new FebsResponse().success().data(data); } @@ -158,4 +151,14 @@ return memberService.memberWithdrawCoinCancel(id); } + /** + * 用户详细信息---列表 + */ + @GetMapping("memberDataInfo") + public FebsResponse memberDataInfo(MemberEntity memberEntity, QueryRequest request) { + Map<String, Object> data = getDataTable(memberService.findMemberDataInfoDtoListInPage(memberEntity, request)); + return new FebsResponse().success().data(data); + } + + } diff --git a/src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java b/src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java index d665654..9329991 100644 --- a/src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java +++ b/src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java @@ -29,11 +29,13 @@ private final IMemberService memberService; - @GetMapping("memberDataInfo/{id}") + /** + * 基础数据 + * @return + */ + @GetMapping("memberDataInfo") @RequiresPermissions("memberDataInfo:view") - public String memberDataInfo(@PathVariable long id, Model model) { - List<MemberCoinChargeEntity> data = memberService.selectMemberDataInfoById(id); - model.addAttribute("memberCoinChargeEntity", data); + public String memberDataInfo() { return FebsUtil.view("modules/member/memberDataInfo"); } diff --git a/src/main/java/com/xcong/excoin/modules/member/dto/MemberDataInfoDto.java b/src/main/java/com/xcong/excoin/modules/member/dto/MemberDataInfoDto.java new file mode 100644 index 0000000..866b000 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/dto/MemberDataInfoDto.java @@ -0,0 +1,5 @@ +package com.xcong.excoin.modules.member.dto; + +public class MemberDataInfoDto { + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/dto/MemberDetailConfirmDto.java b/src/main/java/com/xcong/excoin/modules/member/dto/MemberDetailConfirmDto.java index a6b52b5..441b62b 100644 --- a/src/main/java/com/xcong/excoin/modules/member/dto/MemberDetailConfirmDto.java +++ b/src/main/java/com/xcong/excoin/modules/member/dto/MemberDetailConfirmDto.java @@ -10,4 +10,7 @@ @NotNull(message = "ID不能为空") private Long id; + @NotNull(message = "ID不能为空") + private int isok; + } diff --git a/src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java b/src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java index 7d4cdb7..30f4b47 100644 --- a/src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java +++ b/src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xcong.excoin.modules.member.entity.MemberEntity; +import com.xcong.excoin.modules.member.vo.MemberDataInfoVo; import com.xcong.excoin.modules.trademanage.vo.MemberAccountInfoVo; import org.apache.ibatis.annotations.Param; @@ -15,11 +16,47 @@ public interface MemberMapper extends BaseMapper<MemberEntity> { IPage<MemberEntity> selectMemberListInPage(Page<MemberEntity> page, @Param("record") MemberEntity memberEntity); + + IPage<MemberDataInfoVo> selectMemberDataInfoDtoListInPage(Page<MemberEntity> page, @Param("record") MemberEntity memberEntity); IPage<MemberAccountInfoVo> findMemberAccountInfoListInPage(Page<MemberEntity> page, @Param("record")MemberEntity memberEntity); String selectAgentForAccount(long memberId); String selectTradeSetting(); + + String selectMemberDataInfoCount(); + + String selectTotalAmountUsdtBForBasicRealData(); + + String selectTotalAmountUsdtSForBasicRealData(); + + String selectTotalAmountUsdtCZForBasicRealData(); + + String selectTotalAmountUsdtTXForBasicRealData(); + + String selectReturnMoneyForBasicRealData(); + + String selectClosingpriceForBasicRealData(); + + String selectSellClosingpriceForBasicRealData(); + + String selectRewardratioForBasicRealData(); + + String selectZCYHForBasicRealData(); + + String selectSFCCForBasicRealData(); + + String selectBBZHForBasicRealData(); + + String selectHYZHForBasicRealData(); + + String selectprepriceForBasicRealData(); + + String selectBBZCForBasicRealData(); + + String selectHYZCForBasicRealData(); + + String selectDLZCForBasicRealData(); } diff --git a/src/main/java/com/xcong/excoin/modules/member/service/IMemberService.java b/src/main/java/com/xcong/excoin/modules/member/service/IMemberService.java index 8f943e7..44f6018 100644 --- a/src/main/java/com/xcong/excoin/modules/member/service/IMemberService.java +++ b/src/main/java/com/xcong/excoin/modules/member/service/IMemberService.java @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.xcong.excoin.common.entity.FebsResponse; import com.xcong.excoin.common.entity.QueryRequest; +import com.xcong.excoin.modules.member.dto.MemberDataInfoDto; import com.xcong.excoin.modules.member.dto.MemberDetailConfirmDto; import com.xcong.excoin.modules.member.entity.MemberCoinChargeEntity; import com.xcong.excoin.modules.member.entity.MemberCoinWithdrawEntity; @@ -17,6 +18,7 @@ import com.xcong.excoin.modules.member.vo.MemberAuthenticationVo; import com.xcong.excoin.modules.member.vo.MemberCoinChargeVo; import com.xcong.excoin.modules.member.vo.MemberCoinWithdrawVo; +import com.xcong.excoin.modules.member.vo.MemberDataInfoVo; import com.xcong.excoin.modules.member.vo.MemberQuickBuySaleVo; import com.xcong.excoin.modules.member.vo.MemberQuickSaleVo; @@ -53,4 +55,6 @@ List<MemberCoinChargeEntity> selectMemberDataInfoById(long id); + IPage<MemberDataInfoVo> findMemberDataInfoDtoListInPage(MemberEntity memberEntity, QueryRequest request); + } diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java index d40d4dd..df88faf 100644 --- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java @@ -26,6 +26,7 @@ import com.xcong.excoin.modules.member.vo.MemberAuthenticationVo; import com.xcong.excoin.modules.member.vo.MemberCoinChargeVo; import com.xcong.excoin.modules.member.vo.MemberCoinWithdrawVo; +import com.xcong.excoin.modules.member.vo.MemberDataInfoVo; import com.xcong.excoin.modules.member.vo.MemberQuickBuySaleVo; import com.xcong.excoin.modules.member.vo.MemberQuickSaleVo; @@ -419,11 +420,14 @@ if(!MemberEntity.CERTIFY_STATUS_ING.equals(certifyStatus)) { return new FebsResponse().fail().message("只有【待审核】状态才能提交!"); } - MemberAuthenticationVo memberAuthenticationEntity = memberAuthenticationMapper.findMemberAuthenticationByMemberId(id); - selectById.setCertifyStatus(MemberEntity.CERTIFY_STATUS_Y); - selectById.setIdcardNo(memberAuthenticationEntity.getIdcardNo()); + if(memberDetailConfirmDto.getIsok() == 1) { + selectById.setCertifyStatus(MemberEntity.CERTIFY_STATUS_Y); + }else { + selectById.setCertifyStatus(MemberEntity.CERTIFY_STATUS_N); + } + selectById.setIdcardNo(memberAuthenticationEntity.getIdcardNo()); memberMapper.updateById(selectById); return new FebsResponse().success(); } @@ -433,8 +437,68 @@ Map<String, Object> columnMap = new HashMap<>(); columnMap.put("member_id", id); List<MemberCoinChargeEntity> selectByMap = memberCoinChargeMapper.selectByMap(columnMap); - // TODO Auto-generated method stub - return null; + return selectByMap; + } + + @Override + public IPage<MemberDataInfoVo> findMemberDataInfoDtoListInPage(MemberEntity memberEntity, + QueryRequest request) { + Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MemberDataInfoVo> selectMemberListInPage = memberMapper.selectMemberDataInfoDtoListInPage(page, memberEntity); + //USDT充币总额+USDT提币总额 + String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealData(); + String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealData(); + //USDT充值总额+USDT提现总额 + String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicRealData(); + String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicRealData(); + //佣金 + String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicRealData(); + //开仓手续费总额 + String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealData(); + //平仓总手续费 + String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealData(); + //总盈亏 + String rewardratioByMid = memberMapper.selectRewardratioForBasicRealData(); + //持仓人数 + String notNullNumber = memberMapper.selectSFCCForBasicRealData(); + //币币账户不为空的人数 + String walletNumber = memberMapper.selectBBZHForBasicRealData(); + //合约账户不为空的人数 + String walletCoinNumber = memberMapper.selectHYZHForBasicRealData(); + //持仓手续费 + String doingPrice = memberMapper.selectprepriceForBasicRealData(); + + //账户金额 + String walletNum = memberMapper.selectBBZCForBasicRealData(); + String walletCoinNum = memberMapper.selectHYZCForBasicRealData(); + String agentNum = memberMapper.selectDLZCForBasicRealData(); + + 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)); + List<MemberDataInfoVo> records = selectMemberListInPage.getRecords(); + for(MemberDataInfoVo memberDataInfoVo : records) { + memberDataInfoVo.setChargeUsdt(totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ)); + memberDataInfoVo.setAppealUsdt(totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX)); + memberDataInfoVo.setChargeCoin(totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB)); + memberDataInfoVo.setAppealCoin(totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS)); + memberDataInfoVo.setClosingPrice(closingpriceByMid == null ? "0" : closingpriceByMid); + memberDataInfoVo.setSellClosingPrice(sellClosingpriceByMid == null ? "0" : sellClosingpriceByMid); + memberDataInfoVo.setFee(returnMoneyByMid == null ? "0" : returnMoneyByMid); + memberDataInfoVo.setYingkui(rewardratioByMid == null ? "0" : rewardratioByMid); + memberDataInfoVo.setNotNullNumber(notNullNumber == null ? "0" : notNullNumber); + memberDataInfoVo.setWalletNumber(walletNumber == null ? "0" : walletNumber); + memberDataInfoVo.setWalletCoinNumber(walletCoinNumber == null ? "0" : walletCoinNumber); + memberDataInfoVo.setPlatformProfitAndLoss(platformProfitAndLoss == 0 ? "0" : platformProfitAndLoss+""); + memberDataInfoVo.setDoingPrice(doingPrice == null ? "0" : doingPrice); + memberDataInfoVo.setWalletNum(walletNum == null ? "0" : walletNum); + memberDataInfoVo.setWalletCoinNum(walletCoinNum == null ? "0" : walletCoinNum); + memberDataInfoVo.setAgentNum(agentNum == null ? "0" : agentNum); + } + selectMemberListInPage.setTotal(1); + return selectMemberListInPage; } } diff --git a/src/main/java/com/xcong/excoin/modules/member/vo/MemberDataInfoVo.java b/src/main/java/com/xcong/excoin/modules/member/vo/MemberDataInfoVo.java new file mode 100644 index 0000000..5d4a129 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/vo/MemberDataInfoVo.java @@ -0,0 +1,45 @@ +package com.xcong.excoin.modules.member.vo; + +import lombok.Data; +@Data +public class MemberDataInfoVo { + + private int memberCount;//注册人数 + private String notNullNumber;//持仓人数 + + private String walletNumber;//币币账户不为空的人数 + private String walletCoinNumber;//合约账户不为空的人数 + private String platformProfitAndLoss;//平台总盈亏 + + private String walletNum;//币币余额 + private String walletCoinNum;//合约余额 + private String agentNum;//代理账户余额 + + private double avalableCoin;//币币可用 + + private double totalCoin;//总资产 + + private double avalableContract;//合约可用 + + private double totalContract;//合约总 + + private double chargeUsdt;//充值USDT + + private double appealUsdt;//提现USDT + + private double chargeCoin;//充币 + + private double appealCoin;//提币 + + private String fee;//佣金 + + private String closingPrice;//开仓费 + + private String sellClosingPrice;//平仓费 + + private String doingPrice;//持仓费 + + private String yingkui; + + +} diff --git a/src/main/resources/mapper/modules/MemberCoinWithdrawMapper.xml b/src/main/resources/mapper/modules/MemberCoinWithdrawMapper.xml index 1bc3418..8782239 100644 --- a/src/main/resources/mapper/modules/MemberCoinWithdrawMapper.xml +++ b/src/main/resources/mapper/modules/MemberCoinWithdrawMapper.xml @@ -19,7 +19,8 @@ and s.status= #{record.status} </if> </if> - </where> + </where> + order by s.create_time desc </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/modules/MemberMapper.xml b/src/main/resources/mapper/modules/MemberMapper.xml index 0e7783d..9ee4ce5 100644 --- a/src/main/resources/mapper/modules/MemberMapper.xml +++ b/src/main/resources/mapper/modules/MemberMapper.xml @@ -61,5 +61,289 @@ <select id="selectTradeSetting" resultType="java.lang.String"> select profit_param from platform_trade_setting </select> - + + <select id="selectMemberDataInfoDtoListInPage" resultType="com.xcong.excoin.modules.member.vo.MemberDataInfoVo"> + select COUNT(m.id) as memberCount from member m + </select> + + <select id="selectTotalAmountUsdtBForBasicRealData" resultType="java.lang.String"> + SELECT + IFNULL(SUM(a.amount),'0') as amount + FROM + member_coin_charge a + WHERE + a.symbol = 'USDT' + AND a.member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + ) + </select> + <select id="selectTotalAmountUsdtSForBasicRealData" resultType="java.lang.String"> + SELECT + IFNULL(SUM(a.amount),'0') as amount + FROM + member_coin_withdraw a + WHERE + a. STATUS = 2 + AND a.is_inside = 'N' + AND a.member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + ) + </select> + + <select id="selectTotalAmountUsdtCZForBasicRealData" resultType="java.lang.String"> + SELECT + IFNULL(SUM(amount_usdt),'0') + FROM + member_quick_buy_sale + WHERE + order_type = 'B' + AND order_status = 3 + AND member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + ) + </select> + <select id="selectTotalAmountUsdtTXForBasicRealData" resultType="java.lang.String"> + SELECT + IFNULL(SUM(amount_usdt),'0') + FROM + member_quick_buy_sale + WHERE + order_type = 'S' + AND order_status = 2 + AND member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + ) + </select> + <select id="selectReturnMoneyForBasicRealData" resultType="java.lang.String"> + SELECT + IFNULL(SUM(s.amount),'0') + FROM + member_account_money_change s + WHERE + s.type = 3 + AND s.content LIKE '%佣金入账%' + AND s. STATUS = '1' + AND s.member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + ) + </select> + <select id="selectClosingpriceForBasicRealData" resultType="java.lang.String"> + SELECT + IFNULL(SUM(a.opening_fee_amount),'0') + FROM + contract_order a + WHERE + a.closing_type IN (2, 3) + and a.order_status = '1' + AND a.member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + ) + </select> + <select id="selectSellClosingpriceForBasicRealData" resultType="java.lang.String"> + SELECT + IFNULL(SUM(a.closing_fee_amount),'0') + FROM + contract_order a + WHERE + a.closing_type IN (4, 5, 6, 7, 8, 9) + and a.order_status = '1' + AND a.member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + ) + </select> + <select id="selectRewardratioForBasicRealData" resultType="java.lang.String"> + SELECT + IFNULL(SUM(a.reward_amount),'0') + FROM + contract_order a + WHERE + a.closing_type IN (4, 5, 6, 7, 8, 9) + and a.order_status = '1' + AND a.member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + AND a.member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + ) + ) + </select> + <select id="selectSFCCForBasicRealData" resultType="java.lang.String"> + SELECT + COUNT(b.id) + FROM + ( + SELECT + a.id + FROM + contract_order a + WHERE + a. closing_type IN (2, 3) + AND a.member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + ) + GROUP BY + a.member_id + ) b + </select> + <select id="selectBBZHForBasicRealData" resultType="java.lang.String"> + SELECT + COUNT(a.id) + FROM + member_wallet_coin a + WHERE + a.wallet_code = 'USDT' + AND a.available_balance > 1 + AND a.member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + ) + </select> + <select id="selectHYZHForBasicRealData" resultType="java.lang.String"> + SELECT + COUNT(a.id) + FROM + member_wallet_contract a + WHERE + a.wallet_code = 'USDT' + AND a.total_balance > 1 + AND a.member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + ) + </select> + <select id="selectprepriceForBasicRealData" resultType="java.lang.String"> + SELECT + IFNULL(SUM(a.hold_amount),'0') + FROM + contract_order a + WHERE + a.member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + ) + </select> + <select id="selectBBZCForBasicRealData" resultType="java.lang.String"> + SELECT + IFNULL(SUM(available_balance),'0') + FROM + member_wallet_coin + WHERE + wallet_code = 'USDT' + AND member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + ) + </select> + <select id="selectHYZCForBasicRealData" resultType="java.lang.String"> + SELECT + IFNULL(SUM(total_balance),'0') + FROM + member_wallet_contract + WHERE + member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + ) + </select> + <select id="selectDLZCForBasicRealData" resultType="java.lang.String"> + SELECT + IFNULL(SUM(total_balance),'0') + FROM + member_wallet_agent + WHERE + member_id NOT IN ( + SELECT + id + FROM + member + WHERE + account_type = '1' + AND account_status = '1' + ) + </select> + </mapper> \ No newline at end of file diff --git a/src/main/resources/templates/febs/views/modules/member/extractUsdt.html b/src/main/resources/templates/febs/views/modules/member/extractUsdt.html index 3d4a5a9..dcc6bec 100644 --- a/src/main/resources/templates/febs/views/modules/member/extractUsdt.html +++ b/src/main/resources/templates/febs/views/modules/member/extractUsdt.html @@ -17,7 +17,7 @@ <div class="layui-input-inline"> <select name="orderStatus"> <option value="0"></option> - <option value="1">待审核</option> + <option value="1">待付款</option> <option value="2">已付款</option> <option value="3">已审核</option> <option value="4">撤单</option> @@ -51,7 +51,7 @@ <script type="text/html" id="order-Status"> {{# var orderStatus = { - 1: {title: '待审核' , color: 'gray'}, + 1: {title: '待付款' , color: 'gray'}, 2: {title: '已付款' , color: 'red'}, 3: {title: '已审核' , color: 'green'}, 4: {title: '撤单' , color: 'gray'}, @@ -183,7 +183,7 @@ {field: 'bank', title: '所属银行', minWidth: 150,align:'center'}, {title: '操作', templet: function (d) { - if (d.orderStatus === 2) { + if (d.orderStatus === 1) { return '<a lay-event="confirm" shiro:hasPermission="user:delete">付款</a>' +'<i class="layui-icon febs-edit-area febs-blue"></i>' +'<a lay-event="cancel" shiro:hasPermission="user:delete">拒绝</a>' diff --git a/src/main/resources/templates/febs/views/modules/member/memberDataInfo.html b/src/main/resources/templates/febs/views/modules/member/memberDataInfo.html index b367d9a..8889780 100644 --- a/src/main/resources/templates/febs/views/modules/member/memberDataInfo.html +++ b/src/main/resources/templates/febs/views/modules/member/memberDataInfo.html @@ -1,65 +1,90 @@ -<div class="layui-fluid layui-anim febs-anim" id="febs-user" lay-title="用户详细信息"> +<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"> + </form> <table lay-filter="userTable" lay-data="{id: 'userTable'}"></table> </div> </div> </div> </div> </div> -<!-- 表格字段状态格式化 start --> -<script type="text/html" id="status"> - {{# - var status = { - 1: {title: '已到账' , color: 'green'}, - 0: {title: '已到账' }, - 2: {title: '已到账' }, - 3: {title: '已到账' }, - 4: {title: '已到账' } - }[d.status]; - }} - <span class="layui-badge febs-tag-{{status.color}}">{{ status.title }}</span> +<!-- 表格操作栏 start --> +<script type="text/html" id="user-option"> + <span shiro:lacksPermission="user:view,user:update,user:delete"> + <span class="layui-badge-dot febs-bg-orange"></span> 无权限 + </span> </script> - -<!-- 表格字段状态格式化 start --> - <!-- 表格操作栏 end --> <script data-th-inline="none" type="text/javascript"> // 引入组件并初始化 - layui.use(['jquery', 'form', 'table', 'febs'], function () { + layui.use(['dropdown', 'jquery', 'laydate', 'form', 'table', 'febs'], function () { var $ = layui.jquery, + laydate = layui.laydate, febs = layui.febs, form = layui.form, table = layui.table, + dropdown = layui.dropdown, $view = $('#febs-user'), - tableIns; + $reset = $view.find('#reset'), + $add = $view.find('#add'), + $searchForm = $view.find('form'), + sortObject = {field: 'title', type: null}, + tableIns + ; form.render(); + // 表格初始化 initTable(); - + + // 刷新按钮 + $reset.on('click', function () { + $searchForm[0].reset(); + sortObject.type = 'null'; + tableIns.reload({where: getQueryParams(), page: {curr: 1}, initSort: sortObject}); + }); + function initTable() { tableIns = febs.table.init({ elem: $view.find('table'), id: 'userTable', - url: ctx + 'member/memberApplyCoin', - totalRow: true, + url: ctx + 'member/memberDataInfo', cols: [[ - {field: 'phone', title: '手机号码111111', minWidth: 120,align:'left',totalRowText: '合计'}, - {field: 'email', title: '邮箱', minWidth: 200,align:'left'}, - {field: 'inviteId', title: '邀请码UID', minWidth: 80,align:'center'}, - {field: 'symbol', title: '币种', minWidth: 60,align:'center'}, - {field: 'tag', title: 'USDT类型', minWidth: 60,align:'center'}, - {field: 'amount', title: '充币数量', minWidth: 100,align:'center',totalRow: true}, - {field: 'lastAmount', title: '本次余额', minWidth: 100,align:'center'}, - {field: 'address', title: '平台钱包地址', minWidth: 280,align:'center'}, - {field: 'createTime', title: '创建时间', minWidth: 200,align:'center'}, - {title: '状态', templet: '#status', minWidth: 100,align:'center'} + {field: 'memberCount', title: '注册用户数', minWidth: 120,align:'center'}, + {field: 'notNullNumber', title: '持仓用户数', minWidth: 120,align:'center'}, + {field: 'walletNumber', title: '币币账户有余额个数', minWidth: 200,align:'center'}, + {field: 'walletNum', title: '币币账户余额', minWidth: 200,align:'center'}, + {field: 'walletCoinNumber', title: '合约账户有余额个数', minWidth: 200,align:'center'}, + {field: 'agentNum', title: '合约账户余额', minWidth: 200,align:'center'}, + {field: 'platformProfitAndLoss', title: '平台剩余USDT', + templet: function (d) { + if (d.platformProfitAndLoss > '0') { + return '<span style="color:green;">'+d.platformProfitAndLoss+'</span>' + } else { + return '<span style="color:red;">'+d.platformProfitAndLoss+'</span>' + } + }, minWidth: 200,align:'center'}, + {field: 'chargeCoin', title: '充币', minWidth: 200,align:'center'}, + {field: 'appealCoin', title: '提币', minWidth: 200,align:'center'}, + {field: 'chargeUsdt', title: 'usdt充值', minWidth: 200,align:'center'}, + {field: 'appealUsdt', title: 'usdt提现', minWidth: 200,align:'center'}, + {field: 'fee', title: '佣金', minWidth: 200,align:'center'}, + {field: 'closingPrice', title: '开仓手续费', minWidth: 200,align:'center'}, + {field: 'sellClosingPrice', title: '平仓手续费', minWidth: 200,align:'center'}, + {field: 'doingPrice', title: '持仓手续费', minWidth: 200,align:'center'}, + {field: 'yingkui', title: '订单盈亏', + templet: function (d) { + if (d.yingkui > '0') { + return '<span style="color:green;">'+d.yingkui+'</span>' + } else { + return '<span style="color:red;">'+d.yingkui+'</span>' + } + }, minWidth: 200,align:'center'} ]] }); } - }) </script> \ No newline at end of file diff --git a/src/main/resources/templates/febs/views/modules/member/memberDetail.html b/src/main/resources/templates/febs/views/modules/member/memberDetail.html index b11605a..2e2c478 100644 --- a/src/main/resources/templates/febs/views/modules/member/memberDetail.html +++ b/src/main/resources/templates/febs/views/modules/member/memberDetail.html @@ -78,6 +78,13 @@ <img alt="头像" data-th-src="${member.idcardImageInHand}"> </div> </div> + <div class="layui-form-item"> + <label class="layui-form-label febs-form-item-require">是否同意:</label> + <div class="layui-input-block"> + <input type="radio" name="isok" value="1" title="同意"> + <input type="radio" name="isok" value="0" title="拒绝" checked=""> + </div> + </div> <div class="layui-form-item febs-hide"> <button class="layui-btn" lay-submit="" lay-filter="user-update-form-submit" id="submit"></button> </div> diff --git a/src/main/resources/templates/febs/views/modules/member/withdrawCoin.html b/src/main/resources/templates/febs/views/modules/member/withdrawCoin.html index 7ce324c..e0fdc2f 100644 --- a/src/main/resources/templates/febs/views/modules/member/withdrawCoin.html +++ b/src/main/resources/templates/febs/views/modules/member/withdrawCoin.html @@ -28,8 +28,8 @@ <div class="layui-input-inline"> <select name="isInsideOption"> <option value=""></option> - <option value="1">是</option> - <option value="0">否</option> + <option value="Y">是</option> + <option value="N">否</option> </select> </div> </div> @@ -51,29 +51,6 @@ </div> </div> </div> -<!-- 表格字段状态格式化 start --> -<script type="text/html" id="isInside"> - {{# - var isInside = { - Y: {title: '是' , color: 'red'}, - N: {title: '否' , color: 'green'}, - }[d.isInside]; - }} - <span class="layui-badge febs-tag-{{isInside.color}}">{{ isInside.title }}</span> -</script> -<script type="text/html" id="status"> - {{# - var status = { - 1: {title: '等待审核' , color: 'blue'}, - 2: {title: '同意', color: 'green'}, - 3: {title: '拒绝' , color: 'red'} - }[d.status]; - }} - <span class="layui-badge febs-tag-{{status.color}}">{{ status.title }}</span> -</script> - -<!-- 表格字段状态格式化 start --> - <!-- 表格操作栏 start --> <script type="text/html" id="user-option"> <span shiro:lacksPermission="user:view,user:update,user:delete"> @@ -129,11 +106,6 @@ cancelUsers(data.id); }); } - if (layEvent === 'see') { - febs.modal.open( '用户详细信息', 'modules/member/memberDataInfo/' + data.id, { - maxmin: true, - }); - } }); function confirmUsers(id) { @@ -174,18 +146,34 @@ {field: 'email', title: '邮箱', minWidth: 200,align:'left'}, {field: 'inviteId', title: '邀请码UID', templet: function (d) { - return '<a lay-event="see" shiro:hasPermission="user:delete">'+d.inviteId+'</a>' + return '<a lay-event="see">'+d.inviteId+'</a>' }, minWidth: 80,align:'center'}, {field: 'symbol', title: '币种', minWidth: 100,align:'center'}, {field: 'amount', title: '提币数量', minWidth: 120,align:'center' ,totalRow: true}, {field: 'address', title: '提币地址', minWidth: 300,align:'center'}, {field: 'feeAmount', title: '提币手续费', minWidth: 100,align:'center', totalRow: true}, {field: 'createTime', title: '提币时间', minWidth: 180,align:'center'}, - {title: '内部转账', templet: '#isInside', minWidth: 100,align:'center'}, - {title: '状态', templet: '#status', minWidth: 100,align:'center'}, + {field: 'isInside', title: '内部转账', + templet: function (d) { + if (d.isInside === 'Y') { + return '<span style="color:red;">是</span>' + } else { + return '<span style="color:green;">否</span>' + } + },minWidth: 100,align:'center'}, + {field: 'status', title: '状态', + templet: function (d) { + if (d.status === 1) { + return '<span style="color:blue;"> 等待审核 </span>' + } else if (d.status === 2) { + return '<span style="color:green;">同意 </span>' + } else { + return '<span style="color:red;">拒绝</span>' + } + },minWidth: 100,align:'center'}, {title: '操作', templet: function (d) { - if (d.orderStatus === 1) { + if (d.status === 1) { return '<a lay-event="confirm" shiro:hasPermission="user:delete">确认</a>' +'<i class="layui-icon febs-edit-area febs-blue"></i>' +'<a lay-event="cancel" shiro:hasPermission="user:delete">拒绝</a>' -- Gitblit v1.9.1