同步订单过期时间删除

master
bynt 3 years ago
parent e546c984cc
commit a28ada1f86

@ -5,8 +5,10 @@ import com.hchbox.entity.master.Blacklist;
import com.hchbox.entity.master.User;
import com.hchbox.repository.master.BlacklistRepository;
import com.hchbox.repository.master.MemberRepository;
import com.hchbox.repository.master.SellerAccountRepository;
import com.hchbox.repository.master.TopTradeRepository;
import com.hchbox.service.*;
import com.hchbox.util.CacheManagerUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
@ -35,6 +37,9 @@ public class SlaverTest {
@Resource
private SellerAccountService sellerAccountService;
@Resource
private SellerAccountRepository sellerAccountRepository;
@Resource
private TaoBaoShopService taoBaoShopService;
@ -52,6 +57,9 @@ public class SlaverTest {
@Resource
private TaoBaoRdsPushService taoBaoRdsPushService;
@Resource
private CacheManagerUtil cacheManagerUtil;
@Resource
private TaskMessageService taskMessageService;
@ -72,12 +80,16 @@ public class SlaverTest {
String dateStr = "2021-10-21 01:02:03";
String dateStr2 = "2021-10-22 15:09:15";
taoBaoSaleService.saleSize(DateUtil.parse(dateStr), DateUtil.parse(dateStr2),"50008500502Uyr1928c116beQHQChHN4Pv9A3kwHLPCuxfWCcx7tUtEKGghsN8Jaf0");
Integer integer = taoBaoSaleService.saleSize(DateUtil.parse(dateStr), DateUtil.parse(dateStr2), "50008500502Uyr1928c116beQHQChHN4Pv9A3kwHLPCuxfWCcx7tUtEKGghsN8Jaf0");
System.out.println(integer);
}
@Test
public void getAccount() {
topTradeService.findByTid(2147149155936837114L);
sellerAccountService.getAccountByNick("usw电器旗舰店");
cacheManagerUtil.evictCache("sellerAccountCache","usw电器旗舰店");
sellerAccountService.getAccountByNick("usw电器旗舰店");
}
@Test
@ -103,7 +115,7 @@ public class SlaverTest {
@Test
public void findUserList() {
taoBaoRdsPushService.turnOnPushService("50008100e24jK5wbSc8ckukKQhTQE6Ejt6l01cca6111WCiFQiXhQXFHMzjyzzpSep", 90L);
taoBaoRdsPushService.deletePushUser("usw电器旗舰店");
}
@Test

@ -8,6 +8,7 @@ import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
/**
@ -64,6 +65,17 @@ public interface SellerAccountRepository extends JpaRepository<SellerAccount, Lo
@Query(value = "update SellerAccount set messageCount = ?2 where id = ?1")
int updateSellerMessageCountById(Long id, Integer totalAmount);
/**
*
* @param id
* @param status
* @param date
* @return
*/
@Modifying
@Query(value = "update SellerAccount set status = ?2,expirationTime = ?3 where id = ?1")
int updateSellerStatusAndExpirationTimeById(Long id, Integer status, Date date);
/**
* id
*

@ -2,6 +2,7 @@
package com.hchbox.service;
import cn.hutool.core.date.DateTime;
import com.hchbox.dto.SellerAccountDTO;
import com.hchbox.entity.master.SellerAccount;
import com.hchbox.model.param.CommonResult;
@ -177,4 +178,15 @@ public interface SellerAccountService {
* @return
*/
Integer updateAccount(UpdateAccountsVo updateAccountsVo);
/**
*
*
* @param id
* @param status
* @param date
* @return
*/
Boolean updateAccountStatusAndExpiration(Long id, int status, DateTime date);
}

@ -7,6 +7,13 @@ package com.hchbox.service;
public interface TaoBaoRdsPushService {
/**
*
* @param nickname
* @return
*/
Boolean deletePushUser(String nickname);
/**
*
* @param accessToken

@ -4,6 +4,7 @@ package com.hchbox.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
@ -272,6 +273,7 @@ public class SellerAccountServiceImpl implements SellerAccountService {
|| sellerAccount.getAuthorizeEndTime() == null || sellerAccount.getAuthorizeEndTime().before(DateUtil.date())) {
return new CommonResult<Map<Object, Object>>().accountException();
}
cacheManagerUtil.evictCache("sellerAccountCache", sellerAccount.getNickname());
sellerAccount.setLastLoginTime(DateUtil.date());
sellerAccount.setSessionKey(loginVo.getAccessToken());
sellerAccount.setNickname(EmojiUtil.toAlias(loginVo.getUserNick()));
@ -514,6 +516,8 @@ public class SellerAccountServiceImpl implements SellerAccountService {
return a;
}
private SellerAccount createSellerAccount(AuthTokenResponseDTO tokenDTO) {
SellerAccount seller = new SellerAccount();
seller.setLastLoginTime(DateUtil.date());
@ -542,4 +546,10 @@ public class SellerAccountServiceImpl implements SellerAccountService {
codeDTO.setRedirectUri(miProperties.getNotifyUrl());
return codeDTO;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updateAccountStatusAndExpiration(Long id, int status, DateTime date) {
return sellerAccountRepository.updateSellerStatusAndExpirationTimeById(id, status, date) > DefaultNumberConstants.ZERO_NUMBER;
}
}

@ -5,9 +5,12 @@ import com.hchbox.config.MiProperties;
import com.hchbox.constant.SystemConstants;
import com.hchbox.service.TaoBaoRdsPushService;
import com.taobao.api.request.JushitaJdpUserAddRequest;
import com.taobao.api.request.JushitaJdpUserDeleteRequest;
import com.taobao.api.response.JushitaJdpUserAddResponse;
import com.taobao.api.response.JushitaJdpUserDeleteResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.hibernate.sql.Delete;
import org.springframework.stereotype.Service;
/**
@ -21,6 +24,18 @@ public class TaoBaoRdsPushServiceImpl implements TaoBaoRdsPushService {
private final MiProperties miProperties;
@Override
public Boolean deletePushUser(String nickname) {
JushitaJdpUserDeleteRequest request = new JushitaJdpUserDeleteRequest();
request.setNick(nickname);
JushitaJdpUserDeleteResponse taoBaoResponse = TaoBaoApiClient.
createTaoBaoResponse(request, miProperties);
if (taoBaoResponse != null && taoBaoResponse.isSuccess()) {
return taoBaoResponse.getIsSuccess();
}
return Boolean.FALSE;
}
@Override
public Boolean turnOnPushService(String accessToken, Long historyDays) {
JushitaJdpUserAddRequest request = new JushitaJdpUserAddRequest();

@ -160,7 +160,7 @@ public class TopTradeServiceImpl implements TopTradeService {
return Boolean.TRUE;
}
// TODO 修改状态
return Boolean.TRUE;
return Boolean.FALSE;
}
@ -369,10 +369,10 @@ public class TopTradeServiceImpl implements TopTradeService {
private void sendMessageRemind(String buyerNick, Long tid, String orderStatus, String template, AppSetting setting, List<String> sendNickList, SellerAccountDTO sellerAccountDTO) {
// TODO 使用本地数据
TopTrade trade = topTradeRepository.findByTid(2148563198943032631L);
TopTrade trade = topTradeRepository.findByTid(tid);
if (trade != null) {
topTradeRepository.updateOrderStatus(orderStatus, tid);
List<TopOrder> orderList = topOrderRegistry.findByTid(2148563198943032631L);
List<TopOrder> orderList = topOrderRegistry.findByTid(tid);
if (!CollectionUtils.isEmpty(orderList)) {
trade.setOrders(orderList);
}

@ -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());
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) {
if (Boolean.TRUE.equals(TradeEnum.checkStatus(trade.getStatus()))) {
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());
}
}
}

@ -87,7 +87,7 @@ public class BaseSellerAccount implements Serializable {
private Boolean isSubAccount;
@Column(name = "expiration_time")
@ApiModelProperty(value = "过期天数")
@ApiModelProperty(value = "暂停天数")
private Date expirationTime;
@Column(name = "message_count")

Loading…
Cancel
Save