1
zyy
22 hours ago 4fefff17528a878d345ff3311c297a66a671b8d6
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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
package com.yami.trading.admin.controller.loanOrder.internal;
 
import java.util.*;
 
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yami.trading.admin.controller.loanOrder.LoanConstants;
import com.yami.trading.admin.controller.loanOrder.LoanRelationOrderService;
import com.yami.trading.bean.loanOrder.LoanRelationOrder;
import com.yami.trading.common.util.DateUtils;
import com.yami.trading.common.util.UUIDGenerator;
import com.yami.trading.service.MoneyLogService;
import com.yami.trading.service.WalletService;
import com.yami.trading.service.data.DataService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
@Service
@Transactional
public class LoanRelationOrderServiceImpl implements LoanRelationOrderService {
 
    @Autowired
    private DataService dataService;
 
    @Autowired
    private JdbcTemplate jdbcTemplate;
 
    @Autowired
    private WalletService walletService;
 
    @Autowired
    private MoneyLogService moneyLogService;
 
//    @Autowired
//    private LoanOrderService loanOrderService;
    
    /**
     * 新增质押借币关联订单
     */
    public void saveLoanRelationOrder(LoanRelationOrder relationOrder) {
        relationOrder.setUuid(UUIDGenerator.getUUID());
        relationOrder.setPledgeType(LoanConstants.PLEDGE_TYPE);
        relationOrder.setOrder_type(LoanConstants.PLEDGE_ORDER_TYPE_LOAN);
        relationOrder.setLoanCurrency("usd");
        relationOrder.setCreate_time(new Date());
        this.insertLoanRelationOrder(relationOrder);
    }
    
    /**
     * 质押记录
     */
    public List<Map<String, Object>> pagedQueryPledge(int pageNo, int pageSize, String loanRelationOrderId) {
        if (pageNo <= 0) pageNo = 1;
        Page page = new Page(pageNo, pageSize, Integer.MAX_VALUE);
 
//        List<LoanRelationOrder> orders = ApplicationUtil.executeSelect(LoanRelationOrder.class,"WHERE LOAN_RELATION_ORDER_ID=? ORDER BY CREATE_TIME DESC LIMIT ?,?",new Object[] {loanRelationOrderId,page.getFirstElementNumber(),pageSize});
 
        String str = "select * from t_LOAN_RELATION_ORDER WHERE LOAN_RELATION_ORDER_ID='"+loanRelationOrderId+"' ORDER BY CREATE_TIME DESC LIMIT "+((pageNo-1)*pageSize)+","+pageSize;
        System.out.println("质押记录 :str sql => " + str);
        List<Map<String,Object>> maps = jdbcTemplate.queryForList(str);
 
        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
        for (Map<String, Object> map1 : maps) {
            LoanRelationOrder order = JSON.parseObject(JSON.toJSONString(map1), LoanRelationOrder.class);
            Map<String, Object> map = new HashMap<>();
            // 借款
            if (LoanConstants.PLEDGE_ORDER_TYPE_LOAN == order.getOrder_type()) {
                map.put("orderType", order.getOrder_type());
                map.put("loanAmount", order.getLoan_amount());
                map.put("pledgeType", order.getPledge_type());
                map.put("pledgeAmount", order.getPledge_amount());
                map.put("pledgeCurrency", order.getPledgeCurrency());
                map.put("createTime", DateUtils.format(order.getCreate_time(), DateUtils.DF_yyyyMMddHHmmss));
            }
            // 续借、强平、还款
            if (LoanConstants.PLEDGE_ORDER_TYPE_REFURBISH == order.getOrder_type() 
                    || LoanConstants.PLEDGE_ORDER_TYPE_CLOSEOUT == order.getOrder_type()
                    || LoanConstants.PLEDGE_ORDER_TYPE_REPAY == order.getOrder_type()) {
                map.put("orderType", order.getOrder_type());
                map.put("loanAmount", order.getLoan_amount());
                map.put("createTime", DateUtils.format(order.getCreate_time(), DateUtils.DF_yyyyMMddHHmmss));
            }
            // 补增质押
            if (LoanConstants.PLEDGE_ORDER_TYPE_REPLENISH == order.getOrder_type()) {
                map.put("orderType", order.getOrder_type());
                map.put("pledgeType", order.getPledge_type());
                map.put("pledgeAmount", order.getPledge_amount());
                map.put("pledgeCurrency", order.getPledgeCurrency());
                map.put("createTime", DateUtils.format(order.getCreate_time(), DateUtils.DF_yyyyMMddHHmmss));
            }
            if(ObjectUtils.isNotEmpty(map)) {
                list.add(map);
            }        
        }
        return list;
    }
    
 
    
 
 
    
 
    
    /**
     * 后台质押记录
     */
    public List<Map<String,Object>> queryLoanRelation(String loanRelationOrderId) {
//        List<Map<String,Object>> result = new ArrayList<Map<String,Object>>();
//        List<LoanRelationOrder> list = jdbcTemplate.query("SELECT * FROM T_LOAN_RELATION_ORDER WHERE LOAN_RELATION_ORDER_ID=? ORDER BY CREATE_TIME DESC",
//                RecordObjectMapper.newInstance(LoanRelationOrder.class), loanRelationOrderId);
 
        List<Map<String,Object>> result = jdbcTemplate.queryForList("SELECT * FROM T_LOAN_RELATION_ORDER WHERE LOAN_RELATION_ORDER_ID='"+loanRelationOrderId+"' ORDER BY CREATE_TIME DESC");
 
//        for (LoanRelationOrder order : list) {
//            Map<String,Object> data = new HashMap<String, Object>();
//            data.put("orderType", order.getOrder_type());
//            data.put("loanAmount", order.getLoanAmount());
//            data.put("pledgeType", order.getPledgeType());
//            data.put("pledgeAmount", order.getPledgeAmount());
//            data.put("pledgeCurrency", order.getPledgeCurrency());
//            data.put("createTime", DateUtils.format(order.getCreateTime(), DateUtils.DF_yyyyMMddHHmmss));
//            result.add(data);
//        }
        return result;
    }
    
