Commit 737312b9 by guanchen

代码更新

parent 749319fe
......@@ -15,7 +15,7 @@
<version>0.0.1-SNAPSHOT</version>
<name>partner</name>
<description>呼呼省钱合伙人相关服务</description>
<packaging>war</packaging>
<packaging>jar</packaging>
<properties>
<java.version>1.8</java.version>
......@@ -35,14 +35,6 @@
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
......@@ -63,7 +55,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
<version>8.0.22</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
......@@ -140,13 +132,11 @@
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
<mysql.server>jdbc:mysql://10.9.121.204:3306/huhu_finance</mysql.server>
<mysql.server>jdbc:mysql://192.168.100.212:3306/huhu_finance</mysql.server>
<mysql.username>huhu_finance</mysql.username>
<mysql.password>huhu_finance</mysql.password>
<spring.profiles.active>dev</spring.profiles.active>
<!--<logfile_path>/data/logs/java</logfile_path>-->
<logfile_path>/Users/chen/Develop/workspace/partner/data/release/dev/logs</logfile_path>
<!--<providers-path>/data/java/service</providers-path>-->
<providers-path>/Users/chen/Develop/workspace/partner/data/release/dev</providers-path>
</properties>
</profile>
......@@ -155,19 +145,12 @@
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
<mysql.server>jdbc:mysql://10.9.121.204:3306/huhu_finance</mysql.server>
<mysql.server>jdbc:mysql://192.168.100.212:3306/huhu_finance</mysql.server>
<mysql.username>huhu_finance</mysql.username>
<mysql.password>huhu_finance</mysql.password>
<spring.profiles.active>test</spring.profiles.active>
<logfile_path>/data/logs/java</logfile_path>
<!--<logfile_path>/Users/chen/Develop/workspace/partner/data/release/dev/logs</logfile_path>-->
<providers-path>/data/java/service</providers-path>
<!--<providers-path>/Users/chen/Develop/workspace/partner/data/release/dev</providers-path>-->
<logfile_path>/home/jnt/do_finance/logs</logfile_path>
</properties>
<!--&lt;!&ndash; 默认是本地开发环境 &ndash;&gt;-->
<!--<activation>-->
<!--<activeByDefault>true</activeByDefault>-->
<!--</activation>-->
</profile>
<profile>
<!-- 生产环境 -->
......@@ -178,15 +161,12 @@
<mysql.username>huhu</mysql.username>
<mysql.password>Huhu123~</mysql.password>
<spring.profiles.active>prod</spring.profiles.active>
<!--<logfile_path>/data/logs2/huhu/lanren</logfile_path>-->
<!--<providers-path>/data/java/service</providers-path>-->
<logfile_path>/Users/chen/Develop/workspace/partner/data/release/prod/logs</logfile_path>
<providers-path>/Users/chen/Develop/workspace/partner/data/release/prod</providers-path>
<logfile_path>/home/jnt/do_finance/logs</logfile_path>
</properties>
<!--跑线上结算时开启-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<!-- <activation>-->
<!-- <activeByDefault>true</activeByDefault>-->
<!-- </activation>-->
</profile>
</profiles>
......
......@@ -16,7 +16,6 @@ import java.util.Map;
* @date 2019-06-29 17:04
*/
public class Constants {
public static final String AGENT_REWARD_QUEUE_KEY = "agent_reward_redis_city_key";
/**
* 代理商奖励类型
*/
......@@ -40,7 +39,6 @@ public class Constants {
public static final int AGENT_LEVEL_2 = 2;
public static final int AGENT_LEVEL_3 = 3;
public static final int AGENT_LEVEL_4 = 4;
public static final String DISTRIBUTE_REDIS_LOCK_KEY = "huhu:partner:distribute:redis:key";
public static final String PARENT_COLUMN_NAME_CENGJI = "parent_agent_id";
public static final String PARENT_COLUMN_NAME_PINGTUI = "presenter_id";
public static final String ORDER_TYPE_JD = "jd";
......
package com.lanren.huhu.partner.controller;
import com.lanren.huhu.partner.manager.AgentManager;
import com.lanren.huhu.partner.model.Agent;
import com.lanren.huhu.partner.model.AgentResponse;
import com.lanren.huhu.partner.model.ParentAgent;
import com.lanren.huhu.partner.result.Result;
import com.lanren.huhu.partner.schedule.AgentSettleTask;
import org.slf4j.Logger;
......@@ -12,9 +9,7 @@ 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;
import java.util.ArrayList;
/**
* @author chen
......@@ -29,43 +24,14 @@ public class AgentController {
@Autowired
AgentSettleTask agentSettleTask;
@RequestMapping(value = "/level", method = RequestMethod.POST)
public Result<AgentResponse> getAgentLevel(@RequestBody @Valid Agent agent, @RequestHeader HttpHeaders headers) {
if (logger.isInfoEnabled()) {
logger.info("AgentController getLevel agentId:{},header:{},time:{}", agent.getAgentId(), headers.keySet().toArray(), LocalDateTime.now());
}
return agentManager.getAgentLevel(agent.getAgentId());
}
@RequestMapping(value = "/reward/push", method = RequestMethod.POST)
public Result<String> pushReward(@RequestHeader HttpHeaders headers) {
if (logger.isInfoEnabled()) {
logger.info("AgentController pushReward, header:{},time:{}", headers.keySet().toArray(), LocalDateTime.now());
}
return agentManager.pushReward();
}
@RequestMapping(value = "/hierarchy/parent", method = RequestMethod.POST)
public Result<ArrayList<ParentAgent>> getHierarchyParentList(@RequestBody @Valid Agent agent, @RequestHeader HttpHeaders headers) {
if (logger.isInfoEnabled()) {
logger.info("AgentController getHierarchyParentList, header:{},time:{}", headers.keySet().toArray(), LocalDateTime.now());
}
return agentManager.getHierarchyParentList(agent.getAgentId());
}
@RequestMapping(value = "/pingtui/parent", method = RequestMethod.POST)
public Result<ArrayList<ParentAgent>> getPingtuiParentList(@RequestBody @Valid Agent agent, @RequestHeader HttpHeaders headers) {
if (logger.isInfoEnabled()) {
logger.info("AgentController getPingtuiParentList, header:{},time:{}", headers.keySet().toArray(), LocalDateTime.now());
}
return agentManager.getPingtuiParentList(agent.getAgentId());
}
@RequestMapping(value = "/finance/{agentId}", method = RequestMethod.GET)
public Result<String> doFinanceSettle(@PathVariable("agentId") String agentId, @RequestHeader HttpHeaders headers) {
@RequestMapping(value = "/finance/{agentId}/{type}", method = RequestMethod.GET)
public Result<String> doFinanceSettle(@PathVariable("agentId") String agentId, @PathVariable("type") Integer type,
@RequestHeader HttpHeaders headers) {
if ("all".equals(agentId)) {
/**
* 结算全部代理商
*/
agentSettleTask.runScheduledTask();
agentSettleTask.runScheduledTask(type);
logger.info("============>" + Thread.currentThread().getName());
Result<String> result = new Result<String>();
result.setData("异步,正在执行刷新......");
......
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
package com.lanren.huhu.partner.controller; import com.lanren.huhu.partner.manager.PartnerManager;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 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 = "/finance/{userId}/{type}", method = RequestMethod.GET) public Result<String> doFinanceSettle(@PathVariable("userId") String userId, @PathVariable("type") Integer type, @RequestHeader HttpHeaders headers) { if ("all".equals(userId)) { /** * 结算全部用户 */ partnerSettleTask.runSettle(type); 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
......
package com.lanren.huhu.partner.controller;
import com.alibaba.fastjson.JSON;
import com.lanren.huhu.partner.manager.UserManager;
import com.lanren.huhu.partner.model.User;
import com.lanren.huhu.partner.result.Result;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.time.LocalDateTime;
/**
* @author chen
*/
@RestController
@EnableAsync
@RequestMapping("/v1/user")
public class UserController {
private static Logger logger = LoggerFactory.getLogger(UserController.class);
@Autowired
private UserManager userManager;
@RequestMapping(value = "/relation", method = RequestMethod.POST)
public Result<User> getRelation(@RequestBody @Valid User user, @RequestHeader HttpHeaders headers) {
if (logger.isInfoEnabled()) {
logger.info("getRelation userId:{},header:{},time:{}", user.getUserId(), headers.keySet().toArray(), LocalDateTime.now());
}
return userManager.getRelationByUserId(user.getUserId());
}
@RequestMapping(value = "/relation/nocache", method = RequestMethod.POST)
public Result<User> getRelationNoCache(@RequestBody @Valid User user, @RequestHeader HttpHeaders headers) {
if (logger.isInfoEnabled()) {
logger.info("getRelationNocache userId:{},header:{},time:{}", user.getUserId(), headers.keySet().toArray(), LocalDateTime.now());
}
Result<User> result = userManager.getRelationNoCache(user.getUserId());
logger.info("uid:{} call /relation/nocache api, return: {}", user.getUserId(), JSON.toJSONString(result));
return result;
}
@RequestMapping(value = "/relation/delete", method = RequestMethod.POST)
public Result<String> deletrRelation(@RequestBody @Valid User user, @RequestHeader HttpHeaders headers) {
if (logger.isInfoEnabled()) {
logger.info("deletrRelation userId:{},header:{},time:{}", user.getUserId(), headers.keySet().toArray(), LocalDateTime.now());
}
return userManager.deleteRalationByUserId(user.getUserId());
}
@RequestMapping(value = "/relation/change", method = RequestMethod.POST)
public Result<String> changeRelation(@RequestBody @Valid User user, @RequestHeader HttpHeaders headers) {
if (logger.isInfoEnabled()) {
logger.info("purgeRelation userId:{},header:{},time:{}", user.getUserId(), headers.keySet().toArray(), LocalDateTime.now());
}
// userManager.purgeRelation(user.getUserId());
logger.info("============>" + Thread.currentThread().getName());
Result<String> result = new Result<String>();
result.setData("异步,正在执行刷新......");
return result;
}
@RequestMapping(value = "/update/relation/{from}/{to}/{type}" ,method = RequestMethod.GET)
public Result<String> updateRelation(@PathVariable("from") String from, @PathVariable("to") String to, @PathVariable("type") int type) {
userManager.updateRelation(from, to, type);
logger.info("============>" + Thread.currentThread().getName());
logger.info("============>from{}, to{}, type{}", from, to, type );
Result<String> result = new Result<String>();
result.setData("异步,正在执行更新新......");
return result;
}
}
package com.lanren.huhu.partner.manager;
import com.alibaba.fastjson.JSON;
import com.lanren.huhu.partner.domain.UserAgent;
import com.lanren.huhu.partner.model.AgentResponse;
import com.lanren.huhu.partner.model.AgentRewardMessage;
import com.lanren.huhu.partner.model.ParentAgent;
import com.lanren.huhu.partner.result.Result;
import com.lanren.huhu.partner.schedule.AgentSettleTask;
......@@ -12,15 +10,13 @@ import com.lanren.huhu.partner.service.UserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.ListOperations;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import static com.lanren.huhu.partner.constants.Constants.*;
import static com.lanren.huhu.partner.constants.Constants.PARENT_COLUMN_NAME_CENGJI;
import static com.lanren.huhu.partner.constants.Constants.PARENT_COLUMN_NAME_PINGTUI;
/**
* @author chen
......@@ -32,8 +28,6 @@ public class AgentManager {
@Autowired
UserAgentService userAgentService;
@Autowired
StringRedisTemplate redisTemplate;
@Autowired
AgentSettleTask agentSettleTask;
@Autowired
UserService userService;
......@@ -58,31 +52,6 @@ public class AgentManager {
}
/**
* @description: 测试使用, 推送一条代理商奖励的待处理消息到redis队列
* @author chen
* @date 2019-07-04 14:48
*/
public Result<String> pushReward() {
ListOperations<String, String> ops = redisTemplate.opsForList();
AgentRewardMessage agentRewardMessage = new AgentRewardMessage();
agentRewardMessage.setRewardType(710);
agentRewardMessage.setRechargeTime("2019-06-29 01:23:45");
agentRewardMessage.setSourceUserId(2328);
agentRewardMessage.setReferenceId("9999");
agentRewardMessage.setAgentId(33);
// agentRewardMessage.setAgentReward(new BigDecimal(0));
agentRewardMessage.setSourceUserPayment(new BigDecimal(5));
agentRewardMessage.setSettleState(-100);
agentRewardMessage.setOrderType("taobao");
agentRewardMessage.setOrderSn("507596802910534728");
agentRewardMessage.setSubOrderSn("507596802910534728");
agentRewardMessage.setOrderCommission(new BigDecimal("35.400000"));
agentRewardMessage.setSourceOrder("8888");
logger.info("写入队列");
ops.leftPush(AGENT_REWARD_QUEUE_KEY, JSON.toJSONString(agentRewardMessage));
return new Result<>();
}
/**
* @description: 获取一个代理商的层级上级
* @author chen
* @date 2019-07-04 14:48
......
package com.lanren.huhu.partner.model;
import com.lanren.huhu.partner.model.base.BaseModel;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author chen
* @title: AgentRewardMessage
* @projectName partner
* @description: 代理商奖励处理 Redis队列消息结构
* @package com.lanren.huhu.partner.model
* @date 2019-06-29 12:29
*/
@Data
public class AgentRewardMessage extends BaseModel {
int rewardType;
String rechargeTime;
int sourceUserId;
String referenceId;
int agentId;
// BigDecimal agentReward;
int settleState;
String orderType;
String orderSn;
String subOrderSn;
BigDecimal orderCommission;
BigDecimal sourceUserPayment;
String orderGoodsId;
String orderTitle;
String rewardTypeChild;
// String orderRateArray;
String sourceOrder;
@Override
public AgentRewardMessage clone() {
AgentRewardMessage one = new AgentRewardMessage();
one.rewardType = this.rewardType;
one.rechargeTime = this.rechargeTime;
one.sourceUserId = this.sourceUserId;
one.referenceId = this.referenceId;
one.agentId = this.agentId;
// one.agentReward = this.agentReward;
one.settleState = this.settleState;
one.orderType = this.orderType;
one.orderSn = this.orderSn;
one.subOrderSn = this.subOrderSn;
one.orderCommission = this.orderCommission;
one.sourceUserPayment = this.sourceUserPayment;
one.orderGoodsId = this.orderGoodsId;
one.orderTitle = this.orderTitle;
one.rewardTypeChild = this.rewardTypeChild;
// one.orderRateArray = this.orderRateArray;
one.sourceOrder = this.sourceOrder;
return one;
}
}
......@@ -8,8 +8,7 @@ import com.lanren.huhu.partner.domain.*;
import com.lanren.huhu.partner.model.*;
import com.lanren.huhu.partner.service.*;
import com.lanren.huhu.partner.util.DateUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.scheduling.annotation.Async;
......@@ -32,10 +31,10 @@ import static org.springframework.util.StringUtils.isEmpty;
* @package com.lanren.huhu.partner.schedule
* @date 2019-07-23 10:31
*/
@Slf4j
@Component
public class AgentSettleTask {
private static Logger logger = LoggerFactory.getLogger(AgentSettleTask.class);
private static final int PAGE_SIZE = 1000;
private static final int PAGE_SIZE = 200;
private static final BigDecimal ZERO = new BigDecimal(0);
@Autowired
......@@ -64,22 +63,26 @@ public class AgentSettleTask {
AgentExpandDailyService agentExpandDailyService;
@Async
public void runScheduledTask() {
logger.info("run AgentSettleTask");
public void runScheduledTask(Integer type) {
log.info("run AgentSettleTask");
try {
long input = DateUtils.getLastMonth1stTimestamp(System.currentTimeMillis());
long beginTs = DateUtils.getMonth1stTimestamp(input) / 1000L;
long endTs = DateUtils.getMonthLastTimestamp(input) / 1000L;
updateAll(beginTs, endTs);
updateAll(beginTs, endTs, type);
} catch (Exception e) {
logger.error(e.getMessage(), e);
log.error(e.getMessage(), e);
}
logger.info("run AgentSettleTask done");
log.info("run AgentSettleTask done");
}
private void updateAll(long beginTs, long endTs) {
private void updateAll(long beginTs, long endTs, Integer type) {
if (type == 1) {
updateOrderCommission(beginTs, endTs, 0, 0);
// doSettle(beginTs, endTs);
}
if (type == 2) {
doSettle(beginTs, endTs);
}
}
private void doSettle(long beginTs, long endTs) {
......@@ -88,7 +91,7 @@ public class AgentSettleTask {
int cnt = 0;
while (true) {
int pageNo = 1;
logger.info("pageNo is {}", pageNo);
log.info("pageNo is {}", pageNo);
Page<AgentSettle> page = new Page<AgentSettle>(pageNo, PAGE_SIZE);
page.setOptimizeCountSql(false);
page.setSearchCount(false);
......@@ -101,11 +104,11 @@ public class AgentSettleTask {
errAgentSettle = agentSettle;
if (agentSettle != null) {
if (!doDbUpdate(agentSettle, beginTs, endTs)) {
logger.error("doDbUpdate failed for agent {}", agentSettle.getAgentId());
log.error("doDbUpdate failed for agent {}", agentSettle.getAgentId());
}
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
log.error(e.getMessage(), e);
}
cnt++;
}
......@@ -113,10 +116,10 @@ public class AgentSettleTask {
break;
}
}
logger.info("cnt is {}", cnt);
log.info("cnt is {}", cnt);
} catch (Exception e) {
logger.error(e.getMessage(), e);
logger.error("errAgentSettle is {}", errAgentSettle);
log.error(e.getMessage(), e);
log.error("errAgentSettle is {}", errAgentSettle);
}
}
......@@ -138,7 +141,7 @@ public class AgentSettleTask {
int totalPage = 0;
int cnt = 0;
while (true) {
logger.info("pageNo is {}", pageNo);
log.info("pageNo is {}", pageNo);
Page<AgentReward> page = new Page<AgentReward>(pageNo, PAGE_SIZE);
page.setOptimizeCountSql(false);
IPage<AgentReward> ipage;
......@@ -150,7 +153,7 @@ public class AgentSettleTask {
if (total == 0) {
total = (int) ipage.getTotal();
totalPage = total % PAGE_SIZE == 0 ? total / PAGE_SIZE : total / PAGE_SIZE + 1;
logger.info("totalPage is {} ", totalPage);
log.info("totalPage is {} ", totalPage);
}
List<AgentReward> agentRewardList = ipage.getRecords();
List<AgentReward> updateCommisionList = new ArrayList<AgentReward>();
......@@ -311,7 +314,7 @@ public class AgentSettleTask {
}
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
log.error(e.getMessage(), e);
}
cnt++;
}
......@@ -327,10 +330,10 @@ public class AgentSettleTask {
}
pageNo++;
}
logger.info("cnt is {}", cnt);
log.info("cnt is {}", cnt);
} catch (Exception e) {
logger.error(e.getMessage(),e);
logger.error("errAgentReward is {}", errAgentReward);
log.error(e.getMessage(),e);
log.error("errAgentReward is {}", errAgentReward);
}
}
......@@ -449,8 +452,8 @@ public class AgentSettleTask {
updateCommisionList.add(agentReward);
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
logger.error("ratioAllStr is {}", ratioAllStr);
log.error(e.getMessage(), e);
log.error("ratioAllStr is {}", ratioAllStr);
}
}
......@@ -493,12 +496,12 @@ public class AgentSettleTask {
updateTax(agentSettle);
return doDbUpdate(agentSettle, beginTs, endTs);
} else {
logger.info("没有待奖励记录 跳过不处理, 代理商{}", agentId);
log.info("没有待奖励记录 跳过不处理, 代理商{}", agentId);
return true;
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
logger.error("agentId is {}, errAgentSettle is {}", agentId, errAgentSettle);
log.error(e.getMessage(), e);
log.error("agentId is {}, errAgentSettle is {}", agentId, errAgentSettle);
return false;
}
}
......@@ -530,12 +533,12 @@ public class AgentSettleTask {
// dataSourceTransactionManager.rollback(transactionStatus);
return true;
} catch (Exception e) {
logger.error(e.getMessage(), e);
log.error(e.getMessage(), e);
/**
* 回滚事务
*/
if (transactionStatus != null) {
logger.info("do settle failed, rollback");
log.info("do settle failed, rollback");
dataSourceTransactionManager.rollback(transactionStatus);
}
return false;
......@@ -580,7 +583,7 @@ public class AgentSettleTask {
}
private void insertAgentIncomeSummary(AgentSettle agentSettle, long beginTs, long endTs) {
logger.info("agentSettle is {} ", agentSettle);
log.info("agentSettle is {} ", agentSettle);
Date dat = new Date(beginTs * 1000L);
int now = (int) (System.currentTimeMillis() / 1000L);
int yeartime = Integer.parseInt(DateUtils.getYear(dat));
......@@ -613,7 +616,7 @@ public class AgentSettleTask {
.add(agentSettle.getOpenCardCash())
.add(agentSettle.getUpgradePartnerCash());
if (sum1.compareTo(sum2) != 0) {
logger.error("代理商奖励结算-对账异常: 求和1:{}, 求和2:{}, 奖励字段:{}", sum1, sum2, agentSettle);
log.error("代理商奖励结算-对账异常: 求和1:{}, 求和2:{}, 奖励字段:{}", sum1, sum2, agentSettle);
throw new RuntimeException();
}
if (null == agentIncomeSummary) {
......
......@@ -8,8 +8,7 @@ import com.lanren.huhu.partner.domain.*;
import com.lanren.huhu.partner.model.*;
import com.lanren.huhu.partner.service.*;
import com.lanren.huhu.partner.util.DateUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.scheduling.annotation.Async;
......@@ -32,10 +31,10 @@ import static org.springframework.util.StringUtils.isEmpty;
* @package com.lanren.huhu.partner.schedule
* @date 2019-07-02 15:45
*/
@Slf4j
@Component
public class PartnerSettleTask {
private static Logger logger = LoggerFactory.getLogger(PartnerSettleTask.class);
private static final int PAGE_SIZE = 1000;
private static final int PAGE_SIZE = 200;
private static final BigDecimal ZERO = new BigDecimal(0);
@Autowired
......@@ -58,22 +57,26 @@ public class PartnerSettleTask {
PartnerIncomeSummaryService partnerIncomeSummaryService;
@Async
public void runSettle() {
logger.info("run PartnerSettleTask");
public void runSettle(Integer type) {
log.info("run PartnerSettleTask");
try {
long input = DateUtils.getLastMonth1stTimestamp(System.currentTimeMillis());
long beginTs = DateUtils.getMonth1stTimestamp(input) / 1000L;
long endTs = DateUtils.getMonthLastTimestamp(input) / 1000L;
updateAll(beginTs, endTs);
updateAll(beginTs, endTs, type);
} catch (Exception e) {
logger.error(e.getMessage(), e);
log.error(e.getMessage(), e);
}
logger.info("run PartnerSettleTask done");
log.info("run PartnerSettleTask done");
}
private void updateAll(long beginTs, long endTs) {
private void updateAll(long beginTs, long endTs, Integer type) {
if (type == 1) {
updateOrderCommission(beginTs, endTs, 0, 0);
// doSettle(beginTs, endTs);
}
if (type == 2) {
doSettle(beginTs, endTs);
}
}
public boolean doOneUserSettle(Integer userId) {
......@@ -86,15 +89,15 @@ public class PartnerSettleTask {
PartnerSettle partnerSettle = partnerRewardService.selectPartnerSettleByTsAndUid(beginTs, endTs, userId);
errPartnerSettle = partnerSettle;
if (partnerSettle != null && setIncomeAndTax(partnerSettle)) {
logger.info("partner settle is {}", partnerSettle.toString());
log.info("partner settle is {}", partnerSettle.toString());
return doDbUpdate(partnerSettle, beginTs, endTs);
} else {
logger.info("没有待奖励记录 跳过不处理, 用户{}", userId);
log.info("没有待奖励记录 跳过不处理, 用户{}", userId);
return true;
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
logger.error("userId is {}, errPartnerSettle is {}", userId, errPartnerSettle);
log.error(e.getMessage(), e);
log.error("userId is {}, errPartnerSettle is {}", userId, errPartnerSettle);
return false;
}
}
......@@ -111,7 +114,7 @@ public class PartnerSettleTask {
int cnt = 0;
while (true) {
int pageNo = 1;
logger.info("pageNo is {}", pageNo);
log.info("pageNo is {}", pageNo);
Page<PartnerSettle> page = new Page<PartnerSettle>(pageNo, PAGE_SIZE);
page.setOptimizeCountSql(false);
page.setSearchCount(false);
......@@ -123,11 +126,11 @@ public class PartnerSettleTask {
errPartnerSettle = partnerSettle;
if (partnerSettle != null && setIncomeAndTax(partnerSettle)) {
if (!doDbUpdate(partnerSettle, beginTs, endTs)) {
logger.error("doDbUpdate failed for user {}", partnerSettle.getUserId());
log.error("doDbUpdate failed for user {}", partnerSettle.getUserId());
}
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
log.error(e.getMessage(), e);
}
cnt++;
}
......@@ -135,17 +138,17 @@ public class PartnerSettleTask {
break;
}
}
logger.info("cnt is {}", cnt);
log.info("cnt is {}", cnt);
} catch (Exception e) {
logger.error(e.getMessage(), e);
logger.error("errPartnerSettle is {}", errPartnerSettle);
log.error(e.getMessage(), e);
log.error("errPartnerSettle is {}", errPartnerSettle);
}
}
private boolean doDbUpdate(PartnerSettle partnerSettle, long beginTs, long endTs) {
TransactionStatus transactionStatus = null;
try {
logger.info("partnerSettle is {}", partnerSettle);
log.info("partnerSettle is {}", partnerSettle);
/**
* 开启事务
*/
......@@ -169,12 +172,12 @@ public class PartnerSettleTask {
// dataSourceTransactionManager.rollback(transactionStatus);
return true;
} catch (Exception e) {
logger.error(e.getMessage(), e);
log.error(e.getMessage(), e);
/**
* 回滚事务
*/
if (transactionStatus != null) {
logger.info("do settle failed, rollback");
log.info("do settle failed, rollback");
dataSourceTransactionManager.rollback(transactionStatus);
}
return false;
......@@ -225,7 +228,7 @@ public class PartnerSettleTask {
.add(partnerSettle.getTechChargeOrder())
.add(partnerSettle.getTechChargeRedpack());
if (sum1.compareTo(sum2) != 0) {
logger.error("合伙人奖励结算-对账异常: 求和1:{}, 求和2:{}, 奖励字段:{}", sum1, sum2, partnerSettle);
log.error("合伙人奖励结算-对账异常: 求和1:{}, 求和2:{}, 奖励字段:{}", sum1, sum2, partnerSettle);
}
if (null == partnerIncomeSummary) {
partnerIncomeSummary = new PartnerIncomeSummary();
......@@ -387,8 +390,8 @@ public class PartnerSettleTask {
updateCommisionList.add(partnerReward);
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
logger.error("partnerReward id is {}", partnerReward.getId());
log.error(e.getMessage(), e);
log.error("partnerReward id is {}", partnerReward.getId());
}
}
/**
......@@ -423,7 +426,7 @@ public class PartnerSettleTask {
int totalPage = 0;
int cnt = 0;
while (true) {
logger.info("pageNo is {}", pageNo);
log.info("pageNo is {}", pageNo);
Page<PartnerReward> page = new Page<PartnerReward>(pageNo, PAGE_SIZE);
page.setOptimizeCountSql(false);
IPage<PartnerReward> ipage;
......@@ -435,7 +438,7 @@ public class PartnerSettleTask {
if (total == 0) {
total = (int) ipage.getTotal();
totalPage = total % PAGE_SIZE == 0 ? total / PAGE_SIZE : total / PAGE_SIZE + 1;
logger.info("totalPage is {} ", totalPage);
log.info("totalPage is {} ", totalPage);
}
List<PartnerReward> partnerRewardList = ipage.getRecords();
List<PartnerReward> updateCommisionList = new ArrayList<PartnerReward>();
......@@ -597,7 +600,7 @@ public class PartnerSettleTask {
}
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
log.error(e.getMessage(), e);
}
cnt++;
}
......@@ -613,10 +616,10 @@ public class PartnerSettleTask {
}
pageNo++;
}
logger.info("cnt is {}", cnt);
log.info("cnt is {}", cnt);
} catch (Exception e) {
logger.error(e.getMessage(),e);
logger.error("errPartnerReward is {}", errPartnerReward);
log.error(e.getMessage(),e);
log.error("errPartnerReward is {}", errPartnerReward);
}
}
......@@ -720,7 +723,7 @@ public class PartnerSettleTask {
partnerSettle.setBankTax(BigDecimal.ZERO);
return true;
} catch (Exception e) {
logger.error(e.getMessage(), e);
log.error(e.getMessage(), e);
return false;
}
}
......@@ -777,7 +780,7 @@ public class PartnerSettleTask {
// partnerIncomeSummaryService.updateById(partnerIncomeSummary);
// return true;
// } catch (Exception e) {
// logger.error(e.getMessage(), e);
// log.error(e.getMessage(), e);
// return false;
// }
// }
......
package com.lanren.huhu.partner.util;
import io.netty.util.internal.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.StringUtils;
import java.sql.Timestamp;
import java.text.DateFormat;
......@@ -239,7 +239,7 @@ public final class DateUtils {
* @return
*/
public static Date parse(String strDate, String pattern) {
if (StringUtil.isNullOrEmpty(strDate)) {
if (StringUtils.isEmpty(strDate)) {
return null;
}
SimpleDateFormat df = new SimpleDateFormat(pattern);
......@@ -661,7 +661,7 @@ public final class DateUtils {
* @return
*/
public static boolean isDateTimeFormat(String dateTime, String patternStr) {
if (StringUtil.isNullOrEmpty(dateTime) || StringUtil.isNullOrEmpty(patternStr)) {
if (StringUtils.isEmpty(dateTime) || StringUtils.isEmpty(patternStr)) {
return Boolean.FALSE;
}
......
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