From 5013f71d0b9a886de77f936606de061ce1eb2aee Mon Sep 17 00:00:00 2001
From: gao <gaoleox@163>
Date: Wed, 27 May 2020 11:53:28 +0800
Subject: [PATCH] 平台收款方式接口

---
 src/main/java/com/xcong/excoin/modules/home/service/impl/MemberQuickBuySaleServiceImpl.java        |   32 +++++++++-
 src/main/java/com/xcong/excoin/modules/home/dto/MemberQuickBuySaleDto.java                         |    8 --
 src/main/java/com/xcong/excoin/modules/home/controller/MemberQuickBuySaleController.java           |    4 +
 src/main/java/com/xcong/excoin/modules/home/vo/MemberQuickBuySaleVo.java                           |    5 +
 src/main/java/com/xcong/excoin/modules/platform/entity/PlatformCnyUsdtExchangeEntity.java          |    8 --
 src/main/java/com/xcong/excoin/modules/platform/entity/PlatformPaymentMethodEntity.java            |   42 ++++++++++----
 src/main/java/com/xcong/excoin/modules/platform/service/PlatformPaymentMethodService.java          |    4 -
 src/main/java/com/xcong/excoin/modules/platform/controller/PlatformController.java                 |    9 +++
 src/main/java/com/xcong/excoin/modules/platform/service/impl/PlatformPaymentMethodServiceImpl.java |   26 ++------
 9 files changed, 84 insertions(+), 54 deletions(-)

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 869335b..a1a9da2 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
@@ -1,5 +1,7 @@
 package com.xcong.excoin.modules.home.controller;
 
+import javax.validation.Valid;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -32,7 +34,7 @@
 
 	@ApiOperation(value = "recharge", notes = "USDT快速充值")
 	@RequestMapping(value = "/recharge", method = RequestMethod.POST)
-	public Result recharge(@RequestBody MemberQuickBuySaleDto memberQuickBuySaleDto) {
+	public Result recharge(@RequestBody @Valid MemberQuickBuySaleDto memberQuickBuySaleDto) {
 		log.info("入参----->{}", memberQuickBuySaleDto);
 		//获取用户ID
 		MemberEntity member = LoginUserUtils.getAppLoginUser();
diff --git a/src/main/java/com/xcong/excoin/modules/home/dto/MemberQuickBuySaleDto.java b/src/main/java/com/xcong/excoin/modules/home/dto/MemberQuickBuySaleDto.java
index e927ee2..c2df2b4 100644
--- a/src/main/java/com/xcong/excoin/modules/home/dto/MemberQuickBuySaleDto.java
+++ b/src/main/java/com/xcong/excoin/modules/home/dto/MemberQuickBuySaleDto.java
@@ -1,7 +1,6 @@
 package com.xcong.excoin.modules.home.dto;
 
 import java.math.BigDecimal;
-import java.util.Date;
 
 import javax.validation.constraints.NotNull;
 
@@ -28,14 +27,7 @@
 	@ApiModelProperty(value = "单价",example = "7")
     private BigDecimal unitPrice;
 	
-	@NotNull(message = "订单类型不能为空")
-	@ApiModelProperty(value = "订单类型 B买入 S卖出",example = "B")
-    private String orderType;
-	
 	@NotNull(message = "交易密码不能为空")
 	@ApiModelProperty(value = "交易密码",example = "123456")
 	private String tradePassword;
-	
-	@ApiModelProperty(value = "充值时间")
-	private Date ChargeTime;
 }
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 3c4eaac..5842411 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.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xcong.excoin.common.LoginUserUtils;
@@ -26,6 +27,8 @@
 import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao;
 import com.xcong.excoin.modules.member.entity.MemberEntity;
 import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity;
+import com.xcong.excoin.modules.platform.dao.PlatformPaymentMethodDao;
+import com.xcong.excoin.modules.platform.entity.PlatformPaymentMethodEntity;
 
 @Service
 public class MemberQuickBuySaleServiceImpl extends ServiceImpl<MemberQuickBuySaleDao, MemberQuickBuySaleEntity> implements MemberQuickBuySaleService{
@@ -38,6 +41,8 @@
 	MemberWalletCoinDao memberWalletCoinDao;
 	@Resource
 	MemberPaymentMethodDao memberPaymentMethodDao;
+	@Resource 
+	PlatformPaymentMethodDao platformPaymentMethodDao;
 
 	@Override
 	public Result recharge(MemberEntity member,MemberQuickBuySaleDto memberQuickBuySaleDto) {
@@ -47,7 +52,7 @@
 		String chargeNo = String.valueOf(timestamp).substring(2) + random;
 		// 插入订单表
 		MemberQuickBuySaleEntity memberQuickBuySaleEntity = new MemberQuickBuySaleEntity();
-		memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CREATE);
+		memberQuickBuySaleEntity.setOrderStatus(1);
 		memberQuickBuySaleEntity.setMemberId(member.getId());
 		memberQuickBuySaleEntity.setAmountUsdt(memberQuickBuySaleDto.getAmountUsdt());
 		memberQuickBuySaleEntity.setAmountCny(memberQuickBuySaleDto.getAmountCny());
@@ -58,10 +63,27 @@
 		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.setPlatforPaymentMethodList(paymentMethodList);
+//		memberQuickBuySaleEntity.setReceiveMethod(payMethodList.get(index));
 		// 返回前台付款方式
 //				memberChargeUsdt.setReceiveMethod(payMethodList.get(index));
-		return Result.ok("购买成功,请及时付款");
+		return Result.ok(memberQuickBuySaleVo);
 	}
 
 	@Override
@@ -69,7 +91,7 @@
 		// 用户提交支付确认 将状态改为付款中
 		MemberQuickBuySaleEntity memberQuickBuySaleEntity = new MemberQuickBuySaleEntity();
 		memberQuickBuySaleEntity.setId(memberQuickBuySaleCommitDto.getId());
-		memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_PAID);
+		memberQuickBuySaleEntity.setOrderStatus(2);
 		memberQuickBuySaleEntity.setPaymentAccount(memberQuickBuySaleCommitDto.getPaymentAccount());
 		memberQuickBuySaleEntity.setPaymentName(memberQuickBuySaleCommitDto.getPaymentName());
 