    /**
     * 根据订单关联ID获取订单列表
     */
    public List<LoanRelationOrder> queryOrders(String loanRelationOrderId, int orderType) {
//        List<LoanRelationOrder> list = jdbcTemplate.query("SELECT * FROM T_LOAN_RELATION_ORDER WHERE LOAN_RELATION_ORDER_ID=? AND ORDER_TYPE=?",
//                RecordObjectMapper.newInstance(LoanRelationOrder.class), loanRelationOrderId, orderType);
        List<LoanRelationOrder> list = new Vector<>();
        List<Map<String,Object>> list2 = jdbcTemplate.queryForList("SELECT * FROM T_LOAN_RELATION_ORDER WHERE LOAN_RELATION_ORDER_ID='"+loanRelationOrderId+"' AND ORDER_TYPE="+orderType);
        for(Map<String,Object> map1 : list2){
            LoanRelationOrder order = JSON.parseObject(JSON.toJSONString(map1), LoanRelationOrder.class);
            list.add(order);
        }
 
        //
        return list;
    }
    
    public void insertLoanRelationOrder(LoanRelationOrder order) {
        String insertSql = "INSERT INTO T_LOAN_RELATION_ORDER(UUID,LOAN_RELATION_ORDER_ID,PARTY_ID,ORDER_TYPE,LOAN_AMOUNT,LOAN_CURRENCY,"
                + "PLEDGE_AMOUNT,PLEDGE_CURRENCY,PLEDGE_TYPE,CREATE_TIME) VALUES (?,?,?,?,?,?,?,?,?,?)";
        jdbcTemplate.update(insertSql,order.getUuid(),order.getLoanRelationOrderId(),order.getParty_id(),order.getOrder_type(),
                order.getLoan_amount(),order.getLoan_currency(),order.getPledge_amount(),order.getPledgeCurrency(),
                order.getPledge_type(),order.getCreate_time());
    }
 
//    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
//        this.jdbcTemplate = jdbcTemplate;
//    }
//
//    public void setWalletService(WalletService walletService) {
//        this.walletService = walletService;
//    }
//
//    public void setMoneyLogService(MoneyLogService moneyLogService) {
//        this.moneyLogService = moneyLogService;
//    }
//
//    public void setDataService(DataService dataService) {
//        this.dataService = dataService;
//    }
//
//    public void setLoanOrderService(LoanOrderService loanOrderService) {
//        this.loanOrderService = loanOrderService;
//    }
//
}