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