@@ -128,7 +150,7 @@
 		String chargeNo = String.valueOf(timestamp).substring(2) + random;
 		// 插入订单表
 		MemberQuickBuySaleEntity memberQuickBuySaleEntity = new MemberQuickBuySaleEntity();
-		memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CREATE);
+		memberQuickBuySaleEntity.setOrderStatus(1);
 		memberQuickBuySaleEntity.setMemberId(member.getId());
 		memberQuickBuySaleEntity.setAmountUsdt(memberQuickBuySaleDto.getAmountUsdt());
 		memberQuickBuySaleEntity.setAmountCny(memberQuickBuySaleDto.getAmountCny());
@@ -153,7 +175,7 @@
 			return Result.fail("登录用户已失效");
 		}
 		MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleDao.selectByIdAndMemberId(id,member.getId());
-		memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_USER);
+		memberQuickBuySaleEntity.setOrderStatus(1);
 		memberQuickBuySaleDao.updateById(memberQuickBuySaleEntity);
 		
 		// 判断是否存在足够余额
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 e38eee5..0e4bd89 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,9 @@
 package com.xcong.excoin.modules.home.vo;
 
 import java.math.BigDecimal;
+import java.util.List;
+
+import com.xcong.excoin.modules.platform.entity.PlatformPaymentMethodEntity;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -33,4 +36,6 @@
     private String orderType;
 	@ApiModelProperty(value = "剩余时间")
     private Long timeLeft;
+	@ApiModelProperty(value = "平台收款方式")
+	private List<PlatformPaymentMethodEntity> platforPaymentMethodList;
 }
diff --git a/src/main/java/com/xcong/excoin/modules/platform/controller/PlatformController.java b/src/main/java/com/xcong/excoin/modules/platform/controller/PlatformController.java
index e8e2774..767c49f 100644
--- a/src/main/java/com/xcong/excoin/modules/platform/controller/PlatformController.java
+++ b/src/main/java/com/xcong/excoin/modules/platform/controller/PlatformController.java
@@ -9,6 +9,7 @@
 
 import com.xcong.excoin.common.response.Result;
 import com.xcong.excoin.modules.platform.service.PlatformCnyUsdtExchangeService;
+import com.xcong.excoin.modules.platform.service.PlatformPaymentMethodService;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -23,6 +24,8 @@
 	
 	@Resource
 	PlatformCnyUsdtExchangeService platformCnyUsdtExchangeService;
+	@Resource
+	PlatformPaymentMethodService platformPaymentMethodService;
 	
 	@ApiOperation(value = "findUsdtCnyExchange", notes = "Cny|Usdt兑换")
 	@GetMapping(value = "/findUsdtCnyExchange")
@@ -31,4 +34,10 @@
 		return platformCnyUsdtExchangeService.findUsdtCnyExchange(type);
 	}
 	
+	@ApiOperation(value = "findAllPaymentMethod", notes = "查询平台收款方式")
+	@GetMapping(value = "/findAllPaymentMethod")
+	public Result findAllPaymentMethod() {
+		return platformPaymentMethodService.findAll();
+	}
+	
 }
diff --git a/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformCnyUsdtExchangeEntity.java b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformCnyUsdtExchangeEntity.java
index da9b97f..cf89fbb 100644
--- a/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformCnyUsdtExchangeEntity.java
+++ b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformCnyUsdtExchangeEntity.java
@@ -3,17 +3,13 @@
 import java.math.BigDecimal;
 
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.xcong.excoin.common.system.base.BaseEntity;
 
 import lombok.Data;
 @Data
 @TableName("platform_cny_usdt_exchange")
