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">&#xe7a4;</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">&#xe7a4;</i>'
                             	+'<a lay-event="cancel" shiro:hasPermission="user:delete">拒绝</a>'

--
Gitblit v1.9.1