xiaoyong931011
2021-05-14 6ed309c5a80c36e752bfd799cbaba7665cf7364b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
package com.xcong.excoin.modules.yunding.service.impl;
 
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
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.MemberAccountMoneyChangeEntity;
import com.xcong.excoin.modules.member.entity.MemberEntity;
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.YdAgentOrderVo;
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<BasicSettingMapper, BasicSettingEntity> implements IBasicSettingService {
 
    @Resource
    private BasicSettingMapper basicSettingMapper;
    @Resource
    private MemberWalletCoinMapper memberWalletCoinMapper;
 
    @Override
    public IPage<YdOrderEntity> getOrderList(YdOrderEntity ydOrderEntity, QueryRequest request) {
        log.info("产品订单列表");
        Page<YdOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<YdOrderEntity> ydOrderEntitys = basicSettingMapper.getOrderList(page, ydOrderEntity);
        return ydOrderEntitys;
    }
 
    @Override
    public IPage<YdProductEntity> getYdProductList(YdProductEntity ydProductEntity, QueryRequest request) {
        log.info("产品列表");
        Page<YdProductEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<YdProductEntity> ydProductEntitys = basicSettingMapper.getYdProductList(page, ydProductEntity);
        return ydProductEntitys;
    }
 
    @Override
    public IPage<YdMemberVo> getYdMemberList(YdOrderEntity ydOrderEntity, QueryRequest request) {
        log.info("会员算力查询");
        Page<YdMemberVo> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<YdMemberVo> ydMemberVos = basicSettingMapper.getYdMemberList(page, ydOrderEntity);
        List<YdMemberVo> 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,1);
                ydMemberVo.setTotalUsed(totalUsed == null ? BigDecimal.ZERO : totalUsed);
 
                BigDecimal agentUsed = basicSettingMapper.selectAmountByMemberId(memberId,2);
                ydMemberVo.setAgentUsed(agentUsed == null ? BigDecimal.ZERO : agentUsed);
                MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId, "USDT");
                if(ObjectUtil.isNotEmpty(memberWalletCoinEntity)){
                    ydMemberVo.setAvailableBalance(memberWalletCoinEntity.getAvailableBalance() == null ? BigDecimal.ZERO : memberWalletCoinEntity.getAvailableBalance());
                }else{
                    ydMemberVo.setAvailableBalance(BigDecimal.ZERO);
                }
                BigDecimal inBalance = basicSettingMapper.selectChargeAmountByMemberIdAndStatus(memberId,1);
                ydMemberVo.setInBalance(inBalance == null ? BigDecimal.ZERO : inBalance);
                BigDecimal outBalance = basicSettingMapper.selectWithdrawAmountByMemberIdAndStatusAndIsInside(memberId,2,"N");
                ydMemberVo.setOutBalance(outBalance  == null ? BigDecimal.ZERO : outBalance);
                BigDecimal returnAgent = basicSettingMapper.selectAgentReturnByMemberId(memberId);
                ydMemberVo.setReturnAgent(returnAgent == null ? BigDecimal.ZERO : returnAgent);
 
                BigDecimal totalProfit = basicSettingMapper.selectTotalProfitByMemberIdAndType(memberId,1);
                ydMemberVo.setTotalProfit(totalProfit);
 
            }
        }
        return ydMemberVos;
    }
 
    @Override
    public IPage<YdAgentOrderVo> getAgentOrderList(YdOrderEntity ydOrderEntity, QueryRequest request) {
        log.info("代理订单列表");
        Page<YdOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<YdAgentOrderVo> ydOrderEntitys = basicSettingMapper.getAgentOrderList(page, ydOrderEntity);
        return ydOrderEntitys;
    }
 
    @Override
    public IPage<MemberAccountMoneyChangeEntity> seeAgentReturn(QueryRequest request, MemberEntity memberEntity) {
        log.info("会员算力查询---返利详情");
        Page<MemberAccountMoneyChangeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<MemberAccountMoneyChangeEntity> memberAccountMoneyChangeEntitys = basicSettingMapper.seeAgentReturn(page, memberEntity);
        return memberAccountMoneyChangeEntitys;
    }
 
    @Override
    public IPage<MemberAccountMoneyChangeEntity> seeReturn(QueryRequest request, MemberEntity memberEntity) {
        log.info("会员算力查询---挖矿详情");
        Page<MemberAccountMoneyChangeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<MemberAccountMoneyChangeEntity> memberAccountMoneyChangeEntitys = basicSettingMapper.seeReturn(page, memberEntity);
        return memberAccountMoneyChangeEntitys;
    }
 
    @Override
    public IPage<YdOrderEntity> seeOrder(QueryRequest request, MemberEntity memberEntity) {
        log.info("会员算力查询---订单详情");
        Page<YdOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<YdOrderEntity> ydOrderEntitys = basicSettingMapper.seeOrder(page, memberEntity);
        return ydOrderEntitys;
    }
 
}