Commit 6b32e89a by huluobin

新sku mapping rpc接口分页bug fix

parent 6ccfb2c4
......@@ -15,7 +15,7 @@ public class SkuJob {
@Resource
SkuService skuService;
@Scheduled(cron = "0/10 * * * * ?")
@Scheduled(cron = "0/1 * * * * ?")
public void syncSkuMappingOnline() {
try {
log.info("每10秒同步线上sku映射 开始");
......
......@@ -9,11 +9,14 @@ import com.bailuntec.application.IDcBaseSkuMappingOnlineService;
import com.bailuntec.common.ListUtil;
import com.bailuntec.domain.DcBaseSkuMappingOnline;
import com.bailuntec.domain.DcJobConfig;
import com.bailuntec.infrastructure.mapper.DcBaseSkuMappingOnlineMapper;
import com.bailuntec.infrastructure.mapper.DcJobConfigMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
......@@ -35,6 +38,8 @@ public class SkuService {
PpsApi ppsApi;
@Resource
IDcBaseSkuMappingOnlineService dcBaseSkuMappingOnlineService;
@Resource
DcBaseSkuMappingOnlineMapper dcBaseSkuMappingOnlineMapper;
private final static String baseSyncSkuMappingOnline = "base-sync-sku-mapping-online";
......@@ -49,7 +54,7 @@ public class SkuService {
req.setPageIndex(currentPage);
req.setPageNumber(pageSize);
req.setBeginTime(dcJobConfig.getStartTime());
req.setBeginTime(dcJobConfig.getStartTime().minusMinutes(3));
req.setEndTime(dcJobConfig.getEndTime());
PpsResult<PpsPage<GetListingSkuMapPagesItem>> result = ppsApi.getListingSkuMapPages(req);
......@@ -74,6 +79,12 @@ public class SkuService {
//detail
dcBaseSkuMappingOnline.setItemSku(getListingSkuMapPagesItemDetail.getItemSku());
dcBaseSkuMappingOnline.setSkuCode(getListingSkuMapPagesItemDetail.getSkuCode());
//todo 缓存
String shortSiteEn = dcBaseSkuMappingOnlineMapper.selectShortSiteEn(dcBaseSkuMappingOnline.getSite());
dcBaseSkuMappingOnline.setSite(shortSiteEn);
dcBaseSkuMappingOnline.setGmtModified(LocalDateTime.now());
return dcBaseSkuMappingOnline;
})
.collect(Collectors.toList()))
......@@ -81,8 +92,33 @@ public class SkuService {
.flatMap(List::stream)
.collect(Collectors.toList());
dcBaseSkuMappingOnlineService.saveBatch(dcBaseSkuMappingOnlineList);
dcBaseSkuMappingOnlineList.parallelStream().forEach(dcBaseSkuMappingOnline -> {
try {
LambdaQueryWrapper<DcBaseSkuMappingOnline> wrapper = new LambdaQueryWrapper<DcBaseSkuMappingOnline>()
.eq(DcBaseSkuMappingOnline::getItemId, dcBaseSkuMappingOnline.getItemId())
.eq(DcBaseSkuMappingOnline::getItemSku, dcBaseSkuMappingOnline.getItemSku())
.eq(DcBaseSkuMappingOnline::getSkuCode, dcBaseSkuMappingOnline.getSkuCode());
DcBaseSkuMappingOnline item = dcBaseSkuMappingOnlineService.getOne(wrapper);
if (item != null) {
dcBaseSkuMappingOnlineService.update(dcBaseSkuMappingOnline, wrapper);
} else {
dcBaseSkuMappingOnlineService.save(dcBaseSkuMappingOnline);
}
log.info("sync sku mapping ,itemId:{},itemSku:{},skuCode:{}", dcBaseSkuMappingOnline.getItemId(), dcBaseSkuMappingOnline.getItemSku(), dcBaseSkuMappingOnline.getSkuCode());
} catch (Exception ex) {
log.error("xxx");
}
});
currentPage++;
dcJobConfig.setPageNum(currentPage);
dcJobConfigMapper.updateById(dcJobConfig);
}
dcJobConfigMapper.updateById(dcJobConfig.refresh());
}
}
......@@ -15,6 +15,7 @@ spring:
mybatis-plus:
mapper-locations:
- classpath*:com/bailuntec/mapper/*.xml
executor-type: batch
# configuration:
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
......
......@@ -15,6 +15,7 @@ spring:
mybatis-plus:
mapper-locations:
- classpath*:com/bailuntec/mapper/*.xml
executor-type: batch
# configuration:
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
......
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