| | |
| | | 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 |
| | |
| | | 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) { |
| | |
| | | } |
| | | |
| | | @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(); |
| | | |
| | | } |
| | | } |