|
|
|
@ -26,10 +26,7 @@ import org.springframework.scheduling.annotation.Scheduled;
|
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
@ -52,6 +49,8 @@ public class SyncTask {
|
|
|
|
|
|
|
|
|
|
private final SellerAccountService sellerAccountService;
|
|
|
|
|
|
|
|
|
|
private final TaoBaoRdsPushService taoBaoRdsPushService;
|
|
|
|
|
|
|
|
|
|
private final TaoBaoMessageService taoBaoMessageService;
|
|
|
|
|
|
|
|
|
|
private final JdpTradeService jdpTradeService;
|
|
|
|
@ -115,34 +114,32 @@ public class SyncTask {
|
|
|
|
|
TopTrade syncTask;
|
|
|
|
|
for (Map.Entry<String, List<Trade>> stringListEntry : tradeListMap.entrySet()) {
|
|
|
|
|
String sellerNick = stringListEntry.getKey();
|
|
|
|
|
int totalNumber = DefaultNumberConstants.ZERO_NUMBER;
|
|
|
|
|
SellerAccountDTO sellerAccount = sellerAccountService.getAccountByNick(sellerNick);
|
|
|
|
|
|
|
|
|
|
// 判断账号
|
|
|
|
|
if (sellerAccount != null) {
|
|
|
|
|
if (sellerAccount != null && sellerAccount.getStatus() == DefaultNumberConstants.ONE_NUMBER) {
|
|
|
|
|
List<Trade> trades = stringListEntry.getValue();
|
|
|
|
|
log.info(" ========== the analyze the order quantity size as {} ========== ", trades.size());
|
|
|
|
|
for (Trade trade : trades) {
|
|
|
|
|
syncTask = new TopTrade();
|
|
|
|
|
BeanUtil.copyProperties(trade, syncTask);
|
|
|
|
|
List<TopOrder> topOrders = CommConverter.CommConverter(trade.getOrders(), TopOrder.class);
|
|
|
|
|
boolean createResult = topTradeService.createTrade(syncTask, sellerAccount, topOrders);
|
|
|
|
|
if (createResult) {
|
|
|
|
|
if (Boolean.TRUE.equals(TradeEnum.checkStatus(trade.getStatus()))) {
|
|
|
|
|
if (!CollectionUtils.isEmpty(trades)) {
|
|
|
|
|
for (Trade trade : trades) {
|
|
|
|
|
syncTask = new TopTrade();
|
|
|
|
|
BeanUtil.copyProperties(trade, syncTask);
|
|
|
|
|
List<TopOrder> topOrders = CommConverter.CommConverter(trade.getOrders(), TopOrder.class);
|
|
|
|
|
boolean createResult = topTradeService.createTrade(syncTask, sellerAccount, topOrders);
|
|
|
|
|
if (createResult && Boolean.TRUE.equals(TradeEnum.checkStatus(trade.getStatus()))) {
|
|
|
|
|
memberService.synMemberByTrade(syncTask);
|
|
|
|
|
}
|
|
|
|
|
// 统计同步数量
|
|
|
|
|
totalNumber++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 修改同步数量
|
|
|
|
|
if (totalNumber > DefaultNumberConstants.ZERO_NUMBER) {
|
|
|
|
|
int messageCount = sellerAccount.getMessageCount() != null ? sellerAccount.getMessageCount() : DefaultNumberConstants.ZERO_NUMBER;
|
|
|
|
|
int totalAmount = messageCount + totalNumber;
|
|
|
|
|
// 修改同步数量
|
|
|
|
|
int messageCount = sellerAccount.getMessageCount() != null ?
|
|
|
|
|
sellerAccount.getMessageCount() : DefaultNumberConstants.ZERO_NUMBER;
|
|
|
|
|
int totalAmount = messageCount + trades.size();
|
|
|
|
|
sellerAccountService.updateMessageCount(sellerAccount.getId(), totalAmount);
|
|
|
|
|
if (sellerAccount.getMassNum() != null && totalAmount > sellerAccount.getMassNum()) {
|
|
|
|
|
// 取消推送服务
|
|
|
|
|
taoBaoMessageService.cancelMessage(sellerNick);
|
|
|
|
|
// 删除数据推送
|
|
|
|
|
taoBaoRdsPushService.deletePushUser(sellerNick);
|
|
|
|
|
// 修改账号状态
|
|
|
|
|
sellerAccountService.updateAccountStatusAndExpiration
|
|
|
|
|
(sellerAccount.getId(), DefaultNumberConstants.MINUS_ONE_NUMBER, DateUtil.date());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|