zj
2025-02-25 dd315d5732e14fcf3df71e0cf213cc442bd8607b
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
package project.c2c.internal;
 
import java.util.HashMap;
import java.util.Map;
 
import kernel.util.StringUtils;
import kernel.web.Page;
import kernel.web.PagedQueryDao;
import project.c2c.AdminC2cAdvertService;
 
public class AdminC2cAdvertServiceImpl implements AdminC2cAdvertService {
 
    private PagedQueryDao pagedDao;
 
    public Page pagedQuery(int pageNo, int pageSize, String c2c_user_code, Integer c2c_user_type_int, String user_code, 
            String direction, String currency, String symbol, String loginPartyId) {
 
        StringBuffer queryString = new StringBuffer();
        
        queryString.append(" SELECT ");
        queryString.append(" advert.UUID id, advert.DIRECTION direction, advert.CURRENCY currency, advert.SYMBOL symbol, advert.SYMBOL_CLOSE symbol_close, advert.PAY_RATE pay_rate, advert.PAY_TYPE pay_type, ");
        queryString.append(" advert.SYMBOL_VALUE symbol_value, advert.COIN_AMOUNT coin_amount, advert.INVESTMENT_MIN investment_min, advert.INVESTMENT_MAX investment_max, ");
        queryString.append(" advert.DEPOSIT deposit, advert.DEPOSIT_OPEN deposit_open, advert.ON_SALE on_sale, advert.CLOSED closed, advert.SORT_INDEX sort_index, ");
        queryString.append(" advert.EXPIRE_TIME expire_time, advert.TRANSACTION_TERMS transaction_terms, advert.ORDER_MSG order_msg, ");
        queryString.append(" advert.REMARK remark, advert.CREATE_TIME create_time, advert.UPDATE_TIME update_time, ");
        queryString.append(" c2c_user.UUID c2c_user_id, c2c_user.NICK_NAME nick_name, c2c_user.HEAD_IMG head_img, c2c_user.C2C_USER_TYPE c2c_user_type, c2c_user.C2C_USER_CODE c2c_user_code, ");
        queryString.append(" party.UUID party_id, party.USERCODE user_code, party.USERNAME user_name ");
        
        queryString.append(" FROM T_C2C_ADVERT advert ");
        queryString.append(" LEFT JOIN T_C2C_USER c2c_user ON c2c_user.UUID = advert.C2C_USER_ID ");
        queryString.append(" LEFT JOIN PAT_PARTY party ON party.UUID = c2c_user.C2C_USER_PARTY_ID ");        
        queryString.append(" WHERE 1=1 ");
 
        Map<String, Object> parameters = new HashMap<String, Object>();
 
        if (StringUtils.isNotEmpty(c2c_user_code)) {
            queryString.append(" AND (c2c_user.NICK_NAME like :c2c_user_code OR c2c_user.C2C_USER_CODE like :c2c_user_code) ");
            parameters.put("c2c_user_code", "%" + c2c_user_code + "%");
        }
 
        if (c2c_user_type_int != null) {
            queryString.append(" and c2c_user.C2C_USER_TYPE = :c2c_user_type_int  ");
            parameters.put("c2c_user_type_int", c2c_user_type_int);
        }
 
        if (StringUtils.isNotEmpty(user_code)) {
            queryString.append(" AND (party.USERNAME like :user_code OR party.USERCODE like :user_code) ");
            parameters.put("user_code", "%" + user_code + "%");
        }
        
        if (StringUtils.isNotEmpty(direction)) {
            queryString.append(" AND advert.DIRECTION = :direction ");
            parameters.put("direction", direction);
        }
        
        if (StringUtils.isNotEmpty(currency)) {
            queryString.append(" AND advert.CURRENCY = :currency ");
            parameters.put("currency", currency);
        }
        
        if (StringUtils.isNotEmpty(symbol)) {
            queryString.append(" AND advert.SYMBOL = :symbol ");
            parameters.put("symbol", symbol);
        }
 
        if (StringUtils.isNotEmpty(loginPartyId)) {
            queryString.append(" AND c2c_user.C2C_MANAGER_PARTY_ID = :loginPartyId ");
            parameters.put("loginPartyId", loginPartyId);
        }
        
        queryString.append(" order by advert.SORT_INDEX desc,advert.CREATE_TIME desc ");
 
        Page page = this.pagedDao.pagedQuerySQL(pageNo, pageSize, queryString.toString(), parameters);
        
        return page;
    }
    
    public void setPagedDao(PagedQueryDao pagedDao) {
        this.pagedDao = pagedDao;
    }
 
}