1
zj
2024-06-13 a4662cc65a02f258062bf6cc392ceb1017db9292
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
package com.yami.trading.service.miner.service.impl;
 
import java.util.List;
 
 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yami.trading.service.miner.service.AdminMinerOrderService;
import com.yami.trading.service.miner.service.MinerOrderService;
import com.yami.trading.service.miner.service.MinerService;
import com.yami.trading.bean.miner.Miner;
import com.yami.trading.bean.miner.MinerOrder;
import com.yami.trading.bean.model.User;
import com.yami.trading.common.constants.Constants;
import com.yami.trading.common.exception.BusinessException;
import com.yami.trading.common.util.DateUtil;
import com.yami.trading.common.util.RandomUtil;
import com.yami.trading.common.util.StringUtils;
import com.yami.trading.dao.miner.MinerOrderMapper;
import com.yami.trading.service.user.UserRecomService;
import com.yami.trading.service.user.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
@Service
@Transactional
public class AdminMinerOrderServiceImpl extends ServiceImpl<MinerOrderMapper, MinerOrder> implements AdminMinerOrderService {
//    protected PagedQueryDao pagedQueryDao;
    @Autowired
    protected UserRecomService userRecomService;
    @Autowired
    protected MinerOrderService minerOrderService;
    @Autowired
    protected MinerService minerService;
    @Autowired
    protected UserService partyService;
 
    public Page pagedQuery(int pageNo, int pageSize, String name_para, String miner_para, String status_para,
                           List<String> children, String orderNo, String rolename_para) {
 
//        Map<String, Object> parameters = new HashMap<>();
//        StringBuffer queryString = new StringBuffer(
//                " SELECT minerOrder.UUID id,minerOrder.ORDER_NO order_no  ,minerOrder.MINER_ID minerId  , ");
//        queryString.append(" minerOrder.AMOUNT amount,minerOrder.CREATE_TIME create_time,minerOrder.BASE_COMPUTE_AMOUNT base_compute_amount, ");
//        queryString.append(" minerOrder.EARN_TIME earn_time,minerOrder.STOP_TIME stop_time,minerOrder.PROFIT profit, ");
//        queryString.append(" minerOrder.STATE state,minerOrder.CLOSE_TIME close_time,minerOrder.DEFAULT_MONEY default_money, ");
//        queryString.append(" party.user_name username,party.user_code usercode,party.role_name rolename, ");
//        queryString.append(" miner.NAME miner_name,miner.NAME_EN miner_name_en ");
//        queryString.append(" FROM T_MINER_ORDER minerOrder   ");
//        queryString.append(" LEFT JOIN tz_user party ON minerOrder.party_id = party.user_id  ");
//        queryString.append(" LEFT JOIN T_MINER miner ON miner.UUID = minerOrder.MINER_ID ");
//
//        queryString.append(" WHERE 1 = 1 ");
//        if (!StringUtils.isNullOrEmpty(partyId)) {
//            List children = this.userRecomService.findChildren(partyId);
//            if (children.size() == 0) {
//                return new Page();
//            }
//            queryString.append(" and minerOrder.PARTY_ID in (:children) ");
//            parameters.put("children", children);
//        }
 
 
//        if (!StringUtils.isNullOrEmpty(miner_para)) {
//            queryString.append(
//                    " and miner.UUID=:miner_para  ");
//            parameters.put("miner_para", miner_para);
//        }
 
//        if (!StringUtils.isNullOrEmpty(name_para)) {
//            queryString.append("AND (party.user_name like:username OR party.user_code like:username ) ");
//            parameters.put("username", "%" + name_para + "%");
//        }
 
//        if (!StringUtils.isNullOrEmpty(status_para)) {
//            String status = status_para;
//            if("0".equals(status)) {
//                status ="'0','2'";
//            }else {
//                status ="'"+status+"'";
//            }
//            queryString.append(" and  minerOrder.STATE  in ("+status+") ");
//        }
//        if (!StringUtils.isNullOrEmpty(orderNo)) {
//            queryString.append(" and minerOrder.ORDER_NO = :orderNo  ");
//            parameters.put("orderNo", orderNo);
//
//        }
//        if (!StringUtils.isNullOrEmpty(rolename_para)) {
//            queryString.append(" and   party.role_name =:rolename");
//            parameters.put("rolename", rolename_para);
//        }
//        if("0".equals(status_para)) {
//            queryString.append(" order by minerOrder.CLOSE_TIME desc ");
//        }else {
//            queryString.append(" order by minerOrder.CREATE_TIME desc ");
//        }
        System.out.println("****************************************");
 
        String status = null;
        if (!StringUtils.isNullOrEmpty(status_para)) {
//            status = status_para;
            if("0".equals(status_para)) {
                status ="0";
            }else if("1".equals(status_para)){
                status ="1";
            }else if("3".equals(status_para)){
                status =null;
            }
        }
 
        Page page = new Page(pageNo,pageSize);
        this.baseMapper.pagedQueryAdmin(page,children,miner_para,status,orderNo,rolename_para,name_para);
        
 
//        Page page = this.pagedQueryDao.pagedQuerySQL(pageNo, pageSize, queryString.toString(), parameters);
//        return page;
        return page;
    }
    
    public void addOrder(String uid,double amount,String minerId,String operator_username) {
        Miner miner = this.minerService.findById(minerId);
        if(null == miner) {
            throw new BusinessException("矿机不存在");
        }
 
        User party = partyService.findUserByUserCode(uid);
        if(null==party) {
            throw new BusinessException("购买用户不存在");
        }else {
            if(!(Constants.SECURITY_ROLE_MEMBER.equals(party.getRoleName())
            ||Constants.SECURITY_ROLE_GUEST.equals(party.getRoleName()))) {
                throw new BusinessException("该用户并非正式用户或演示用户,无法购买");
            }
        }
        
        MinerOrder order = new MinerOrder();
        order.setPartyId(party.getUserId());
        order.setMinerId(minerId);
        order.setOrder_no(DateUtil.getToday("yyMMddHHmmss") + RandomUtil.getRandomNum(8));
        order.setAmount(amount);
        order.setState("1");
        this.minerOrderService.saveCreateByManage(order, operator_username);
    }
 
 
    public void setUserRecomService(UserRecomService userRecomService) {
        this.userRecomService = userRecomService;
    }
 
    public void setMinerOrderService(MinerOrderService minerOrderService) {
        this.minerOrderService = minerOrderService;
    }
 
    public void setMinerService(MinerService minerService) {
        this.minerService = minerService;
    }
 
}