From 704e120303eec54f6e165b9e4fd58f9a8b2931c6 Mon Sep 17 00:00:00 2001
From: gao <gaoleox@163>
Date: Wed, 01 Jul 2020 12:02:14 +0800
Subject: [PATCH] 快捷卖出接口修改

---
 src/main/java/com/xcong/excoin/modules/home/service/impl/MemberQuickBuySaleServiceImpl.java |   23 +++++++++++++++++++++++
 src/main/java/com/xcong/excoin/modules/home/service/MemberQuickBuySaleService.java          |    2 ++
 src/main/java/com/xcong/excoin/modules/home/controller/MemberQuickBuySaleController.java    |    6 ++++++
 src/main/resources/mapper/member/MemberWalletCoinDao.xml                                    |    9 +++++++++
 src/main/java/com/xcong/excoin/modules/member/dao/MemberWalletCoinDao.java                  |    2 ++
 5 files changed, 42 insertions(+), 0 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 5d6a6d3..3a5ecca 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
@@ -119,4 +119,10 @@
 		}
 		return memberQuickBuySaleService.sell(member,memberQuickBuySaleDto);
 	}
+	
+	@ApiOperation(value = "cancelSell", notes = "提现撤销")
+	@GetMapping(value = "/cancelSell")
+	public Result cancelSell(@RequestParam(value = "id") Long id) {
+		return memberQuickBuySaleService.cancelRecharge(id);
+	}
 }
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 4e8327e..3256044 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
@@ -20,4 +20,6 @@
 	public Result cancelRecharge(Long id);
 	
 	public Result sell(MemberEntity member,MemberQuickBuySaleDto memberQuickBuySaleDto);
+	
+	public Result cancelSell(Long id);
 }
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 a7e4e10..3e6014a 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
@@ -185,4 +185,27 @@
 		memberQuickBuySaleDao.updateById(memberQuickBuySaleEntity);
 		return Result.ok("成功");
 	}
+	
+	@Override
+	public Result cancelSell(Long id) {
+		// 获取当前登录用户
+		MemberEntity member = LoginUserUtils.getAppLoginUser();
+		MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleDao.selectByIdAndMemberId(member.getId(),id);
+		if(memberQuickBuySaleEntity!=null) {
+			memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_USER);
+			memberQuickBuySaleDao.updateById(memberQuickBuySaleEntity);
+			
+			MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(member.getId(),CoinTypeEnum.USDT.toString());
+			// 冻结资金返回可用
+			int i = memberWalletCoinDao.subFrozenBalance(member.getId(),
+					walletCoin.getId(), memberQuickBuySaleEntity.getAmountUsdt());
+			if(i<0) {
+				return Result.fail("撤单失败");
+			}
+			return Result.ok("成功");
+		}else {
+			return Result.fail("订单不存在");
+		}
+		
+	}
 }
diff --git a/src/main/java/com/xcong/excoin/modules/member/dao/MemberWalletCoinDao.java b/src/main/java/com/xcong/excoin/modules/member/dao/MemberWalletCoinDao.java
index 5829c94..f299d4d 100644
--- a/src/main/java/com/xcong/excoin/modules/member/dao/MemberWalletCoinDao.java
+++ b/src/main/java/com/xcong/excoin/modules/member/dao/MemberWalletCoinDao.java
@@ -18,4 +18,6 @@
 	MemberWalletCoinEntity selectWalletCoinBymIdAndCode(@Param("memberId")Long memberId,@Param("walletCode")String walletCode);
 	
 	int updateFrozenBalance(@Param("memberId")Long memberId,@Param("id")Long id,@Param("amount")BigDecimal amount);
+	
+	int subFrozenBalance(@Param("memberId")Long memberId,@Param("id")Long id,@Param("amount")BigDecimal amount);
 }
diff --git a/src/main/resources/mapper/member/MemberWalletCoinDao.xml b/src/main/resources/mapper/member/MemberWalletCoinDao.xml
index 9d67869..e8f13e3 100644
--- a/src/main/resources/mapper/member/MemberWalletCoinDao.xml
+++ b/src/main/resources/mapper/member/MemberWalletCoinDao.xml
@@ -18,6 +18,15 @@
 			id = #{id}
 		AND member_id = #{memberId}
 	</update>
+	
+	<update id="subFrozenBalance" parameterType="map">
+		UPDATE member_wallet_coin
+		SET available_balance = available_balance + #{amount},
+		 	frozen_balance = frozen_balance - #{amount}
+		WHERE
+			id = #{id}
+		AND member_id = #{memberId}
+	</update>
     
     
 

--
Gitblit v1.9.1