| | |
| | | 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.dto.MemberDetailConfirmDto; |
| | | import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity; |
| | | import com.xcong.excoin.modules.member.entity.MemberCoinAddressEntity; |
| | | import com.xcong.excoin.modules.member.entity.MemberCoinChargeEntity; |
| | | import com.xcong.excoin.modules.member.entity.MemberCoinWithdrawEntity; |
| | | 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.MemberAuthenticationMapper; |
| | | import com.xcong.excoin.modules.member.mapper.MemberCoinAddressMapper; |
| | | import com.xcong.excoin.modules.member.mapper.MemberCoinChargeMapper; |
| | | import com.xcong.excoin.modules.member.mapper.MemberCoinWithdrawMapper; |
| | | 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 org.springframework.stereotype.Service; |
| | | import com.xcong.excoin.modules.member.vo.MemberAuthenticationVo; |
| | | import com.xcong.excoin.modules.member.vo.MemberCoinChargeVo; |
| | | import com.xcong.excoin.modules.member.vo.MemberCoinWithdrawVo; |
| | | import com.xcong.excoin.modules.member.vo.MemberQuickBuySaleVo; |
| | | import com.xcong.excoin.modules.member.vo.MemberQuickSaleVo; |
| | | |
| | | import lombok.RequiredArgsConstructor; |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.validation.Valid; |
| | | import javax.validation.constraints.NotNull; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | /** |
| | | * @author wzy |
| | | * @date 2020-06-10 |
| | | **/ |
| | | @Service |
| | | @RequiredArgsConstructor |
| | | public class MemberServiceImpl extends ServiceImpl<MemberMapper, MemberEntity> implements IMemberService { |
| | | |
| | | |
| | | private final MemberMapper memberMapper; |
| | | |
| | | private final MemberQuickBuySaleMapper memberQuickBuySaleMapper; |
| | | |
| | | private final MemberWalletCoinMapper memberWalletCoinMapper; |
| | | |
| | | private final MemberAccountMoneyChangeMapper memberAccountMoneyChangeMapper; |
| | | |
| | | private final MemberCoinChargeMapper memberCoinChargeMapper; |
| | | |
| | | private final MemberCoinWithdrawMapper memberCoinWithdrawMapper; |
| | | |
| | | private final MemberCoinAddressMapper memberCoinAddressMapper; |
| | | |
| | | private final MemberAuthenticationMapper memberAuthenticationMapper; |
| | | |
| | | |
| | | @Override |
| | | public IPage<MemberEntity> findMemberListInPage(MemberEntity memberEntity, QueryRequest request) { |
| | | Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | return this.baseMapper.selectMemberListInPage(page, memberEntity); |
| | | } |
| | | |
| | | @Override |
| | | public IPage<MemberQuickBuySaleVo> findmemberQuickBuySaleListInPage( |
| | | MemberQuickBuySaleEntity memberQuickBuySaleEntity, QueryRequest request) { |
| | | Page<MemberQuickBuySaleEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | 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); |
| | | memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy()); |
| | | memberAccountMoneyChangeEntity.setCreateTime(new Date()); |
| | | memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy()); |
| | | memberAccountMoneyChangeEntity.setUpdateTime(new Date()); |
| | | |
| | | 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().success(); |
| | | } |
| | | |
| | | @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(); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public IPage<MemberQuickSaleVo> findmemberQuickSaleListInPage(MemberQuickBuySaleEntity memberQuickBuySaleEntity, |
| | | QueryRequest request) { |
| | | Page<MemberQuickBuySaleEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | IPage<MemberQuickSaleVo> findmemberQuickBuySaleListInPage = memberQuickBuySaleMapper.findmemberQuickSaleListInPage(page, memberQuickBuySaleEntity); |
| | | return findmemberQuickBuySaleListInPage; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public FebsResponse memberExtractUsdtCancel(@NotNull(message = "{required}") Long id) { |
| | | MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id); |
| | | |
| | | if(!MemberQuickBuySaleEntity.CHARGE_STATUS_CREATE.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 frozenBalance = memberWalletCoinEntity.getFrozenBalance(); |
| | | BigDecimal availableBalance = memberWalletCoinEntity.getAvailableBalance(); |
| | | BigDecimal totalBalance = memberWalletCoinEntity.getTotalBalance(); |
| | | memberWalletCoinEntity.setFrozenBalance(frozenBalance.subtract(amountUsdt)); |
| | | memberWalletCoinEntity.setAvailableBalance(availableBalance.add(amountUsdt)); |
| | | memberWalletCoinEntity.setTotalBalance(totalBalance.add(amountUsdt)); |
| | | // 更新 |
| | | memberWalletCoinMapper.updateById(memberWalletCoinEntity); |
| | | // 更新状态 |
| | | memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_SYSTEM); |
| | | memberQuickBuySaleMapper.updateById(memberQuickBuySaleEntity); |
| | | |
| | | /** |
| | | * 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().success(); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public FebsResponse memberExtractUsdtConfirm(@NotNull(message = "{required}") Long id) { |
| | | |
| | | MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id); |
| | | |
| | | if(!MemberQuickBuySaleEntity.CHARGE_STATUS_CREATE.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 frozenBalance = memberWalletCoinEntity.getFrozenBalance(); |
| | | memberWalletCoinEntity.setFrozenBalance(frozenBalance.subtract(amountUsdt)); |
| | | memberWalletCoinMapper.updateById(memberWalletCoinEntity); |
| | | |
| | | memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_PAID); |
| | | memberQuickBuySaleMapper.updateById(memberQuickBuySaleEntity); |
| | | |
| | | //添加币币资金划转历史记录 |
| | | MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity(); |
| | | memberAccountMoneyChangeEntity.setContent("提现"); |
| | | memberAccountMoneyChangeEntity.setMemberId(memberId); |
| | | memberAccountMoneyChangeEntity.setAmount(amountUsdt); |
| | | memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER); |
| | | memberAccountMoneyChangeEntity.setSymbol(walletCode); |
| | | memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN); |
| | | memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy()); |
| | | memberAccountMoneyChangeEntity.setCreateTime(new Date()); |
| | | memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy()); |
| | | memberAccountMoneyChangeEntity.setUpdateTime(new Date()); |
| | | memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity); |
| | | |
| | | /** |
| | | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); |
| | | String chargeTime = format.format(memberQuickBuySaleEntity.getUpdateTime()); // 将当前时间袼式化为指定的格式 |
| | | String usdt = amountUsdt+"USDT"; |
| | | //发送短信提醒 |
| | | String smsContent = "【Excoin】尊敬的用户您好!您于"+chargeTime+"提现"+usdt+"已成功到账,请您及时查收!订单号为:"+memberQuickBuySaleEntity.getOrderCode()+"。"; |
| | | SmsUtils.hxSmsSend(selectById.getPhone(), smsContent); |
| | | * |
| | | */ |
| | | |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | @Override |
| | | public IPage<MemberCoinChargeVo> findMemberApplyCoinListInPage(MemberCoinChargeEntity memberCoinChargeEntity, |
| | | QueryRequest request) { |
| | | Page<MemberCoinChargeEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | IPage<MemberCoinChargeVo> findmemberQuickBuySaleListInPage = memberCoinChargeMapper.findMemberApplyCoinListInPage(page, memberCoinChargeEntity); |
| | | return findmemberQuickBuySaleListInPage; |
| | | } |
| | | |
| | | @Override |
| | | public IPage<MemberCoinWithdrawVo> findmemberWithdrawCoinListInPage( |
| | | MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request) { |
| | | Page<MemberCoinWithdrawEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | IPage<MemberCoinWithdrawVo> findmemberQuickBuySaleListInPage = memberCoinWithdrawMapper.findmemberWithdrawCoinListInPage(page, memberCoinWithdrawEntity); |
| | | return findmemberQuickBuySaleListInPage; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public FebsResponse memberWithdrawCoinConfirm(@NotNull(message = "{required}") Long id) { |
| | | |
| | | MemberCoinWithdrawEntity selectById = memberCoinWithdrawMapper.selectById(id); |
| | | Long memberId = selectById.getMemberId(); |
| | | String symbol = selectById.getSymbol(); |
| | | String address = selectById.getAddress(); |
| | | int status = selectById.getStatus(); |
| | | if(status != 1) { |
| | | return new FebsResponse().fail().message("只有等待审核的状态才能确认!"); |
| | | } |
| | | |
| | | // 查询币币钱包 |
| | | MemberWalletCoinEntity walletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId, symbol); |
| | | |
| | | BigDecimal total = walletCoin.getTotalBalance().subtract(selectById.getAmount()).subtract(selectById.getFeeAmount()); |
| | | walletCoin.setTotalBalance(total); |
| | | BigDecimal frozen = walletCoin.getFrozenBalance().subtract(selectById.getAmount()).subtract(selectById.getFeeAmount()); |
| | | walletCoin.setFrozenBalance(frozen); |
| | | |
| | | memberWalletCoinMapper.updateById(walletCoin); |
| | | |
| | | if ("Y".equals(selectById.getIsInside())) { |
| | | Map<String, Object> columnMap = new HashMap<>(); |
| | | columnMap.put("symbol", symbol); |
| | | columnMap.put("address", address); |
| | | // 如果是内部转账 则需要将币加到内部地址 |
| | | List<MemberCoinAddressEntity> selectByMap = memberCoinAddressMapper.selectByMap(columnMap); |
| | | if(selectByMap == null || selectByMap.isEmpty()) { |
| | | return new FebsResponse().fail().message("地址有误,请拒绝!"); |
| | | } |
| | | Long aimMemberId = selectByMap.get(0).getMemberId(); |
| | | MemberWalletCoinEntity aimWalletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(aimMemberId, symbol); |
| | | |
| | | BigDecimal addTotal = aimWalletCoin.getTotalBalance().add(selectById.getAmount()); |
| | | BigDecimal addAvailable = aimWalletCoin.getAvailableBalance().add(selectById.getAmount()); |
| | | aimWalletCoin.setTotalBalance(addTotal); |
| | | aimWalletCoin.setAvailableBalance(addAvailable); |
| | | |
| | | memberWalletCoinMapper.updateById(aimWalletCoin); |
| | | |
| | | MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity(); |
| | | memberAccountMoneyChangeEntity.setContent("收款"); |
| | | memberAccountMoneyChangeEntity.setMemberId(aimMemberId); |
| | | memberAccountMoneyChangeEntity.setAmount(selectById.getAmount()); |
| | | memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER); |
| | | memberAccountMoneyChangeEntity.setSymbol(selectById.getSymbol()); |
| | | memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN); |
| | | memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy()); |
| | | memberAccountMoneyChangeEntity.setCreateTime(new Date()); |
| | | memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy()); |
| | | memberAccountMoneyChangeEntity.setUpdateTime(new Date()); |
| | | memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity); |
| | | } |
| | | |
| | | MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity(); |
| | | memberAccountMoneyChangeEntity.setContent("提币"); |
| | | memberAccountMoneyChangeEntity.setMemberId(memberId); |
| | | memberAccountMoneyChangeEntity.setAmount(selectById.getAmount()); |
| | | memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER); |
| | | memberAccountMoneyChangeEntity.setSymbol(selectById.getSymbol()); |
| | | memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN); |
| | | memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy()); |
| | | memberAccountMoneyChangeEntity.setCreateTime(new Date()); |
| | | memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy()); |
| | | memberAccountMoneyChangeEntity.setUpdateTime(new Date()); |
| | | memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity); |
| | | |
| | | selectById.setStatus(MemberCoinWithdrawEntity.IS_STATUS_Y); |
| | | memberCoinWithdrawMapper.updateById(selectById); |
| | | /** |
| | | //短信提醒 |
| | | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); |
| | | String chargeTime = format.format(new Date()); // 将当前时间袼式化为指定的格式 |
| | | String usdt = selectById.getAmount()+"USDT"; |
| | | * 发送短信提醒 todo |
| | | String smsContent = "【Excoin】尊敬的用户您好!您于"+chargeTime+"提现"+usdt+"已成功到账,请您及时查收!"; |
| | | SmsUtils.hxSmsSend(member.getPhone(), smsContent); |
| | | */ |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public FebsResponse memberWithdrawCoinCancel(@NotNull(message = "{required}") Long id) { |
| | | |
| | | MemberCoinWithdrawEntity selectById = memberCoinWithdrawMapper.selectById(id); |
| | | Long memberId = selectById.getMemberId(); |
| | | String symbol = selectById.getSymbol(); |
| | | int status = selectById.getStatus(); |
| | | if(status != 1) { |
| | | return new FebsResponse().fail().message("只有等待审核的状态才能拒绝!"); |
| | | } |
| | | // 查询币币钱包 |
| | | MemberWalletCoinEntity walletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId, symbol); |
| | | |
| | | BigDecimal available = walletCoin.getAvailableBalance().add(selectById.getAmount()).add(selectById.getFeeAmount()); |
| | | walletCoin.setAvailableBalance(available); |
| | | BigDecimal frozen = walletCoin.getFrozenBalance().subtract(selectById.getAmount()).subtract(selectById.getFeeAmount()); |
| | | walletCoin.setFrozenBalance(frozen); |
| | | |
| | | memberWalletCoinMapper.updateById(walletCoin); |
| | | |
| | | // 提币退款记录 |
| | | MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity(); |
| | | memberAccountMoneyChangeEntity.setContent("提币"); |
| | | memberAccountMoneyChangeEntity.setMemberId(memberId); |
| | | memberAccountMoneyChangeEntity.setAmount(selectById.getAmount()); |
| | | memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_FAIL_INTEGER); |
| | | memberAccountMoneyChangeEntity.setSymbol(selectById.getSymbol()); |
| | | memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN); |
| | | memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy()); |
| | | memberAccountMoneyChangeEntity.setCreateTime(new Date()); |
| | | memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy()); |
| | | memberAccountMoneyChangeEntity.setUpdateTime(new Date()); |
| | | memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity); |
| | | |
| | | selectById.setStatus(MemberCoinWithdrawEntity.IS_STATUS_N); |
| | | memberCoinWithdrawMapper.updateById(selectById); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | @Override |
| | | public MemberAuthenticationVo selectMemberAuthenticationById(long id) { |
| | | MemberAuthenticationVo memberAuthenticationEntity = memberAuthenticationMapper.findMemberAuthenticationByMemberId(id); |
| | | String firstName = memberAuthenticationEntity.getFirstName(); |
| | | String secondName = memberAuthenticationEntity.getSecondName(); |
| | | memberAuthenticationEntity.setRealName(firstName+"-"+secondName); |
| | | return memberAuthenticationEntity; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public FebsResponse memberDetailConfirm(@Valid MemberDetailConfirmDto memberDetailConfirmDto) { |
| | | Long id = memberDetailConfirmDto.getId(); |
| | | MemberEntity selectById = memberMapper.selectById(id); |
| | | Integer certifyStatus = selectById.getCertifyStatus(); |
| | | if(!MemberEntity.CERTIFY_STATUS_ING.equals(certifyStatus)) { |
| | | return new FebsResponse().fail().message("只有【待审核】状态才能提交!"); |
| | | } |
| | | |
| | | MemberAuthenticationVo memberAuthenticationEntity = memberAuthenticationMapper.findMemberAuthenticationByMemberId(id); |
| | | selectById.setCertifyStatus(MemberEntity.CERTIFY_STATUS_Y); |
| | | selectById.setIdcardNo(memberAuthenticationEntity.getIdcardNo()); |
| | | |
| | | memberMapper.updateById(selectById); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | } |