From cc9d558c8cda42d53be7b4545d2f33db26edf777 Mon Sep 17 00:00:00 2001
From: gao <gaoleox@163>
Date: Thu, 28 May 2020 16:46:18 +0800
Subject: [PATCH] Merge branch 'master' of https://chonggaoxiao:xcg523511090712@gitee.com/chonggaoxiao/new_excoin.git

---
 src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinsDao.java                                |    4 
 src/main/java/com/xcong/excoin/modules/contract/entity/ContractEntrustOrderEntity.java            |   76 ++
 src/main/java/com/xcong/excoin/modules/contract/entity/ContractHoldOrderEntity.java               |  110 +++
 src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java                                         |   50 +
 src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java                         |   10 
 src/main/java/com/xcong/excoin/modules/contract/service/ContractEntrustOrderService.java          |   14 
 src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberDelPaymethodDto.java            |   17 
 src/main/java/com/xcong/excoin/utils/TypeJudgeUtils.java                                          |   28 
 src/main/java/com/xcong/excoin/modules/member/entity/MemberAuthenticationEntity.java              |  121 +-
 src/main/resources/mapper/platform/TradeSettingDao.xml                                            |   10 
 src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java                     |   10 
 src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberPaymethodDto.java               |   52 +
 src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberAuthenticationDto.java          |   45 +
 src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdatePwdDto.java               |   31 
 src/main/java/com/xcong/excoin/modules/platform/entity/PlatformTradeSettingEntity.java            |    2 
 src/main/java/com/xcong/excoin/modules/contract/service/ContractOrderService.java                 |   10 
 src/main/java/com/xcong/excoin/modules/member/dao/MemberPaymentMethodDao.java                     |    8 
 src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberForgetPwdDto.java               |   31 
 src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java                |   21 
 src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java    |   13 
 src/main/resources/mapper/contract/ContractEntrustOrderDao.xml                                    |    5 
 src/main/resources/logback-spring.xml                                                             |    2 
 src/main/java/com/xcong/excoin/modules/contract/parameter/dto/SubmitEntrustDto.java               |   42 +
 src/main/java/com/xcong/excoin/modules/platform/entity/PlatformSymbolsSkuEntity.java              |    6 
 src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java                                  |   10 
 src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml                                    |    2 
 src/main/resources/mapper/contract/ContractHoldOrderDao.xml                                       |    5 
 src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java                   |  147 ++++
 src/main/resources/mapper/member/MemberPaymentMethodDao.xml                                       |    6 
 src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdateTradePwdDto.java          |   31 
 src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberInfoVo.java                      |   23 
 src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java                   |    4 
 src/main/resources/mapper/member/MemberDao.xml                                                    |    1 
 src/main/java/com/xcong/excoin/modules/platform/dao/TradeSettingDao.java                          |   22 
 src/main/java/com/xcong/excoin/modules/member/dao/MemberDao.java                                  |   31 
 src/main/java/com/xcong/excoin/modules/member/dao/MemberAuthenticationDao.java                    |   10 
 src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailListVo.java       |   16 
 src/main/resources/mapper/walletCoinOrder/OrderCoinsDao.xml                                       |    1 
 src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinVo.java                   |    6 
 pom.xml                                                                                           |    1 
 src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinListVo.java               |   16 
 src/main/java/com/xcong/excoin/modules/contract/controller/ContractHoldOrderController.java       |   17 
 src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java                  |   10 
 src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailVo.java           |   46 +
 src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java |   87 ++
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java                 |  369 ++++++++++
 src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractOrderServiceImpl.java        |   13 
 src/main/java/com/xcong/excoin/modules/member/entity/MemberPaymentMethodEntity.java               |   56 +
 src/main/resources/mapper/contract/ContractOrderDao.xml                                           |    5 
 src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java                     |    2 
 src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberTradersPwdDto.java              |   31 
 src/main/java/com/xcong/excoin/modules/platform/dao/CnyUsdtExchangeDao.java                       |    2 
 src/main/java/com/xcong/excoin/modules/contract/controller/ContractEntrustOrderController.java    |   49 +
 src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java           |   17 
 src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java                    |  217 +++++
 src/main/java/com/xcong/excoin/modules/platform/entity/PlatformLeverageSettingEntity.java         |    2 
 /dev/null                                                                                         |   22 
 src/main/resources/mapper/member/MemberAuthenticationDao.xml                                      |    9 
 src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java             |   10 
 src/main/java/com/xcong/excoin/utils/CacheSettingUtils.java                                       |   82 ++
 src/main/java/com/xcong/excoin/modules/member/service/MemberService.java                          |   62 +
 61 files changed, 2,006 insertions(+), 152 deletions(-)

diff --git a/pom.xml b/pom.xml
index 0f69864..8ea3105 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,6 +29,7 @@
         <fastjson.version>1.2.61</fastjson.version>
         <netty.version>4.1.33.Final</netty.version>
         <dom4j.version>1.6.1</dom4j.version>
+        <m2e.apt.activation>jdt_apt</m2e.apt.activation>
         <okhttp.version>3.6.0</okhttp.version>
         <aliyun-oss.version>3.8.0</aliyun-oss.version>
     </properties>
diff --git a/src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java b/src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java
index 816fbec..ca590aa 100644
--- a/src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java
+++ b/src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java
@@ -25,5 +25,15 @@
         this.value = value;
     }
 
+    public static String getNameByValue(String value) {
+        String name = "";
+        for (SymbolEnum symbolEnum : values()) {
+            if (value.equals(symbolEnum.getValue())){
+                name = symbolEnum.getName();
+                break;
+            }
+        }
+        return name;
+    }
 
 }
diff --git a/src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java b/src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java
index 06a0cc7..5879cf9 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java
@@ -18,7 +18,7 @@
 import com.xcong.excoin.modules.coin.parameter.vo.MemberSelectSymbolsVo;
 import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinDealListVo;
 import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinDealVo;
-import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinVo;
+import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinListVo;
 import com.xcong.excoin.modules.coin.parameter.vo.TransactionPageOfWalletCoinVo;
 import com.xcong.excoin.modules.coin.service.OrderCoinService;
 
@@ -75,7 +75,7 @@
 	 * @return
 	 */
 	@ApiOperation(value = "获取委托单数据", notes = "获取委托单数据")
