Commit 737312b9 by guanchen

代码更新

parent 749319fe
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<version>0.0.1-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<name>partner</name> <name>partner</name>
<description>呼呼省钱合伙人相关服务</description> <description>呼呼省钱合伙人相关服务</description>
<packaging>war</packaging> <packaging>jar</packaging>
<properties> <properties>
<java.version>1.8</java.version> <java.version>1.8</java.version>
...@@ -35,14 +35,6 @@ ...@@ -35,14 +35,6 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <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> <artifactId>spring-boot-starter-validation</artifactId>
</dependency> </dependency>
<dependency> <dependency>
...@@ -63,7 +55,7 @@ ...@@ -63,7 +55,7 @@
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope> <version>8.0.22</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
...@@ -140,13 +132,11 @@ ...@@ -140,13 +132,11 @@
<id>dev</id> <id>dev</id>
<properties> <properties>
<profiles.active>dev</profiles.active> <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.username>huhu_finance</mysql.username>
<mysql.password>huhu_finance</mysql.password> <mysql.password>huhu_finance</mysql.password>
<spring.profiles.active>dev</spring.profiles.active> <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> <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> <providers-path>/Users/chen/Develop/workspace/partner/data/release/dev</providers-path>
</properties> </properties>
</profile> </profile>
...@@ -155,19 +145,12 @@ ...@@ -155,19 +145,12 @@
<id>test</id> <id>test</id>
<properties> <properties>
<profiles.active>test</profiles.active> <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.username>huhu_finance</mysql.username>
<mysql.password>huhu_finance</mysql.password> <mysql.password>huhu_finance</mysql.password>
<spring.profiles.active>test</spring.profiles.active> <spring.profiles.active>test</spring.profiles.active>
<logfile_path>/data/logs/java</logfile_path> <logfile_path>/home/jnt/do_finance/logs</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> </properties>
<!--&lt;!&ndash; 默认是本地开发环境 &ndash;&gt;-->
<!--<activation>-->
<!--<activeByDefault>true</activeByDefault>-->
<!--</activation>-->
</profile> </profile>
<profile> <profile>
<!-- 生产环境 --> <!-- 生产环境 -->
...@@ -178,15 +161,12 @@ ...@@ -178,15 +161,12 @@
<mysql.username>huhu</mysql.username> <mysql.username>huhu</mysql.username>
<mysql.password>Huhu123~</mysql.password> <mysql.password>Huhu123~</mysql.password>
<spring.profiles.active>prod</spring.profiles.active> <spring.profiles.active>prod</spring.profiles.active>
<!--<logfile_path>/data/logs2/huhu/lanren</logfile_path>--> <logfile_path>/home/jnt/do_finance/logs</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>
</properties> </properties>
<!--跑线上结算时开启--> <!--跑线上结算时开启-->
<activation> <!-- <activation>-->
<activeByDefault>true</activeByDefault> <!-- <activeByDefault>true</activeByDefault>-->
</activation> <!-- </activation>-->
</profile> </profile>
</profiles> </profiles>
......
...@@ -16,7 +16,6 @@ import java.util.Map; ...@@ -16,7 +16,6 @@ import java.util.Map;
* @date 2019-06-29 17:04 * @date 2019-06-29 17:04
*/ */
public class Constants { public class Constants {
public static final String AGENT_REWARD_QUEUE_KEY = "agent_reward_redis_city_key";
/** /**
* 代理商奖励类型 * 代理商奖励类型
*/ */
...@@ -40,7 +39,6 @@ public class Constants { ...@@ -40,7 +39,6 @@ public class Constants {
public static final int AGENT_LEVEL_2 = 2; public static final int AGENT_LEVEL_2 = 2;
public static final int AGENT_LEVEL_3 = 3; public static final int AGENT_LEVEL_3 = 3;
public static final int AGENT_LEVEL_4 = 4; 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_CENGJI = "parent_agent_id";
public static final String PARENT_COLUMN_NAME_PINGTUI = "presenter_id"; public static final String PARENT_COLUMN_NAME_PINGTUI = "presenter_id";
public static final String ORDER_TYPE_JD = "jd"; public static final String ORDER_TYPE_JD = "jd";
......
package com.lanren.huhu.partner.controller; package com.lanren.huhu.partner.controller;
import com.lanren.huhu.partner.manager.AgentManager; 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.result.Result;
import com.lanren.huhu.partner.schedule.AgentSettleTask; import com.lanren.huhu.partner.schedule.AgentSettleTask;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -12,9 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -12,9 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
/** /**
* @author chen * @author chen
...@@ -29,43 +24,14 @@ public class AgentController { ...@@ -29,43 +24,14 @@ public class AgentController {
@Autowired @Autowired
AgentSettleTask agentSettleTask; AgentSettleTask agentSettleTask;
@RequestMapping(value = "/level", method = RequestMethod.POST) @RequestMapping(value = "/finance/{agentId}/{type}", method = RequestMethod.GET)
public Result<AgentResponse> getAgentLevel(@RequestBody @Valid Agent agent, @RequestHeader HttpHeaders headers) { public Result<String> doFinanceSettle(@PathVariable("agentId") String agentId, @PathVariable("type") Integer type,
if (logger.isInfoEnabled()) { @RequestHeader HttpHeaders headers) {
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) {
if ("all".equals(agentId)) { if ("all".equals(agentId)) {
/** /**
* 结算全部代理商 * 结算全部代理商
*/ */
agentSettleTask.runScheduledTask(); agentSettleTask.runScheduledTask(type);
logger.info("============>" + Thread.currentThread().getName()); logger.info("============>" + Thread.currentThread().getName());
Result<String> result = new Result<String>(); Result<String> result = new Result<String>();
result.setData("异步,正在执行刷新......"); 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); } }} 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 \ 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; package com.lanren.huhu.partner.manager;
import com.alibaba.fastjson.JSON;
import com.lanren.huhu.partner.domain.UserAgent; import com.lanren.huhu.partner.domain.UserAgent;
import com.lanren.huhu.partner.model.AgentResponse; 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.model.ParentAgent;
import com.lanren.huhu.partner.result.Result; import com.lanren.huhu.partner.result.Result;
import com.lanren.huhu.partner.schedule.AgentSettleTask; import com.lanren.huhu.partner.schedule.AgentSettleTask;
...@@ -12,15 +10,13 @@ import com.lanren.huhu.partner.service.UserService; ...@@ -12,15 +10,13 @@ import com.lanren.huhu.partner.service.UserService;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; 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 org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; 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 * @author chen
...@@ -32,8 +28,6 @@ public class AgentManager { ...@@ -32,8 +28,6 @@ public class AgentManager {
@Autowired @Autowired
UserAgentService userAgentService; UserAgentService userAgentService;
@Autowired @Autowired
StringRedisTemplate redisTemplate;
@Autowired
AgentSettleTask agentSettleTask; AgentSettleTask agentSettleTask;
@Autowired @Autowired
UserService userService; UserService userService;
...@@ -58,31 +52,6 @@ public class AgentManager { ...@@ -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: 获取一个代理商的层级上级 * @description: 获取一个代理商的层级上级
* @author chen * @author chen
* @date 2019-07-04 14:48 * @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.*; ...@@ -8,8 +8,7 @@ import com.lanren.huhu.partner.domain.*;
import com.lanren.huhu.partner.model.*; import com.lanren.huhu.partner.model.*;
import com.lanren.huhu.partner.service.*; import com.lanren.huhu.partner.service.*;
import com.lanren.huhu.partner.util.DateUtils; import com.lanren.huhu.partner.util.DateUtils;
import org.slf4j.Logger; import lombok.extern.slf4j.Slf4j;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
...@@ -32,10 +31,10 @@ import static org.springframework.util.StringUtils.isEmpty; ...@@ -32,10 +31,10 @@ import static org.springframework.util.StringUtils.isEmpty;
* @package com.lanren.huhu.partner.schedule * @package com.lanren.huhu.partner.schedule
* @date 2019-07-23 10:31 * @date 2019-07-23 10:31
*/ */
@Slf4j
@Component @Component
public class AgentSettleTask { public class AgentSettleTask {
private static Logger logger = LoggerFactory.getLogger(AgentSettleTask.class); private static final int PAGE_SIZE = 200;
private static final int PAGE_SIZE = 1000;
private static final BigDecimal ZERO = new BigDecimal(0); private static final BigDecimal ZERO = new BigDecimal(0);
@Autowired @Autowired
...@@ -64,22 +63,26 @@ public class AgentSettleTask { ...@@ -64,22 +63,26 @@ public class AgentSettleTask {
AgentExpandDailyService agentExpandDailyService; AgentExpandDailyService agentExpandDailyService;
@Async @Async
public void runScheduledTask() { public void runScheduledTask(Integer type) {
logger.info("run AgentSettleTask"); log.info("run AgentSettleTask");
try { try {
long input = DateUtils.getLastMonth1stTimestamp(System.currentTimeMillis()); long input = DateUtils.getLastMonth1stTimestamp(System.currentTimeMillis());
long beginTs = DateUtils.getMonth1stTimestamp(input) / 1000L; long beginTs = DateUtils.getMonth1stTimestamp(input) / 1000L;
long endTs = DateUtils.getMonthLastTimestamp(input) / 1000L; long endTs = DateUtils.getMonthLastTimestamp(input) / 1000L;
updateAll(beginTs, endTs); updateAll(beginTs, endTs, type);
} catch (Exception e) { } 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) {
updateOrderCommission(beginTs, endTs, 0, 0); if (type == 1) {
// doSettle(beginTs, endTs); updateOrderCommission(beginTs, endTs, 0, 0);
}
if (type == 2) {
doSettle(beginTs, endTs);
}
} }
private void doSettle(long beginTs, long endTs) { private void doSettle(long beginTs, long endTs) {
...@@ -88,7 +91,7 @@ public class AgentSettleTask { ...@@ -88,7 +91,7 @@ public class AgentSettleTask {
int cnt = 0; int cnt = 0;
while (true) { while (true) {
int pageNo = 1; int pageNo = 1;
logger.info("pageNo is {}", pageNo); log.info("pageNo is {}", pageNo);
Page<AgentSettle> page = new Page<AgentSettle>(pageNo, PAGE_SIZE); Page<AgentSettle> page = new Page<AgentSettle>(pageNo, PAGE_SIZE);
page.setOptimizeCountSql(false); page.setOptimizeCountSql(false);
page.setSearchCount(false); page.setSearchCount(false);
...@@ -101,11 +104,11 @@ public class AgentSettleTask { ...@@ -101,11 +104,11 @@ public class AgentSettleTask {
errAgentSettle = agentSettle; errAgentSettle = agentSettle;
if (agentSettle != null) { if (agentSettle != null) {
if (!doDbUpdate(agentSettle, beginTs, endTs)) { if (!doDbUpdate(agentSettle, beginTs, endTs)) {
logger.error("doDbUpdate failed for agent {}", agentSettle.getAgentId()); log.error("doDbUpdate failed for agent {}", agentSettle.getAgentId());
} }
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); log.error(e.getMessage(), e);
} }
cnt++; cnt++;
} }
...@@ -113,10 +116,10 @@ public class AgentSettleTask { ...@@ -113,10 +116,10 @@ public class AgentSettleTask {
break; break;
} }
} }
logger.info("cnt is {}", cnt); log.info("cnt is {}", cnt);
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); log.error(e.getMessage(), e);
logger.error("errAgentSettle is {}", errAgentSettle); log.error("errAgentSettle is {}", errAgentSettle);
} }
} }
...@@ -138,7 +141,7 @@ public class AgentSettleTask { ...@@ -138,7 +141,7 @@ public class AgentSettleTask {
int totalPage = 0; int totalPage = 0;
int cnt = 0; int cnt = 0;
while (true) { while (true) {
logger.info("pageNo is {}", pageNo); log.info("pageNo is {}", pageNo);
Page<AgentReward> page = new Page<AgentReward>(pageNo, PAGE_SIZE); Page<AgentReward> page = new Page<AgentReward>(pageNo, PAGE_SIZE);
page.setOptimizeCountSql(false); page.setOptimizeCountSql(false);
IPage<AgentReward> ipage; IPage<AgentReward> ipage;
...@@ -150,7 +153,7 @@ public class AgentSettleTask { ...@@ -150,7 +153,7 @@ public class AgentSettleTask {
if (total == 0) { if (total == 0) {
total = (int) ipage.getTotal(); total = (int) ipage.getTotal();
totalPage = total % PAGE_SIZE == 0 ? total / PAGE_SIZE : total / PAGE_SIZE + 1; 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> agentRewardList = ipage.getRecords();
List<AgentReward> updateCommisionList = new ArrayList<AgentReward>(); List<AgentReward> updateCommisionList = new ArrayList<AgentReward>();
...@@ -311,7 +314,7 @@ public class AgentSettleTask { ...@@ -311,7 +314,7 @@ public class AgentSettleTask {
} }
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); log.error(e.getMessage(), e);
} }
cnt++; cnt++;
} }
...@@ -327,10 +330,10 @@ public class AgentSettleTask { ...@@ -327,10 +330,10 @@ public class AgentSettleTask {
} }
pageNo++; pageNo++;
} }
logger.info("cnt is {}", cnt); log.info("cnt is {}", cnt);
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(),e); log.error(e.getMessage(),e);
logger.error("errAgentReward is {}", errAgentReward); log.error("errAgentReward is {}", errAgentReward);
} }
} }
...@@ -449,8 +452,8 @@ public class AgentSettleTask { ...@@ -449,8 +452,8 @@ public class AgentSettleTask {
updateCommisionList.add(agentReward); updateCommisionList.add(agentReward);
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); log.error(e.getMessage(), e);
logger.error("ratioAllStr is {}", ratioAllStr); log.error("ratioAllStr is {}", ratioAllStr);
} }
} }
...@@ -493,12 +496,12 @@ public class AgentSettleTask { ...@@ -493,12 +496,12 @@ public class AgentSettleTask {
updateTax(agentSettle); updateTax(agentSettle);
return doDbUpdate(agentSettle, beginTs, endTs); return doDbUpdate(agentSettle, beginTs, endTs);
} else { } else {
logger.info("没有待奖励记录 跳过不处理, 代理商{}", agentId); log.info("没有待奖励记录 跳过不处理, 代理商{}", agentId);
return true; return true;
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); log.error(e.getMessage(), e);
logger.error("agentId is {}, errAgentSettle is {}", agentId, errAgentSettle); log.error("agentId is {}, errAgentSettle is {}", agentId, errAgentSettle);
return false; return false;
} }
} }
...@@ -530,12 +533,12 @@ public class AgentSettleTask { ...@@ -530,12 +533,12 @@ public class AgentSettleTask {
// dataSourceTransactionManager.rollback(transactionStatus); // dataSourceTransactionManager.rollback(transactionStatus);
return true; return true;
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); log.error(e.getMessage(), e);
/** /**
* 回滚事务 * 回滚事务
*/ */
if (transactionStatus != null) { if (transactionStatus != null) {
logger.info("do settle failed, rollback"); log.info("do settle failed, rollback");
dataSourceTransactionManager.rollback(transactionStatus); dataSourceTransactionManager.rollback(transactionStatus);
} }
return false; return false;
...@@ -580,7 +583,7 @@ public class AgentSettleTask { ...@@ -580,7 +583,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); log.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));
...@@ -613,7 +616,7 @@ public class AgentSettleTask { ...@@ -613,7 +616,7 @@ public class AgentSettleTask {
.add(agentSettle.getOpenCardCash()) .add(agentSettle.getOpenCardCash())
.add(agentSettle.getUpgradePartnerCash()); .add(agentSettle.getUpgradePartnerCash());
if (sum1.compareTo(sum2) != 0) { if (sum1.compareTo(sum2) != 0) {
logger.error("代理商奖励结算-对账异常: 求和1:{}, 求和2:{}, 奖励字段:{}", sum1, sum2, agentSettle); log.error("代理商奖励结算-对账异常: 求和1:{}, 求和2:{}, 奖励字段:{}", sum1, sum2, agentSettle);
throw new RuntimeException(); throw new RuntimeException();
} }
if (null == agentIncomeSummary) { if (null == agentIncomeSummary) {
......
...@@ -8,8 +8,7 @@ import com.lanren.huhu.partner.domain.*; ...@@ -8,8 +8,7 @@ import com.lanren.huhu.partner.domain.*;
import com.lanren.huhu.partner.model.*; import com.lanren.huhu.partner.model.*;
import com.lanren.huhu.partner.service.*; import com.lanren.huhu.partner.service.*;
import com.lanren.huhu.partner.util.DateUtils; import com.lanren.huhu.partner.util.DateUtils;
import org.slf4j.Logger; import lombok.extern.slf4j.Slf4j;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
...@@ -32,10 +31,10 @@ import static org.springframework.util.StringUtils.isEmpty; ...@@ -32,10 +31,10 @@ import static org.springframework.util.StringUtils.isEmpty;
* @package com.lanren.huhu.partner.schedule * @package com.lanren.huhu.partner.schedule
* @date 2019-07-02 15:45 * @date 2019-07-02 15:45
*/ */
@Slf4j
@Component @Component
public class PartnerSettleTask { public class PartnerSettleTask {
private static Logger logger = LoggerFactory.getLogger(PartnerSettleTask.class); private static final int PAGE_SIZE = 200;
private static final int PAGE_SIZE = 1000;
private static final BigDecimal ZERO = new BigDecimal(0); private static final BigDecimal ZERO = new BigDecimal(0);
@Autowired @Autowired
...@@ -58,22 +57,26 @@ public class PartnerSettleTask { ...@@ -58,22 +57,26 @@ public class PartnerSettleTask {
PartnerIncomeSummaryService partnerIncomeSummaryService; PartnerIncomeSummaryService partnerIncomeSummaryService;
@Async @Async
public void runSettle() { public void runSettle(Integer type) {
logger.info("run PartnerSettleTask"); log.info("run PartnerSettleTask");
try { try {
long input = DateUtils.getLastMonth1stTimestamp(System.currentTimeMillis()); long input = DateUtils.getLastMonth1stTimestamp(System.currentTimeMillis());
long beginTs = DateUtils.getMonth1stTimestamp(input) / 1000L; long beginTs = DateUtils.getMonth1stTimestamp(input) / 1000L;
long endTs = DateUtils.getMonthLastTimestamp(input) / 1000L; long endTs = DateUtils.getMonthLastTimestamp(input) / 1000L;
updateAll(beginTs, endTs); updateAll(beginTs, endTs, type);
} catch (Exception e) { } 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) {
updateOrderCommission(beginTs, endTs, 0, 0); if (type == 1) {
// doSettle(beginTs, endTs); updateOrderCommission(beginTs, endTs, 0, 0);
}
if (type == 2) {
doSettle(beginTs, endTs);
}
} }
public boolean doOneUserSettle(Integer userId) { public boolean doOneUserSettle(Integer userId) {
...@@ -86,15 +89,15 @@ public class PartnerSettleTask { ...@@ -86,15 +89,15 @@ public class PartnerSettleTask {
PartnerSettle partnerSettle = partnerRewardService.selectPartnerSettleByTsAndUid(beginTs, endTs, userId); PartnerSettle partnerSettle = partnerRewardService.selectPartnerSettleByTsAndUid(beginTs, endTs, userId);
errPartnerSettle = partnerSettle; errPartnerSettle = partnerSettle;
if (partnerSettle != null && setIncomeAndTax(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); return doDbUpdate(partnerSettle, beginTs, endTs);
} else { } else {
logger.info("没有待奖励记录 跳过不处理, 用户{}", userId); log.info("没有待奖励记录 跳过不处理, 用户{}", userId);
return true; return true;
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); log.error(e.getMessage(), e);
logger.error("userId is {}, errPartnerSettle is {}", userId, errPartnerSettle); log.error("userId is {}, errPartnerSettle is {}", userId, errPartnerSettle);
return false; return false;
} }
} }
...@@ -111,7 +114,7 @@ public class PartnerSettleTask { ...@@ -111,7 +114,7 @@ public class PartnerSettleTask {
int cnt = 0; int cnt = 0;
while (true) { while (true) {
int pageNo = 1; int pageNo = 1;
logger.info("pageNo is {}", pageNo); log.info("pageNo is {}", pageNo);
Page<PartnerSettle> page = new Page<PartnerSettle>(pageNo, PAGE_SIZE); Page<PartnerSettle> page = new Page<PartnerSettle>(pageNo, PAGE_SIZE);
page.setOptimizeCountSql(false); page.setOptimizeCountSql(false);
page.setSearchCount(false); page.setSearchCount(false);
...@@ -123,11 +126,11 @@ public class PartnerSettleTask { ...@@ -123,11 +126,11 @@ public class PartnerSettleTask {
errPartnerSettle = partnerSettle; errPartnerSettle = partnerSettle;
if (partnerSettle != null && setIncomeAndTax(partnerSettle)) { if (partnerSettle != null && setIncomeAndTax(partnerSettle)) {
if (!doDbUpdate(partnerSettle, beginTs, endTs)) { if (!doDbUpdate(partnerSettle, beginTs, endTs)) {
logger.error("doDbUpdate failed for user {}", partnerSettle.getUserId()); log.error("doDbUpdate failed for user {}", partnerSettle.getUserId());
} }
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); log.error(e.getMessage(), e);
} }
cnt++; cnt++;
} }
...@@ -135,17 +138,17 @@ public class PartnerSettleTask { ...@@ -135,17 +138,17 @@ public class PartnerSettleTask {
break; break;
} }
} }
logger.info("cnt is {}", cnt); log.info("cnt is {}", cnt);
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); log.error(e.getMessage(), e);
logger.error("errPartnerSettle is {}", errPartnerSettle); log.error("errPartnerSettle is {}", errPartnerSettle);
} }
} }
private boolean doDbUpdate(PartnerSettle partnerSettle, long beginTs, long endTs) { private boolean doDbUpdate(PartnerSettle partnerSettle, long beginTs, long endTs) {
TransactionStatus transactionStatus = null; TransactionStatus transactionStatus = null;
try { try {
logger.info("partnerSettle is {}", partnerSettle); log.info("partnerSettle is {}", partnerSettle);
/** /**
* 开启事务 * 开启事务
*/ */
...@@ -169,12 +172,12 @@ public class PartnerSettleTask { ...@@ -169,12 +172,12 @@ public class PartnerSettleTask {
// dataSourceTransactionManager.rollback(transactionStatus); // dataSourceTransactionManager.rollback(transactionStatus);
return true; return true;
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); log.error(e.getMessage(), e);
/** /**
* 回滚事务 * 回滚事务
*/ */
if (transactionStatus != null) { if (transactionStatus != null) {
logger.info("do settle failed, rollback"); log.info("do settle failed, rollback");
dataSourceTransactionManager.rollback(transactionStatus); dataSourceTransactionManager.rollback(transactionStatus);
} }
return false; return false;
...@@ -225,7 +228,7 @@ public class PartnerSettleTask { ...@@ -225,7 +228,7 @@ public class PartnerSettleTask {
.add(partnerSettle.getTechChargeOrder()) .add(partnerSettle.getTechChargeOrder())
.add(partnerSettle.getTechChargeRedpack()); .add(partnerSettle.getTechChargeRedpack());
if (sum1.compareTo(sum2) != 0) { if (sum1.compareTo(sum2) != 0) {
logger.error("合伙人奖励结算-对账异常: 求和1:{}, 求和2:{}, 奖励字段:{}", sum1, sum2, partnerSettle); log.error("合伙人奖励结算-对账异常: 求和1:{}, 求和2:{}, 奖励字段:{}", sum1, sum2, partnerSettle);
} }
if (null == partnerIncomeSummary) { if (null == partnerIncomeSummary) {
partnerIncomeSummary = new PartnerIncomeSummary(); partnerIncomeSummary = new PartnerIncomeSummary();
...@@ -387,8 +390,8 @@ public class PartnerSettleTask { ...@@ -387,8 +390,8 @@ public class PartnerSettleTask {
updateCommisionList.add(partnerReward); updateCommisionList.add(partnerReward);
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); log.error(e.getMessage(), e);
logger.error("partnerReward id is {}", partnerReward.getId()); log.error("partnerReward id is {}", partnerReward.getId());
} }
} }
/** /**
...@@ -423,7 +426,7 @@ public class PartnerSettleTask { ...@@ -423,7 +426,7 @@ public class PartnerSettleTask {
int totalPage = 0; int totalPage = 0;
int cnt = 0; int cnt = 0;
while (true) { while (true) {
logger.info("pageNo is {}", pageNo); log.info("pageNo is {}", pageNo);
Page<PartnerReward> page = new Page<PartnerReward>(pageNo, PAGE_SIZE); Page<PartnerReward> page = new Page<PartnerReward>(pageNo, PAGE_SIZE);
page.setOptimizeCountSql(false); page.setOptimizeCountSql(false);
IPage<PartnerReward> ipage; IPage<PartnerReward> ipage;
...@@ -435,7 +438,7 @@ public class PartnerSettleTask { ...@@ -435,7 +438,7 @@ public class PartnerSettleTask {
if (total == 0) { if (total == 0) {
total = (int) ipage.getTotal(); total = (int) ipage.getTotal();
totalPage = total % PAGE_SIZE == 0 ? total / PAGE_SIZE : total / PAGE_SIZE + 1; 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> partnerRewardList = ipage.getRecords();
List<PartnerReward> updateCommisionList = new ArrayList<PartnerReward>(); List<PartnerReward> updateCommisionList = new ArrayList<PartnerReward>();
...@@ -597,7 +600,7 @@ public class PartnerSettleTask { ...@@ -597,7 +600,7 @@ public class PartnerSettleTask {
} }
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); log.error(e.getMessage(), e);
} }
cnt++; cnt++;
} }
...@@ -613,10 +616,10 @@ public class PartnerSettleTask { ...@@ -613,10 +616,10 @@ public class PartnerSettleTask {
} }
pageNo++; pageNo++;
} }
logger.info("cnt is {}", cnt); log.info("cnt is {}", cnt);
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(),e); log.error(e.getMessage(),e);
logger.error("errPartnerReward is {}", errPartnerReward); log.error("errPartnerReward is {}", errPartnerReward);
} }
} }
...@@ -720,7 +723,7 @@ public class PartnerSettleTask { ...@@ -720,7 +723,7 @@ public class PartnerSettleTask {
partnerSettle.setBankTax(BigDecimal.ZERO); partnerSettle.setBankTax(BigDecimal.ZERO);
return true; return true;
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); log.error(e.getMessage(), e);
return false; return false;
} }
} }
...@@ -777,7 +780,7 @@ public class PartnerSettleTask { ...@@ -777,7 +780,7 @@ public class PartnerSettleTask {
// partnerIncomeSummaryService.updateById(partnerIncomeSummary); // partnerIncomeSummaryService.updateById(partnerIncomeSummary);
// return true; // return true;
// } catch (Exception e) { // } catch (Exception e) {
// logger.error(e.getMessage(), e); // log.error(e.getMessage(), e);
// return false; // return false;
// } // }
// } // }
......
package com.lanren.huhu.partner.util; package com.lanren.huhu.partner.util;
import io.netty.util.internal.StringUtil;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.util.StringUtils;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.text.DateFormat; import java.text.DateFormat;
...@@ -239,7 +239,7 @@ public final class DateUtils { ...@@ -239,7 +239,7 @@ public final class DateUtils {
* @return * @return
*/ */
public static Date parse(String strDate, String pattern) { public static Date parse(String strDate, String pattern) {
if (StringUtil.isNullOrEmpty(strDate)) { if (StringUtils.isEmpty(strDate)) {
return null; return null;
} }
SimpleDateFormat df = new SimpleDateFormat(pattern); SimpleDateFormat df = new SimpleDateFormat(pattern);
...@@ -661,7 +661,7 @@ public final class DateUtils { ...@@ -661,7 +661,7 @@ public final class DateUtils {
* @return * @return
*/ */
public static boolean isDateTimeFormat(String dateTime, String patternStr) { 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; 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