Commit c596bcaa by guanchen

更新--9月份 结算 合伙人/代理商 收入

parent d9d3dd0a
...@@ -192,7 +192,8 @@ ...@@ -192,7 +192,8 @@
<redis.host>10.9.48.21</redis.host> <redis.host>10.9.48.21</redis.host>
<redis.password>Ws_LrqD_20180319_REdis_MQLRd</redis.password> <redis.password>Ws_LrqD_20180319_REdis_MQLRd</redis.password>
<spring.profiles.active>prod</spring.profiles.active> <spring.profiles.active>prod</spring.profiles.active>
<logfile_path>/data/logs/huhu/lanren</logfile_path> <!--<logfile_path>/data/logs/huhu/lanren</logfile_path>-->
<logfile_path>/Users/chen/Develop/workspace/partner/data/release/dev/logs</logfile_path>
<providers-path>/data/java/service</providers-path> <providers-path>/data/java/service</providers-path>
</properties> </properties>
......
package com.lanren.huhu.partner.constants; package com.lanren.huhu.partner.constants;
import com.lanren.huhu.partner.util.DateUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -132,6 +135,8 @@ public class Constants { ...@@ -132,6 +135,8 @@ public class Constants {
public static final int AGENT_REWARD_TYPE_PURCHASE = 300; public static final int AGENT_REWARD_TYPE_PURCHASE = 300;
public static final int AGENT_REWARD_TYPE_SHARE = 60; public static final int AGENT_REWARD_TYPE_SHARE = 60;
public static final Date NEW_SETTLE_RULE_TIME = DateUtils.parse("2019-08-16 12:03:50");
static { static {
/** /**
* 代理商平推奖励比例配置 * 代理商平推奖励比例配置
......
...@@ -34,4 +34,18 @@ public class OrderParam extends BaseModel { ...@@ -34,4 +34,18 @@ public class OrderParam extends BaseModel {
} }
return false; return false;
} }
@Override
public int hashCode() {
StringBuilder sb = new StringBuilder();
sb.append(orderType);
sb.append(orderSn);
char[] charArr = sb.toString().toCharArray();
int hash = 0;
for(char c : charArr) {
hash = hash * 131 + c;
}
return hash;
}
} }
...@@ -41,4 +41,17 @@ public class ParentAgent extends BaseModel { ...@@ -41,4 +41,17 @@ public class ParentAgent extends BaseModel {
} }
return false; return false;
} }
@Override
public int hashCode() {
StringBuilder sb = new StringBuilder();
sb.append(agentId);
char[] charArr = sb.toString().toCharArray();
int hash = 0;
for(char c : charArr) {
hash = hash * 131 + c;
}
return hash;
}
} }
...@@ -39,4 +39,17 @@ public class ParentPartner extends BaseModel { ...@@ -39,4 +39,17 @@ public class ParentPartner extends BaseModel {
} }
return false; return false;
} }
@Override
public int hashCode() {
StringBuilder sb = new StringBuilder();
sb.append(userId);
char[] charArr = sb.toString().toCharArray();
int hash = 0;
for(char c : charArr) {
hash = hash * 131 + c;
}
return hash;
}
} }
...@@ -36,4 +36,19 @@ public class SubOrderParam extends BaseModel { ...@@ -36,4 +36,19 @@ public class SubOrderParam extends BaseModel {
} }
return false; return false;
} }
@Override
public int hashCode() {
StringBuilder sb = new StringBuilder();
sb.append(orderType);
sb.append(orderSn);
sb.append(subOrderSn);
char[] charArr = sb.toString().toCharArray();
int hash = 0;
for(char c : charArr) {
hash = hash * 131 + c;
}
return hash;
}
} }
...@@ -21,6 +21,7 @@ import java.math.BigDecimal; ...@@ -21,6 +21,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.util.*; import java.util.*;
import static com.lanren.huhu.partner.constants.Constants.NEW_SETTLE_RULE_TIME;
import static org.springframework.util.StringUtils.isEmpty; import static org.springframework.util.StringUtils.isEmpty;
/** /**
...@@ -183,7 +184,8 @@ public class AgentSettleTask { ...@@ -183,7 +184,8 @@ public class AgentSettleTask {
*/ */
if ( (agentReward.getRewardType() == Constants.AGENT_REWARD_TYPE_PURCHASE || agentReward.getRewardType() == Constants.AGENT_REWARD_TYPE_SELF_ORDER) if ( (agentReward.getRewardType() == Constants.AGENT_REWARD_TYPE_PURCHASE || agentReward.getRewardType() == Constants.AGENT_REWARD_TYPE_SELF_ORDER)
&& agentReward.getSettleState() != Constants.SETTLE_STATE_DONE) { && agentReward.getSettleState() != Constants.SETTLE_STATE_DONE) {
if (isEmpty(agentReward.getOrderType()) || isEmpty(agentReward.getOrderSn()) || isEmpty(agentReward.getRatioAll())) { // if (isEmpty(agentReward.getOrderType()) || isEmpty(agentReward.getOrderSn()) || isEmpty(agentReward.getRatioAll())) {
if (isEmpty(agentReward.getOrderType()) || isEmpty(agentReward.getOrderSn())) {
/** /**
* 历史数据: 没有记录订单号 或者 没有记录比例 不更新奖励金额 * 历史数据: 没有记录订单号 或者 没有记录比例 不更新奖励金额
*/ */
...@@ -251,8 +253,9 @@ public class AgentSettleTask { ...@@ -251,8 +253,9 @@ public class AgentSettleTask {
if ( (agentReward.getRewardType() == Constants.AGENT_REWARD_TYPE_SHARE || agentReward.getRewardType() == Constants.AGENT_REWARD_TYPE_SHARE_ORDER) if ( (agentReward.getRewardType() == Constants.AGENT_REWARD_TYPE_SHARE || agentReward.getRewardType() == Constants.AGENT_REWARD_TYPE_SHARE_ORDER)
&& agentReward.getSettleState() > 0 && agentReward.getSettleState() > 0
&& agentReward.getSettleState() != Constants.SETTLE_STATE_DONE) { && agentReward.getSettleState() != Constants.SETTLE_STATE_DONE) {
if (isEmpty(agentReward.getOrderType()) || isEmpty(agentReward.getOrderSn()) || isEmpty(agentReward.getSubOrderSn()) // if (isEmpty(agentReward.getOrderType()) || isEmpty(agentReward.getOrderSn()) || isEmpty(agentReward.getSubOrderSn())
|| isEmpty(agentReward.getRatioAll())) { // || isEmpty(agentReward.getRatioAll())) {
if (isEmpty(agentReward.getOrderType()) || isEmpty(agentReward.getOrderSn()) || isEmpty(agentReward.getSubOrderSn())) {
/** /**
* 历史数据: 没有记录子订单号 或者 没有记录比例 不更新奖励金额 * 历史数据: 没有记录子订单号 或者 没有记录比例 不更新奖励金额
*/ */
...@@ -388,25 +391,43 @@ public class AgentSettleTask { ...@@ -388,25 +391,43 @@ public class AgentSettleTask {
private void add2UpdateRewardCommission(AgentReward agentReward, BigDecimal allMoney, List<AgentReward> updateCommisionList) { private void add2UpdateRewardCommission(AgentReward agentReward, BigDecimal allMoney, List<AgentReward> updateCommisionList) {
try { try {
if (agentReward.getId() == 336831) {
logger.info("336831 debug" );
}
agentReward.setAllMoneyOri(allMoney); agentReward.setAllMoneyOri(allMoney);
String ratioAllStr = agentReward.getRatioAll().replaceAll("[\\[\\]\"]", ""); String ratioAllStr = agentReward.getRatioAll().replaceAll("[\\[\\]\"]", "");
if (!isEmpty(ratioAllStr)) { /**
String[] strs = ratioAllStr.split(","); * 时间点之前的 需要乘比例数组 之后 再乘commission_rate
if (strs.length > 0) { * 时间点之后的 直接乘commission_rate
BigDecimal cash = allMoney; */
for (String s : strs) { if (agentReward.getRechargeTime().compareTo(NEW_SETTLE_RULE_TIME) < 0) {
BigDecimal ratio = new BigDecimal(s); if (!isEmpty(ratioAllStr)) {
cash = cash.multiply(ratio); String[] strs = ratioAllStr.split(",");
if (strs.length > 0) {
BigDecimal cash = allMoney;
for (String s : strs) {
BigDecimal ratio = new BigDecimal(s);
cash = cash.multiply(ratio);
}
agentReward.setMoney(cash);
agentReward.setCommissionAcount(cash);
BigDecimal commission = cash.multiply(agentReward.getCommissionRate());
agentReward.setAmount(commission);
agentReward.setCommission(commission);
agentReward.setSettleState(Constants.SETTLE_STATE_DONE);
agentReward.setUpdatedAt(System.currentTimeMillis() / 1000L);
updateCommisionList.add(agentReward);
} }
agentReward.setMoney(cash);
agentReward.setCommissionAcount(cash);
BigDecimal commission = cash.multiply(agentReward.getCommissionRate());
agentReward.setAmount(commission);
agentReward.setCommission(commission);
agentReward.setSettleState(Constants.SETTLE_STATE_DONE);
agentReward.setUpdatedAt(System.currentTimeMillis() / 1000L);
updateCommisionList.add(agentReward);
} }
} else {
agentReward.setMoney(allMoney);
agentReward.setCommissionAcount(allMoney);
BigDecimal commission = allMoney.multiply(agentReward.getCommissionRate());
agentReward.setAmount(commission);
agentReward.setCommission(commission);
agentReward.setSettleState(Constants.SETTLE_STATE_DONE);
agentReward.setUpdatedAt(System.currentTimeMillis() / 1000L);
updateCommisionList.add(agentReward);
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
...@@ -463,7 +484,6 @@ public class AgentSettleTask { ...@@ -463,7 +484,6 @@ public class AgentSettleTask {
private boolean doDbUpdate(AgentSettle agentSettle, long beginTs, long endTs) { private boolean doDbUpdate(AgentSettle agentSettle, long beginTs, long endTs) {
TransactionStatus transactionStatus = null; TransactionStatus transactionStatus = null;
try { try {
logger.info("agentSettle is {}", agentSettle);
/** /**
* 开启事务 * 开启事务
*/ */
...@@ -538,6 +558,7 @@ public class AgentSettleTask { ...@@ -538,6 +558,7 @@ public class AgentSettleTask {
} }
private void insertAgentIncomeSummary(AgentSettle agentSettle, long beginTs, long endTs) { private void insertAgentIncomeSummary(AgentSettle agentSettle, long beginTs, long endTs) {
logger.info("agentSettle is {} ", agentSettle);
Date dat = new Date(beginTs * 1000L); Date dat = new Date(beginTs * 1000L);
int now = (int) (System.currentTimeMillis() / 1000L); int now = (int) (System.currentTimeMillis() / 1000L);
int yeartime = Integer.parseInt(DateUtils.getYear(dat)); int yeartime = Integer.parseInt(DateUtils.getYear(dat));
...@@ -583,14 +604,14 @@ public class AgentSettleTask { ...@@ -583,14 +604,14 @@ public class AgentSettleTask {
agentIncomeSummary.setCreatedAt(now); agentIncomeSummary.setCreatedAt(now);
agentIncomeSummary.setUpdatedAt(now); agentIncomeSummary.setUpdatedAt(now);
agentIncomeSummary.setSettleTime(now); agentIncomeSummary.setSettleTime(now);
agentIncomeSummary.setContent(JSON.toJSONString(agentSummaryContent)); agentIncomeSummary.setContent(JSON.toJSONString(agentSummaryContent).replaceAll("0E-[0-9]+", "0"));
agentIncomeSummary.setIncome(sum2); agentIncomeSummary.setIncome(sum2);
agentIncomeSummaryService.save(agentIncomeSummary); agentIncomeSummaryService.save(agentIncomeSummary);
} else { } else {
agentIncomeSummary.setState(20); agentIncomeSummary.setState(20);
agentIncomeSummary.setSettleTime(now); agentIncomeSummary.setSettleTime(now);
agentIncomeSummary.setUpdatedAt(now); agentIncomeSummary.setUpdatedAt(now);
agentIncomeSummary.setContent(JSON.toJSONString(agentSummaryContent)); agentIncomeSummary.setContent(JSON.toJSONString(agentSummaryContent).replaceAll("0E-[0-9]+", "0"));
agentIncomeSummary.setIncome(sum2); agentIncomeSummary.setIncome(sum2);
agentIncomeSummaryService.updateById(agentIncomeSummary); agentIncomeSummaryService.updateById(agentIncomeSummary);
} }
...@@ -678,7 +699,7 @@ public class AgentSettleTask { ...@@ -678,7 +699,7 @@ public class AgentSettleTask {
log.setYeartime(yeartime); log.setYeartime(yeartime);
log.setMonthtime(monthtime); log.setMonthtime(monthtime);
log.setDaytime(daytime); log.setDaytime(daytime);
log.setSnapshot(snapshot); log.setSnapshot(JSON.toJSONString(snapshot).replaceAll("0E-[0-9]+", "0"));
log.setChangeTime((int)(now.getTime() / 1000)); log.setChangeTime((int)(now.getTime() / 1000));
log.setPayState(20); log.setPayState(20);
log.setPayPlatform("hupay"); log.setPayPlatform("hupay");
......
...@@ -21,6 +21,7 @@ import java.math.BigDecimal; ...@@ -21,6 +21,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.util.*; import java.util.*;
import static com.lanren.huhu.partner.constants.Constants.NEW_SETTLE_RULE_TIME;
import static org.springframework.util.StringUtils.isEmpty; import static org.springframework.util.StringUtils.isEmpty;
/** /**
...@@ -234,14 +235,14 @@ public class PartnerSettleTask { ...@@ -234,14 +235,14 @@ public class PartnerSettleTask {
partnerIncomeSummary.setCreatedAt(now); partnerIncomeSummary.setCreatedAt(now);
partnerIncomeSummary.setUpdatedAt(now); partnerIncomeSummary.setUpdatedAt(now);
partnerIncomeSummary.setSettleTime(now); partnerIncomeSummary.setSettleTime(now);
partnerIncomeSummary.setContent(JSON.toJSONString(partnerSummaryContent)); partnerIncomeSummary.setContent(JSON.toJSONString(partnerSummaryContent).replaceAll("0E-[0-9]+", "0"));
partnerIncomeSummary.setIncome(sum2); partnerIncomeSummary.setIncome(sum2);
partnerIncomeSummaryService.save(partnerIncomeSummary); partnerIncomeSummaryService.save(partnerIncomeSummary);
} else { } else {
partnerIncomeSummary.setState(20); partnerIncomeSummary.setState(20);
partnerIncomeSummary.setUpdatedAt(now); partnerIncomeSummary.setUpdatedAt(now);
partnerIncomeSummary.setSettleTime(now); partnerIncomeSummary.setSettleTime(now);
partnerIncomeSummary.setContent(JSON.toJSONString(partnerSummaryContent)); partnerIncomeSummary.setContent(JSON.toJSONString(partnerSummaryContent).replaceAll("0E-[0-9]+", "0"));
partnerIncomeSummary.setIncome(sum2); partnerIncomeSummary.setIncome(sum2);
partnerIncomeSummaryService.updateById(partnerIncomeSummary); partnerIncomeSummaryService.updateById(partnerIncomeSummary);
} }
...@@ -335,7 +336,7 @@ public class PartnerSettleTask { ...@@ -335,7 +336,7 @@ public class PartnerSettleTask {
log.setYeartime(yeartime); log.setYeartime(yeartime);
log.setMonthtime(monthtime); log.setMonthtime(monthtime);
log.setDaytime(daytime); log.setDaytime(daytime);
log.setSnapshot(snapshot.toString()); log.setSnapshot(JSON.toJSONString(snapshot).replaceAll("0E-[0-9]+", "0"));
log.setPayState(20); log.setPayState(20);
log.setPayPlatform("hupay"); log.setPayPlatform("hupay");
log.setPayInfo(payRemark); log.setPayInfo(payRemark);
...@@ -347,22 +348,36 @@ public class PartnerSettleTask { ...@@ -347,22 +348,36 @@ public class PartnerSettleTask {
try { try {
partnerReward.setAllMoneyOri(allMoney); partnerReward.setAllMoneyOri(allMoney);
String ratioAllStr = partnerReward.getRatioAll().replaceAll("[\\[\\]\"]", ""); String ratioAllStr = partnerReward.getRatioAll().replaceAll("[\\[\\]\"]", "");
if (! isEmpty(ratioAllStr)) { /**
String[] strs = ratioAllStr.split(","); * 时间点之前的 需要乘比例数组 之后 再乘commission_rate
if (strs.length > 0) { * 时间点之后的 直接乘commission_rate
BigDecimal cash = allMoney; */
for (String s : strs) { if (partnerReward.getRechargeTime().compareTo(NEW_SETTLE_RULE_TIME) < 0) {
BigDecimal ratio = new BigDecimal(s); if (! isEmpty(ratioAllStr)) {
cash = cash.multiply(ratio); String[] strs = ratioAllStr.split(",");
} if (strs.length > 0) {
partnerReward.setCash(cash); BigDecimal cash = allMoney;
BigDecimal commission = cash.multiply(partnerReward.getCommissionRate()); for (String s : strs) {
partnerReward.setCommissionAcount(commission); BigDecimal ratio = new BigDecimal(s);
partnerReward.setSettleState(Constants.SETTLE_STATE_DONE); cash = cash.multiply(ratio);
partnerReward.setUpdatedAt(System.currentTimeMillis() / 1000L); }
partnerReward.setCash(cash);
BigDecimal commission = cash.multiply(partnerReward.getCommissionRate());
partnerReward.setCommissionAcount(commission);
partnerReward.setSettleState(Constants.SETTLE_STATE_DONE);
partnerReward.setUpdatedAt(System.currentTimeMillis() / 1000L);
// partnerRewardService.updateById(partnerReward); // partnerRewardService.updateById(partnerReward);
updateCommisionList.add(partnerReward); updateCommisionList.add(partnerReward);
}
} }
} else {
partnerReward.setCash(allMoney);
BigDecimal commission = allMoney.multiply(partnerReward.getCommissionRate());
partnerReward.setCommissionAcount(commission);
partnerReward.setSettleState(Constants.SETTLE_STATE_DONE);
partnerReward.setUpdatedAt(System.currentTimeMillis() / 1000L);
// partnerRewardService.updateById(partnerReward);
updateCommisionList.add(partnerReward);
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
...@@ -438,7 +453,8 @@ public class PartnerSettleTask { ...@@ -438,7 +453,8 @@ public class PartnerSettleTask {
*/ */
if (partnerReward.getRewardType() == Constants.PARTNER_REWARD_TYPE_PURCHASE && partnerReward.getSettleState() > 0 if (partnerReward.getRewardType() == Constants.PARTNER_REWARD_TYPE_PURCHASE && partnerReward.getSettleState() > 0
&& partnerReward.getSettleState() != Constants.SETTLE_STATE_DONE) { && partnerReward.getSettleState() != Constants.SETTLE_STATE_DONE) {
if (isEmpty(partnerReward.getOrderType()) || isEmpty(partnerReward.getOrderSn()) || isEmpty(partnerReward.getRatioAll())) { // if (isEmpty(partnerReward.getOrderType()) || isEmpty(partnerReward.getOrderSn()) || isEmpty(partnerReward.getRatioAll())) {
if (isEmpty(partnerReward.getOrderType()) || isEmpty(partnerReward.getOrderSn())) {
/** /**
* 历史数据: 没有记录订单号 或者 没有记录比例 不更新奖励金额 * 历史数据: 没有记录订单号 或者 没有记录比例 不更新奖励金额
*/ */
...@@ -507,8 +523,9 @@ public class PartnerSettleTask { ...@@ -507,8 +523,9 @@ public class PartnerSettleTask {
*/ */
if (partnerReward.getRewardType() == Constants.PARTNER_REWARD_TYPE_SHARE && partnerReward.getSettleState() > 0 if (partnerReward.getRewardType() == Constants.PARTNER_REWARD_TYPE_SHARE && partnerReward.getSettleState() > 0
&& partnerReward.getSettleState() != Constants.SETTLE_STATE_DONE) { && partnerReward.getSettleState() != Constants.SETTLE_STATE_DONE) {
if (isEmpty(partnerReward.getOrderType()) || isEmpty(partnerReward.getOrderSn()) || isEmpty(partnerReward.getSubOrderSn()) // if (isEmpty(partnerReward.getOrderType()) || isEmpty(partnerReward.getOrderSn()) || isEmpty(partnerReward.getSubOrderSn())
|| isEmpty(partnerReward.getRatioAll())) { // || isEmpty(partnerReward.getRatioAll())) {
if (isEmpty(partnerReward.getOrderType()) || isEmpty(partnerReward.getOrderSn()) || isEmpty(partnerReward.getSubOrderSn())) {
/** /**
* 历史数据: 没有记录子订单号 或者 没有记录比例 不更新奖励金额 * 历史数据: 没有记录子订单号 或者 没有记录比例 不更新奖励金额
*/ */
......
...@@ -47,3 +47,5 @@ public interface AgentRewardService extends IService<AgentReward> { ...@@ -47,3 +47,5 @@ public interface AgentRewardService extends IService<AgentReward> {
...@@ -95,3 +95,5 @@ public class AgentRewardServiceImpl extends ServiceImpl<AgentRewardMapper, Agent ...@@ -95,3 +95,5 @@ public class AgentRewardServiceImpl extends ServiceImpl<AgentRewardMapper, Agent
...@@ -731,9 +731,9 @@ ...@@ -731,9 +731,9 @@
SELECT SELECT
agent_id, agent_id,
SUM(amount) balance, SUM(amount) balance,
SUM(case when agent_level=4 and reward_type in (50,740,60,760,300,750) then amount * 0.06 else 0 end) techCharge, SUM(case when recharge_time &lt; '2019-08-16 12:03:50' and agent_level=4 and reward_type in (50,740,60,760,300,750) then amount * 0.06 else 0 end) techCharge,
SUM(case when agent_level=4 and reward_type in (50,740) then amount * 0.06 else 0 end) techChargeRedpack, SUM(case when recharge_time &lt; '2019-08-16 12:03:50' and agent_level=4 and reward_type in (50,740) then amount * 0.06 else 0 end) techChargeRedpack,
SUM(case when agent_level=4 and reward_type in (60,760,300,750) then amount * 0.06 else 0 end) techChargeOrder, SUM(case when recharge_time &lt; '2019-08-16 12:03:50' and agent_level=4 and reward_type in (60,760,300,750) then amount * 0.06 else 0 end) techChargeOrder,
SUM(case when reward_type in (40) then amount else 0 end) opencardBalance, SUM(case when reward_type in (40) then amount else 0 end) opencardBalance,
SUM(case when reward_type in (50,740) then amount else 0 end) rechargeBalance, SUM(case when reward_type in (50,740) then amount else 0 end) rechargeBalance,
SUM(case when reward_type in (30,710,720) then amount else 0 end) upgradeBalance, SUM(case when reward_type in (30,710,720) then amount else 0 end) upgradeBalance,
...@@ -781,8 +781,8 @@ ...@@ -781,8 +781,8 @@
0 tax, 0 tax,
a.place_cash, a.place_cash,
a.place_num, a.place_num,
a.recharge_cash, a.onlinerechargeCash,
a.recharge_num, a.onlinerechargeNum,
a.open_card_cash, a.open_card_cash,
a.open_card_num, a.open_card_num,
a.upgrade_partner_cash, a.upgrade_partner_cash,
...@@ -794,9 +794,9 @@ ...@@ -794,9 +794,9 @@
SELECT SELECT
agent_id, agent_id,
SUM(amount) balance, SUM(amount) balance,
SUM(case when agent_level=4 and reward_type in (50,740,60,760,300,750) then amount * 0.06 else 0 end) techCharge, SUM(case when recharge_time &lt; '2019-08-16 12:03:50' and agent_level=4 and reward_type in (50,740,60,760,300,750) then amount * 0.06 else 0 end) techCharge,
SUM(case when agent_level=4 and reward_type in (50,740) then amount * 0.06 else 0 end) techChargeRedpack, SUM(case when recharge_time &lt; '2019-08-16 12:03:50' and agent_level=4 and reward_type in (50,740) then amount * 0.06 else 0 end) techChargeRedpack,
SUM(case when agent_level=4 and reward_type in (60,760,300,750) then amount * 0.06 else 0 end) techChargeOrder, SUM(case when recharge_time &lt; '2019-08-16 12:03:50' and agent_level=4 and reward_type in (60,760,300,750) then amount * 0.06 else 0 end) techChargeOrder,
SUM(case when reward_type in (40) then amount else 0 end) opencardBalance, SUM(case when reward_type in (40) then amount else 0 end) opencardBalance,
SUM(case when reward_type in (50,740) then amount else 0 end) rechargeBalance, SUM(case when reward_type in (50,740) then amount else 0 end) rechargeBalance,
SUM(case when reward_type in (30,710,720) then amount else 0 end) upgradeBalance, SUM(case when reward_type in (30,710,720) then amount else 0 end) upgradeBalance,
...@@ -806,8 +806,8 @@ ...@@ -806,8 +806,8 @@
SUM(0) pingtuiBalance, SUM(0) pingtuiBalance,
SUM(if(reward_type IN (60, 750, 300, 760),amount, 0)) AS place_cash, SUM(if(reward_type IN (60, 750, 300, 760),amount, 0)) AS place_cash,
COUNT(reward_type IN (60, 750, 300, 760) OR NULL) AS place_num, COUNT(reward_type IN (60, 750, 300, 760) OR NULL) AS place_num,
SUM(if(reward_type IN (50, 740),amount, 0)) AS recharge_cash, SUM(if(reward_type IN (50, 740),amount, 0)) AS onlinerechargeCash,
COUNT(reward_type IN (50, 740) OR NULL) AS recharge_num, COUNT(reward_type IN (50, 740) OR NULL) AS onlinerechargeNum,
SUM(if(reward_type=40, amount, 0)) AS open_card_cash, SUM(if(reward_type=40, amount, 0)) AS open_card_cash,
COUNT(reward_type=40 OR NULL) AS open_card_num, COUNT(reward_type=40 OR NULL) AS open_card_num,
SUM(if(reward_type IN (30, 20, 710, 720, 730),amount, 0)) AS upgrade_partner_cash, SUM(if(reward_type IN (30, 20, 710, 720, 730),amount, 0)) AS upgrade_partner_cash,
...@@ -860,7 +860,9 @@ ...@@ -860,7 +860,9 @@
deleted_at, deleted_at,
create_time, create_time,
all_money_ori, all_money_ori,
ratio_all ratio_all,
settle_time,
settle_in_advance
FROM agent_reward FROM agent_reward
WHERE settle_time BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs}) WHERE settle_time BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
AND reward_status = 100 AND reward_status = 100
...@@ -902,7 +904,9 @@ ...@@ -902,7 +904,9 @@
deleted_at, deleted_at,
create_time, create_time,
all_money_ori, all_money_ori,
ratio_all ratio_all,
settle_time,
settle_in_advance
FROM agent_reward FROM agent_reward
WHERE settle_time BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs}) WHERE settle_time BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
AND reward_status = 100 AND reward_status = 100
...@@ -913,7 +917,7 @@ ...@@ -913,7 +917,7 @@
</select> </select>
<update id="updateRewardStatusByAgentIdAndTs"> <update id="updateRewardStatusByAgentIdAndTs">
UPDATE agent_reward UPDATE agent_reward
SET reward_status=120, settle_state=CASE WHEN settle_state&gt;0 THEN 300 WHEN settle_state&lt;0 THEN -300 ELSE 0 END SET reward_status=120, settle_state=CASE WHEN settle_state>0 THEN 300 WHEN settle_state&lt;0 THEN -300 ELSE 0 END
WHERE settle_time WHERE settle_time
BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs}) BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
AND agent_id = #{agentId} AND agent_id = #{agentId}
......
...@@ -732,7 +732,10 @@ ...@@ -732,7 +732,10 @@
sub_order_sn, sub_order_sn,
all_money_ori, all_money_ori,
ratio_all, ratio_all,
is_show_on_client is_show_on_client,
tech_fee_rate,
settle_time,
settle_in_advance
FROM partner_reward FROM partner_reward
WHERE settle_time BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs}) WHERE settle_time BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
AND reward_status = 100 AND reward_status = 100
...@@ -773,7 +776,10 @@ ...@@ -773,7 +776,10 @@
sub_order_sn, sub_order_sn,
all_money_ori, all_money_ori,
ratio_all, ratio_all,
is_show_on_client is_show_on_client,
tech_fee_rate,
settle_time,
settle_in_advance
FROM partner_reward FROM partner_reward
WHERE settle_time BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs}) WHERE settle_time BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
AND reward_status = 100 AND reward_status = 100
...@@ -785,15 +791,21 @@ ...@@ -785,15 +791,21 @@
<select id="selectPartnerSettlePageByTs" resultType="com.lanren.huhu.partner.model.PartnerSettle"> <select id="selectPartnerSettlePageByTs" resultType="com.lanren.huhu.partner.model.PartnerSettle">
SELECT SELECT
user_id, user_id,
SUM(CASE WHEN reward_type IN (110,120) THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.97 WHEN user_partner_level=20 THEN 0.94 ELSE 1 END SUM(CASE WHEN reward_type IN (110,120) THEN commission_acount ELSE 0 END) -
ELSE 0 END) sum_order_commission, SUM(CASE WHEN reward_type IN (110, 120) AND recharge_time &lt; '2019-08-16 12:03:50' THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.03 WHEN user_partner_level=20 THEN 0.06 ELSE 0 END
SUM(CASE WHEN reward_type=60 THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.97 WHEN user_partner_level=20 THEN 0.94 ELSE 1 END WHEN reward_type IN (110, 120) AND tech_fee_rate > 0 THEN all_money_ori * tech_fee_rate
ELSE 0
END) sum_order_commission,
SUM(CASE WHEN reward_type=60 THEN commission_acount ELSE 0 END) -
SUM(CASE WHEN recharge_time &lt; '2019-08-16 12:03:50' AND reward_type IN (60) THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.03 WHEN user_partner_level=20 THEN 0.06 ELSE 0 END
ELSE 0 END) sum_redpack, ELSE 0 END) sum_redpack,
SUM(CASE WHEN reward_type NOT IN (60,110,120) THEN commission_acount ELSE 0 END) sum_others, SUM(CASE WHEN reward_type NOT IN (60,110,120) THEN commission_acount ELSE 0 END) sum_others,
SUM(CASE WHEN reward_type IN (60) THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.03 WHEN user_partner_level=20 THEN 0.06 ELSE 0 END SUM(CASE WHEN recharge_time &lt; '2019-08-16 12:03:50' AND reward_type IN (60) THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.03 WHEN user_partner_level=20 THEN 0.06 ELSE 0 END
ELSE 0 END) tech_charge_redpack, ELSE 0 END) tech_charge_redpack,
SUM(CASE WHEN reward_type IN (110, 120) THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.03 WHEN user_partner_level=20 THEN 0.06 ELSE 0 END SUM(CASE WHEN reward_type IN (110, 120) AND recharge_time &lt; '2019-08-16 12:03:50' THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.03 WHEN user_partner_level=20 THEN 0.06 ELSE 0 END
ELSE 0 END) tech_charge_order, WHEN reward_type IN (110, 120) AND tech_fee_rate > 0 THEN all_money_ori * tech_fee_rate
ELSE 0
END) tech_charge_order,
0 wx_income, 0 wx_income,
0 wx_tax, 0 wx_tax,
0 bank_income, 0 bank_income,
...@@ -821,17 +833,21 @@ ...@@ -821,17 +833,21 @@
<select id="selectPartnerSettleByTsAndUid" resultType="com.lanren.huhu.partner.model.PartnerSettle"> <select id="selectPartnerSettleByTsAndUid" resultType="com.lanren.huhu.partner.model.PartnerSettle">
SELECT SELECT
user_id, user_id,
SUM(CASE WHEN reward_type IN (110,120) THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.97 WHEN user_partner_level=20 THEN 0.94 ELSE 1 END SUM(CASE WHEN reward_type IN (110,120) THEN commission_acount ELSE 0 END) -
ELSE 0 END) sum_order_commission, SUM(CASE WHEN reward_type IN (110, 120) AND recharge_time &lt; '2019-08-16 12:03:50' THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.03 WHEN user_partner_level=20 THEN 0.06 ELSE 0 END
SUM(CASE WHEN reward_type=60 THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.97 WHEN user_partner_level=20 THEN 0.94 ELSE 1 END WHEN reward_type IN (110, 120) AND tech_fee_rate > 0 THEN all_money_ori * tech_fee_rate
ELSE 0
END) sum_order_commission,
SUM(CASE WHEN reward_type=60 THEN commission_acount ELSE 0 END) -
SUM(CASE WHEN recharge_time &lt; '2019-08-16 12:03:50' AND reward_type IN (60) THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.03 WHEN user_partner_level=20 THEN 0.06 ELSE 0 END
ELSE 0 END) sum_redpack, ELSE 0 END) sum_redpack,
SUM(CASE WHEN reward_type NOT IN (60,110,120) THEN commission_acount ELSE 0 END) sum_others, SUM(CASE WHEN reward_type NOT IN (60,110,120) THEN commission_acount ELSE 0 END) sum_others,
SUM(CASE WHEN reward_type IN (60) THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.03 WHEN user_partner_level=20 THEN 0.06 ELSE 0 END SUM(CASE WHEN recharge_time &lt; '2019-08-16 12:03:50' AND reward_type IN (60) THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.03 WHEN user_partner_level=20 THEN 0.06 ELSE 0 END
ELSE 0 END ELSE 0 END) tech_charge_redpack,
) tech_charge_redpack, SUM(CASE WHEN reward_type IN (110, 120) AND recharge_time &lt; '2019-08-16 12:03:50' THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.03 WHEN user_partner_level=20 THEN 0.06 ELSE 0 END
SUM(CASE WHEN reward_type IN (110, 120) THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.03 WHEN user_partner_level=20 THEN 0.06 ELSE 0 END WHEN reward_type IN (110, 120) AND tech_fee_rate > 0 THEN all_money_ori * tech_fee_rate
ELSE 0 END ELSE 0
) tech_charge_order, END) tech_charge_order,
0 wx_income, 0 wx_income,
0 wx_tax, 0 wx_tax,
0 bank_income, 0 bank_income,
......
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