From 7fe6d6283dfda883bb50617b1aaeb83b2046f8df Mon Sep 17 00:00:00 2001
From: gao <gaoleox@163>
Date: Wed, 27 May 2020 16:17:03 +0800
Subject: [PATCH] 卖出接口

---
 src/main/java/com/xcong/excoin/modules/home/controller/MemberQuickBuySaleController.java |  115 ++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 64 insertions(+), 51 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 ee26bd5..8b7b99a 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,9 +1,9 @@
 package com.xcong.excoin.modules.home.controller;
 
-import java.util.Date;
+import javax.validation.Valid;
 
-import org.apache.commons.codec.digest.Md5Crypt;
 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.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -11,36 +11,44 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import com.alibaba.druid.util.StringUtils;
-import com.xcong.excoin.common.annotations.UserAuth;
+import com.xcong.excoin.common.LoginUserUtils;
 import com.xcong.excoin.common.response.Result;
-import com.xcong.excoin.modules.home.dao.MemberQuickBuySaleDao;
+import com.xcong.excoin.modules.home.dto.MemberQuickBuySaleCommitDto;
 import com.xcong.excoin.modules.home.dto.MemberQuickBuySaleDto;
-import com.xcong.excoin.modules.home.entity.MemberQuickBuySaleEntity;
+import com.xcong.excoin.modules.home.service.MemberQuickBuySaleService;
 import com.xcong.excoin.modules.member.entity.MemberEntity;
 
+import cn.hutool.crypto.SecureUtil;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 
 @RestController
+@Slf4j
 @RequestMapping(value = "/api/quick")
