Commit 505d9403 by guanchen

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

parent c596bcaa
...@@ -66,7 +66,7 @@ public class Constants { ...@@ -66,7 +66,7 @@ public class Constants {
public static final int SETTLE_STATE_ON_THE_WAY = 100; public static final int SETTLE_STATE_ON_THE_WAY = 100;
public static final int SETTLE_STATE_PRE = 200; public static final int SETTLE_STATE_PRE = 200;
public static final int SETTLE_STATE_DONE = 300; public static final int SETTLE_STATE_DONE = 300;
public static final int SETTLE_STATE_FAILED = -300; // public static final int SETTLE_STATE_FAILED = -300;
/** /**
* 财务结算状态 * 财务结算状态
*/ */
......
...@@ -69,25 +69,27 @@ public class AgentController { ...@@ -69,25 +69,27 @@ public class AgentController {
result.setData("异步,正在执行刷新......"); result.setData("异步,正在执行刷新......");
return result; return result;
} }
/**
* 测试使用 结算单个代理商 @RequestMapping(value = "/finance/{agentId}", method = RequestMethod.GET)
*/ public Result<String> doFinanceSettle(@PathVariable("agentId") String agentId, @RequestHeader HttpHeaders headers) {
@RequestMapping(value = "/finance", method = RequestMethod.POST) if ("all".equals(agentId)) {
public Result<String> doFinanceSettle(@RequestBody @Valid Agent agent, @RequestHeader HttpHeaders headers) { /**
if (logger.isInfoEnabled()) { * 结算全部代理商
logger.info("doFinanceSettle userId:{},header:{},time:{}", agent.getAgentId(), headers.keySet().toArray(), LocalDateTime.now()); */
agentSettleTask.runScheduledTask();
logger.info("============>" + Thread.currentThread().getName());
Result<String> result = new Result<String>();
result.setData("异步,正在执行刷新......");
return result;
} else {
/**
* 测试使用 结算单个代理商
*/
int aId = Integer.parseInt(agentId);
if (logger.isInfoEnabled()) {
logger.info("doFinanceSettle userId:{},header:{},time:{}", aId, headers.keySet().toArray(), LocalDateTime.now());
}
return agentManager.doFinanceSettle(aId);
} }
return agentManager.doFinanceSettle(agent.getAgentId());
}
/**
* 结算全部代理商
*/
@RequestMapping(value = "/finance", method = RequestMethod.GET)
public Result<String> doFinanceSettle(@RequestHeader HttpHeaders headers) {
agentSettleTask.runScheduledTask();
logger.info("============>" + Thread.currentThread().getName());
Result<String> result = new Result<String>();
result.setData("异步,正在执行刷新......");
return result;
} }
} }
package com.lanren.huhu.partner.controller; import com.lanren.huhu.partner.manager.PartnerManager;import com.lanren.huhu.partner.model.Partner;import com.lanren.huhu.partner.model.PartnerResponse;import com.lanren.huhu.partner.result.Result;import com.lanren.huhu.partner.schedule.PartnerSettleTask;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.http.HttpHeaders;import org.springframework.web.bind.annotation.*; import javax.validation.Valid;import java.time.LocalDateTime; /** * @Author houseme * @Date 2019-06-26 11:00 * @Project partner * @Package com.lanren.huhu.partner.controller * @File: PartnerController */@RestController@RequestMapping("/v1/partner")public class PartnerController { private static Logger logger = LoggerFactory.getLogger(PartnerController.class); @Autowired private PartnerManager partnerManager; @Autowired private PartnerSettleTask partnerSettleTask; @RequestMapping(value = "/level", method = RequestMethod.POST) public Result<PartnerResponse> getPartnerLevel(@RequestBody @Valid Partner partner, @RequestHeader HttpHeaders headers) { if (logger.isInfoEnabled()) { logger.info("getPartnerLevel userId:{},header:{},time:{}", partner.getUserId(), headers.keySet().toArray(), LocalDateTime.now()); } return partnerManager.getPartnerLevel(partner.getUserId()); } /** * 测试使用 结算单个用户 */ @RequestMapping(value = "/finance", method = RequestMethod.POST) public Result<String> doFinanceSettle(@RequestBody @Valid Partner partner, @RequestHeader HttpHeaders headers) { if (logger.isInfoEnabled()) { logger.info("doFinanceSettle userId:{},header:{},time:{}", partner.getUserId(), headers.keySet().toArray(), LocalDateTime.now()); } return partnerManager.doFinanceSettle(partner.getUserId()); } /** * 结算全部用户 */ @RequestMapping(value = "/finance", method = RequestMethod.GET) public Result<String> doFinanceSettle(@RequestHeader HttpHeaders headers) { partnerSettleTask.runSettle(); logger.info("============>" + Thread.currentThread().getName()); Result<String> result = new Result<String>(); result.setData("异步,正在执行刷新......"); return result; }// /** // * 汇总合伙人已结算数据 // */ // @RequestMapping(value = "/summary/{dateStr}/{uid}", method = RequestMethod.GET) // public Result<String> doSummarySettled(@PathVariable("dateStr") String dateStr, @PathVariable("uid") int uid, @RequestHeader HttpHeaders headers) { // return partnerManager.runSummary(dateStr, uid); // } } package com.lanren.huhu.partner.controller; import com.lanren.huhu.partner.manager.PartnerManager;import com.lanren.huhu.partner.model.Partner;import com.lanren.huhu.partner.model.PartnerResponse;import com.lanren.huhu.partner.result.Result;import com.lanren.huhu.partner.schedule.PartnerSettleTask;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.http.HttpHeaders;import org.springframework.web.bind.annotation.*; import javax.validation.Valid;import java.time.LocalDateTime; /** * @Author houseme * @Date 2019-06-26 11:00 * @Project partner * @Package com.lanren.huhu.partner.controller * @File: PartnerController */@RestController@RequestMapping("/v1/partner")public class PartnerController { private static Logger logger = LoggerFactory.getLogger(PartnerController.class); @Autowired private PartnerManager partnerManager; @Autowired private PartnerSettleTask partnerSettleTask; @RequestMapping(value = "/level", method = RequestMethod.POST) public Result<PartnerResponse> getPartnerLevel(@RequestBody @Valid Partner partner, @RequestHeader HttpHeaders headers) { if (logger.isInfoEnabled()) { logger.info("getPartnerLevel userId:{},header:{},time:{}", partner.getUserId(), headers.keySet().toArray(), LocalDateTime.now()); } return partnerManager.getPartnerLevel(partner.getUserId()); } @RequestMapping(value = "/finance/{userId}", method = RequestMethod.GET) public Result<String> doFinanceSettle(@PathVariable("userId") String userId, @RequestHeader HttpHeaders headers) { if ("all".equals(userId)) { /** * 结算全部用户 */ partnerSettleTask.runSettle(); logger.info("============>" + Thread.currentThread().getName()); Result<String> result = new Result<String>(); result.setData("异步,正在执行刷新......"); return result; } else { /** * 测试使用 结算单个用户 */ int uid = Integer.parseInt(userId); if (logger.isInfoEnabled()) { logger.info("doFinanceSettle userId:{},header:{},time:{}", uid, headers.keySet().toArray(), LocalDateTime.now()); } return partnerManager.doFinanceSettle(uid); } }}
\ No newline at end of file \ No newline at end of file
......
...@@ -184,13 +184,19 @@ public class AgentSettleTask { ...@@ -184,13 +184,19 @@ 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())) { if (isEmpty(agentReward.getOrderType()) || isEmpty(agentReward.getOrderSn())) {
/** /**
* 历史数据: 没有记录订单号 或者 没有记录比例 不更新奖励金额 * 历史数据: 没有记录订单号 或者 没有记录比例 不更新奖励金额
*/ */
continue;
} else if (agentReward.getSettleState() < 0) { } else if (agentReward.getSettleState() < 0) {
add2UpdateReward2Failed(agentReward, update2FailedList); continue;
} else if (agentReward.getAmount().compareTo(BigDecimal.ZERO) == 0) {
/**
* amout为0的 跳过不处理
* 红包兑换的奖励 状态是有效 奖励金额为0
*/
continue;
} else { } else {
/** /**
* 有订单号 和 比例快照 可以更新金额 * 有订单号 和 比例快照 可以更新金额
...@@ -205,6 +211,7 @@ public class AgentSettleTask { ...@@ -205,6 +211,7 @@ public class AgentSettleTask {
* 如果没有找到active 或者 没有找到commission * 如果没有找到active 或者 没有找到commission
* 不更新奖励金额 * 不更新奖励金额
*/ */
continue;
} else { } else {
/** /**
* 订单状态只有三种: -3, 1, 3 * 订单状态只有三种: -3, 1, 3
...@@ -214,16 +221,15 @@ public class AgentSettleTask { ...@@ -214,16 +221,15 @@ public class AgentSettleTask {
* 订单失效 订单付款 跳过, 处理下一条奖励 * 订单失效 订单付款 跳过, 处理下一条奖励
*/ */
add2UpdateReward2Failed(agentReward, update2FailedList); add2UpdateReward2Failed(agentReward, update2FailedList);
continue;
} else if (order.getStatus() == Constants.ORDER_STATE_PAID) { } else if (order.getStatus() == Constants.ORDER_STATE_PAID) {
/** /**
* 订单还是付款状态 更新奖励时间 下个月再处理 * 订单还是付款状态 更新奖励时间 下个月再处理
*/ */
long newRechargeTime = DateUtils.getNextMonth1stTimestamp(agentReward.getRechargeTime().getTime()); long newRechargeTime = DateUtils.getNextMonth1stTimestamp(agentReward.getRechargeTime().getTime());
agentReward.setRechargeTime(new Date(newRechargeTime)); agentReward.setRechargeTime(new Date(newRechargeTime));
agentReward.setSettleTime(new Date(newRechargeTime));
agentReward.setUpdatedAt(System.currentTimeMillis() / 1000L); agentReward.setUpdatedAt(System.currentTimeMillis() / 1000L);
agentRewardService.updateById(agentReward); agentRewardService.updateById(agentReward);
continue;
} else if (order.getStatus() == Constants.ORDER_STATE_SETTLED) { } else if (order.getStatus() == Constants.ORDER_STATE_SETTLED) {
/** /**
* 订单结算 更新金额 * 订单结算 更新金额
...@@ -233,7 +239,6 @@ public class AgentSettleTask { ...@@ -233,7 +239,6 @@ public class AgentSettleTask {
* 新人专享订单 不给合伙人奖励 跳过 * 新人专享订单 不给合伙人奖励 跳过
*/ */
add2UpdateReward2Failed(agentReward, update2FailedList); add2UpdateReward2Failed(agentReward, update2FailedList);
continue;
} else { } else {
/** /**
* 正常订单 更新原始佣金 * 正常订单 更新原始佣金
...@@ -253,14 +258,19 @@ public class AgentSettleTask { ...@@ -253,14 +258,19 @@ 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())
// || isEmpty(agentReward.getRatioAll())) {
if (isEmpty(agentReward.getOrderType()) || isEmpty(agentReward.getOrderSn()) || isEmpty(agentReward.getSubOrderSn())) { if (isEmpty(agentReward.getOrderType()) || isEmpty(agentReward.getOrderSn()) || isEmpty(agentReward.getSubOrderSn())) {
/** /**
* 历史数据: 没有记录子订单号 或者 没有记录比例 不更新奖励金额 * 历史数据: 没有记录子订单号 或者 没有记录比例 不更新奖励金额
*/ */
continue;
} else if (agentReward.getSettleState() < 0) { } else if (agentReward.getSettleState() < 0) {
add2UpdateReward2Failed(agentReward, update2FailedList); continue;
} else if (agentReward.getAmount().compareTo(BigDecimal.ZERO) == 0) {
/**
* amout为0的 跳过不处理
* 红包兑换的奖励 状态是有效 奖励金额为0
*/
continue;
} else { } else {
/** /**
* 有订单号 和 比例快照 可以更新金额 * 有订单号 和 比例快照 可以更新金额
...@@ -275,6 +285,7 @@ public class AgentSettleTask { ...@@ -275,6 +285,7 @@ public class AgentSettleTask {
* 如果没有找到子订单 * 如果没有找到子订单
* 不更新奖励金额 * 不更新奖励金额
*/ */
continue;
} else { } else {
/** /**
* 订单状态只有三种: -3, 1, 3 * 订单状态只有三种: -3, 1, 3
...@@ -290,9 +301,9 @@ public class AgentSettleTask { ...@@ -290,9 +301,9 @@ public class AgentSettleTask {
*/ */
long newRechargeTime = DateUtils.getNextMonth1stTimestamp(agentReward.getRechargeTime().getTime()); long newRechargeTime = DateUtils.getNextMonth1stTimestamp(agentReward.getRechargeTime().getTime());
agentReward.setRechargeTime(new Date(newRechargeTime)); agentReward.setRechargeTime(new Date(newRechargeTime));
agentReward.setSettleTime(new Date(newRechargeTime));
agentReward.setUpdatedAt(System.currentTimeMillis() / 1000L); agentReward.setUpdatedAt(System.currentTimeMillis() / 1000L);
agentRewardService.updateById(agentReward); agentRewardService.updateById(agentReward);
continue;
} else if (subOrder.getOrderState() == Constants.ORDER_STATE_SETTLED) { } else if (subOrder.getOrderState() == Constants.ORDER_STATE_SETTLED) {
/** /**
* 正常订单 更新原始佣金 * 正常订单 更新原始佣金
...@@ -390,18 +401,16 @@ public class AgentSettleTask { ...@@ -390,18 +401,16 @@ public class AgentSettleTask {
} }
private void add2UpdateRewardCommission(AgentReward agentReward, BigDecimal allMoney, List<AgentReward> updateCommisionList) { private void add2UpdateRewardCommission(AgentReward agentReward, BigDecimal allMoney, List<AgentReward> updateCommisionList) {
String ratioAllStr = "";
try { try {
if (agentReward.getId() == 336831) {
logger.info("336831 debug" );
}
agentReward.setAllMoneyOri(allMoney); agentReward.setAllMoneyOri(allMoney);
String ratioAllStr = agentReward.getRatioAll().replaceAll("[\\[\\]\"]", ""); ratioAllStr = agentReward.getRatioAll().replaceAll("[\\[\\]\"]", "");
/** /**
* 时间点之前的 需要乘比例数组 之后 再乘commission_rate * 时间点之前的 需要乘比例数组 之后 再乘commission_rate
* 时间点之后的 直接乘commission_rate * 时间点之后的 直接乘commission_rate
*/ */
if (agentReward.getRechargeTime().compareTo(NEW_SETTLE_RULE_TIME) < 0) { if (agentReward.getRechargeTime().compareTo(NEW_SETTLE_RULE_TIME) < 0) {
if (!isEmpty(ratioAllStr)) { if (!isEmpty(ratioAllStr)) {
String[] strs = ratioAllStr.split(","); String[] strs = ratioAllStr.split(",");
if (strs.length > 0) { if (strs.length > 0) {
BigDecimal cash = allMoney; BigDecimal cash = allMoney;
...@@ -431,6 +440,7 @@ public class AgentSettleTask { ...@@ -431,6 +440,7 @@ public class AgentSettleTask {
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
logger.error("ratioAllStr is {}", ratioAllStr);
} }
} }
...@@ -450,7 +460,9 @@ public class AgentSettleTask { ...@@ -450,7 +460,9 @@ public class AgentSettleTask {
} }
agentReward.setAllMoneyOri(ZERO); agentReward.setAllMoneyOri(ZERO);
agentReward.setCashCode("0"); agentReward.setCashCode("0");
agentReward.setSettleState(Constants.SETTLE_STATE_FAILED); if (agentReward.getSettleState() > 0) {
agentReward.setSettleState(agentReward.getSettleState() * -1);
}
agentReward.setUpdatedAt(System.currentTimeMillis() / 1000L); agentReward.setUpdatedAt(System.currentTimeMillis() / 1000L);
update2FailedList.add(agentReward); update2FailedList.add(agentReward);
} }
......
...@@ -395,7 +395,9 @@ public class PartnerSettleTask { ...@@ -395,7 +395,9 @@ public class PartnerSettleTask {
} }
partnerReward.setAllMoneyOri(ZERO); partnerReward.setAllMoneyOri(ZERO);
partnerReward.setCash(ZERO); partnerReward.setCash(ZERO);
partnerReward.setSettleState(Constants.SETTLE_STATE_FAILED); if (partnerReward.getSettleState() > 0) {
partnerReward.setSettleState(partnerReward.getSettleState() * -1);
}
partnerReward.setUpdatedAt(System.currentTimeMillis() / 1000L); partnerReward.setUpdatedAt(System.currentTimeMillis() / 1000L);
// partnerRewardService.updateById(partnerReward); // partnerRewardService.updateById(partnerReward);
update2FailedList.add(partnerReward); update2FailedList.add(partnerReward);
...@@ -453,13 +455,19 @@ public class PartnerSettleTask { ...@@ -453,13 +455,19 @@ 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())) { if (isEmpty(partnerReward.getOrderType()) || isEmpty(partnerReward.getOrderSn())) {
/** /**
* 历史数据: 没有记录订单号 或者 没有记录比例 不更新奖励金额 * 历史数据: 没有记录订单号 或者 没有记录比例 不更新奖励金额
*/ */
continue;
} else if (partnerReward.getSettleState() < 0) { } else if (partnerReward.getSettleState() < 0) {
add2UpdateReward2Failed(partnerReward, update2FailedList); continue;
} else if (partnerReward.getCommissionAcount().compareTo(BigDecimal.ZERO) == 0) {
/**
* amout为0的 跳过不处理
* 红包兑换的奖励 状态是有效 奖励金额为0
*/
continue;
} else { } else {
/** /**
* 有订单号 和 比例快照 可以更新金额 * 有订单号 和 比例快照 可以更新金额
...@@ -476,6 +484,7 @@ public class PartnerSettleTask { ...@@ -476,6 +484,7 @@ public class PartnerSettleTask {
* 如果没有找到active 或者 没有找到commission * 如果没有找到active 或者 没有找到commission
* 不更新奖励金额 * 不更新奖励金额
*/ */
continue;
} else { } else {
/** /**
* 订单状态只有三种: -3, 1, 3 * 订单状态只有三种: -3, 1, 3
...@@ -485,16 +494,15 @@ public class PartnerSettleTask { ...@@ -485,16 +494,15 @@ public class PartnerSettleTask {
* 订单失效 订单付款 跳过, 处理下一条奖励 * 订单失效 订单付款 跳过, 处理下一条奖励
*/ */
add2UpdateReward2Failed(partnerReward, update2FailedList); add2UpdateReward2Failed(partnerReward, update2FailedList);
continue;
} else if (order.getStatus() == Constants.ORDER_STATE_PAID) { } else if (order.getStatus() == Constants.ORDER_STATE_PAID) {
/** /**
* 订单还是付款状态 更新奖励时间 下个月再处理 * 订单还是付款状态 更新奖励时间 下个月再处理
*/ */
long newRechargeTime = DateUtils.getNextMonth1stTimestamp(partnerReward.getRechargeTime().getTime()); long newRechargeTime = DateUtils.getNextMonth1stTimestamp(partnerReward.getRechargeTime().getTime());
partnerReward.setRechargeTime(new Date(newRechargeTime)); partnerReward.setRechargeTime(new Date(newRechargeTime));
partnerReward.setSettleTime(new Date(newRechargeTime));
partnerReward.setUpdatedAt(System.currentTimeMillis() / 1000L); partnerReward.setUpdatedAt(System.currentTimeMillis() / 1000L);
partnerRewardService.updateById(partnerReward); partnerRewardService.updateById(partnerReward);
continue;
} else if (order.getStatus() == Constants.ORDER_STATE_SETTLED) { } else if (order.getStatus() == Constants.ORDER_STATE_SETTLED) {
/** /**
* 订单结算 更新金额 * 订单结算 更新金额
...@@ -504,7 +512,6 @@ public class PartnerSettleTask { ...@@ -504,7 +512,6 @@ public class PartnerSettleTask {
* 新人专享订单 不给合伙人奖励 跳过 * 新人专享订单 不给合伙人奖励 跳过
*/ */
add2UpdateReward2Failed(partnerReward, update2FailedList); add2UpdateReward2Failed(partnerReward, update2FailedList);
continue;
} else { } else {
/** /**
* 正常订单 更新原始佣金 * 正常订单 更新原始佣金
...@@ -523,19 +530,23 @@ public class PartnerSettleTask { ...@@ -523,19 +530,23 @@ 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())
// || isEmpty(partnerReward.getRatioAll())) {
if (isEmpty(partnerReward.getOrderType()) || isEmpty(partnerReward.getOrderSn()) || isEmpty(partnerReward.getSubOrderSn())) { if (isEmpty(partnerReward.getOrderType()) || isEmpty(partnerReward.getOrderSn()) || isEmpty(partnerReward.getSubOrderSn())) {
/** /**
* 历史数据: 没有记录子订单号 或者 没有记录比例 不更新奖励金额 * 历史数据: 没有记录子订单号 或者 没有记录比例 不更新奖励金额
*/ */
continue;
} else if (partnerReward.getSettleState() < 0) { } else if (partnerReward.getSettleState() < 0) {
add2UpdateReward2Failed(partnerReward, update2FailedList); continue;
} else if (partnerReward.getCommissionAcount().compareTo(BigDecimal.ZERO) == 0) {
/**
* amout为0的 跳过不处理
* 红包兑换的奖励 状态是有效 奖励金额为0
*/
continue;
} else { } else {
/** /**
* 有订单号 和 比例快照 可以更新金额 * 有订单号 和 比例快照 可以更新金额
*/ */
// OrderTaobaoJdGoodsCommission subOrder = orderTaobaoJdGoodsCommissionService.getOneByOrderSn(partnerReward.getOrderType(), partnerReward.getOrderSn(), partnerReward.getSubOrderSn());
SubOrderParam subOrderParam = new SubOrderParam(); SubOrderParam subOrderParam = new SubOrderParam();
subOrderParam.setOrderType(partnerReward.getOrderType()); subOrderParam.setOrderType(partnerReward.getOrderType());
subOrderParam.setOrderSn(partnerReward.getOrderSn()); subOrderParam.setOrderSn(partnerReward.getOrderSn());
...@@ -546,6 +557,7 @@ public class PartnerSettleTask { ...@@ -546,6 +557,7 @@ public class PartnerSettleTask {
* 如果没有找到子订单 * 如果没有找到子订单
* 不更新奖励金额 * 不更新奖励金额
*/ */
continue;
} else { } else {
/** /**
* 订单状态只有三种: -3, 1, 3 * 订单状态只有三种: -3, 1, 3
...@@ -561,9 +573,9 @@ public class PartnerSettleTask { ...@@ -561,9 +573,9 @@ public class PartnerSettleTask {
*/ */
long newRechargeTime = DateUtils.getNextMonth1stTimestamp(partnerReward.getRechargeTime().getTime()); long newRechargeTime = DateUtils.getNextMonth1stTimestamp(partnerReward.getRechargeTime().getTime());
partnerReward.setRechargeTime(new Date(newRechargeTime)); partnerReward.setRechargeTime(new Date(newRechargeTime));
partnerReward.setSettleTime(new Date(newRechargeTime));
partnerReward.setUpdatedAt(System.currentTimeMillis() / 1000L); partnerReward.setUpdatedAt(System.currentTimeMillis() / 1000L);
partnerRewardService.updateById(partnerReward); partnerRewardService.updateById(partnerReward);
continue;
} else if (subOrder.getOrderState() == Constants.ORDER_STATE_SETTLED) { } else if (subOrder.getOrderState() == Constants.ORDER_STATE_SETTLED) {
/** /**
* 正常订单 更新原始佣金 * 正常订单 更新原始佣金
......
...@@ -6,11 +6,11 @@ ...@@ -6,11 +6,11 @@
<property name="MaxFileSize" value="256MB"/><!--单个文件大小--> <property name="MaxFileSize" value="256MB"/><!--单个文件大小-->
<property name="totalSizeCap" value="256MB"/><!--单个文件大小--> <property name="totalSizeCap" value="256MB"/><!--单个文件大小-->
<!--<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">--> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<!--<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">--> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--<pattern>${pattern}</pattern>--> <pattern>${pattern}</pattern>
<!--</encoder>--> </encoder>
<!--</appender>--> </appender>
<appender name="info" class="ch.qos.logback.core.rolling.RollingFileAppender"> <appender name="info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${log_file}-info.log</File> <File>${log_file}-info.log</File>
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
</appender> </appender>
<root level="info"> <root level="info">
<!--<appender-ref ref="stdout"/>--> <appender-ref ref="stdout"/>
<appender-ref ref="info"/> <appender-ref ref="info"/>
<appender-ref ref="error"/> <appender-ref ref="error"/>
</root> </root>
......
...@@ -718,8 +718,8 @@ ...@@ -718,8 +718,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,
...@@ -743,8 +743,8 @@ ...@@ -743,8 +743,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,
...@@ -755,11 +755,11 @@ ...@@ -755,11 +755,11 @@
FROM agent_reward FROM agent_reward
WHERE settle_time WHERE settle_time
BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs}) BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
AND reward_status=100 AND reward_status = 100
AND settle_in_advance = 0 AND settle_in_advance = 0
GROUP BY 1 GROUP BY 1
) a ) a
JOIN user_agent b ON a.agent_id=b.agent_id JOIN user_agent b ON a.agent_id = b.agent_id
ORDER BY 1,2,3 ORDER BY 1,2,3
</select> </select>
<select id="selectAgentSettleByTsAndAgentId" resultType="com.lanren.huhu.partner.model.AgentSettle"> <select id="selectAgentSettleByTsAndAgentId" resultType="com.lanren.huhu.partner.model.AgentSettle">
...@@ -917,7 +917,7 @@ ...@@ -917,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>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 settle_state 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}
......
...@@ -875,7 +875,7 @@ ...@@ -875,7 +875,7 @@
<update id="updateRewardStatusByUidAndTs"> <update id="updateRewardStatusByUidAndTs">
UPDATE partner_reward UPDATE partner_reward
SET reward_status=120, SET reward_status=120,
settle_state=CASE WHEN settle_state&gt;0 THEN 300 WHEN settle_state&lt;0 THEN -300 ELSE 0 END settle_state=CASE WHEN settle_state&gt;0 THEN 300 WHEN settle_state&lt;0 THEN settle_state 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 user_id = #{userId} AND user_id = #{userId}
......
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