From b9333be7a664c3ea113dd789b7c8be735840a361 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 27 May 2020 18:47:27 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/chonggaoxiao/new_excoin

---
 src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinsDao.java                          |    4 
 src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java          |   15 
 src/main/java/com/xcong/excoin/modules/member/dao/MemberAuthenticationDao.java              |   10 
 src/main/java/com/xcong/excoin/modules/home/vo/MemberQuickBuySaleVo.java                    |   25 -
 src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java              |   93 +++++-
 src/main/java/com/xcong/excoin/modules/home/mapper/MemberQuickBuySaleEntityMapper.java      |    9 
 pom.xml                                                                                     |    1 
 src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinListVo.java         |   16 +
 src/main/java/com/xcong/excoin/modules/home/service/impl/MemberQuickBuySaleServiceImpl.java |   60 ++-
 src/main/java/com/xcong/excoin/modules/member/entity/MemberAuthenticationEntity.java        |  121 ++++----
 src/main/resources/mapper/member/MemberAuthenticationDao.xml                                |    9 
 src/main/java/com/xcong/excoin/modules/home/service/MemberQuickBuySaleService.java          |    2 
 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/java/com/xcong/excoin/modules/home/controller/MemberQuickBuySaleController.java    |   21 
 src/main/java/com/xcong/excoin/modules/home/vo/MemberQuickBuySaleDetailVo.java              |   44 +++
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java           |  168 +++++++++++
 src/main/resources/mapper/member/MemberDao.xml                                              |    1 
 src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberAuthenticationDto.java    |   45 +++
 src/main/java/com/xcong/excoin/modules/platform/entity/PlatformBannerEntity.java            |   46 +++
 src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberForgetPwdDto.java         |   31 ++
 src/main/java/com/xcong/excoin/modules/home/dto/MemberQuickBuySaleCommitDto.java            |    8 
 src/main/java/com/xcong/excoin/modules/member/dao/MemberDao.java                            |   31 +-
 src/main/java/com/xcong/excoin/modules/member/service/MemberService.java                    |   41 +-
 24 files changed, 653 insertions(+), 175 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/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/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/service/impl/OrderCoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java
index d3aa7ad..4d13205 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
@@ -35,6 +35,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.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;
@@ -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/home/controller/MemberQuickBuySaleController.java b/src/main/java/com/xcong/excoin/modules/home/controller/MemberQuickBuySaleController.java
index a1a9da2..a6dbf07 100644
--- a/src/main/java/com/xcong/excoin/modules/home/controller/MemberQuickBuySaleController.java
+++ b/src/main/java/com/xcong/excoin/modules/home/controller/MemberQuickBuySaleController.java
@@ -5,9 +5,11 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
+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.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.alibaba.druid.util.StringUtils;
@@ -55,8 +57,6 @@
 		if (StringUtils.isEmpty(tradePasswordWeb)) {
 			return Result.fail("请输入交易密码");
 		}