-@Api(value = "USDT快捷买卖类", tags = "USDT快捷买卖类")
+@Api(value = "MemberQuickBuySaleController", tags = "USDT快捷买卖类")
 public class MemberQuickBuySaleController {
 
 	@Autowired
-	MemberQuickBuySaleDao memberQuickBuySaleDao;
+	MemberQuickBuySaleService memberQuickBuySaleService;
 
-	@ApiOperation(value = "USDT快速充值", notes = "USDT快速充值")
+	@ApiOperation(value = "recharge", notes = "USDT快速充值")
 	@RequestMapping(value = "/recharge", method = RequestMethod.POST)
-	public Result recharge(@RequestBody MemberQuickBuySaleDto memberQuickBuySaleDto,
-			@UserAuth MemberEntity memberEntity) {
+	public Result recharge(@RequestBody @Valid MemberQuickBuySaleDto memberQuickBuySaleDto) {
+		log.info("入参----->{}", memberQuickBuySaleDto);
+		//获取用户ID
+		MemberEntity member = LoginUserUtils.getAppLoginUser();
+		log.info("查询到的会员----->{}", member);
 		// 验证是否实名认证
-		if (MemberEntity.CERTIFY_STATUS_Y.equals(memberEntity.getCertifyStatus())) {
+		if (MemberEntity.CERTIFY_STATUS_Y.equals(member.getCertifyStatus())) {
 			return Result.fail("请先实名认证");
 		}
 		String tradePasswordWeb = memberQuickBuySaleDto.getTradePassword();
+		
 		// 验证支付密码
-		String tradePassword = memberEntity.getTradePassword();
+		String tradePassword = member.getTradePassword();
+		
+		log.info("入参交易密码{},用户设置的交易密码{}", tradePasswordWeb,tradePassword);
 		if (StringUtils.isEmpty(tradePassword)) {
 			return Result.fail("请先配置交易密码");
 		}
@@ -50,49 +58,54 @@
 		// System.out.println("交易密码:"+MD5.GetMD5Code(tradePasswordWeb)+" tradePassword =
 		// "+tradePassword);
 		// 验证交易密码
-		if (!Md5Crypt.apr1Crypt(tradePasswordWeb).equals(tradePassword)) {
+		if (!tradePassword.equals(SecureUtil.md5(tradePasswordWeb))) {
 			return Result.fail("请输入正确的交易密码");
 		}
-		// 生成订单号
-		Long timestamp = System.currentTimeMillis();
-		int random = (int) (Math.random() * 10);
-		String chargeNo = String.valueOf(timestamp).substring(2) + random;
-		// 插入订单表
-		MemberQuickBuySaleEntity memberQuickBuySaleEntity = new MemberQuickBuySaleEntity();
-		memberQuickBuySaleEntity.setOrderStatus(memberQuickBuySaleEntity.CHARGE_STATUS_CREATE);
-		memberQuickBuySaleEntity.setMemberId(memberEntity.getId());
-		memberQuickBuySaleEntity.setCreateTime(new Date());
-		memberQuickBuySaleEntity.setOrderNo(chargeNo);
-		memberQuickBuySaleEntity.setOrderType("B");
-		// 支付码 ID+四位随机数
-		int ran = (int) (Math.random() * 10000000);
-		memberQuickBuySaleEntity.setPaymentCode(ran + "");
-		memberQuickBuySaleEntity.setPaymentAccount(memberQuickBuySaleDto.getPaymentAccount());
-		memberQuickBuySaleEntity.setPaymentName(memberQuickBuySaleDto.getPaymentName());
-
-		System.out.println("实体对象:"+memberQuickBuySaleEntity);
-		memberQuickBuySaleDao.insert(memberQuickBuySaleEntity);
-		// 返回前台付款方式
-//		memberChargeUsdt.setReceiveMethod(payMethodList.get(index));
-		return Result.ok("购买成功,请及时付款");
+		return memberQuickBuySaleService.recharge(member, memberQuickBuySaleDto);
 	}
 	
 	
-	@ApiOperation(value = "USDT充值支付确认", notes = "USDT充值支付确认")
-	@ApiImplicitParam(name = "token", value = "token", required = false, dataType = "String", paramType = "body")
-	@RequestMapping(value = "/commitPay", method = RequestMethod.GET)
-	public Result commitPay(@PathVariable(value = "id") Long id) {
-		// 用户提交支付确认 将状态改为付款中
-		MemberQuickBuySaleEntity MemberQuickBuySaleEntity = new MemberQuickBuySaleEntity();
-		MemberQuickBuySaleEntity.setId(id);
-		MemberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_PAID);
-		memberQuickBuySaleDao.updateById(MemberQuickBuySaleEntity);
-
-		// TODO dingtalk
+	@ApiOperation(value = "commitPay", notes = "USDT充值支付确认")
+	@RequestMapping(value = "/commitPay", method = RequestMethod.POST)
+	public Result commitPay(@RequestBody MemberQuickBuySaleCommitDto memberQuickBuySaleCommitDto) {
+		return memberQuickBuySaleService.commitPay(memberQuickBuySaleCommitDto);
+	}
+	
+	@ApiOperation(value = "selectById", notes = "查询单个买卖记录")
+	@GetMapping(value = "/selectById/{id}")
+	public Result selectById(@PathVariable(value = "id") Long id) {
+		return memberQuickBuySaleService.selectById(id);
+	}
+	
+	@ApiOperation(value = "cancel", notes = "充值撤销")
+	@GetMapping(value = "/cancel/{id}")
+	public Result cancel(@PathVariable(value = "id") Long id) {
+		return memberQuickBuySaleService.cancelRecharge(id);
+	}
+	
+	@ApiOperation(value = "sell", notes = "USDT快速卖出")
+	@RequestMapping(value = "/sell", method = RequestMethod.POST)
+	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();
 		
-		return Result.ok("确认成功");
+		log.info("入参交易密码{},用户设置的交易密码{}", tradePasswordWeb,tradePassword);
+		if (StringUtils.isEmpty(tradePassword)) {
+			return Result.fail("请先配置交易密码");
+		}
+		if (StringUtils.isEmpty(tradePasswordWeb)) {
+			return Result.fail("请输入交易密码");
+		}
+		// 验证交易密码
+		if (!tradePassword.equals(SecureUtil.md5(tradePasswordWeb))) {
+			return Result.fail("请输入正确的交易密码");
+		}
+		return memberQuickBuySaleService.sell(member,memberQuickBuySaleDto);
 	}
-	
-	
-	
 }

--
Gitblit v1.9.1