From fae05b7ffe899ab996f7a9c31b4c96df7964a0de Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 07 Jul 2020 21:20:55 +0800
Subject: [PATCH] add dingtalk

---
 src/main/java/com/xcong/excoin/modules/home/service/impl/MemberQuickBuySaleServiceImpl.java |  332 +++++++++++++++++++++++++++---------------------------
 1 files changed, 166 insertions(+), 166 deletions(-)

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 3e6014a..fd6273b 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
@@ -6,6 +6,8 @@
 
 import javax.annotation.Resource;
 
+import com.xcong.excoin.utils.ThreadPoolUtils;
+import com.xcong.excoin.utils.dingtalk.DingTalkType;
 import org.springframework.stereotype.Service;
 
 import com.alibaba.druid.util.StringUtils;
@@ -33,179 +35,177 @@
 import com.xcong.excoin.modules.platform.entity.PlatformPaymentMethodEntity;
 
 @Service
-public class MemberQuickBuySaleServiceImpl extends ServiceImpl<MemberQuickBuySaleDao, MemberQuickBuySaleEntity> implements MemberQuickBuySaleService{
-	
-	@Resource
-	MemberDao memberDao;
-	@Resource
-	MemberQuickBuySaleDao memberQuickBuySaleDao;
-	@Resource
-	MemberWalletCoinDao memberWalletCoinDao;
-	@Resource
-	MemberPaymentMethodDao memberPaymentMethodDao;
-	@Resource 
-	PlatformPaymentMethodDao platformPaymentMethodDao;
+public class MemberQuickBuySaleServiceImpl extends ServiceImpl<MemberQuickBuySaleDao, MemberQuickBuySaleEntity> implements MemberQuickBuySaleService {
 
-	@Override
-	public Result recharge(MemberEntity member,MemberQuickBuySaleDto memberQuickBuySaleDto) {
-		// 生成订单号
-		Long timestamp = System.currentTimeMillis();
-		int random = (int) (Math.random() * 10);
-		String chargeNo = String.valueOf(timestamp).substring(2) + random;
-		// 插入订单表
-		MemberQuickBuySaleEntity memberQuickBuySaleEntity = new MemberQuickBuySaleEntity();
-		memberQuickBuySaleEntity.setOrderStatus(1);
-		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");
-		// 支付码 ID+四位随机数
-		int ran = (int) (Math.random() * 10000000);
-		memberQuickBuySaleEntity.setPaymentCode(ran + "");
-		
-		memberQuickBuySaleDao.insert(memberQuickBuySaleEntity);
-		MemberQuickBuySaleVo memberQuickBuySaleVo = new MemberQuickBuySaleVo();
-		memberQuickBuySaleVo.setId(memberQuickBuySaleEntity.getId());
-		// 返回前台付款方式
-		return Result.ok("提交成功",memberQuickBuySaleVo);
-	}
+    @Resource
+    MemberDao memberDao;
+    @Resource
+    MemberQuickBuySaleDao memberQuickBuySaleDao;
+    @Resource
+    MemberWalletCoinDao memberWalletCoinDao;
+    @Resource
+    MemberPaymentMethodDao memberPaymentMethodDao;
+    @Resource
+    PlatformPaymentMethodDao platformPaymentMethodDao;
 
-	@Override
-	public Result commitPay(MemberQuickBuySaleCommitDto memberQuickBuySaleCommitDto) {
-		// 用户提交支付确认 将状态改为付款中
-		MemberQuickBuySaleEntity memberQuickBuySaleEntity = new MemberQuickBuySaleEntity();
-		memberQuickBuySaleEntity.setId(memberQuickBuySaleCommitDto.getId());
-		memberQuickBuySaleEntity.setOrderStatus(2);
-		memberQuickBuySaleEntity.setPaymentAccount(memberQuickBuySaleCommitDto.getPaymentAccount());
-		memberQuickBuySaleEntity.setPaymentName(memberQuickBuySaleCommitDto.getPaymentName());
+    @Override
+    public Result recharge(MemberEntity member, MemberQuickBuySaleDto memberQuickBuySaleDto) {
+        // 生成订单号
+        Long timestamp = System.currentTimeMillis();
+        int random = (int) (Math.random() * 10);
+        String chargeNo = String.valueOf(timestamp).substring(2) + random;
+        // 插入订单表
+        MemberQuickBuySaleEntity memberQuickBuySaleEntity = new MemberQuickBuySaleEntity();
+        memberQuickBuySaleEntity.setOrderStatus(1);
+        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");
+        // 支付码 ID+四位随机数
+        int ran = (int) (Math.random() * 10000000);
+        memberQuickBuySaleEntity.setPaymentCode(ran + "");
 
-		memberQuickBuySaleDao.updateById(memberQuickBuySaleEntity);
+        memberQuickBuySaleDao.insert(memberQuickBuySaleEntity);
+        MemberQuickBuySaleVo memberQuickBuySaleVo = new MemberQuickBuySaleVo();
+        memberQuickBuySaleVo.setId(memberQuickBuySaleEntity.getId());
+        // 返回前台付款方式
+        return Result.ok("提交成功", memberQuickBuySaleVo);
+    }
 
-		// TODO dingtalk
-		
-		return Result.ok("确认成功");
-	}
+    @Override
+    public Result commitPay(MemberQuickBuySaleCommitDto memberQuickBuySaleCommitDto) {
+        // 用户提交支付确认 将状态改为付款中
+        MemberQuickBuySaleEntity memberQuickBuySaleEntity = new MemberQuickBuySaleEntity();
+        memberQuickBuySaleEntity.setId(memberQuickBuySaleCommitDto.getId());
+        memberQuickBuySaleEntity.setOrderStatus(2);
+        memberQuickBuySaleEntity.setPaymentAccount(memberQuickBuySaleCommitDto.getPaymentAccount());
+        memberQuickBuySaleEntity.setPaymentName(memberQuickBuySaleCommitDto.getPaymentName());
 
-	@Override
-	public Result selectById(Long id) {
-		MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleDao.selectById(id);
-		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;
-		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);
-	}
+        memberQuickBuySaleDao.updateById(memberQuickBuySaleEntity);
 
-	@Override
-	public Result sell(MemberEntity member,MemberQuickBuySaleDto memberQuickBuySaleDto) {
-		// 判断是否存在足够余额
-		MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(member.getId(),CoinTypeEnum.USDT.toString());
-		// 判断是否存在足够余额
-		if(walletCoin ==null) {
-			return Result.fail("您当前可用USDT额度不够");
-		}
-		BigDecimal extractUsdt = memberQuickBuySaleDto.getAmountUsdt();
-		if (extractUsdt == null) {
-			return Result.fail("请输入提币量");
-		}
-		// 判断是否足够
-		System.out.println("提币数:"+extractUsdt.doubleValue()+"   可用:"+walletCoin.getAvailableBalance());
-		if (extractUsdt.compareTo(walletCoin.getAvailableBalance())==1) {
-			return Result.fail("您当前可用USDT额度不够");
-		}
+        ThreadPoolUtils.sendDingTalk(1);
+        return Result.ok("确认成功");
+    }
 
-		// 判断是否存在收款方式
-		List<MemberPaymentMethodEntity> payMentMethodList = memberPaymentMethodDao.selectByMemberId(member.getId());
-		if(CollectionUtils.isEmpty(payMentMethodList)){
-			return Result.fail("请配置收款方式");
-		}
-		// 冻结可用额度
-		int i = memberWalletCoinDao.updateFrozenBalance(member.getId(),
-				walletCoin.getId(), extractUsdt);
-		if (i <= 0) {
-			return Result.fail("可用USDT余额不足");
-		}
-		
-		// 生成订单号
-		Long timestamp = System.currentTimeMillis();
-		int random = (int) (Math.random() * 10);
-		String chargeNo = String.valueOf(timestamp).substring(2) + random;
-		// 插入订单表
-		MemberQuickBuySaleEntity memberQuickBuySaleEntity = new MemberQuickBuySaleEntity();
-		memberQuickBuySaleEntity.setOrderStatus(1);
-		memberQuickBuySaleEntity.setMemberId(member.getId());
-		memberQuickBuySaleEntity.setAmountUsdt(memberQuickBuySaleDto.getAmountUsdt());
-		memberQuickBuySaleEntity.setAmountCny(memberQuickBuySaleDto.getAmountCny());
-		memberQuickBuySaleEntity.setOrderNo(chargeNo);
-		memberQuickBuySaleEntity.setOrderType("S");
-		// 支付码 ID+四位随机数
-		int ran = (int) (Math.random() * 10000000);
-		memberQuickBuySaleEntity.setPaymentCode(ran + "");
-		
-		memberQuickBuySaleDao.insert(memberQuickBuySaleEntity);
+    @Override
+    public Result selectById(Long id) {
+        MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleDao.selectById(id);
+        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;
+        memberQuickBuySaleDetailVo.setTimeLeft((third - nowTime + startTime) / 1000);
+        return Result.ok(memberQuickBuySaleDetailVo);
+    }
 
-		// TODO dingtalk
-		
-		return Result.ok("下单成功");
-	}
+    @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
-	public Result cancelRecharge(Long id) {
-		// 获取当前登录用户
-		MemberEntity member = LoginUserUtils.getAppLoginUser();
-		MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleDao.selectByIdAndMemberId(member.getId(),id);
-		memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_USER);
-		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("订单不存在");
-		}
-		
-	}
+    @Override
+    public Result sell(MemberEntity member, MemberQuickBuySaleDto memberQuickBuySaleDto) {
+        // 判断是否存在足够余额
+        MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(member.getId(), CoinTypeEnum.USDT.toString());
+        // 判断是否存在足够余额
+        if (walletCoin == null) {
+            return Result.fail("您当前可用USDT额度不够");
+        }
+        BigDecimal extractUsdt = memberQuickBuySaleDto.getAmountUsdt();
+        if (extractUsdt == null) {
+            return Result.fail("请输入提币量");
+        }
+        // 判断是否足够
+        System.out.println("提币数:" + extractUsdt.doubleValue() + "   可用:" + walletCoin.getAvailableBalance());
+        if (extractUsdt.compareTo(walletCoin.getAvailableBalance()) == 1) {
+            return Result.fail("您当前可用USDT额度不够");
+        }
+
+        // 判断是否存在收款方式
+        List<MemberPaymentMethodEntity> payMentMethodList = memberPaymentMethodDao.selectByMemberId(member.getId());
+        if (CollectionUtils.isEmpty(payMentMethodList)) {
+            return Result.fail("请配置收款方式");
+        }
+        // 冻结可用额度
+        int i = memberWalletCoinDao.updateFrozenBalance(member.getId(),
+                walletCoin.getId(), extractUsdt);
+        if (i <= 0) {
+            return Result.fail("可用USDT余额不足");
+        }
+
+        // 生成订单号
+        Long timestamp = System.currentTimeMillis();
+        int random = (int) (Math.random() * 10);
+        String chargeNo = String.valueOf(timestamp).substring(2) + random;
+        // 插入订单表
+        MemberQuickBuySaleEntity memberQuickBuySaleEntity = new MemberQuickBuySaleEntity();
+        memberQuickBuySaleEntity.setOrderStatus(1);
+        memberQuickBuySaleEntity.setMemberId(member.getId());
+        memberQuickBuySaleEntity.setAmountUsdt(memberQuickBuySaleDto.getAmountUsdt());
+        memberQuickBuySaleEntity.setAmountCny(memberQuickBuySaleDto.getAmountCny());
+        memberQuickBuySaleEntity.setOrderNo(chargeNo);
+        memberQuickBuySaleEntity.setOrderType("S");
+        // 支付码 ID+四位随机数
+        int ran = (int) (Math.random() * 10000000);
+        memberQuickBuySaleEntity.setPaymentCode(ran + "");
+
+        memberQuickBuySaleDao.insert(memberQuickBuySaleEntity);
+
+        ThreadPoolUtils.sendDingTalk(2);
+        return Result.ok("下单成功");
+    }
+
+    @Override
+    public Result cancelRecharge(Long id) {
+        // 获取当前登录用户
+        MemberEntity member = LoginUserUtils.getAppLoginUser();
+        MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleDao.selectByIdAndMemberId(member.getId(), id);
+        memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_USER);
+        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("订单不存在");
+        }
+
+    }
 }

--
Gitblit v1.9.1