1
zj
2025-08-12 f8c80b2848a6b2e3ef16db317147576f4a4e0714
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
package project.monitor.pledge.internal;
 
import java.util.List;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
import kernel.web.ApplicationUtil;
import project.Constants;
import project.monitor.pledge.PledgeConfig;
import project.monitor.pledge.PledgeConfigService;
import project.party.PartyService;
import project.party.model.Party;
import project.party.model.UserRecom;
import project.party.recom.UserRecomService;
 
public class PledgeConfigServiceImpl implements PledgeConfigService {
    
    private PartyService partyService;
    
    private UserRecomService userRecomService;
    
    private static final Logger logger = LoggerFactory.getLogger(PledgeConfigServiceImpl.class);
 
    public List<PledgeConfig> getAll() {
        return ApplicationUtil.executeSelect(PledgeConfig.class);
    }
    
    /**
     * 取到应用的收益配置参数
     * @param partyId
     * @return
     */
    public PledgeConfig getConfig(String partyId) {
        List<UserRecom> parents = userRecomService.getParents(partyId.toString());
        List<PledgeConfig> configs = this.getAll();
        //PledgeConfig pledgeConfig = this.getGlobalConfig2();
 
        /**
         * 该用户直接配置
         */
        for (int i = 0; i < configs.size(); i++) {
            PledgeConfig config = configs.get(i);
            if (partyId.equals(config.getPartyId())) {
                /*
                 * 找到返回
                 */
                logger.info("found config by current user: {}",config);
                return config;
            }
 
        }
 
        /**
         * 取到代理
         */
        for (int i = 0; i < parents.size(); i++) {
            Party party = partyService.cachePartyBy(parents.get(i).getReco_id(), true);
 
            if (!Constants.SECURITY_ROLE_AGENT.equals(party.getRolename())
                    && !Constants.SECURITY_ROLE_AGENTLOW.equals(party.getRolename())) {
                /**
                 * 非代理
                 */
                continue;
            }
 
            for (int j = 0; j < configs.size(); j++) {
                PledgeConfig config = configs.get(j);
                if (party.getId().toString().equals(config.getPartyId())) {
                    logger.info("found config by parent user: {}",config);
                    return config;
                }
            }
 
        }
        
        logger.info("final not found config....");
        //return pledgeConfig;
        return null;
    }
 
    @Override
    public PledgeConfig getGlobalConfig() {
        List<PledgeConfig> list = ApplicationUtil.executeSelect(PledgeConfig.class,"WHERE PARTY_ID IS NULL OR PARTY_ID=''",null);
        return list.size()<=0?null:list.get(0);
    }
    
    @Override
    public PledgeConfig getGlobalConfig2() {
        List<PledgeConfig> list = ApplicationUtil.executeSelect(PledgeConfig.class,"WHERE PARTY_ID IS NULL OR PARTY_ID=''",null);
        return list.size()<=0?null:list.get(0);
    }
    
    
    public PledgeConfig findByPartyId(String partyId) {
        List<PledgeConfig> list = ApplicationUtil.executeSelect(PledgeConfig.class,"WHERE PARTY_ID=?",new Object[] {partyId});
        return list.size()<=0?null:list.get(0);
    }
 
    public void save(PledgeConfig entity) {
        ApplicationUtil.executeInsert(entity);
    }
 
    public void update(PledgeConfig entity) {
        ApplicationUtil.executeUpdate(entity);
    }
 
    public PledgeConfig findById(String id) {
        return ApplicationUtil.executeGet(id,PledgeConfig.class);
    }
 
    public void delete(PledgeConfig entity) {
        ApplicationUtil.executeDelete(entity);
    }
    
    public void setPartyService(PartyService partyService) {
        this.partyService = partyService;
    }
    
    public void setUserRecomService(UserRecomService userRecomService) {
        this.userRecomService = userRecomService;
    }
}