package com.xcong.excoin.modules.yunding.service.impl; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xcong.excoin.common.entity.QueryRequest; import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity; import com.xcong.excoin.modules.member.mapper.MemberWalletCoinMapper; import com.xcong.excoin.modules.yunding.entity.BasicSettingEntity; import com.xcong.excoin.modules.yunding.entity.YdOrderEntity; import com.xcong.excoin.modules.yunding.entity.YdProductEntity; import com.xcong.excoin.modules.yunding.mapper.BasicSettingMapper; import com.xcong.excoin.modules.yunding.service.IBasicSettingService; import com.xcong.excoin.modules.yunding.vo.YdMemberVo; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.List; @Slf4j @Service @RequiredArgsConstructor public class BasicSettingServiceImpl extends ServiceImpl implements IBasicSettingService { @Resource private BasicSettingMapper basicSettingMapper; @Resource private MemberWalletCoinMapper memberWalletCoinMapper; @Override public IPage getOrderList(YdOrderEntity ydOrderEntity, QueryRequest request) { log.info("订单列表"); Page page = new Page<>(request.getPageNum(), request.getPageSize()); IPage ydOrderEntitys = basicSettingMapper.getOrderList(page, ydOrderEntity); return ydOrderEntitys; } @Override public IPage getYdProductList(YdProductEntity ydProductEntity, QueryRequest request) { log.info("产品列表"); Page page = new Page<>(request.getPageNum(), request.getPageSize()); IPage ydProductEntitys = basicSettingMapper.getYdProductList(page, ydProductEntity); return ydProductEntitys; } @Override public IPage getYdMemberList(YdOrderEntity ydOrderEntity, QueryRequest request) { log.info("会员算力查询"); Page page = new Page<>(request.getPageNum(), request.getPageSize()); IPage ydMemberVos = basicSettingMapper.getYdMemberList(page, ydOrderEntity); List records = ydMemberVos.getRecords(); if(CollUtil.isNotEmpty(records)){ for(YdMemberVo ydMemberVo : records){ long memberId = ydMemberVo.getId(); int quantityReady = basicSettingMapper.selectPowerByMemberIdAndState(memberId,YdOrderEntity.ORDER_STATE_READY); ydMemberVo.setQuantityReady(quantityReady); int quantityWork = basicSettingMapper.selectPowerByMemberIdAndState(memberId,YdOrderEntity.ORDER_STATE_WORK); ydMemberVo.setQuantityWork(quantityWork); int quantityEnd = basicSettingMapper.selectPowerByMemberIdAndState(memberId,YdOrderEntity.ORDER_STATE_END); ydMemberVo.setQuantityEnd(quantityEnd); BigDecimal totalUsed = basicSettingMapper.selectAmountByMemberId(memberId); ydMemberVo.setTotalUsed(totalUsed); MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId, "USDT"); ydMemberVo.setAvailableBalance(memberWalletCoinEntity.getAvailableBalance()); BigDecimal inBalance = basicSettingMapper.selectChargeAmountByMemberIdAndStatus(memberId,1); ydMemberVo.setInBalance(inBalance); BigDecimal outBalance = basicSettingMapper.selectWithdrawAmountByMemberIdAndStatusAndIsInside(memberId,2,"N"); ydMemberVo.setOutBalance(outBalance); } } return ydMemberVos; } }