-	@ApiResponses({@ApiResponse( code = 200, message = "success", response = OrderWalletCoinVo.class)})
+	@ApiResponses({@ApiResponse( code = 200, message = "success", response = OrderWalletCoinListVo.class)})
 	@ApiImplicitParams({
 		@ApiImplicitParam(name = "symbol", value = "币种", required = true, dataType = "String", paramType="query"),
 		@ApiImplicitParam(name = "status", value = "状态 1:委托中2:撤单3:已成交", required = true, dataType = "int", paramType="query")
diff --git a/src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinsDao.java b/src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinsDao.java
index 122ad8f..1c1f68a 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinsDao.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinsDao.java
@@ -1,5 +1,7 @@
 package com.xcong.excoin.modules.coin.dao;
 
+import java.util.List;
+
 import org.apache.ibatis.annotations.Param;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -9,7 +11,7 @@
 	
 	long getOrderCountByToday(@Param("now")String now,@Param("tomorrow") String tomorrow);
 
-	OrderCoinsEntity findCoinOrderListByMemberIdAndSysmbol(@Param("memberId")Long memberId,@Param("symbol")String symbol,@Param("status")int status);
+	List<OrderCoinsEntity> findCoinOrderListByMemberIdAndSysmbol(@Param("memberId")Long memberId,@Param("symbol")String symbol,@Param("status")int status);
 
 	OrderCoinsEntity findWalletCoinOrderByOrderNo(@Param("orderNo")String orderNo);
 }
diff --git a/src/main/java/com/xcong/excoin/modules/coin/dao/platform/TradeSettingDao.java b/src/main/java/com/xcong/excoin/modules/coin/dao/platform/TradeSettingDao.java
deleted file mode 100644
index f68b080..0000000
--- a/src/main/java/com/xcong/excoin/modules/coin/dao/platform/TradeSettingDao.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.xcong.excoin.modules.coin.dao.platform;
-
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.xcong.excoin.modules.coin.entity.PlatformLeverageSettingEntity;
-import com.xcong.excoin.modules.coin.entity.PlatformSymbolsSku;
-import com.xcong.excoin.modules.coin.entity.PlatformTradeSettingEntity;
-
-public interface TradeSettingDao extends BaseMapper<PlatformTradeSettingEntity> {
-
-	PlatformTradeSettingEntity findTradeSetting();
-
-	PlatformSymbolsSku findSymbolSkubySymbol(@Param("symbol") String symbol);
-	
-	List<PlatformSymbolsSku> findAllSymbolSkubySymbol();
-
-	List<PlatformLeverageSettingEntity> findLeverageSetting();
-
-}
diff --git a/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinListVo.java b/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinListVo.java
new file mode 100644
index 0000000..f85f3ee
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinListVo.java
@@ -0,0 +1,16 @@
+package com.xcong.excoin.modules.coin.parameter.vo;
+
+import java.util.List;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "OrderWalletCoinListVo", description = "委托单返回")
+public class OrderWalletCoinListVo {
+	
+	@ApiModelProperty(value = "委托单")
+	private List<OrderWalletCoinVo> orderWalletCoinVo;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinVo.java b/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinVo.java
index f1e9dfb..aaa695a 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinVo.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinVo.java
@@ -22,6 +22,12 @@
 	 */
 	@ApiModelProperty(value = "币种")
 	private String symbol;
+
+	/**
+	 * 订单类型 1、买入2、卖出
+	 */
+	@ApiModelProperty(value = "订单类型")
+	private Integer orderType;
 	/**
 	 * 市场价
 	 */
diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java
index 89e583b..719b6a8 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java
@@ -13,7 +13,6 @@
 import com.xcong.excoin.common.enumerates.MemberWalletCoinEnum;
 import com.xcong.excoin.common.response.Result;
 import com.xcong.excoin.modules.coin.dao.MemberAccountMoneyChangeDao;
-import com.xcong.excoin.modules.coin.dao.platform.CnyUsdtExchangeDao;
 import com.xcong.excoin.modules.coin.entity.CnyUsdtExchange;
 import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange;
 import com.xcong.excoin.modules.coin.parameter.vo.MemberAccountMoneyChangeInfoVo;
@@ -28,6 +27,7 @@
 import com.xcong.excoin.modules.member.entity.MemberWalletAgentEntity;
 import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity;
 import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity;
+import com.xcong.excoin.modules.platform.dao.CnyUsdtExchangeDao;
 import com.xcong.excoin.utils.MessageSourceUtils;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java
index d3aa7ad..01834ca 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java
@@ -23,24 +23,25 @@
 import com.xcong.excoin.modules.coin.dao.MemberSelectSymbolsDao;
 import com.xcong.excoin.modules.coin.dao.OrderCoinDealDao;
 import com.xcong.excoin.modules.coin.dao.OrderCoinsDao;
-import com.xcong.excoin.modules.coin.dao.platform.CnyUsdtExchangeDao;
-import com.xcong.excoin.modules.coin.dao.platform.TradeSettingDao;
 import com.xcong.excoin.modules.coin.entity.CnyUsdtExchange;
 import com.xcong.excoin.modules.coin.entity.MemberAccountFlowEntity;
 import com.xcong.excoin.modules.coin.entity.OrderCoinsDealEntity;
 import com.xcong.excoin.modules.coin.entity.OrderCoinsEntity;
-import com.xcong.excoin.modules.coin.entity.PlatformTradeSettingEntity;
 import com.xcong.excoin.modules.coin.mapper.OrderWalletCoinDealMapper;
 import com.xcong.excoin.modules.coin.mapper.OrderWalletCoinMapper;
 import com.xcong.excoin.modules.coin.parameter.vo.MemberSelectSymbolsVo;
 import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinDealListVo;
 import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinDealVo;
+import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinListVo;
 import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinVo;
 import com.xcong.excoin.modules.coin.parameter.vo.TransactionPageOfWalletCoinVo;
 import com.xcong.excoin.modules.coin.service.OrderCoinService;
 import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao;
 import com.xcong.excoin.modules.member.entity.MemberSelectSymbolsEntity;
 import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity;
+import com.xcong.excoin.modules.platform.dao.CnyUsdtExchangeDao;
+import com.xcong.excoin.modules.platform.dao.TradeSettingDao;
+import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity;
 import com.xcong.excoin.utils.MessageSourceUtils;
 
 import cn.hutool.core.collection.CollUtil;
@@ -304,10 +305,18 @@
 	public Result getEntrustWalletCoinOrder(String symbol, Integer status) {
 		//获取用户ID
 		Long memberId = LoginUserUtils.getAppLoginUser().getId();
+		OrderWalletCoinListVo orderWalletCoinListVo = new OrderWalletCoinListVo();
 		
-		OrderCoinsEntity orderCoin = orderCoinsDao.findCoinOrderListByMemberIdAndSysmbol(memberId, symbol, status);
-		OrderWalletCoinVo entityToVo = OrderWalletCoinMapper.INSTANCE.entityToVo(orderCoin);
-		return Result.ok(entityToVo);
+		List<OrderWalletCoinVo> arrayList = new ArrayList<>();
+		List<OrderCoinsEntity> findCoinOrderListByMemberIdAndSysmbol = orderCoinsDao.findCoinOrderListByMemberIdAndSysmbol(memberId, symbol, status);
+		if(CollUtil.isNotEmpty(findCoinOrderListByMemberIdAndSysmbol)) {
+			for(OrderCoinsEntity orderCoinsEntity : findCoinOrderListByMemberIdAndSysmbol) {
+				OrderWalletCoinVo entityToVo = OrderWalletCoinMapper.INSTANCE.entityToVo(orderCoinsEntity);
+				arrayList.add(entityToVo);
+			}
+		}
+		orderWalletCoinListVo.setOrderWalletCoinVo(arrayList);
+		return Result.ok(arrayList);
 	}
 
 	@Override
diff --git a/src/main/java/com/xcong/excoin/modules/contract/controller/ContractEntrustOrderController.java b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractEntrustOrderController.java
new file mode 100644
index 0000000..1fa881b
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractEntrustOrderController.java
@@ -0,0 +1,49 @@
+package com.xcong.excoin.modules.contract.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.xcong.excoin.common.enumerates.SymbolEnum;
+import com.xcong.excoin.common.response.Result;
+import com.xcong.excoin.modules.contract.parameter.dto.SubmitEntrustDto;
+import com.xcong.excoin.modules.contract.service.ContractEntrustOrderService;
+import com.xcong.excoin.utils.TypeJudgeUtils;
+import com.xcong.excoin.utils.api.response.Symbol;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * 合约委托订单controller
+ *
+ * @author wzy
+ * @date 2020-05-27
+ **/
+@Slf4j
+@Api(value = "ContractEntrustOrderController", tags = "合约委托订单接口类")
+@RestController
+@RequestMapping(value = "/api/contractEntrust")
+public class ContractEntrustOrderController {
+
+    @Resource
+    private ContractEntrustOrderService contractEntrustOrderService;
+
+    @ApiOperation(value = "合约提交委托订单", notes = "提交委托订单")
+    @PostMapping(value = "/submitEntrustOrder")
+    public Result submitEntrustOrder(@RequestBody @Validated SubmitEntrustDto submitEntrustDto) {
+        if (StrUtil.isBlank(SymbolEnum.getNameByValue(submitEntrustDto.getSymbol()))){
+            return Result.fail("非法币种");
+        }
+
+        if (!TypeJudgeUtils.entrustType(submitEntrustDto.getEntrustType())) {
+            return Result.fail("非法类型");
+        }
+
+        return Result.ok("123");
+    }
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/controller/ContractHoldOrderController.java b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractHoldOrderController.java
new file mode 100644
index 0000000..71fafda
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractHoldOrderController.java
@@ -0,0 +1,17 @@
+package com.xcong.excoin.modules.contract.controller;
+
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author wzy
+ * @date 2020-05-27
+ **/
+@Slf4j
+@Api(value = "ContractHoldOrderController", tags = "合约持仓订单接口类")
+@RestController
+@RequestMapping(value = "/api/contractHold")
+public class ContractHoldOrderController {
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java
new file mode 100644
index 0000000..518bbcf
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java
@@ -0,0 +1,17 @@
+package com.xcong.excoin.modules.contract.controller;
+
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author wzy
+ * @date 2020-05-27
+ **/
+@Slf4j
+@Api(value = "ContractOrderController", tags = "合约订单历史接口类")
+@RestController
+@RequestMapping(value = "/api/contractOrder")
+public class ContractOrderController {
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java
new file mode 100644
index 0000000..14a3843
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java
@@ -0,0 +1,10 @@
+package com.xcong.excoin.modules.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.contract.entity.ContractEntrustOrderEntity;
+
+/**
+ * @author helius
+ */
+public interface ContractEntrustOrderDao extends BaseMapper<ContractEntrustOrderEntity> {
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java
new file mode 100644
index 0000000..c5e8439
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java
@@ -0,0 +1,10 @@
+package com.xcong.excoin.modules.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity;
+
+/**
+ * @author helius
+ */
+public interface ContractHoldOrderDao extends BaseMapper<ContractHoldOrderEntity> {
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java
new file mode 100644
index 0000000..90694a5
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java
@@ -0,0 +1,10 @@
+package com.xcong.excoin.modules.contract.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.contract.entity.ContractOrderEntity;
+
+/**
+ * @author helius
+ */
+public interface ContractOrderDao extends BaseMapper<ContractOrderEntity> {
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/entity/ContractEntrustOrderEntity.java b/src/main/java/com/xcong/excoin/modules/contract/entity/ContractEntrustOrderEntity.java
new file mode 100644
index 0000000..6e2e8d2
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/entity/ContractEntrustOrderEntity.java
@@ -0,0 +1,76 @@
+package com.xcong.excoin.modules.contract.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.xcong.excoin.common.system.base.BaseEntity;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author wzy
+ * @date 2020-05-27
+ **/
+@Data
+@TableName("contract_entrust_order")
+public class ContractEntrustOrderEntity extends BaseEntity {
+
+    public static final int ENTRUST_TYPE_OPEN_MORE = 1;
+
+    public static final int ENTRUST_TYPE_OPEN_LESS = 2;
+
+    public static final int ENTRUST_TYPE_CLOSE_MORE = 3;
+
+    public static final int ENTRUST_TYPE_CLOSE_LESS = 4;
+
+
+    /**
+     * 会员ID
+     */
+    private Long memberId;
+
+    /**
+     * 订单编号
+     */
+    private String orderNo;
+
+    /**
+     * 仓位类型 1逐仓2全仓
+     */
+    private int positionType;
+
+    /**
+     * 委托类型 1开多,2开空,3平多,4平空
+     */
+    private int entrustType;
+
+    /**
+     * 委托价格
+     */
+    private BigDecimal entrustPrice;
+
+    /**
+     * 币种
+     */
+    private String symbol;
+
+    /**
+     * 数量
+     */
+    private int symbolCnt;
+
+    /**
+     * 币种规格
+     */
+    private Long symbolSku;
+
+    /**
+     * 杠杆倍率
+     */
+    private int leverRatio;
+
+    /**
+     * 保证金
+     */
+    private BigDecimal bondAmount;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/entity/ContractHoldOrderEntity.java b/src/main/java/com/xcong/excoin/modules/contract/entity/ContractHoldOrderEntity.java
new file mode 100644
index 0000000..82e377e
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/entity/ContractHoldOrderEntity.java
@@ -0,0 +1,110 @@
+package com.xcong.excoin.modules.contract.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.xcong.excoin.common.system.base.BaseEntity;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 合约持仓订单表
+ *
+ * @author wzy
+ * @date 2020-05-27
+ **/
+@Data
+@TableName("contract_hold_order")
+public class ContractHoldOrderEntity extends BaseEntity {
+
+    /**
+     * 会员Id
+     */
+    private Long memberId;
+
+    /**
+     * 订单编号
+     */
+    private String orderNo;
+
+    /**
+     * 仓位类型 1-逐仓 2-全仓
+     */
+    private int potionType;
+
+    /**
+     * 交易类型 1-市价 2-限价
+     */
+    private int tradeType;
+
+    /**
+     * 币种
+     */
+    private String symbol;
+
+    /**
+     * 手数
+     */
+    private int symbolCnt;
+
+    /**
+     * 可平张数(仅全仓模式)
+     */
+    private int symbolCntSale;
+
+    /**
+     * 币种规格
+     */
+    private Long symbolSku;
+
+    /**
+     * 开仓价
+     */
+    private BigDecimal openingPrice;
+
+    /**
+     * 开仓类型 1-开多 2-开多
+     */
+    private int openingType;
+
+    /**
+     * 开仓手续费
+     */
+    private BigDecimal openingFeeAmount;
+
+    /**
+     * 保证金
+     */
+    private BigDecimal bondPrice;
+
+    /**
+     * 杠杆倍率
+     */
+    private int leverRatio;
+
+    /**
+     * 市场价
+     */
+    private BigDecimal markPrice;
+
+    /**
+     * 止损价
+     */
+    private BigDecimal stopLossPrice;
+
+    /**
+     * 止盈价
+     */
+    private BigDecimal stopProfitPrice;
+
+    /**
+     * 预付款金额
+     */
+    private BigDecimal prePaymentAmount;
+
+    /**
+     * 预估强平价
+     */
+    private BigDecimal forceClosingPrice;
+
+    private int operateNo;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java b/src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java
new file mode 100644
index 0000000..59b0212
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java
@@ -0,0 +1,147 @@
+package com.xcong.excoin.modules.contract.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.xcong.excoin.common.system.base.BaseEntity;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 合约订单历史表
+ *
+ * @author wzy
+ * @date 2020-05-27
+ **/
+@Data
+@TableName("contract_order_entity")
+public class ContractOrderEntity extends BaseEntity {
+
+    /**
+     * 会员Id
+     */
+    private Long memberId;
+
+    /**
+     * 订单编号
+     */
+    private String orderNo;
+
+    /**
+     * 仓位类型 1-逐仓 2-全仓
+     */
+    private int potionType;
+
+    /**
+     * 交易类型 1-市价 2-限价
+     */
+    private int tradeType;
+
+    /**
+     * 订单类型 - 0撤单,1开多,2开空,3平多,4平空,5委托开多,6委托开空,7委托平多,8委托平空,9爆仓平多,10爆仓平空
+     */
+    private int orderType;
+
+    /**
+     * 委托开仓价
+     */
+    private BigDecimal entrustOpeningPrice;
+
+    /**
+     * 委托时间
+     */
+    private Date entrustTime;
+
+    /**
+     * 币种
+     */
+    private String symbol;
+
+    /**
+     * 手数
+     */
+    private int symbolCnt;
+
+    /**
+     * 币种规格
+     */
+    private Long symbolSku;
+
+    /**
+     * 平仓价
+     */
+    private BigDecimal closingPrice;
+
+    /**
+     * 平仓手续费
+     */
+    private BigDecimal closingFeeAmount;
+
+    /**
+     * 平仓时间
+     */
+    private Date closingTime;
+
+    /**
+     * 杠杆倍率
+     */
+    private int leverRatio;
+
+    /**
+     * 止损价
+     */
+    private BigDecimal stopLossPrice;
+
+    /**
+     * 止盈价
+     */
+    private BigDecimal stopProfitPrice;
+
+    /**
+     * 盈亏金额
+     */
+    private BigDecimal rewardAmount;
+
+    /**
+     * 盈亏比例
+     */
+    private BigDecimal rewardRatio;
+
+    /**
+     * 开仓价
+     */
+    private BigDecimal openingPrice;
+
+    /**
+     * 开仓手续费
+     */
+    private BigDecimal openingFeeAmount;
+
+    /**
+     * 预付款金额
+     */
+    private BigDecimal prePaymentAmount;
+
+    /**
+     * 保证金
+     */
+    private BigDecimal bondAmount;
+
+    /**
+     * 市场价
+     */
+    private BigDecimal markPrice;
+
+    /**
+     * 预估强平价
+     */
+    private BigDecimal forceClosingPrice;
+
+    /**
+     * 持仓费
+     */
+    private BigDecimal holdAmount;
+
+    private int operateNo;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/SubmitEntrustDto.java b/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/SubmitEntrustDto.java
new file mode 100644
index 0000000..bf588cb
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/SubmitEntrustDto.java
@@ -0,0 +1,42 @@
+package com.xcong.excoin.modules.contract.parameter.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+
+/**
+ * @author wzy
+ * @date 2020-05-27
+ **/
+@Data
+@ApiModel(value = "SubmitEntrustDto", description = "提交委托订单接口接受类")
+public class SubmitEntrustDto {
+
+    @NotNull()
+    @Min(1)
+    @ApiModelProperty(value = "委托价", example = "9000.00")
+    private BigDecimal entrustPrice;
+
+    @NotNull
+    @ApiModelProperty(value = "委托类型 1开多 2开空 3平多 4平空", example = "1")
+    private int entrustType;
+
+    @NotBlank
+    @ApiModelProperty(value = "币种", example = "BTC/USDT")
+    private String symbol;
+
+    @NotNull
+    @Min(1)
+    @ApiModelProperty(value = "币种数量", example = "1")
+    private int symbolCnt;
+
+    @NotNull
+    @ApiModelProperty(value = "杠杆倍率", example = "100")
+    private int leverRatio;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/ContractEntrustOrderService.java b/src/main/java/com/xcong/excoin/modules/contract/service/ContractEntrustOrderService.java
new file mode 100644
index 0000000..3521f3b
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/ContractEntrustOrderService.java
@@ -0,0 +1,14 @@
+package com.xcong.excoin.modules.contract.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xcong.excoin.common.response.Result;
+import com.xcong.excoin.modules.contract.entity.ContractEntrustOrderEntity;
+import com.xcong.excoin.modules.contract.parameter.dto.SubmitEntrustDto;
+
+/**
+ * @author helius
+ */
+public interface ContractEntrustOrderService extends IService<ContractEntrustOrderEntity> {
+
+    public Result addContractEntrustOrder(SubmitEntrustDto submitEntrustDto);
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java b/src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java
new file mode 100644
index 0000000..bfb89a8
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java
@@ -0,0 +1,10 @@
+package com.xcong.excoin.modules.contract.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity;
+
+/**
+ * @author helius
+ */
+public interface ContractHoldOrderService extends IService<ContractHoldOrderEntity> {
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/ContractOrderService.java b/src/main/java/com/xcong/excoin/modules/contract/service/ContractOrderService.java
new file mode 100644
index 0000000..47a59b5
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/ContractOrderService.java
@@ -0,0 +1,10 @@
+package com.xcong.excoin.modules.contract.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xcong.excoin.modules.contract.entity.ContractOrderEntity;
+
+/**
+ * @author helius
+ */
+public interface ContractOrderService extends IService<ContractOrderEntity> {
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java
new file mode 100644
index 0000000..2f55f16
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java
@@ -0,0 +1,87 @@
+package com.xcong.excoin.modules.contract.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xcong.excoin.common.LoginUserUtils;
+import com.xcong.excoin.common.response.Result;
+import com.xcong.excoin.modules.contract.dao.ContractEntrustOrderDao;
+import com.xcong.excoin.modules.contract.entity.ContractEntrustOrderEntity;
+import com.xcong.excoin.modules.contract.parameter.dto.SubmitEntrustDto;
+import com.xcong.excoin.modules.contract.service.ContractEntrustOrderService;
+import com.xcong.excoin.modules.member.dao.MemberWalletContractDao;
+import com.xcong.excoin.modules.member.entity.MemberEntity;
+import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity;
+import com.xcong.excoin.utils.CacheSettingUtils;
+import com.xcong.excoin.utils.CoinTypeConvert;
+import com.xcong.excoin.utils.RedisUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+
+/**
+ * @author wzy
+ * @date 2020-05-27
+ **/
+@Slf4j
+@Service
+public class ContractEntrustOrderServiceImpl extends ServiceImpl<ContractEntrustOrderDao, ContractEntrustOrderEntity> implements ContractEntrustOrderService {
+
+    @Resource
+    private ContractEntrustOrderDao contractEntrustOrderDao;
+
+    @Resource
+    private MemberWalletContractDao memberWalletContractDao;
+
+    @Resource
+    private RedisUtils redisUtils;
+
+    @Resource
+    private CacheSettingUtils cacheSettingUtils;
+
+    @Override
+    public Result addContractEntrustOrder(SubmitEntrustDto submitEntrustDto) {
+        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+
+        // 获取最新价
+        BigDecimal newPirce  = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(submitEntrustDto.getSymbol())));
+
+
+        // 委托开仓
+        if (submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_OPEN_MORE || submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_OPEN_LESS) {
+            // 开多委托价不能大于当前价
+            if (submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_OPEN_MORE) {
+                if (submitEntrustDto.getEntrustPrice().compareTo(newPirce) > -1) {
+                    return Result.fail("委托价不能大于当前价");
+                }
+            }
+
+            // 开空委托价不能小于当前价
+            if (submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_OPEN_LESS) {
+                if (submitEntrustDto.getEntrustPrice().compareTo(newPirce) < 1) {
+                    return Result.fail("委托价不能小于当前价");
+                }
+            }
+
+            MemberWalletContractEntity walletContract = memberWalletContractDao.selectById(memberEntity.getId());
+            // 委托总额
+            BigDecimal entrustTotalAmount = submitEntrustDto.getEntrustPrice().multiply(BigDecimal.valueOf(submitEntrustDto.getSymbolCnt()));
+
+            if (entrustTotalAmount.compareTo(walletContract.getAvailableBalance()) > -1) {
+                return Result.fail("可用余额不足");
+            }
+
+            BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(submitEntrustDto.getSymbol());
+
+
+
+
+        }
+
+        // 委托平仓 (全仓模式)
+        if (submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_CLOSE_MORE || submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_CLOSE_LESS) {
+            return Result.fail("功能暂未开放,敬请期待");
+        }
+        return null;
+    }
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
new file mode 100644
index 0000000..1d2f01d
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
@@ -0,0 +1,13 @@
+package com.xcong.excoin.modules.contract.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xcong.excoin.modules.contract.dao.ContractHoldOrderDao;
+import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity;
+import com.xcong.excoin.modules.contract.service.ContractHoldOrderService;
+
+/**
+ * @author wzy
+ * @date 2020-05-27
+ **/
+public class ContractHoldOrderServiceImpl extends ServiceImpl<ContractHoldOrderDao, ContractHoldOrderEntity> implements ContractHoldOrderService {
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractOrderServiceImpl.java
new file mode 100644
index 0000000..3773537
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractOrderServiceImpl.java
@@ -0,0 +1,13 @@
+package com.xcong.excoin.modules.contract.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xcong.excoin.modules.contract.dao.ContractOrderDao;
+import com.xcong.excoin.modules.contract.entity.ContractOrderEntity;
+import com.xcong.excoin.modules.contract.service.ContractOrderService;
+
+/**
+ * @author wzy
+ * @date 2020-05-27
+ **/
+public class ContractOrderServiceImpl extends ServiceImpl<ContractOrderDao, ContractOrderEntity> implements ContractOrderService {
+}
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 a5c5fdf..29453ea 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
@@ -1,15 +1,202 @@
-package com.xcong.excoin.modules.member.controller;
-
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 用户类
- *
- * @author wzy
- * @date 2020-05-18
- **/
-@RestController
-@RequestMapping(value = "/api/member")
-public class MemberController {
-}
+package com.xcong.excoin.modules.member.controller;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.xcong.excoin.common.response.Result;
+import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberDelPaymethodDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberPaymethodDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberUpdatePwdDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradePwdDto;
+import com.xcong.excoin.modules.member.parameter.vo.MemberInfoVo;
+import com.xcong.excoin.modules.member.parameter.vo.MemberPaymethodDetailListVo;
+import com.xcong.excoin.modules.member.parameter.vo.MemberPaymethodDetailVo;
+import com.xcong.excoin.modules.member.service.MemberService;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * 用户类
+ *
+ * @author wzy
+ * @date 2020-05-18
+ **/
+@Slf4j
+@Api(value = "个人中心接口", tags = "个人中心接口")
+@RestController
+@RequestMapping(value = "/api/member")
+public class MemberController {
+	
+	@Resource
+	MemberService memberService; 
+	
+	/**
+	 *  获取我的信息
+	 * @return
+	 */
+	@ApiOperation(value="获取我的信息", notes="获取我的信息")
+	@ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberInfoVo.class)})
+	@GetMapping(value = "/getMemberInfo")
+	public Result  getMemberInfo() {
+		return memberService.getMemberInfo();
+	}
+	
+	/**
+	 * 忘记密码
+	 * @return
+	 */
+	@ApiOperation(value=" 忘记密码", notes=" 忘记密码")
+	@PostMapping(value="/memberForgetPwd")
+	public Result  memberForgetPwd(@RequestBody @Valid MemberForgetPwdDto memberForgetPwdDto) {
+		return memberService.memberForgetPwd(memberForgetPwdDto);
+	}
+	
+	/**
+	 * 修改密码
+	 * @return
+	 */
+	@ApiOperation(value="修改密码", notes="修改密码")
+	@PostMapping(value="/memberUpdatePwd")
+	public Result  memberUpdatePwd(@RequestBody @Valid MemberUpdatePwdDto memberUpdatePwdDto) {
+		//System.out.println("修改密码:");
+		return memberService.memberUpdatePwd(memberUpdatePwdDto);
+	}
+	
+	/**
+	 * 实名认证
+	 * @return
+	 */
+	@ApiOperation(value="实名认证", notes="实名认证")
+	@PostMapping(value="/memberAuthentication")
+	public Result memberAuthentication(@RequestBody @Valid MemberAuthenticationDto memberAuthenticationDto) {
+		return memberService.memberAuthentication(memberAuthenticationDto);
+	}
+	
+	/**
+	 * 修改资金密码
+	 * @return
+	 */
+	@ApiOperation(value="修改资金密码", notes="修改资金密码")
+	@PostMapping(value="/memberUpdateTradePwd")
+	public Result  memberUpdateTradePwd(@RequestBody @Valid MemberUpdateTradePwdDto memberUpdateTradePwdDto) {
+		return memberService.memberUpdateTradePwd(memberUpdateTradePwdDto);
+	}
+	
+	/**
+	 * 用户退出登录
+	 * @return
+	 */
+	@ApiOperation(value="用户退出登录", notes="用户退出登录")
+	@GetMapping(value = "/memberLogout")
+	public Result  memberLogout() {
+		return memberService.memberLogout();
+	}
+	
+	/**
+	 * 设置交易密码	
+	 * @param code
+	 * @param password
+	 * @param token
+	 * @return
+	 */
+	@ApiOperation(value="设置交易密码", notes="设置交易密码")
+	@PostMapping(value="/memberTradersPwd")
+	public Result  memberTradersPwd(@RequestBody @Valid MemberForgetPwdDto memberForgetPwdDto) {
+		return memberService.memberTradersPwd(memberForgetPwdDto);
+	}
+	
+	/**
+	 * 收款方式
+	 * @return
+	 */
+	@ApiOperation(value="新增收款方式", notes="新增收款方式")
+	@PostMapping(value="/memberAddPaymethod")
+	public Result  memberAddPaymethod(@RequestBody @Valid MemberPaymethodDto memberPaymethodDto) {
+		return memberService.memberAddPaymethod(memberPaymethodDto);
+	}
+	
+	/**
+	 * 收款方式
+	 * @return
+	 */
+	@ApiOperation(value="删除收款方式", notes="删除收款方式")
+	@PostMapping(value="/memberDelPaymethod")
+	public Result  memberDelPaymethod(@RequestBody @Valid MemberDelPaymethodDto memberDelPaymethodDto) {
+		return memberService.memberDelPaymethod(memberDelPaymethodDto);
+	}
+	
+	/**
+	 * 收款方式
+	 * @return
+	 */
+	@ApiOperation(value="一个收款方式的详情", notes="一个收款方式的详情")
+	@ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberPaymethodDetailVo.class)})
+	@ApiImplicitParams({
+		@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "long", paramType="query")
+	})
+	@GetMapping(value = "/memberPaymethodDetail")
+	public Result memberPaymethodDetail(long id) {
+		return memberService.memberPaymethodDetail(id);
+	}
+	
+	/**
+	 * 收款方式
+	 * @return
+	 */
+	@ApiOperation(value="收款方式的列表", notes="收款方式的列表")
+	@ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberPaymethodDetailListVo.class)})
+	@GetMapping(value = "/memberPaymethodDetailList")
+	public Result memberPaymethodDetailList() {
+		return memberService.memberPaymethodDetailList();
+	}
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/dao/MemberAuthenticationDao.java b/src/main/java/com/xcong/excoin/modules/member/dao/MemberAuthenticationDao.java
new file mode 100644
index 0000000..51e3adb
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/dao/MemberAuthenticationDao.java
@@ -0,0 +1,10 @@
+package com.xcong.excoin.modules.member.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.member.entity.MemberAuthenticationEntity;
+
+public interface MemberAuthenticationDao extends BaseMapper<MemberAuthenticationEntity> {
+
+	int findMemberbyIdCardNoCount(String idCardNo);
+	
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/dao/MemberDao.java b/src/main/java/com/xcong/excoin/modules/member/dao/MemberDao.java
index 6640df7..b2b97f5 100644
--- a/src/main/java/com/xcong/excoin/modules/member/dao/MemberDao.java
+++ b/src/main/java/com/xcong/excoin/modules/member/dao/MemberDao.java
@@ -1,15 +1,16 @@
-package com.xcong.excoin.modules.member.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.xcong.excoin.modules.member.entity.MemberEntity;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * @author wzy
- */
-public interface MemberDao extends BaseMapper<MemberEntity> {
-
-    public MemberEntity selectMemberInfoByAccount(@Param("account") String account);
-
-    public MemberEntity selectMemberInfoByRefererId(@Param("refererId") String refererId);
-}
+package com.xcong.excoin.modules.member.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.member.entity.MemberEntity;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author wzy
+ */
+public interface MemberDao extends BaseMapper<MemberEntity> {
+
+    public MemberEntity selectMemberInfoByAccount(@Param("account") String account);
+
+    public MemberEntity selectMemberInfoByRefererId(@Param("refererId") String refererId);
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/dao/MemberPaymentMethodDao.java b/src/main/java/com/xcong/excoin/modules/member/dao/MemberPaymentMethodDao.java
new file mode 100644
index 0000000..449443d
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/dao/MemberPaymentMethodDao.java
@@ -0,0 +1,8 @@
+package com.xcong.excoin.modules.member.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.member.entity.MemberPaymentMethodEntity;
+
+public interface MemberPaymentMethodDao extends BaseMapper<MemberPaymentMethodEntity> {
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/entity/MemberAuthenticationEntity.java b/src/main/java/com/xcong/excoin/modules/member/entity/MemberAuthenticationEntity.java
index 03af297..3b040b3 100644
--- a/src/main/java/com/xcong/excoin/modules/member/entity/MemberAuthenticationEntity.java
+++ b/src/main/java/com/xcong/excoin/modules/member/entity/MemberAuthenticationEntity.java
@@ -1,56 +1,65 @@
-package com.xcong.excoin.modules.member.entity;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.xcong.excoin.common.system.base.BaseEntity;
-import lombok.Data;
-
-/**
- * 用户实名认证信息实体
- *
- * @author wzy
- * @date 2020-05-18
- **/
-@Data
-@TableName("member_authentication")
-public class MemberAuthenticationEntity extends BaseEntity {
-
-    /**
-     * 用户ID
-     */
-    private Long memberId;
-
-    /**
-     * 真实姓名
-     */
-    private String realName;
-
-    /**
-     * 姓
-     */
-    private String firstName;
-
-    /**
-     * 名
-     */
-    private String secondName;
-
-    /**
-     * 国家
-     */
-    private String nation;
-
-    /**
-     * 身份证正面
-     */
-    private String idcardImageFront;
-
-    /**
-     * 身份证背面
-     */
-    private String idcardImageBack;
-
-    /**
-     * 手持身份证
-     */
-    private String idcardImageInHand;
-}
+package com.xcong.excoin.modules.member.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.xcong.excoin.common.system.base.BaseEntity;
+import lombok.Data;
+
+/**
+ * 用户实名认证信息实体
+ *
+ * @author wzy
+ * @date 2020-05-18
+ **/
+@Data
+@TableName("member_authentication")
+public class MemberAuthenticationEntity extends BaseEntity {
+
+    /**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 用户ID
+     */
+    private Long memberId;
+
+    /**
+     * 真实姓名
+     */
+    private String realName;
+
+    /**
+     * 姓
+     */
+    private String firstName;
+
+    /**
+     * 名
+     */
+    private String secondName;
+
+    /**
+     * 国家
+     */
+    private String nation;
+    /**
+     * 身份证号
+     */
+    private String idcardNo;
+
+    /**
+     * 身份证正面
+     */
+    private String idcardImageFront;
+
+    /**
+     * 身份证背面
+     */
+    private String idcardImageBack;
+
+    /**
+     * 手持身份证
+     */
+    private String idcardImageInHand;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/entity/MemberPaymentMethodEntity.java b/src/main/java/com/xcong/excoin/modules/member/entity/MemberPaymentMethodEntity.java
new file mode 100644
index 0000000..be0e903
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/entity/MemberPaymentMethodEntity.java
@@ -0,0 +1,56 @@
+package com.xcong.excoin.modules.member.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.xcong.excoin.common.system.base.BaseEntity;
+
+import lombok.Data;
+
+/**
+ * 会员收款方式
+ */
+@Data
+@TableName("member_payment_method")
+public class MemberPaymentMethodEntity extends BaseEntity{
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+	
+	/**
+     * 用户Id
+     */
+    private Long memberId;
+    /**
+     * 姓名
+     */
+    private String name;
+    /**
+     * 账号
+     */
+    private String account;
+    /**
+     * 收款二维码
+     */
+    private String paymentQrcode;
+    /**
+     * 银行
+     */
+    private String bank;
+    /**
+     * 支行	
+     */
+    private String subBank;
+    /**
+     * 类型 1-支付宝2-微信3-银行卡
+     */
+    private String paymentType;
+    public static final Integer PAYMENTTYPE_ALIPAY = 1;
+    public static final Integer PAYMENTTYPE_WECHAT = 2;
+    public static final Integer PAYMENTTYPE_CARD = 3;
+    
+    /**
+     * 默认收款方式
+     */
+    private String isDefualt;
+    
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberAuthenticationDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberAuthenticationDto.java
new file mode 100644
index 0000000..e69031e
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberAuthenticationDto.java
@@ -0,0 +1,45 @@
+package com.xcong.excoin.modules.member.parameter.dto;
+
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "MemberAuthenticationDto", description = "实名认证参数接收类")
+public class MemberAuthenticationDto {
+
+	@NotNull(message = "姓不能为空")
+    @ApiModelProperty(value = "姓", example = "姓")
+	private String firstName;
+
+	@NotNull(message = "名不能为空")
+    @ApiModelProperty(value = "名", example = "名")
+	private String secondName;
+	
+	@NotNull(message = "真实姓名不能为空")
+    @ApiModelProperty(value = "真实姓名", example = "姓名")
+	private String realName;
+
+	@NotNull(message = "身份证卡号不能为空")
+    @ApiModelProperty(value = "身份证卡号", example = "123456789")
+	private String idCardNo;
+	
+	@NotNull(message = "身份证正面不能为空")
+    @ApiModelProperty(value = "身份证正面", example = "身份证正面")
+	private String idCardFront;
+	
+	@NotNull(message = "身份证反面不能为空")
+    @ApiModelProperty(value = "身份证反面", example = "身份证反面")
+	private String idCardReverse;
+	
+	@NotNull(message = "手持身份证不能为空")
+    @ApiModelProperty(value = "手持身份证", example = "手持身份证")
+	private String idCardImage;
+	
+	@NotNull(message = "国家不能为空")
+    @ApiModelProperty(value = "国家", example = "国家")
+	private String nation;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberDelPaymethodDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberDelPaymethodDto.java
new file mode 100644
index 0000000..1135c4a
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberDelPaymethodDto.java
@@ -0,0 +1,17 @@
+package com.xcong.excoin.modules.member.parameter.dto;
+
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "MemberDelPaymethodDto", description = "删除收款方式参数接收类")
+public class MemberDelPaymethodDto {
+	
+	@NotNull(message = "收款方式ID不能为空")
+    @ApiModelProperty(value = "收款方式ID", example = "1")
+	private Long id;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberForgetPwdDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberForgetPwdDto.java
new file mode 100644
index 0000000..8da3cde
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberForgetPwdDto.java
@@ -0,0 +1,31 @@
+package com.xcong.excoin.modules.member.parameter.dto;
+
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "MemberForgetPwdDto", description = "忘记密码参数接收类")
+public class MemberForgetPwdDto {
+	
+	@NotNull(message = "验证码不能为空")
+    @ApiModelProperty(value = "验证码", example = "123456")
+	private String code;
+	
+	@NotNull(message = "新密码不能为空")
+    @ApiModelProperty(value = "新密码", example = "qq123456")
+	private String password;
+	
+	@NotNull(message = "验证类型不能为空")
+    @ApiModelProperty(value = "验证类型 1 手机号码 2 邮箱", example = "1")
+	private int type;
+	
+    @ApiModelProperty(value = "电话号码", example = "13412341234")
+	private String phone;
+	
+    @ApiModelProperty(value = "邮箱", example = "www.13412341234@123.com")
+	private String email;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberPaymethodDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberPaymethodDto.java
new file mode 100644
index 0000000..f11ebf0
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberPaymethodDto.java
@@ -0,0 +1,52 @@
+package com.xcong.excoin.modules.member.parameter.dto;
+
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "MemberPaymethodDto", description = "收款方式参数接收类")
+public class MemberPaymethodDto {
+    /**
+     * 姓名
+     */
+	@NotNull(message = "姓名不能为空")
+    @ApiModelProperty(value = "姓名", example = "姓名")
+    private String name;
+    /**
+     * 账号
+     */
+	@NotNull(message = "账号不能为空")
+    @ApiModelProperty(value = "账号", example = "13412341234")
+    private String account;
+    /**
+     * 收款二维码
+     */
+    @ApiModelProperty(value = "账号", example = "13412341234")
+    private String paymentQrcode;
+    /**
+     * 银行
+     */
+    @ApiModelProperty(value = "银行", example = "银行")
+    private String bank;
+    /**
+     * 支行	
+     */
+    @ApiModelProperty(value = "支行", example = "支行")
+    private String subBank;
+    /**
+     * 类型 1-支付宝2-微信3-银行卡
+     */
+    @NotNull(message = "类型不能为空")
+    @ApiModelProperty(value = "类型 1-支付宝2-微信3-银行卡", example = "1")
+    private String paymentType;
+    /**
+     * 默认收款方式
+     */
+    @NotNull(message = "默认收款方式不能为空")
+    @ApiModelProperty(value = "类型 1-是 0-否", example = "1")
+    private String isDefualt;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberTradersPwdDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberTradersPwdDto.java
new file mode 100644
index 0000000..884119f
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberTradersPwdDto.java
@@ -0,0 +1,31 @@
+package com.xcong.excoin.modules.member.parameter.dto;
+
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "MemberTradersPwdDto", description = "设置交易密码参数接收类")
+public class MemberTradersPwdDto {
+	
+	@NotNull(message = "验证码不能为空")
+    @ApiModelProperty(value = "验证码", example = "123456")
+	private String code;
+	
+	@NotNull(message = "新密码不能为空")
+    @ApiModelProperty(value = "新密码", example = "qq123456")
+	private String password;
+	
+	@NotNull(message = "验证类型不能为空")
+    @ApiModelProperty(value = "验证类型 1 手机号码 2 邮箱", example = "1")
+	private int type;
+	
+    @ApiModelProperty(value = "电话号码", example = "13412341234")
+	private String phone;
+	
+    @ApiModelProperty(value = "邮箱", example = "www.13412341234@123.com")
+	private String email;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdatePwdDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdatePwdDto.java
new file mode 100644
index 0000000..0e2b96c
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdatePwdDto.java
@@ -0,0 +1,31 @@
+package com.xcong.excoin.modules.member.parameter.dto;
+
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "MemberUpdatePwdDto", description = "修改密码参数接收类")
+public class MemberUpdatePwdDto {
+	
+	@NotNull(message = "验证码不能为空")
+    @ApiModelProperty(value = "验证码", example = "123456")
+	private String code;
+	
+	@NotNull(message = "新密码不能为空")
+    @ApiModelProperty(value = "新密码", example = "qq123456")
+	private String password;
+	
+	@NotNull(message = "验证类型不能为空")
+    @ApiModelProperty(value = "验证类型 1 手机号码 2 邮箱", example = "1")
+	private int type;
+	
+    @ApiModelProperty(value = "电话号码", example = "13412341234")
+	private String phone;
+	
+    @ApiModelProperty(value = "邮箱", example = "www.13412341234@123.com")
+	private String email;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdateTradePwdDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdateTradePwdDto.java
new file mode 100644
index 0000000..b40e1a2
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdateTradePwdDto.java
@@ -0,0 +1,31 @@
+package com.xcong.excoin.modules.member.parameter.dto;
+
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "MemberUpdateTradePwdDto", description = "修改资金密码参数接收类")
+public class MemberUpdateTradePwdDto {
+	
+	@NotNull(message = "验证码不能为空")
+    @ApiModelProperty(value = "验证码", example = "123456")
+	private String code;
+	
+	@NotNull(message = "新密码不能为空")
+    @ApiModelProperty(value = "新密码", example = "qq123456")
+	private String password;
+	
+	@NotNull(message = "验证类型不能为空")
+    @ApiModelProperty(value = "验证类型 1 手机号码 2 邮箱", example = "1")
+	private int type;
+	
+    @ApiModelProperty(value = "电话号码", example = "13412341234")
+	private String phone;
+	
+    @ApiModelProperty(value = "邮箱", example = "www.13412341234@123.com")
+	private String email;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberInfoVo.java b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberInfoVo.java
new file mode 100644
index 0000000..6ab0a86
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberInfoVo.java
@@ -0,0 +1,23 @@
+package com.xcong.excoin.modules.member.parameter.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "MemberInfoVo", description = "个人信息")
+public class MemberInfoVo {
+	
+    /**
+     * 手机号(包含国际手机号)
+     */
+	@ApiModelProperty(value = "手机号(包含国际手机号)")
+    private String phone;
+
+    /**
+     * 邀请码
+     */
+	@ApiModelProperty(value = "邀请码")
+    private String inviteId;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailListVo.java b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailListVo.java
new file mode 100644
index 0000000..19f1b91
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailListVo.java
@@ -0,0 +1,16 @@
+package com.xcong.excoin.modules.member.parameter.vo;
+
+import java.util.List;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "MemberPaymethodDetailListVo", description = "收款方式列表")
+public class MemberPaymethodDetailListVo {
+
+	@ApiModelProperty(value = "收款方式列表")
+	private List<MemberPaymethodDetailVo> memberPaymethodDetailVo;
+	
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailVo.java b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailVo.java
new file mode 100644
index 0000000..e364549
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailVo.java
@@ -0,0 +1,46 @@
+package com.xcong.excoin.modules.member.parameter.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "MemberPaymethodDetailVo", description = "收款方式信息")
+public class MemberPaymethodDetailVo {
+	/**
+     * 用户Id
+     */
+	@ApiModelProperty(value = "用户Id")
+    private Long memberId;
+    /**
+     * 姓名
+     */
+	@ApiModelProperty(value = "姓名")
+    private String name;
+    /**
+     * 账号
+     */
+	@ApiModelProperty(value = "账号")
+    private String account;
+    /**
+     * 收款二维码
+     */
+	@ApiModelProperty(value = "收款二维码")
+    private String paymentQrcode;
+    /**
+     * 银行
+     */
+	@ApiModelProperty(value = "银行")
+    private String bank;
+    /**
+     * 支行	
+     */
+	@ApiModelProperty(value = "支行")
+    private String subBank;
+    /**
+     * 类型 1-支付宝2-微信3-银行卡
+     */
+	@ApiModelProperty(value = "类型 1-支付宝2-微信3-银行卡")
+    private String paymentType;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java b/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java
index 26ca3bd..244c586 100644
--- a/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java
+++ b/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java
@@ -1,16 +1,46 @@
-package com.xcong.excoin.modules.member.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.xcong.excoin.common.response.Result;
-import com.xcong.excoin.common.system.dto.RegisterDto;
-import com.xcong.excoin.modules.member.entity.MemberEntity;
-import com.xcong.excoin.modules.test.entity.TestUserEntity;
-
-/**
- * @author wzy
- */
-public interface MemberService extends IService<MemberEntity> {
-
-    public Result register(RegisterDto registerDto);
-
-}
+package com.xcong.excoin.modules.member.service;
+
+import javax.validation.Valid;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xcong.excoin.common.response.Result;
+import com.xcong.excoin.common.system.dto.RegisterDto;
+import com.xcong.excoin.modules.member.entity.MemberEntity;
+import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberDelPaymethodDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberPaymethodDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberUpdatePwdDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradePwdDto;
+
+/**
+ * @author wzy
+ */
+public interface MemberService extends IService<MemberEntity> {
+
+    public Result register(RegisterDto registerDto);
+
+	public Result getMemberInfo();
+
+	public Result memberAuthentication(@Valid MemberAuthenticationDto memberAuthenticationDto);
+
+	public Result memberForgetPwd(@Valid MemberForgetPwdDto memberForgetPwdDto);
+
+	public Result memberUpdatePwd(@Valid MemberUpdatePwdDto memberUpdatePwdDto);
+
+	public Result memberUpdateTradePwd(@Valid MemberUpdateTradePwdDto memberUpdateTradePwdDto);
+
+	public Result memberLogout();
+
+	public Result memberTradersPwd(@Valid MemberForgetPwdDto memberForgetPwdDto);
+
+	public Result memberAddPaymethod(@Valid MemberPaymethodDto memberPaymethodDto);
+
+	public Result memberDelPaymethod(@Valid MemberDelPaymethodDto memberDelPaymethodDto);
+
+	public Result memberPaymethodDetail(long id);
+
+	public Result memberPaymethodDetailList();
+
+
+}
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 cf19f1b..a3a428e 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
@@ -1,11 +1,12 @@
 package com.xcong.excoin.modules.member.service.impl;
 
-import cn.hutool.core.codec.Base64;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.crypto.SecureUtil;
-import cn.hutool.crypto.asymmetric.Sign;
-import cn.hutool.crypto.asymmetric.SignAlgorithm;
+
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xcong.excoin.common.LoginUserUtils;
 import com.xcong.excoin.common.contants.AppContants;
 import com.xcong.excoin.common.enumerates.CoinTypeEnum;
 import com.xcong.excoin.common.enumerates.SymbolEnum;
@@ -13,13 +14,32 @@
 import com.xcong.excoin.common.system.dto.RegisterDto;
 import com.xcong.excoin.modules.member.dao.*;
 import com.xcong.excoin.modules.member.entity.*;
+import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberDelPaymethodDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberPaymethodDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberUpdatePwdDto;
+import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradePwdDto;
+import com.xcong.excoin.modules.member.parameter.vo.MemberInfoVo;
+import com.xcong.excoin.modules.member.parameter.vo.MemberPaymethodDetailListVo;
+import com.xcong.excoin.modules.member.parameter.vo.MemberPaymethodDetailVo;
 import com.xcong.excoin.modules.member.service.MemberService;
+import com.xcong.excoin.utils.MessageSourceUtils;
+import com.xcong.excoin.utils.RedisUtils;
 import com.xcong.excoin.utils.ShareCodeUtil;
 import lombok.extern.slf4j.Slf4j;
+
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import javax.annotation.Resource;
+import javax.validation.Valid;
 
 /**
  * @author wzy
@@ -43,6 +63,15 @@
 
     @Resource
     private MemberLevelRateDao memberLevelRateDao;
+    
+    @Resource
+    MemberAuthenticationDao memberAuthenticationDao;
+    
+    @Autowired
+    RedisUtils redisUtils;
+    
+    @Resource
+    MemberPaymentMethodDao memberPaymentMethodDao;
 
     @Transactional()
     @Override
@@ -135,9 +164,339 @@
             levelRate.setSymbol(symbolEnum.getValue());
             memberLevelRateDao.insert(levelRate);
         }
-
-
         return Result.ok("success");
     }
 
+	@Override
+	public Result getMemberInfo() {
+		//获取用户ID
+		Long memberId = LoginUserUtils.getAppLoginUser().getId();
+		MemberEntity memberEntity = memberDao.selectById(memberId);
+		MemberInfoVo memberInfoVo = new MemberInfoVo();
+        if (ObjectUtil.isNotEmpty(memberEntity)) {
+        	memberInfoVo.setPhone(memberEntity.getPhone());
+        	memberInfoVo.setInviteId(memberEntity.getInviteId());
+        }
+        return Result.ok(memberInfoVo);
+    }
+	
+	@Override
+	@Transactional
+	public Result memberForgetPwd(@Valid MemberForgetPwdDto memberForgetPwdDto) {
+		
+		int type = memberForgetPwdDto.getType();
+		String phone = memberForgetPwdDto.getPhone();
+		String email = memberForgetPwdDto.getEmail();
+		String code = memberForgetPwdDto.getCode();
+		String password = memberForgetPwdDto.getPassword();
+		
+		Map<String, Object> hashMap = new HashMap<>();
+		if(type == 1) {
+			hashMap.put("phone", phone);
+		}else {
+			hashMap.put("email", email);
+		}
+		List<MemberEntity> member = memberDao.selectByMap(hashMap);
+		if (CollUtil.isEmpty(member)) {
+            return Result.fail(MessageSourceUtils.getString("member_service_0047"));
+        }
+		boolean verificationCode = verificationCode(type, phone, code, email);
+		if(verificationCode) {
+			MemberEntity memberEntity = member.get(0);
+			memberEntity.setPassword(SecureUtil.md5(password));
+			memberDao.updateById(memberEntity);
+		}else {
+			return Result.fail(MessageSourceUtils.getString("member_service_0045"));
+		}
+		if(type == 1) {
+			redisUtils.del("SMS_" + phone);
+		}else {
+			redisUtils.del("EMAIL_" + email);
+		}
+        return Result.ok(MessageSourceUtils.getString("member_service_0048"));
+    }
+	
+	@Override
+	@Transactional
+	public Result memberUpdatePwd(@Valid MemberUpdatePwdDto memberUpdatePwdDto) {
+		//获取用户ID
+		Long memberId = LoginUserUtils.getAppLoginUser().getId();
+		MemberEntity memberEntity = memberDao.selectById(memberId);
+		
+		String code = memberUpdatePwdDto.getCode();
+		String password = memberUpdatePwdDto.getPassword();
+		String phone = memberUpdatePwdDto.getPhone();
+		String email = memberUpdatePwdDto.getEmail();
+		int type = memberUpdatePwdDto.getType();
+		boolean verificationCode = verificationCode(type, phone, code, email);
+		if(verificationCode) {
+			memberEntity.setPassword(SecureUtil.md5(password));
+			memberDao.updateById(memberEntity);
+		}else {
+			return Result.fail(MessageSourceUtils.getString("member_service_0041"));
+		}
+		if(type == 1) {
+			redisUtils.del("SMS_" + phone);
+		}else {
+			redisUtils.del("EMAIL_" + email);
+		}
+        return Result.ok(MessageSourceUtils.getString("member_service_0040"));
+    }
+	
+	/**
+	 * 验证输入的验证码
+	 * @param type   验证类型1:电话2:邮箱
+	 * @param phone		
+	 * @param email
+	 * @param code		验证码
+	 * @return
+	 */
+	private boolean verificationCode(Integer type,String phone,String code,String email) {
+		boolean verificationCode = false;
+		if(type == 1) {
+			String smsCode = redisUtils.get("SMS_" + phone) + "";
+			if(code.equals(smsCode)) {
+				verificationCode = true;
+			}
+		}else {
+			String emailCode = redisUtils.get("EMAIL_" + email) + "";
+			if(code.equals(emailCode)) {
+				verificationCode = true;
+			}
+		}
+		return verificationCode;
+	}
+
+	@Override
+	@Transactional
+	public Result memberAuthentication(@Valid MemberAuthenticationDto memberAuthenticationDto) {
+		//获取用户ID
+		Long memberId = LoginUserUtils.getAppLoginUser().getId();
+		MemberEntity member = memberDao.selectById(memberId);
+        if (ObjectUtil.isNotEmpty(member)) {
+            	MemberAuthenticationEntity memberAuthenticationEntity = new MemberAuthenticationEntity();
+                if (MemberEntity.CERTIFY_STATUS_Y == member.getCertifyStatus()) {
+                    return Result.fail(MessageSourceUtils.getString("member_service_0055"));
+                }
+                if (MemberEntity.CERTIFY_STATUS_ING == member.getCertifyStatus()) {
+                    return Result.fail(MessageSourceUtils.getString("member_service_0056"));
+                }
+                memberAuthenticationEntity.setMemberId(memberId);
+                
+                if (StrUtil.isBlank(memberAuthenticationDto.getNation())) {
+                    return Result.fail(MessageSourceUtils.getString("member_service_0057"));
+                }
+                memberAuthenticationEntity.setNation(memberAuthenticationDto.getNation());
+                
+                if (StrUtil.isBlank(memberAuthenticationDto.getFirstName())) {
+                    return Result.fail(MessageSourceUtils.getString("member_service_0058"));
+                }
+                memberAuthenticationEntity.setFirstName(memberAuthenticationDto.getFirstName());
+                
+                if (StrUtil.isBlank(memberAuthenticationDto.getSecondName())) {
+                    return Result.fail(MessageSourceUtils.getString("member_service_0059"));
+                }
+                memberAuthenticationEntity.setSecondName(memberAuthenticationDto.getSecondName());
+
+                String idCardNo = memberAuthenticationDto.getIdCardNo();
+                if (StrUtil.isBlank(idCardNo)) {
+                    return Result.fail(MessageSourceUtils.getString("member_service_0060"));
+                }
+                memberAuthenticationEntity.setIdcardNo(idCardNo);
+                //同一个身份证号码不能重复实名认证
+                int count = memberAuthenticationDao.findMemberbyIdCardNoCount(idCardNo);
+                if (count > 0) {
+                    return Result.fail(MessageSourceUtils.getString("member_service_0060"));
+                }
+                if (StrUtil.isBlank(memberAuthenticationDto.getIdCardFront()) 
+                		|| StrUtil.isBlank(memberAuthenticationDto.getIdCardReverse()) 
+                		|| StrUtil.isBlank(memberAuthenticationDto.getIdCardImage())) {
+                    return Result.fail(MessageSourceUtils.getString("member_service_0061"));
+                }
+                memberAuthenticationEntity.setIdcardImageFront(memberAuthenticationDto.getIdCardFront());
+                memberAuthenticationEntity.setIdcardImageBack(memberAuthenticationDto.getIdCardReverse());
+                memberAuthenticationEntity.setIdcardImageInHand(memberAuthenticationDto.getIdCardImage());
+                memberAuthenticationDao.insert(memberAuthenticationEntity);
+                
+                member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_ING);
+                member.setIdcardNo(idCardNo);
+                memberDao.updateById(member);
+                /**
+                 *  TODO dingtalk
+                 
+                Constant.excutor.execute(new Runnable() {
+					@Override
+					public void run() {
+						DingTalkUtils.sendActionCard(4);
+					}
+				});*/
+                return Result.ok(MessageSourceUtils.getString("member_service_0024"));
+        }
+        return Result.fail(MessageSourceUtils.getString("member_service_0063"));
+    }
+
+	@Override
+	@Transactional
+	public Result memberUpdateTradePwd(@Valid MemberUpdateTradePwdDto memberUpdateTradePwdDto) {
+		//获取用户ID
+		Long memberId = LoginUserUtils.getAppLoginUser().getId();
+		MemberEntity memberEntity = memberDao.selectById(memberId);
+		
+		String code = memberUpdateTradePwdDto.getCode();
+		String password = memberUpdateTradePwdDto.getPassword();
+		String phone = memberUpdateTradePwdDto.getPhone();
+		String email = memberUpdateTradePwdDto.getEmail();
+		int type = memberUpdateTradePwdDto.getType();
+		boolean verificationCode = verificationCode(type, phone, code, email);
+		if(verificationCode) {
+			memberEntity.setTradePassword(SecureUtil.md5(password));
+			memberDao.updateById(memberEntity);
+		}else {
+			return Result.fail(MessageSourceUtils.getString("member_service_0041"));
+		}
+		if(type == 1) {
+			redisUtils.del("SMS_" + phone);
+		}else {
+			redisUtils.del("EMAIL_" + email);
+		}
+        return Result.ok(MessageSourceUtils.getString("member_service_0051"));
+    }
+
+	@Override
+	@Transactional
+	public Result memberLogout() {
+		//获取用户ID
+		Long memberId = LoginUserUtils.getAppLoginUser().getId();
+		MemberEntity memberEntity = memberDao.selectById(memberId);
+         if (ObjectUtil.isEmpty(memberEntity)) {
+        	 return Result.fail(MessageSourceUtils.getString("member_service_0003")); 
+         }
+         
+         String phone = memberEntity.getPhone();
+         if(StrUtil.isEmpty(phone)) {
+        	 redisUtils.del(memberEntity.getPhone());
+         }
+         String email = memberEntity.getEmail();
+         if(StrUtil.isEmpty(email)) {
+        	 redisUtils.del(memberEntity.getPhone());
+         }
+         
+         return Result.ok(MessageSourceUtils.getString("member_service_0071"));
+    }
+
+	@Override
+	@Transactional
+	public Result memberTradersPwd(@Valid MemberForgetPwdDto memberForgetPwdDto) {
+		//获取用户ID
+		Long memberId = LoginUserUtils.getAppLoginUser().getId();
+		MemberEntity memberEntity = memberDao.selectById(memberId);
+		
+		String code = memberForgetPwdDto.getCode();
+		String password = memberForgetPwdDto.getPassword();
+		String phone = memberForgetPwdDto.getPhone();
+		String email = memberForgetPwdDto.getEmail();
+		int type = memberForgetPwdDto.getType();
+		boolean verificationCode = verificationCode(type, phone, code, email);
+		if(verificationCode) {
+			memberEntity.setTradePassword(SecureUtil.md5(password));
+			memberDao.updateById(memberEntity);
+		}else {
+			return Result.fail(MessageSourceUtils.getString("member_service_0015"));
+		}
+		if(type == 1) {
+			redisUtils.del("SMS_" + phone);
+		}else {
+			redisUtils.del("EMAIL_" + email);
+		}
+        return Result.ok(MessageSourceUtils.getString("member_service_0068"));
+    }
+
+	@Override
+	@Transactional
+	public Result memberAddPaymethod(@Valid MemberPaymethodDto memberPaymethodDto) {
+		//获取用户ID
+		Long memberId = LoginUserUtils.getAppLoginUser().getId();
+		MemberEntity member = memberDao.selectById(memberId);
+		
+		if(!MemberEntity.CERTIFY_STATUS_Y.equals(member.getCertifyStatus())) {
+			return Result.fail(MessageSourceUtils.getString("member_service_0077"));
+		}
+		String account = memberPaymethodDto.getAccount();
+		String bank = memberPaymethodDto.getBank();
+		String name = memberPaymethodDto.getName();
+		String paymentQrcode = memberPaymethodDto.getPaymentQrcode();
+		String paymentType = memberPaymethodDto.getPaymentType();
+		String subBank = memberPaymethodDto.getSubBank();
+		String isDefualt = memberPaymethodDto.getIsDefualt();
+		MemberPaymentMethodEntity memberPaymentMethodEntity = new MemberPaymentMethodEntity();
+		memberPaymentMethodEntity.setMemberId(memberId);
+		memberPaymentMethodEntity.setAccount(account);
+		memberPaymentMethodEntity.setBank(bank);
+		memberPaymentMethodEntity.setName(name);
+		memberPaymentMethodEntity.setPaymentQrcode(paymentQrcode);
+		memberPaymentMethodEntity.setPaymentType(paymentType);
+		memberPaymentMethodEntity.setSubBank(subBank);
+		memberPaymentMethodEntity.setIsDefualt(isDefualt);
+		memberPaymentMethodDao.insert(memberPaymentMethodEntity);
+		return Result.ok(MessageSourceUtils.getString("member_service_0024"));
+    }
+
+	@Override
+	@Transactional
+	public Result memberDelPaymethod(@Valid MemberDelPaymethodDto memberDelPaymethodDto) {
+		//获取用户ID
+		Long memberId = LoginUserUtils.getAppLoginUser().getId();
+		Long id = memberDelPaymethodDto.getId();
+		Map<String,Object> columnMap = new HashMap<>();
+		columnMap.put("id", id);
+		columnMap.put("member_id", memberId);
+		memberPaymentMethodDao.deleteByMap(columnMap);
+		return Result.ok("success");
+	}
+
+	@Override
+	public Result memberPaymethodDetail(long id) {
+		//获取用户ID
+		Long memberId = LoginUserUtils.getAppLoginUser().getId();
+		MemberPaymentMethodEntity memberPaymentMethod = memberPaymentMethodDao.selectById(id);
+		
+		MemberPaymethodDetailVo memberPaymethodDetailVo = new MemberPaymethodDetailVo();
+		memberPaymethodDetailVo.setAccount(memberPaymentMethod.getAccount());
+		memberPaymethodDetailVo.setBank(memberPaymentMethod.getBank());
+		memberPaymethodDetailVo.setMemberId(memberId);
+		memberPaymethodDetailVo.setName(memberPaymentMethod.getName());
+		memberPaymethodDetailVo.setPaymentQrcode(memberPaymentMethod.getPaymentQrcode());
+		memberPaymethodDetailVo.setPaymentType(memberPaymentMethod.getPaymentType());
+		memberPaymethodDetailVo.setSubBank(memberPaymentMethod.getSubBank());
+		
+		return Result.ok(memberPaymethodDetailVo);
+	}
+
+	@Override
+	public Result memberPaymethodDetailList() {
+		//获取用户ID
+		Long memberId = LoginUserUtils.getAppLoginUser().getId();
+		Map<String,Object> columnMap = new HashMap<>();
+		columnMap.put("member_id", memberId);
+		List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap);
+		List<MemberPaymethodDetailVo> arrayList = new ArrayList<>();
+		if(CollUtil.isNotEmpty(selectByMap)) {
+			for(MemberPaymentMethodEntity memberPaymentMethodEntity : selectByMap) {
+				MemberPaymethodDetailVo memberPaymethodDetailVo = new MemberPaymethodDetailVo();
+				memberPaymethodDetailVo.setAccount(memberPaymentMethodEntity.getAccount());
+				memberPaymethodDetailVo.setBank(memberPaymentMethodEntity.getBank());
+				memberPaymethodDetailVo.setMemberId(memberId);
+				memberPaymethodDetailVo.setName(memberPaymentMethodEntity.getName());
+				memberPaymethodDetailVo.setPaymentQrcode(memberPaymentMethodEntity.getPaymentQrcode());
+				memberPaymethodDetailVo.setPaymentType(memberPaymentMethodEntity.getPaymentType());
+				memberPaymethodDetailVo.setSubBank(memberPaymentMethodEntity.getSubBank());
+				arrayList.add(memberPaymethodDetailVo);
+			}
+		}
+		
+		MemberPaymethodDetailListVo memberPaymethodDetailListVo = new MemberPaymethodDetailListVo();
+		memberPaymethodDetailListVo.setMemberPaymethodDetailVo(arrayList);
+		return Result.ok(memberPaymethodDetailListVo);
+	}
+
 }
diff --git a/src/main/java/com/xcong/excoin/modules/coin/dao/platform/CnyUsdtExchangeDao.java b/src/main/java/com/xcong/excoin/modules/platform/dao/CnyUsdtExchangeDao.java
similarity index 83%
rename from src/main/java/com/xcong/excoin/modules/coin/dao/platform/CnyUsdtExchangeDao.java
rename to src/main/java/com/xcong/excoin/modules/platform/dao/CnyUsdtExchangeDao.java
index 0d9b4f3..357e51e 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/dao/platform/CnyUsdtExchangeDao.java
+++ b/src/main/java/com/xcong/excoin/modules/platform/dao/CnyUsdtExchangeDao.java
@@ -1,4 +1,4 @@
-package com.xcong.excoin.modules.coin.dao.platform;
+package com.xcong.excoin.modules.platform.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.xcong.excoin.modules.coin.entity.CnyUsdtExchange;
diff --git a/src/main/java/com/xcong/excoin/modules/platform/dao/TradeSettingDao.java b/src/main/java/com/xcong/excoin/modules/platform/dao/TradeSettingDao.java
new file mode 100644
index 0000000..aec081a
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/platform/dao/TradeSettingDao.java
@@ -0,0 +1,22 @@
+package com.xcong.excoin.modules.platform.dao;
+
+import java.util.List;
+
+import com.xcong.excoin.modules.platform.entity.PlatformSymbolsSkuEntity;
+import org.apache.ibatis.annotations.Param;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.platform.entity.PlatformLeverageSettingEntity;
+import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity;
+
+public interface TradeSettingDao extends BaseMapper<PlatformTradeSettingEntity> {
+
+	PlatformTradeSettingEntity findTradeSetting();
+
+	PlatformSymbolsSkuEntity findSymbolSkubySymbol(@Param("symbol") String symbol);
+	
+	List<PlatformSymbolsSkuEntity> findAllSymbolSkubySymbol();
+
+	List<PlatformLeverageSettingEntity> findLeverageSetting();
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/coin/entity/PlatformLeverageSettingEntity.java b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformLeverageSettingEntity.java
similarity index 93%
rename from src/main/java/com/xcong/excoin/modules/coin/entity/PlatformLeverageSettingEntity.java
rename to src/main/java/com/xcong/excoin/modules/platform/entity/PlatformLeverageSettingEntity.java
index ac907da..8d72d42 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/entity/PlatformLeverageSettingEntity.java
+++ b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformLeverageSettingEntity.java
@@ -1,4 +1,4 @@
-package com.xcong.excoin.modules.coin.entity;
+package com.xcong.excoin.modules.platform.entity;
 
 import java.io.Serializable;
 
diff --git a/src/main/java/com/xcong/excoin/modules/coin/entity/PlatformSymbolsSku.java b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformSymbolsSkuEntity.java
similarity index 76%
rename from src/main/java/com/xcong/excoin/modules/coin/entity/PlatformSymbolsSku.java
rename to src/main/java/com/xcong/excoin/modules/platform/entity/PlatformSymbolsSkuEntity.java
index 268f301..ec1f804 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/entity/PlatformSymbolsSku.java
+++ b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformSymbolsSkuEntity.java
@@ -1,4 +1,4 @@
-package com.xcong.excoin.modules.coin.entity;
+package com.xcong.excoin.modules.platform.entity;
 
 import java.io.Serializable;
 
@@ -13,7 +13,7 @@
  */
 @Data
 @TableName("platform_symbols_sku")
-public class PlatformSymbolsSku implements Serializable {
+public class PlatformSymbolsSkuEntity implements Serializable {
 	/**
 	 * 
 	 */
@@ -27,6 +27,6 @@
 	/**
 	 * 规格
 	 */
-	private String sku;
+	private String lotnumber;
 
 }
diff --git a/src/main/java/com/xcong/excoin/modules/coin/entity/PlatformTradeSettingEntity.java b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformTradeSettingEntity.java
similarity index 95%
rename from src/main/java/com/xcong/excoin/modules/coin/entity/PlatformTradeSettingEntity.java
rename to src/main/java/com/xcong/excoin/modules/platform/entity/PlatformTradeSettingEntity.java
index 1eae490..cabac92 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/entity/PlatformTradeSettingEntity.java
+++ b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformTradeSettingEntity.java
@@ -1,4 +1,4 @@
-package com.xcong.excoin.modules.coin.entity;
+package com.xcong.excoin.modules.platform.entity;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
diff --git a/src/main/java/com/xcong/excoin/utils/CacheSettingUtils.java b/src/main/java/com/xcong/excoin/utils/CacheSettingUtils.java
new file mode 100644
index 0000000..9145008
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/utils/CacheSettingUtils.java
@@ -0,0 +1,82 @@
+package com.xcong.excoin.utils;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.xcong.excoin.modules.platform.dao.TradeSettingDao;
+import com.xcong.excoin.modules.platform.entity.PlatformSymbolsSkuEntity;
+import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author wzy
+ * @date 2020-05-28
+ **/
+@Component
+public class CacheSettingUtils {
+
+
+    /**
+     * 交易设置缓存Key
+     */
+    private final static String TRADE_SETTING_KEY = "trade_setting_key";
+
+    /**
+     * 币种规格缓存key
+     */
+    private final static String TRADE_SYMBOL_SKU_KEY = "trade_symbol_sku_key";
+
+    @Resource
+    private TradeSettingDao tradeSettingDao;
+
+    @Resource
+    private RedisUtils redisUtils;
+
+
+    /**
+     * 获取币种规格
+     *
+     * @param symbol
+     * @return
+     */
+    public BigDecimal getSymbolSku(String symbol) {
+        Object hget = redisUtils.hget(TRADE_SYMBOL_SKU_KEY, symbol);
+        if (hget == null) {
+            List<PlatformSymbolsSkuEntity> symbolSkubySymbol = tradeSettingDao.findAllSymbolSkubySymbol();
+            Map<String, Object> map = new HashMap<String, Object>();
+            if (CollectionUtils.isNotEmpty(symbolSkubySymbol)) {
+                for (PlatformSymbolsSkuEntity symbolSku : symbolSkubySymbol) {
+                    map.put(symbolSku.getName(), symbolSku.getLotnumber());
+                }
+                // 存入redis
+                redisUtils.hmset(TRADE_SYMBOL_SKU_KEY, map);
+            }
+
+            hget = redisUtils.hget(TRADE_SYMBOL_SKU_KEY, symbol);
+        }
+
+        return new BigDecimal(hget.toString());
+    }
+
+    /**
+     * 获取交易设置缓存
+     *
+     * @return
+     */
+    public PlatformTradeSettingEntity getTradeSetting() {
+        Map<Object, Object> hmget = redisUtils.hmget(TRADE_SETTING_KEY);
+
+        if (hmget == null || hmget.size() == 0) {
+            PlatformTradeSettingEntity tradeSetting = tradeSettingDao.findTradeSetting();
+            redisUtils.hmset(TRADE_SETTING_KEY, BeanUtil.beanToMap(tradeSetting));
+            return tradeSetting;
+        }
+        return BeanUtil.mapToBean(hmget, PlatformTradeSettingEntity.class, true);
+    }
+
+}
diff --git a/src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java b/src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java
new file mode 100644
index 0000000..fc2dc6c
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java
@@ -0,0 +1,50 @@
+package com.xcong.excoin.utils;
+
+/**
+ * @author wzy
+ * @date 2020-05-28
+ **/
+public class CoinTypeConvert {
+
+    public static String convert(String symbol) {
+        switch (symbol) {
+            case "btcusdt":
+                return "BTC/USDT";
+            case "ethusdt":
+                return "ETH/USDT";
+            case "xrpusdt":
+                return "XRP/USDT";
+            case "ltcusdt":
+                return "LTC/USDT";
+            case "bchusdt":
+                return "BCH/USDT";
+            case "eosusdt":
+                return "EOS/USDT";
+            case "etcusdt":
+                return "ETC/USDT";
+            default:
+                return null;
+        }
+    }
+
+    public static String convertToKey(String symbol) {
+        switch (symbol) {
+            case "BTC/USDT":
+                return "BTC_NEW_PRICE";
+            case "ETH/USDT":
+                return "ETH_NEW_PRICE";
+            case "XRP/USDT":
+                return "XRP_NEW_PRICE";
+            case "LTC/USDT":
+                return "LTC_NEW_PRICE";
+            case "BCH/USDT":
+                return "BCH_NEW_PRICE";
+            case "EOS/USDT":
+                return "EOS_NEW_PRICE";
+            case "ETC/USDT":
+                return "ETC_NEW_PRICE";
+            default:
+                return null;
+        }
+    }
+}
diff --git a/src/main/java/com/xcong/excoin/utils/TypeJudgeUtils.java b/src/main/java/com/xcong/excoin/utils/TypeJudgeUtils.java
new file mode 100644
index 0000000..a3b933d
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/utils/TypeJudgeUtils.java
@@ -0,0 +1,28 @@
+package com.xcong.excoin.utils;
+
+/**
+ * 接受参数 类型判断
+ *
+ * @author wzy
+ * @date 2020-05-27
+ **/
+public class TypeJudgeUtils {
+
+    /**
+     * 委托类型 1开多 2开空 3平多 4平空
+     *
+     * @param type
+     * @return
+     */
+    public static boolean entrustType(int type) {
+        switch (type) {
+            case 1:
+            case 2:
+            case 3:
+            case 4:
+                return true;
+            default:
+                return false;
+        }
+    }
+}
diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml
index c7d14c3..6f244db 100644
--- a/src/main/resources/logback-spring.xml
+++ b/src/main/resources/logback-spring.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<configuration>
+<configuration scan="false">
     <contextName>logback</contextName>
     <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。 -->
     <property name="log.path" value="logs" />
diff --git a/src/main/resources/mapper/contract/ContractEntrustOrderDao.xml b/src/main/resources/mapper/contract/ContractEntrustOrderDao.xml
new file mode 100644
index 0000000..4e97a90
--- /dev/null
+++ b/src/main/resources/mapper/contract/ContractEntrustOrderDao.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xcong.excoin.modules.contract.dao.ContractEntrustOrderDao">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/contract/ContractHoldOrderDao.xml b/src/main/resources/mapper/contract/ContractHoldOrderDao.xml
new file mode 100644
index 0000000..44c858b
--- /dev/null
+++ b/src/main/resources/mapper/contract/ContractHoldOrderDao.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xcong.excoin.modules.contract.dao.ContractHoldOrderDao">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/contract/ContractOrderDao.xml b/src/main/resources/mapper/contract/ContractOrderDao.xml
new file mode 100644
index 0000000..9e08e1f
--- /dev/null
+++ b/src/main/resources/mapper/contract/ContractOrderDao.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xcong.excoin.modules.contract.dao.ContractOrderDao">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/member/MemberAuthenticationDao.xml b/src/main/resources/mapper/member/MemberAuthenticationDao.xml
new file mode 100644
index 0000000..8959e65
--- /dev/null
+++ b/src/main/resources/mapper/member/MemberAuthenticationDao.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xcong.excoin.modules.member.dao.MemberAuthenticationDao">
+
+	<select id="findMemberbyIdCardNoCount" resultType="int">
+		select count(*) from member_authentication where idcard_No = #{idCardNo}
+	</select>
+	
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/member/MemberDao.xml b/src/main/resources/mapper/member/MemberDao.xml
index a549429..cddbacf 100644
--- a/src/main/resources/mapper/member/MemberDao.xml
+++ b/src/main/resources/mapper/member/MemberDao.xml
@@ -9,4 +9,5 @@
     <select id="selectMemberInfoByRefererId" resultType="com.xcong.excoin.modules.member.entity.MemberEntity">
         select * from member where invite_id=#{refererId}
     </select>
+    
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/member/MemberPaymentMethodDao.xml b/src/main/resources/mapper/member/MemberPaymentMethodDao.xml
new file mode 100644
index 0000000..b6501e2
--- /dev/null
+++ b/src/main/resources/mapper/member/MemberPaymentMethodDao.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.xcong.excoin.modules.member.dao.MemberPaymentMethodDao">
+ 	
+	
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/platform/TradeSettingDao.xml b/src/main/resources/mapper/platform/TradeSettingDao.xml
index e0e56ba..7537a80 100644
--- a/src/main/resources/mapper/platform/TradeSettingDao.xml
+++ b/src/main/resources/mapper/platform/TradeSettingDao.xml
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
-<mapper namespace="com.xcong.excoin.modules.coin.dao.platform.TradeSettingDao">	
+<mapper namespace="com.xcong.excoin.modules.platform.dao.TradeSettingDao">
 	
-	<select id="findTradeSetting" resultType="com.xcong.excoin.modules.coin.entity.PlatformTradeSettingEntity">
+	<select id="findTradeSetting" resultType="com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity">
 		SELECT * FROM platform_trade_setting
 	</select>
 	
-	<select id="findSymbolSkubySymbol" resultType="com.xcong.excoin.modules.coin.entity.PlatformSymbolsSku">
+	<select id="findSymbolSkubySymbol" resultType="com.xcong.excoin.modules.platform.entity.PlatformSymbolsSkuEntity">
 		select * from platform_symbols_sku
 		 <where>
 			 <if test="symbol!=null and symbol!=''">
@@ -15,11 +15,11 @@
 		 </where>
 	</select>
 
-	<select id="findAllSymbolSkubySymbol" resultType="com.xcong.excoin.modules.coin.entity.PlatformSymbolsSku">
+	<select id="findAllSymbolSkubySymbol" resultType="com.xcong.excoin.modules.platform.entity.PlatformSymbolsSkuEntity">
 		select * from platform_symbols_sku
 	</select>
 	
-	<select id="findLeverageSetting" resultType="com.xcong.excoin.modules.coin.entity.PlatformLeverageSettingEntity">
+	<select id="findLeverageSetting" resultType="com.xcong.excoin.modules.platform.entity.PlatformLeverageSettingEntity">
 		select * from platform_leverage_setting order by value ASC
 	</select>
 	
diff --git a/src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml b/src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml
index 14705e8..998f72d 100644
--- a/src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml
+++ b/src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml
@@ -9,7 +9,7 @@
 	 			 and member_id = #{memberId}
 	 		</if>
 		 </where>
-		 order by id desc
+		 order by create_time desc
 	</select>
 	
 	<select id="selectWalletCoinOrder" resultType="com.xcong.excoin.modules.coin.entity.OrderCoinsDealEntity">
diff --git a/src/main/resources/mapper/walletCoinOrder/OrderCoinsDao.xml b/src/main/resources/mapper/walletCoinOrder/OrderCoinsDao.xml
index dfe3656..6d78def 100644
--- a/src/main/resources/mapper/walletCoinOrder/OrderCoinsDao.xml
+++ b/src/main/resources/mapper/walletCoinOrder/OrderCoinsDao.xml
@@ -12,6 +12,7 @@
 			<if test="symbol != null and symbol !=''">
 				 and a.symbol = #{symbol}
 			</if>
+			order by create_time desc
 	</select>
 	
 	<select id="findWalletCoinOrderByOrderNo" resultType="com.xcong.excoin.modules.coin.entity.OrderCoinsEntity">

--
Gitblit v1.9.1