package com.xcong.excoin.modules.otc.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xcong.excoin.common.LoginUserUtils; import com.xcong.excoin.common.exception.GlobalException; import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.member.dao.MemberDao; import com.xcong.excoin.modules.member.entity.MemberEntity; import com.xcong.excoin.modules.otc.dao.OtcEntrustOrderDao; import com.xcong.excoin.modules.otc.dao.OtcMarketBussinessDao; import com.xcong.excoin.modules.otc.dto.MbAddDto; import com.xcong.excoin.modules.otc.entity.OtcEntrustOrder; import com.xcong.excoin.modules.otc.entity.OtcMarketBussiness; import com.xcong.excoin.modules.otc.mapper.OtcEntrustOrderMapper; import com.xcong.excoin.modules.otc.mapper.OtcMarketBussinessMapper; import com.xcong.excoin.modules.otc.service.OtcMarketBussinessService; import com.xcong.excoin.modules.otc.vo.EntrustListInfoVo; import com.xcong.excoin.modules.otc.vo.MarketBussinessInfoVo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.List; @Service @RequiredArgsConstructor public class OtcMarketBussinessServiceImpl extends ServiceImpl implements OtcMarketBussinessService { private final OtcEntrustOrderDao otcEntrustOrderDao; private final MemberDao memberDao; @Override public void add(MbAddDto mbAddDto) { MemberEntity member = LoginUserUtils.getAppLoginUser(); OtcMarketBussiness mb = this.baseMapper.selectMarketBussinessByMemberId(member.getId()); if (mb != null) { throw new GlobalException("该用户已经是市商或正在审核"); } OtcMarketBussiness otcMb = new OtcMarketBussiness(); // otcMb.setNikename(mbAddDto.getNickname()); otcMb.setMemberId(member.getId()); otcMb.setAvgCoinTime(0); otcMb.setAvgPayTime(0); otcMb.setTotalOrderCnt(0); otcMb.setBuyCnt(0); otcMb.setFinishRatio(BigDecimal.ZERO); otcMb.setStatus(OtcMarketBussiness.CHECK_WAIT); this.baseMapper.insert(otcMb); } @Override public Integer findMbStatus() { MemberEntity member = LoginUserUtils.getAppLoginUser(); OtcMarketBussiness mb = this.baseMapper.selectMarketBussinessByMemberId(member.getId()); if (mb == null) { return 0; } return mb.getStatus(); } @Override public Result findMbInfo(Long id) { OtcMarketBussiness mb = this.baseMapper.selectById(id); if (mb == null) { return Result.fail("未找到对应信息"); } MarketBussinessInfoVo mbVo = OtcMarketBussinessMapper.INSTANCE.entityToVo(mb); MemberEntity member = memberDao.selectById(mb.getMemberId()); OtcEntrustOrder query = new OtcEntrustOrder(); query.setMemberId(mb.getMemberId()); query.setOrderType(OtcEntrustOrder.ORDER_TYPE_B); query.setStatus(OtcEntrustOrder.LINE_UP); List buysEntity = otcEntrustOrderDao.selectEntrustOrderByOrderType(query); List buys = OtcEntrustOrderMapper.INSTANCE.entrustToListInfoVoList(buysEntity); query.setOrderType(OtcEntrustOrder.ORDER_TYPE_S); List salesEntity = otcEntrustOrderDao.selectEntrustOrderByOrderType(query); List sales = OtcEntrustOrderMapper.INSTANCE.entrustToListInfoVoList(salesEntity); mbVo.setBuys(buys); mbVo.setSales(sales); mbVo.setNikename(member.getName()); return Result.ok(mbVo); } }