Commit e28d883e by guanchen

添加代理商推荐关系的循环奖励

parent ea68f2c1
......@@ -171,6 +171,7 @@ public class AgentRewardQueueTask {
TransactionStatus transactionStatus = null;
List<AgentReward> pushList = new ArrayList<AgentReward>();
List<AgentReward> pushRewardList = new ArrayList<AgentReward>();
try {
/**
* 开启事务, 如果rewardList中的奖励 都插入成功, 才提交事务
......@@ -182,8 +183,13 @@ public class AgentRewardQueueTask {
AgentReward reward = doInsert(commissionRate, rewardList.get(i), message.clone());
if (reward != null) {
pushList.add(reward);
if (reward.getAgentLevel() == AGENT_LEVEL_4) {
pushRewardQueue(reward, message);
/**
* 如果是城市代理获得的佣金 或 红包奖励 需要 再往上分
*/
if (reward.getAgentLevel() == AGENT_LEVEL_4 &&
(rewardType == AGENT_REWARD_TYPE_SELF_ORDER || rewardType == AGENT_REWARD_TYPE_SHARE_ORDER || rewardType == AGENT_REWARD_TYPE_REDPACK)
) {
pushRewardList.add(reward);
}
}
}
......@@ -197,6 +203,9 @@ public class AgentRewardQueueTask {
for (AgentReward reward : pushList) {
doPush(reward);
}
for (AgentReward reward : pushRewardList) {
pushRewardQueue(reward, message.clone());
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
logger.error("插入代理商分成奖励失败, 奖励 {}", message);
......@@ -223,10 +232,21 @@ public class AgentRewardQueueTask {
}
private void pushRewardQueue(AgentReward reward, AgentRewardMessage message) {
// message.setAgentId(reward.getAgentId());
// message.setAgentReward(reward.getAmount());
// message.setOrderRateArray(reward.getRatioAll());
return;
logger.info("处理循环上供奖励.......");
logger.info("reward is :{}", reward);
logger.info("message is :{}", message);
message.setAgentId(reward.getAgentId());
message.setAgentReward(reward.getAmount());
String rateArray;
if (StringUtils.isEmpty(reward.getRatioAll())) {
rateArray = "[" + reward.getCommissionRate() + "]";
} else {
rateArray = reward.getRatioAll().replaceAll("\\]", "");
rateArray = rateArray + reward.getCommissionRate() + "]";
}
message.setOrderRateArray(rateArray);
logger.info("推送循环上供奖励: {}", message);
stringRedisTemplate.opsForList().leftPush(AGENT_REWARD_QUEUE_KEY, JSON.toJSONString(message));
}
private AgentReward doInsert(BigDecimal commissionRate, ParentAgent agent, AgentRewardMessage message) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment