package com.xcong.excoin.modules.documentary.service.impl; import java.util.List; import javax.annotation.Resource; import javax.validation.Valid; import org.springframework.stereotype.Service; 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.LoginUserUtils; import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.coin.dao.OrderCoinsDao; import com.xcong.excoin.modules.coin.parameter.dto.RecordsPageDto; import com.xcong.excoin.modules.documentary.dao.FollowFollowerProfitDao; import com.xcong.excoin.modules.documentary.dao.FollowTraderInfoDao; import com.xcong.excoin.modules.documentary.dao.FollowTraderProfitDetailDao; import com.xcong.excoin.modules.documentary.dao.FollowTraderProfitInfoDao; import com.xcong.excoin.modules.documentary.dto.FollowRecordsDto; import com.xcong.excoin.modules.documentary.dto.HistoryOrderRecordsDto; import com.xcong.excoin.modules.documentary.entity.FollowTraderInfoEntity; import com.xcong.excoin.modules.documentary.entity.FollowTraderProfitInfoEntity; import com.xcong.excoin.modules.documentary.service.DocumentaryService; import com.xcong.excoin.modules.documentary.vo.FollowRecordsVo; import com.xcong.excoin.modules.documentary.vo.FollowTraderProfitInfoVo; import com.xcong.excoin.modules.documentary.vo.HistoryOrderRecordsVo; import com.xcong.excoin.modules.documentary.vo.MemberIsTradeVo; import com.xcong.excoin.modules.member.dao.MemberDao; import com.xcong.excoin.modules.member.entity.MemberEntity; import cn.hutool.core.collection.CollUtil; import lombok.extern.slf4j.Slf4j; @Slf4j @Service public class DocumentaryServiceImpl extends ServiceImpl implements DocumentaryService { @Resource private MemberDao memberDao; @Resource private FollowTraderInfoDao followTraderInfoDao; @Resource private FollowTraderProfitDetailDao followTraderProfitDetailDao; @Resource private FollowTraderProfitInfoDao followTraderProfitInfoDao; @Resource private FollowFollowerProfitDao followFollowerProfitDao; @Resource private OrderCoinsDao orderCoinsDao; @Override public Result getMemberIsTradeInfo() { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); MemberEntity member = memberDao.selectById(memberId); Integer isTrader = member.getIsTrader(); MemberIsTradeVo memberIsTradeVo = new MemberIsTradeVo(); if(MemberEntity.IS_TRADER_Y.equals(isTrader)) { memberIsTradeVo.setIsTrade(MemberEntity.IS_TRADER_Y); }else { memberIsTradeVo.setIsTrade(MemberEntity.IS_TRADER_N); } return Result.ok(memberIsTradeVo); } @Override public Result getFollowTraderProfitInfo(@Valid RecordsPageDto recordsPageDto) { Page page = new Page<>(recordsPageDto.getPageNum(), recordsPageDto.getPageSize()); FollowTraderProfitInfoEntity memberAccountMoneyChange = new FollowTraderProfitInfoEntity(); IPage followTraderProfitInfoList = followTraderProfitInfoDao.selectFollowTraderProfitInfoEntity(page, memberAccountMoneyChange); List followTraderProfitInfoVoList = followTraderProfitInfoList.getRecords(); if(CollUtil.isNotEmpty(followTraderProfitInfoVoList)) { for(FollowTraderProfitInfoVo FollowTraderProfitInfoVo : followTraderProfitInfoVoList) { Long traderId = FollowTraderProfitInfoVo.getTraderId(); FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectFollowTraderInfoEntityBytreaderId(traderId); String avatar = followTraderInfoEntity.getAvatar(); FollowTraderProfitInfoVo.setAvatar(avatar); String nickname = followTraderInfoEntity.getNickname(); FollowTraderProfitInfoVo.setNickname(nickname); String declaration = followTraderInfoEntity.getDeclaration(); FollowTraderProfitInfoVo.setDeclaration(declaration); Integer isAll = followTraderInfoEntity.getIsAll(); FollowTraderProfitInfoVo.setIsAll(isAll); Integer isOpen = followTraderInfoEntity.getIsOpen(); FollowTraderProfitInfoVo.setIsOpen(isOpen); } } return Result.ok(followTraderProfitInfoVoList); } @Override public Result getHistoryOrderRecords(@Valid HistoryOrderRecordsDto historyOrderRecordsDto) { Page page = new Page<>(historyOrderRecordsDto.getPageNum(), historyOrderRecordsDto.getPageSize()); IPage historyOrderRecordsVoList = followTraderProfitInfoDao.selectHistoryOrderRecords(page, historyOrderRecordsDto.getMemberId()); return Result.ok(historyOrderRecordsVoList); } @Override public Result getFollowRecords(@Valid FollowRecordsDto followRecordsDto) { Page page = new Page<>(followRecordsDto.getPageNum(), followRecordsDto.getPageSize()); IPage historyOrderRecordsVoList = followFollowerProfitDao.selectFollowRecords(page, followRecordsDto.getTradeMemberId()); return Result.ok(historyOrderRecordsVoList); } }