From de971add14a7479aa9b18eadf8d6fad5be381d38 Mon Sep 17 00:00:00 2001
From: gao <gaoleox@163>
Date: Tue, 16 Jun 2020 16:08:47 +0800
Subject: [PATCH] 后台更新

---
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java |   91 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 88 insertions(+), 3 deletions(-)

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 b15ca7e..72f4d90 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,18 +1,27 @@
 package com.xcong.excoin.modules.member.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xcong.excoin.common.entity.FebsResponse;
 import com.xcong.excoin.common.entity.QueryRequest;
+import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity;
 import com.xcong.excoin.modules.member.entity.MemberEntity;
 import com.xcong.excoin.modules.member.entity.MemberQuickBuySaleEntity;
+import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity;
+import com.xcong.excoin.modules.member.mapper.MemberAccountMoneyChangeMapper;
 import com.xcong.excoin.modules.member.mapper.MemberMapper;
 import com.xcong.excoin.modules.member.mapper.MemberQuickBuySaleMapper;
+import com.xcong.excoin.modules.member.mapper.MemberWalletCoinMapper;
 import com.xcong.excoin.modules.member.service.IMemberService;
+import com.xcong.excoin.modules.member.vo.MemberQuickBuySaleVo;
 
 import lombok.RequiredArgsConstructor;
-
+import java.math.BigDecimal;
+import javax.validation.constraints.NotNull;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * @author wzy
@@ -23,6 +32,11 @@
 public class MemberServiceImpl extends ServiceImpl<MemberMapper, MemberEntity> implements IMemberService {
 	
 	private final MemberQuickBuySaleMapper memberQuickBuySaleMapper;
+	
+	private final MemberWalletCoinMapper memberWalletCoinMapper;
+	
+	private final MemberAccountMoneyChangeMapper memberAccountMoneyChangeMapper;
+	
 
     @Override
     public IPage<MemberEntity> findMemberListInPage(MemberEntity memberEntity, QueryRequest request) {
@@ -31,9 +45,80 @@
     }
 
 	@Override
-	public IPage<MemberQuickBuySaleEntity> findmemberQuickBuySaleListInPage(
+	public IPage<MemberQuickBuySaleVo> findmemberQuickBuySaleListInPage(
 			MemberQuickBuySaleEntity memberQuickBuySaleEntity, QueryRequest request) {
 		Page<MemberQuickBuySaleEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
-        return memberQuickBuySaleMapper.findmemberQuickBuySaleListInPage(page, memberQuickBuySaleEntity);
+		IPage<MemberQuickBuySaleVo> findmemberQuickBuySaleListInPage = memberQuickBuySaleMapper.findmemberQuickBuySaleListInPage(page, memberQuickBuySaleEntity);
+        return findmemberQuickBuySaleListInPage;
     }
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public FebsResponse memberChargeUsdtConfirm(Long id) {
+		
+		MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id);
+		
+		if(!MemberQuickBuySaleEntity.CHARGE_STATUS_PAID.equals(memberQuickBuySaleEntity.getOrderStatus())) {
+			return new FebsResponse().message("只允许已付款状态操作");
+		}
+		
+		Long memberId = memberQuickBuySaleEntity.getMemberId();
+		BigDecimal amountUsdt = memberQuickBuySaleEntity.getAmountUsdt();
+		String walletCode = "USDT";
+		
+		MemberEntity selectById = this.baseMapper.selectById(memberId);
+		if(ObjectUtils.isEmpty(selectById)) {
+			return new FebsResponse().message("用户已不存在");
+		}
+		//获取币币钱包
+		MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId,walletCode);
+		BigDecimal availableBalance = memberWalletCoinEntity.getAvailableBalance();
+		BigDecimal totalBalance = memberWalletCoinEntity.getTotalBalance();
+		memberWalletCoinEntity.setAvailableBalance(availableBalance.add(amountUsdt));
+		memberWalletCoinEntity.setTotalBalance(totalBalance.add(amountUsdt));
+		// 更新
+		memberWalletCoinMapper.updateById(memberWalletCoinEntity);
+		// 更新状态
+		memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CHECKED);
+		memberQuickBuySaleMapper.updateById(memberQuickBuySaleEntity);
+		
+		 //添加币币资金划转历史记录
+		MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
+        memberAccountMoneyChangeEntity.setContent("OTC转入");
+        memberAccountMoneyChangeEntity.setMemberId(memberId);
+        memberAccountMoneyChangeEntity.setAmount(amountUsdt);
+        memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER);
+        memberAccountMoneyChangeEntity.setSymbol("USDT");
+        memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN);
+        memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity);
+        /**
+         * todo
+		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+		String chargeTime = format.format(memberQuickBuySaleEntity.getChargeTime()); // 将当前时间袼式化为指定的格式
+		String usdt = memberQuickBuySaleEntity.getAmountUsdt()+"USDT";
+		//发送短信提醒
+		String smsContent = "【Excoin】尊敬的用户您好!您于"+chargeTime+"充值"+usdt+"已成功到账,请您及时查收!订单号为:"+memberChargeUsdt.getOrderCode()+"。";
+		SmsUtils.hxSmsSend(member.getPhone(), smsContent);
+		
+         */
+		return new FebsResponse().message("拨币成功");
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public FebsResponse memberChargeUsdtCancel(@NotNull(message = "{required}") Long id) {
+		
+		MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id);
+		
+		if(MemberQuickBuySaleEntity.CHARGE_STATUS_CHECKED.equals(memberQuickBuySaleEntity.getOrderStatus()) 
+				|| MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_USER.equals(memberQuickBuySaleEntity.getOrderStatus())
+				|| MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_SYSTEM.equals(memberQuickBuySaleEntity.getOrderStatus())) {
+			return new FebsResponse().message("不允许系统撤单操作");
+		}
+		
+		memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_SYSTEM);
+		memberQuickBuySaleMapper.updateById(memberQuickBuySaleEntity);
+		return new FebsResponse().success();
+		
+	}
 }

--
Gitblit v1.9.1