-		// System.out.println("交易密码:"+MD5.GetMD5Code(tradePasswordWeb)+" tradePassword =
-		// "+tradePassword);
 		// 验证交易密码
 		if (!tradePassword.equals(SecureUtil.md5(tradePasswordWeb))) {
 			return Result.fail("请输入正确的交易密码");
@@ -67,7 +67,7 @@
 	
 	@ApiOperation(value = "commitPay", notes = "USDT充值支付确认")
 	@RequestMapping(value = "/commitPay", method = RequestMethod.POST)
-	public Result commitPay(@RequestBody MemberQuickBuySaleCommitDto memberQuickBuySaleCommitDto) {
+	public Result commitPay(@RequestBody @Valid MemberQuickBuySaleCommitDto memberQuickBuySaleCommitDto) {
 		return memberQuickBuySaleService.commitPay(memberQuickBuySaleCommitDto);
 	}
 	
@@ -77,22 +77,27 @@
 		return memberQuickBuySaleService.selectById(id);
 	}
 	
+	@ApiOperation(value = "selectAll", notes = "查询用户所有的买卖记录")
+	@GetMapping(value = "/selectAll")
+	public Result selectAll(@RequestParam(value = "type") String type) {
+		return memberQuickBuySaleService.selectAll(type);
+	}
+	
 	@ApiOperation(value = "cancel", notes = "充值撤销")
-	@GetMapping(value = "/cancel/{id}")
-	public Result cancel(@PathVariable(value = "id") Long id) {
+	@GetMapping(value = "/cancel")
+	public Result cancel(@RequestParam(value = "id") Long id) {
 		return memberQuickBuySaleService.cancelRecharge(id);
 	}
 	
-	@ApiOperation(value = "sell", notes = "USDT快速充值")
+	@ApiOperation(value = "sell", notes = "USDT快速卖出")
 	@RequestMapping(value = "/sell", method = RequestMethod.POST)
-	public Result sell(MemberQuickBuySaleDto memberQuickBuySaleDto) {
+	public Result sell(@RequestBody @Valid MemberQuickBuySaleDto memberQuickBuySaleDto) {
 		// 获取当前登录用户
 		MemberEntity member = LoginUserUtils.getAppLoginUser();
 		if (MemberEntity.CERTIFY_STATUS_Y.equals(member.getCertifyStatus())) {
 			return Result.fail("请先实名认证");
 		}
 		String tradePasswordWeb = memberQuickBuySaleDto.getTradePassword();
-		
 		// 验证支付密码
 		String tradePassword = member.getTradePassword();
 		
diff --git a/src/main/java/com/xcong/excoin/modules/home/dto/MemberQuickBuySaleCommitDto.java b/src/main/java/com/xcong/excoin/modules/home/dto/MemberQuickBuySaleCommitDto.java
index 2746b33..3d3a550 100644
--- a/src/main/java/com/xcong/excoin/modules/home/dto/MemberQuickBuySaleCommitDto.java
+++ b/src/main/java/com/xcong/excoin/modules/home/dto/MemberQuickBuySaleCommitDto.java
@@ -1,22 +1,28 @@
 package com.xcong.excoin.modules.home.dto;
 
+import javax.validation.constraints.NotNull;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 @Data
-@ApiModel(value = "确认快捷买入接收参数", description = "确认快捷买入接收参数")
+@ApiModel(value = "MemberQuickBuySaleCommitDto", description = "确认快捷买入接收参数")
 public class MemberQuickBuySaleCommitDto {
 
+	@NotNull(message = "订单id不能为空")
 	@ApiModelProperty(value = "主键",example = "1")
 	private Long id;
 	
+	@NotNull(message = "付款方式不能为空")
 	@ApiModelProperty(value = "付款方式 1-支付宝2-微信3-银行卡",example = "1")
     private int paymentType;
 	
+	@NotNull(message = "收款账号不能为空")
 	@ApiModelProperty(value = "收款账号",example = "13000000000")
     private String paymentAccount;
 	
+	@NotNull(message = "收款人姓名不能为空")
 	@ApiModelProperty(value = "收款人姓名",example = "张三")
     private String paymentName;
 }
diff --git a/src/main/java/com/xcong/excoin/modules/home/mapper/MemberQuickBuySaleEntityMapper.java b/src/main/java/com/xcong/excoin/modules/home/mapper/MemberQuickBuySaleEntityMapper.java
index c1a10dd..c79e48e 100644
--- a/src/main/java/com/xcong/excoin/modules/home/mapper/MemberQuickBuySaleEntityMapper.java
+++ b/src/main/java/com/xcong/excoin/modules/home/mapper/MemberQuickBuySaleEntityMapper.java
@@ -1,12 +1,13 @@
 package com.xcong.excoin.modules.home.mapper;
 
-import com.xcong.excoin.modules.home.entity.MemberQuickBuySaleEntity;
+import java.util.List;
+
 import org.mapstruct.Mapper;
 import org.mapstruct.factory.Mappers;
 
 import com.xcong.excoin.modules.home.dto.MemberQuickBuySaleDto;
 import com.xcong.excoin.modules.home.entity.MemberQuickBuySaleEntity;
-import com.xcong.excoin.modules.home.vo.MemberQuickBuySaleVo;
+import com.xcong.excoin.modules.home.vo.MemberQuickBuySaleDetailVo;
 
 
 @Mapper
@@ -14,8 +15,10 @@
 
     public static final MemberQuickBuySaleEntityMapper INSTANCE = Mappers.getMapper(MemberQuickBuySaleEntityMapper.class);
 
-    public abstract MemberQuickBuySaleVo entityToVo(MemberQuickBuySaleEntity memberQuickBuySaleEntity);
+    public abstract MemberQuickBuySaleDetailVo entityToVo(MemberQuickBuySaleEntity memberQuickBuySaleEntity);
     
     public abstract MemberQuickBuySaleEntity dtoToEntity(MemberQuickBuySaleDto dto);
+    
+    public abstract List<MemberQuickBuySaleDetailVo> entityListToVoList(List<MemberQuickBuySaleEntity> memberQuickBuySaleEntityList);
 
 }
diff --git a/src/main/java/com/xcong/excoin/modules/home/service/MemberQuickBuySaleService.java b/src/main/java/com/xcong/excoin/modules/home/service/MemberQuickBuySaleService.java
index d7bf632..4e8327e 100644
--- a/src/main/java/com/xcong/excoin/modules/home/service/MemberQuickBuySaleService.java
+++ b/src/main/java/com/xcong/excoin/modules/home/service/MemberQuickBuySaleService.java
@@ -15,6 +15,8 @@
 	
 	public Result selectById(Long id);
 	
+	public Result selectAll(String type);
+	
 	public Result cancelRecharge(Long id);
 	
 	public Result sell(MemberEntity member,MemberQuickBuySaleDto memberQuickBuySaleDto);
diff --git a/src/main/java/com/xcong/excoin/modules/home/service/impl/MemberQuickBuySaleServiceImpl.java b/src/main/java/com/xcong/excoin/modules/home/service/impl/MemberQuickBuySaleServiceImpl.java
index 5842411..7dbddec 100644
--- a/src/main/java/com/xcong/excoin/modules/home/service/impl/MemberQuickBuySaleServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/home/service/impl/MemberQuickBuySaleServiceImpl.java
@@ -8,6 +8,7 @@
 
 import org.springframework.stereotype.Service;
 
+import com.alibaba.druid.util.StringUtils;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -22,6 +23,7 @@
 import com.xcong.excoin.modules.home.entity.MemberQuickBuySaleEntity;
 import com.xcong.excoin.modules.home.mapper.MemberQuickBuySaleEntityMapper;
 import com.xcong.excoin.modules.home.service.MemberQuickBuySaleService;
+import com.xcong.excoin.modules.home.vo.MemberQuickBuySaleDetailVo;
 import com.xcong.excoin.modules.home.vo.MemberQuickBuySaleVo;
 import com.xcong.excoin.modules.member.dao.MemberDao;
 import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao;
@@ -56,6 +58,7 @@
 		memberQuickBuySaleEntity.setMemberId(member.getId());
 		memberQuickBuySaleEntity.setAmountUsdt(memberQuickBuySaleDto.getAmountUsdt());
 		memberQuickBuySaleEntity.setAmountCny(memberQuickBuySaleDto.getAmountCny());
+		memberQuickBuySaleEntity.setUnitPrice(memberQuickBuySaleDto.getUnitPrice());
 		memberQuickBuySaleEntity.setCreateTime(new Date());
 		memberQuickBuySaleEntity.setOrderNo(chargeNo);
 		memberQuickBuySaleEntity.setOrderType("B");
@@ -63,26 +66,10 @@
 		int ran = (int) (Math.random() * 10000000);
 		memberQuickBuySaleEntity.setPaymentCode(ran + "");
 		
-		// 收款信息
-		QueryWrapper<PlatformPaymentMethodEntity> queryWrapper = new QueryWrapper<>();
-		queryWrapper.eq("status", "1");
-		List<PlatformPaymentMethodEntity> paymentMethodList = platformPaymentMethodDao.selectList(queryWrapper);
-		// 随机一个
-		if (CollectionUtils.isEmpty(paymentMethodList)) {
-			return Result.fail("收款方式为空");
-		}
-//		int total = paymentMethodList.size();
-//		int index = (int) (Math.random() * total);
-//		PlatformPaymentMethodEntity paymemtMethod = paymentMethodList.get(index);
-//		memberQuickBuySaleEntity.setPaymentName(paymemtMethod.getName());
-//		memberQuickBuySaleEntity.setPaymentAccount(paymemtMethod.getAccount());
 		memberQuickBuySaleDao.insert(memberQuickBuySaleEntity);
-		MemberQuickBuySaleVo memberQuickBuySaleVo = MemberQuickBuySaleEntityMapper.INSTANCE.entityToVo(memberQuickBuySaleEntity);
+		MemberQuickBuySaleVo memberQuickBuySaleVo = new MemberQuickBuySaleVo();
+		memberQuickBuySaleVo.setId(memberQuickBuySaleEntity.getId());
 		// 返回前台付款方式
-//		memberQuickBuySaleVo.setPlatforPaymentMethodList(paymentMethodList);
-//		memberQuickBuySaleEntity.setReceiveMethod(payMethodList.get(index));
-		// 返回前台付款方式
-//				memberChargeUsdt.setReceiveMethod(payMethodList.get(index));
 		return Result.ok(memberQuickBuySaleVo);
 	}
 
@@ -105,12 +92,35 @@
 	@Override
 	public Result selectById(Long id) {
 		MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleDao.selectById(id);
-		MemberQuickBuySaleVo memberQuickBuySaleVo = MemberQuickBuySaleEntityMapper.INSTANCE.entityToVo(memberQuickBuySaleEntity);
+		MemberQuickBuySaleDetailVo memberQuickBuySaleDetailVo = MemberQuickBuySaleEntityMapper.INSTANCE.entityToVo(memberQuickBuySaleEntity);
+		// 收款信息
+		QueryWrapper<PlatformPaymentMethodEntity> queryWrapper = new QueryWrapper<>();
+		queryWrapper.eq("status", "1");
+		List<PlatformPaymentMethodEntity> paymentMethodList = platformPaymentMethodDao.selectList(queryWrapper);
+		// 随机一个
+		if (CollectionUtils.isEmpty(paymentMethodList)) {
+			return Result.fail("收款方式为空");
+		}
+		memberQuickBuySaleDetailVo.setPlatforPaymentMethodList(paymentMethodList);
 		long startTime = memberQuickBuySaleEntity.getCreateTime().getTime();
 		long nowTime = new Date().getTime();
 		long third = 30*60*1000;
-		memberQuickBuySaleVo.setTimeLeft((third-nowTime+startTime)/1000);
-		return Result.ok(memberQuickBuySaleVo);
+		memberQuickBuySaleDetailVo.setTimeLeft((third-nowTime+startTime)/1000);
+		return Result.ok(memberQuickBuySaleDetailVo);
+	}
+	
+	@Override
+	public Result selectAll(String type) {
+		MemberEntity member = LoginUserUtils.getAppLoginUser();
+		QueryWrapper<MemberQuickBuySaleEntity> queryWrapper = new QueryWrapper<>();
+		queryWrapper.eq("member_id", member.getId());
+		if(!StringUtils.isEmpty(type)) {
+			queryWrapper.eq("order_type", type);
+		}
+		queryWrapper.orderByDesc("id");
+		List<MemberQuickBuySaleEntity> memberQuickBuySaleEntityList = memberQuickBuySaleDao.selectList(queryWrapper);
+		List<MemberQuickBuySaleDetailVo> memberQuickBuySaleDetailVoList = MemberQuickBuySaleEntityMapper.INSTANCE.entityListToVoList(memberQuickBuySaleEntityList);
+		return Result.ok(memberQuickBuySaleDetailVoList);
 	}
 
 	@Override
@@ -130,7 +140,6 @@
 		if (extractUsdt.compareTo(walletCoin.getAvailableBalance())==1) {
 			return Result.fail("您当前可用USDT额度不够");
 		}
-
 
 		// 判断是否存在收款方式
 		List<MemberPaymentMethodEntity> payMentMethodList = memberPaymentMethodDao.selectByMemberId(member.getId());
@@ -171,11 +180,8 @@
 	public Result cancelRecharge(Long id) {
 		// 获取当前登录用户
 		MemberEntity member = LoginUserUtils.getAppLoginUser();
-		if(member==null) {
-			return Result.fail("登录用户已失效");
-		}
-		MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleDao.selectByIdAndMemberId(id,member.getId());
-		memberQuickBuySaleEntity.setOrderStatus(1);
+		MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleDao.selectByIdAndMemberId(member.getId(),id);
+		memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_USER);
 		memberQuickBuySaleDao.updateById(memberQuickBuySaleEntity);
 		
 		// 判断是否存在足够余额
diff --git a/src/main/java/com/xcong/excoin/modules/home/vo/MemberQuickBuySaleDetailVo.java b/src/main/java/com/xcong/excoin/modules/home/vo/MemberQuickBuySaleDetailVo.java
new file mode 100644
index 0000000..db8e91f
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/home/vo/MemberQuickBuySaleDetailVo.java
@@ -0,0 +1,44 @@
+package com.xcong.excoin.modules.home.vo;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.xcong.excoin.modules.platform.entity.PlatformPaymentMethodEntity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+@Data
+@ApiModel(value = "会员快捷买入卖出", description = "会员快捷买入卖出类")
+public class MemberQuickBuySaleDetailVo {
+
+	@ApiModelProperty(value = "订单Id")
+    private Long id;
+	@ApiModelProperty(value = "用户id")
+    private Long memberId;
+    @ApiModelProperty(value = "金额(人民币)")
+    private BigDecimal amountCny;
+    @ApiModelProperty(value = "金额(USDT)")
+    private BigDecimal amountUsdt;
+    @ApiModelProperty(value = "付款方式 1-支付宝2-微信3-银行卡")
+    private Integer paymentType;
+    @ApiModelProperty(value = "支付码")
+    private String paymentCode;
+    @ApiModelProperty(value = "单价")
+    private BigDecimal unitPrice;
+    @ApiModelProperty(value = "订单状态 1-新建2-已付款3-已审核4-撤单5-系统取消")
+    private int orderStatus;
+    @ApiModelProperty(value = "订单编号")
+    private String orderNo;
+    @ApiModelProperty(value = "订单类型 B买入 S卖出")
+    private String orderType;
+	@ApiModelProperty(value = "剩余时间")
+    private Long timeLeft;
+	@ApiModelProperty(value = "下单时间")
+	@JsonFormat(pattern = "MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+	@ApiModelProperty(value = "平台收款方式")
+	private List<PlatformPaymentMethodEntity> platforPaymentMethodList;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/home/vo/MemberQuickBuySaleVo.java b/src/main/java/com/xcong/excoin/modules/home/vo/MemberQuickBuySaleVo.java
index 0e4bd89..6d41454 100644
--- a/src/main/java/com/xcong/excoin/modules/home/vo/MemberQuickBuySaleVo.java
+++ b/src/main/java/com/xcong/excoin/modules/home/vo/MemberQuickBuySaleVo.java
@@ -1,6 +1,5 @@
 package com.xcong.excoin.modules.home.vo;
 
-import java.math.BigDecimal;
 import java.util.List;
 
 import com.xcong.excoin.modules.platform.entity.PlatformPaymentMethodEntity;
@@ -12,28 +11,8 @@
 @ApiModel(value = "会员快捷买入卖出", description = "会员快捷买入卖出类")
 public class MemberQuickBuySaleVo {
 
-	@ApiModelProperty(value = "用户Id")
-    private Long memberId;
-	@ApiModelProperty(value = "金额(人民币)")
-    private BigDecimal amountCny;
-	@ApiModelProperty(value = "金额(USDT)")
-    private BigDecimal amountUsdt;
-	@ApiModelProperty(value = "付款方式 1-支付宝2-微信3-银行卡")
-    private int paymentType;
-	@ApiModelProperty(value = "收款账号")
-    private String paymentAccount;
-	@ApiModelProperty(value = "收款人姓名")
-    private String paymentName;
-	@ApiModelProperty(value = "支付码")
-    private String paymentCode;
-	@ApiModelProperty(value = "单价")
-    private BigDecimal unitPrice;
-	@ApiModelProperty(value = "订单状态 1-新建2-已付款3-已审核4-撤单5-系统取消")
-    private int orderStatus;
-	@ApiModelProperty(value = "订单编号")
-    private String orderNo;
-	@ApiModelProperty(value = "订单类型 B买入 S卖出")
-    private String orderType;
+	@ApiModelProperty(value = "订单Id")
+    private Long id;
 	@ApiModelProperty(value = "剩余时间")
     private Long timeLeft;
 	@ApiModelProperty(value = "平台收款方式")
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..5fc8ceb 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,78 @@
-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.MemberForgetPwdDto;
+import com.xcong.excoin.modules.member.parameter.vo.MemberInfoVo;
+import com.xcong.excoin.modules.member.service.MemberService;
+
+import io.swagger.annotations.Api;
+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();
+	}
+	
+	/**
+	 * 忘记密码
+	 * @param code 验证码
+	 * @param password 新密码
+	 * @param token 用户登录的token
+	 * @return
+	 */
+	@ApiOperation(value=" 忘记密码", notes=" 忘记密码")
+	@RequestMapping(value="/memberForgetPwd")
+	public Result  memberForgetPwd(@RequestBody @Valid MemberForgetPwdDto memberForgetPwdDto) {
+		return memberService.memberForgetPwd(memberForgetPwdDto);
+	}
+	
+	/**
+	 * 实名认证
+	 * @param token
+	 * @param memberAuthenVo
+	 * @param request
+	 * @return
+	 */
+	@ApiOperation(value="实名认证", notes="实名认证")
+	@PostMapping(value="/memberAuthentication")
+	public Result memberAuthentication(@RequestBody @Valid MemberAuthenticationDto memberAuthenticationDto) {
+		return memberService.memberAuthentication(memberAuthenticationDto);
+	}
+	
+	
+	
+}
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/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/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/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/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/service/MemberService.java b/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java
index 26ca3bd..0a70c84 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,25 @@
-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.MemberForgetPwdDto;
+
+/**
+ * @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);
+
+}
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..af6f9ec 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,13 @@
 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 cn.hutool.crypto.digest.MD5;
+
 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 +15,25 @@
 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.MemberForgetPwdDto;
+import com.xcong.excoin.modules.member.parameter.vo.MemberInfoVo;
 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.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import javax.annotation.Resource;
+import javax.validation.Valid;
 
 /**
  * @author wzy
@@ -43,6 +57,12 @@
 
     @Resource
     private MemberLevelRateDao memberLevelRateDao;
+    
+    @Resource
+    MemberAuthenticationDao memberAuthenticationDao;
+    
+    @Autowired
+    RedisUtils redisUtils;
 
     @Transactional()
     @Override
@@ -135,9 +155,147 @@
             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
+	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"));
+    }
+	
+	/**
+	 * 验证输入的验证码
+	 * @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"));
+    }
+
 }
diff --git a/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformBannerEntity.java b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformBannerEntity.java
new file mode 100644
index 0000000..f3ef012
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformBannerEntity.java
@@ -0,0 +1,46 @@
+package com.xcong.excoin.modules.platform.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import lombok.Data;
+@Data
+@TableName("platform_banner")
+public class PlatformBannerEntity{
+
+	
+	@TableId(value = "id",type = IdType.AUTO)
+	private Long id;
+
+	/**
+	 * 标题
+	 */
+	private String name;
+	/**
+	 * 图片链接
+	 */
+	private String image_url;
+	/**
+	 * 是否可跳转 1-是2-否
+	 */
+	private String is_jump;
+	/**
+	 * 跳转外部或内部 1-内2-外
+	 */
+	private int is_inside;
+	/**
+	 * 跳转链接
+	 */
+	private String jump_url;
+	/**
+	 * 显示端口 1-pc2-手机
+	 */
+	private int show_port;
+	/**
+	 * 联系方式
+	 */
+	private String sort;
+	
+	private String is_top;
+}
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

--
Gitblit v1.9.1