-public class PlatformCnyUsdtExchangeEntity extends BaseEntity{
+public class PlatformCnyUsdtExchangeEntity{
 
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 1L;
+	private Long id;
 
 	/**
 	 * 兑换比例
diff --git a/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformPaymentMethodEntity.java b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformPaymentMethodEntity.java
index fbc3e0e..e8a2fff 100644
--- a/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformPaymentMethodEntity.java
+++ b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformPaymentMethodEntity.java
@@ -1,26 +1,44 @@
 package com.xcong.excoin.modules.platform.entity;
 
-import java.math.BigDecimal;
-
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.xcong.excoin.common.system.base.BaseEntity;
 
 import lombok.Data;
 @Data
-@TableName("platform_cny_usdt_exchange")
-public class PlatformPaymentMethodEntity extends BaseEntity{
+@TableName("platform_payment_method")
+public class PlatformPaymentMethodEntity{
+
+	
+	@TableId(value = "id",type = IdType.AUTO)
+	private Long id;
 
 	/**
-	 * 
+	 * 姓名
 	 */
-	private static final long serialVersionUID = 1L;
-
+	private String name;
 	/**
-	 * 兑换比例
+	 * 账号
 	 */
-	private BigDecimal value;
+	private String account;
 	/**
-	 * 增减偏量
+	 * 收款二维码
 	 */
-	private BigDecimal diff;
+	private String paymentQrcode;
+	/**
+	 * 类型【1、支付宝2、微信3、银行卡】
+	 */
+	private int type;
+	/**
+	 * 银行名
+	 */
+	private String bank;
+	/**
+	 * 状态
+	 */
+	private int status;
+	/**
+	 * 联系方式
+	 */
+	private String phone;
 }
diff --git a/src/main/java/com/xcong/excoin/modules/platform/service/PlatformPaymentMethodService.java b/src/main/java/com/xcong/excoin/modules/platform/service/PlatformPaymentMethodService.java
index 81b8d13..55edcbc 100644
--- a/src/main/java/com/xcong/excoin/modules/platform/service/PlatformPaymentMethodService.java
+++ b/src/main/java/com/xcong/excoin/modules/platform/service/PlatformPaymentMethodService.java
@@ -1,13 +1,11 @@
 package com.xcong.excoin.modules.platform.service;
 
-import org.springframework.web.bind.annotation.RequestParam;
-
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.xcong.excoin.common.response.Result;
 import com.xcong.excoin.modules.platform.entity.PlatformPaymentMethodEntity;
 
 public interface PlatformPaymentMethodService extends IService<PlatformPaymentMethodEntity> {
 
-	public Result findUsdtCnyExchange(@RequestParam("type") String type);
+	public Result findAll();
 	
 }
diff --git a/src/main/java/com/xcong/excoin/modules/platform/service/impl/PlatformPaymentMethodServiceImpl.java b/src/main/java/com/xcong/excoin/modules/platform/service/impl/PlatformPaymentMethodServiceImpl.java
index 46e0038..b4a011e 100644
--- a/src/main/java/com/xcong/excoin/modules/platform/service/impl/PlatformPaymentMethodServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/platform/service/impl/PlatformPaymentMethodServiceImpl.java
@@ -1,40 +1,28 @@
 package com.xcong.excoin.modules.platform.service.impl;
 
-import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.List;
 
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xcong.excoin.common.response.Result;
-import com.xcong.excoin.modules.platform.dao.PlatformCnyUsdtExchangeDao;
 import com.xcong.excoin.modules.platform.dao.PlatformPaymentMethodDao;
-import com.xcong.excoin.modules.platform.entity.PlatformCnyUsdtExchangeEntity;
 import com.xcong.excoin.modules.platform.entity.PlatformPaymentMethodEntity;
 import com.xcong.excoin.modules.platform.service.PlatformPaymentMethodService;
 
 @Service
 public class PlatformPaymentMethodServiceImpl extends ServiceImpl<PlatformPaymentMethodDao, PlatformPaymentMethodEntity> implements PlatformPaymentMethodService{
 	@Resource
-	PlatformCnyUsdtExchangeDao platformCnyUsdtExchangeDao;
+	PlatformPaymentMethodDao platformPaymentMethodDao;
 	
 	@Override
-	public Result findUsdtCnyExchange(String type) {
-		// 查询当前兑换价格
-		Map<String, Object> map = new HashMap<String, Object>();
-		PlatformCnyUsdtExchangeEntity platformCnyUsdtExchangeEntity = platformCnyUsdtExchangeDao.selectById(1);
-		BigDecimal cnyUsdt = platformCnyUsdtExchangeEntity.getValue();
-		if ("B".equals(type)) {
-			// 买的时候提高价格
-			map.put("exchange", cnyUsdt.add(platformCnyUsdtExchangeEntity.getDiff()));
-		}else {
-			// 卖的时候降低
-			map.put("exchange", cnyUsdt.subtract(platformCnyUsdtExchangeEntity.getDiff()));
-		}
-		return Result.ok(map);
+	public Result findAll() {
+		QueryWrapper<PlatformPaymentMethodEntity> queryWrapper = new QueryWrapper<>();
+		List<PlatformPaymentMethodEntity> paymentMethodList = platformPaymentMethodDao.selectList(queryWrapper);
+		return Result.ok(paymentMethodList);
 	}
 	
 }

--
Gitblit v1.9.1