提交 5d9c9c8c authored 作者: 吕本才's avatar 吕本才

1、根据review修改代码,日志记录表按log结尾,service不再集成mybatis-plus提供的service,dao层返回数据都使用dto

2、修改采集旺店通分页
上级 7574acd8
package com.sfa.job.constants;
public class Constants {
/**
* 采集数据方式
*/
public static final String SYNC_TYPE_XXL_JOB = "xxl-job";
}
package com.sfa.job.domain.order.dao;
import com.sfa.job.domain.order.entity.CollectErrorInfo;
import com.sfa.job.domain.order.entity.CollectErrorLog;
public interface CollectErrorInfoDao {
public interface CollectErrorLogDao {
// 插入一条记录
void insert(CollectErrorInfo collectErrorInfo);
void insert(CollectErrorLog collectErrorLog);
}
package com.sfa.job.domain.order.dao;
import com.sfa.job.domain.order.entity.CollectOrderLog;
import com.sfa.job.pojo.response.CollectOrderLogDto;
public interface CollectOrderLogDao {
// 插入一条记录
void insert(CollectOrderLog collectOrderLog);
CollectOrderLogDto selectOrderSyncLatest(Integer syncType);
}
package com.sfa.job.domain.order.dao;
import com.sfa.job.domain.order.entity.CollectOrderLogInfo;
public interface CollectOrderLogInfoDao {
// 插入一条记录
void insert(CollectOrderLogInfo collectOrderLogInfo);
CollectOrderLogInfo selectOrderSyncLatest(Integer syncType);
}
package com.sfa.job.domain.order.dao;
import com.sfa.job.domain.order.entity.FinanceOrder;
import java.util.List;
public interface FinanceOrderDao {
void saveOrUpdateBatch(List<FinanceOrder> mergeList);
}
package com.sfa.job.domain.order.dao;
import com.sfa.job.domain.order.entity.PrdInfo;
import java.util.List;
import java.util.Map;
/**
* @author : liqiulin
......@@ -10,7 +8,5 @@ import java.util.List;
* @describe :
*/
public interface IProductDao {
List<PrdInfo> selectProdSeries();
Map<String, String> selectProdSeries();
}
package com.sfa.job.domain.order.dao.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.sfa.job.domain.order.dao.CollectErrorInfoDao;
import com.sfa.job.domain.order.entity.CollectErrorInfo;
import com.sfa.job.domain.order.mapper.CollectErrorInfoMapper;
import com.sfa.job.domain.order.dao.CollectErrorLogDao;
import com.sfa.job.domain.order.entity.CollectErrorLog;
import com.sfa.job.domain.order.mapper.CollectErrorLogMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@DS("Bi")
@Repository
public class CollectErrorInfoDaoImpl implements CollectErrorInfoDao {
public class CollectErrorLogImpl implements CollectErrorLogDao {
@Autowired
private CollectErrorInfoMapper collectErrorInfoMapper;
private CollectErrorLogMapper collectErrorLogMapper;
@Override
public void insert(CollectErrorInfo collectErrorInfo) {
collectErrorInfoMapper.insert(collectErrorInfo);
public void insert(CollectErrorLog collectErrorLog) {
collectErrorLogMapper.insert(collectErrorLog);
}
......
......@@ -2,9 +2,11 @@ package com.sfa.job.domain.order.dao.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.sfa.job.domain.order.dao.CollectOrderLogInfoDao;
import com.sfa.job.domain.order.entity.CollectOrderLogInfo;
import com.sfa.job.domain.order.mapper.CollectOrderLogInfoMapper;
import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.job.domain.order.dao.CollectOrderLogDao;
import com.sfa.job.domain.order.entity.CollectOrderLog;
import com.sfa.job.domain.order.mapper.CollectOrderLogMapper;
import com.sfa.job.pojo.response.CollectOrderLogDto;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
......@@ -13,29 +15,30 @@ import java.util.List;
@DS("Bi")
@Repository
public class CollectOrderLogInfoDaoImpl implements CollectOrderLogInfoDao {
public class CollectOrderLogDaoImpl implements CollectOrderLogDao {
@Autowired
private CollectOrderLogInfoMapper logInfoMapper;
private CollectOrderLogMapper logInfoMapper;
@Override
public void insert(CollectOrderLogInfo collectOrderLogInfo) {
logInfoMapper.insert(collectOrderLogInfo);
public void insert(CollectOrderLog collectOrderLog) {
logInfoMapper.insert(collectOrderLog);
}
@Override
public CollectOrderLogInfo selectOrderSyncLatest(Integer syncType) {
public CollectOrderLogDto selectOrderSyncLatest(Integer syncType) {
// 查询最新发货日期
List<CollectOrderLogInfo> orderList = logInfoMapper.selectList(
new LambdaQueryWrapper<CollectOrderLogInfo>()
List<CollectOrderLog> orderList = logInfoMapper.selectList(
new LambdaQueryWrapper<CollectOrderLog>()
// 默认查询xxljob自动同步时间
.eq(CollectOrderLogInfo::getSyncType,syncType)
.eq(CollectOrderLogInfo::getDelFlag,0)
.orderByDesc(CollectOrderLogInfo::getUpdateTime)
.eq(CollectOrderLog::getSyncType,syncType)
.eq(CollectOrderLog::getDelFlag,0)
.orderByDesc(CollectOrderLog::getUpdateTime)
.last("LIMIT 1"));
if(ObjectUtils.isNotEmpty(orderList)){
// 最新的数据日期
return orderList.get(0);
CollectOrderLog collectOrderLog = orderList.get(0);
return BeanUtils.transitionDto(collectOrderLog, CollectOrderLogDto.class);
}
return null;
}
......
......@@ -22,73 +22,6 @@ public class FinianceBaseZbjTypeDaoImpl implements FinanceBaseZbjTypeDao {
@Override
public Map<String, String> selectBaseZbjType() {
List<FinanceBaseZbjType> list = mapper.selectList(new LambdaQueryWrapper<>());
// 以fenxiaoName为key,直播间渠道类型为value,放入map中
Map<String, String> map = list.stream()
.collect(HashMap::new, (k, v) -> k.put(v.getFenxiaoName(), v.getZbjQdType()), HashMap::putAll);
......
package com.sfa.job.domain.order.dao.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.sfa.job.domain.order.dao.FinanceOrderDao;
import com.sfa.job.domain.order.entity.FinanceOrder;
import com.sfa.job.domain.order.mapper.FinanceOrderMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.List;
@DS("Bi")
@Repository
public class FinianceOrderDaoImpl implements FinanceOrderDao {
private static final int BATCH_SIZE = 1000;
@Autowired
private FinanceOrderMapper financeOrderMapper;
@Override
public void saveOrUpdateBatch(List<FinanceOrder> mergeList) {
for (int i = 0; i < mergeList.size(); i += BATCH_SIZE) {
int toIndex = Math.min(i + BATCH_SIZE, mergeList.size());
List<FinanceOrder> batchLists = mergeList.subList(i, toIndex);
financeOrderMapper.saveOrUpdateBatch(batchLists);
}
}
}
......@@ -19,7 +19,6 @@ public class FinianceOrderDetailDaoImpl implements FinanceOrderDetailDao {
@Override
public void saveOrUpdateBatch(List<FinanceOrderDetail> mergeList) {
for (int i = 0; i < mergeList.size(); i += BATCH_SIZE) {
int toIndex = Math.min(i + BATCH_SIZE, mergeList.size());
List<FinanceOrderDetail> batchLists = mergeList.subList(i, toIndex);
......
package com.sfa.job.domain.order.dao.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.sfa.job.domain.order.dao.IProductDao;
import com.sfa.job.domain.order.entity.PrdInfo;
......@@ -7,7 +8,9 @@ import com.sfa.job.domain.order.mapper.PrdInfoMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author : liqiulin
......@@ -21,12 +24,20 @@ public class ProductDaoImpl implements IProductDao {
PrdInfoMapper prdInfoMapper;
@Override
public List<PrdInfo> selectProdSeries() {
public Map<String, String> selectProdSeries() {
List<PrdInfo> prdInfos = prdInfoMapper.selectList(
new LambdaQueryWrapper<PrdInfo>()
.select(PrdInfo::getSeries, PrdInfo::getPrdCode, PrdInfo::getPrdName)
.groupBy(PrdInfo::getSeries, PrdInfo::getPrdCode, PrdInfo::getPrdName));
return prdInfos;
// 转换成map
Map<String, String> prodSeriesMap = new HashMap<>();
if (ObjectUtil.isNotEmpty(prdInfos)) {
prdInfos.stream().forEach(prdInfoDto -> {
prodSeriesMap.put(prdInfoDto.getPrdCode(), prdInfoDto.getPrdName());
});
}
return prodSeriesMap;
}
}
......@@ -10,9 +10,9 @@ import java.util.Map;
* CollectErrorInfo 类表示采集错误记录,与数据库表 market_bi.collect_error_info 相对应。
* 包含了采集错误记录的各种信息,如唯一键、入参信息、类型、采集时间、删除标志、创建和更新的用户及时间等。
*/
@TableName(value ="collect_error_info")
@TableName(value ="collect_error_log")
@Data
public class CollectErrorInfo {
public class CollectErrorLog {
......
......@@ -17,8 +17,8 @@ import java.util.Date;
* @description
*/
@Data
@TableName("collect_order_log_info")
public class CollectOrderLogInfo implements Serializable {
@TableName("collect_order_log")
public class CollectOrderLog implements Serializable {
/**
* 唯一键,用于唯一标识采集订单日志信息记录
......@@ -29,13 +29,11 @@ public class CollectOrderLogInfo implements Serializable {
/**
* 采集订单的数量,存储为字符串,长度不超过 20 个字符
*/
//@TableField("order_count")
private Integer orderCount;
/**
* 采集订单的详细数量,存储为字符串,长度不超过 20 个字符
*/
//@TableField("order_detail_count")
private Integer orderDetailCount;
/**
......
package com.sfa.job.domain.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sfa.job.domain.order.entity.CollectErrorInfo;
import com.sfa.job.domain.order.entity.CollectErrorLog;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface CollectErrorInfoMapper extends BaseMapper<CollectErrorInfo> {
public interface CollectErrorLogMapper extends BaseMapper<CollectErrorLog> {
}
package com.sfa.job.domain.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sfa.job.domain.order.entity.CollectOrderLogInfo;
import com.sfa.job.domain.order.entity.CollectOrderLog;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface CollectOrderLogInfoMapper extends BaseMapper<CollectOrderLogInfo> {
public interface CollectOrderLogMapper extends BaseMapper<CollectOrderLog> {
}
......@@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sfa.job.domain.order.entity.FinanceOrder;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface FinanceOrderMapper extends BaseMapper<FinanceOrder> {
void saveOrUpdateBatch(List<FinanceOrder> batchLists);
}
package com.sfa.job.pojo.response;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 采集订单日志信息
*
* @author lvbencai
* @date 2025-02-24 14:24:39
* @description
*/
@Data
public class CollectOrderLogDto implements Serializable {
/**
* 唯一键,用于唯一标识采集订单日志信息记录
*/
@TableId(value = "cli_id",type= IdType.AUTO)
private Long cliId;
/**
* 采集订单的数量,存储为字符串,长度不超过 20 个字符
*/
private Integer orderCount;
/**
* 采集订单的详细数量,存储为字符串,长度不超过 20 个字符
*/
private Integer orderDetailCount;
/**
* 采集批次信息,可存储长度不超过 30 个字符,使用 utf8mb4 字符集和 utf8mb4_0900_ai_ci 校对规则
*/
private String batchNo;
/**
* 采集的最新时间,代表上一次采集的结束时间,存储为日期时间类型
*/
private Date latestTime;
// 2025年01月22日17:24:37增加,用于分批次查询
private Integer pageNo;
/**
* 是否删除的标志,'0' 表示未删除,'1' 表示已删除,使用 utf8mb3 字符集和 utf8mb3_general_ci 校对规则
*/
private String delFlag;
/**
* 创建者信息,存储为长度不超过 20 个字符的字符串
*/
private String createBy;
/**
* 创建人的用户 ID,存储为长整型
*/
private Long createUserId;
/**
* 创建时间,存储为日期时间类型,使用数据库的当前时间作为默认值
*/
private Date createTime;
/**
* 更新者信息,存储为长度不超过 20 个字符的字符串
*/
private String updateBy;
/**
* 修改人的用户 ID,存储为长整型
*/
private Long updateUserId;
/**
* 更新时间,存储为日期时间类型,更新时自动更新为当前时间
*/
private Date updateTime;
private Integer syncType;
private Integer totalCount;
}
package com.sfa.job.pojo.response;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.io.Serializable;
/**
* 商品-dto
*/
@Data
public class PrdInfoDto implements Serializable {
/**
* 主键id
*/
@TableId(type = IdType.AUTO)
private Integer prdId;
/**
* 商品编码
*/
private String prdCode;
/**
* 商品名称
*/
private String prdName;
/**
* 商品系列
*/
private Integer seriesId;
/**
* 商品系列
*/
private String series;
/**
* 商品规格-69码
*/
private String prdSpec;
/**
* 销售状态:1:在售,0:停售
*/
private Integer saleStatus;
/**
* 0:正常;1:删除
*/
private Integer status;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
......@@ -12,5 +12,5 @@ import lombok.Data;
public class WangdiantongQueryDto {
private JSONArray result;
private Integer totalCount;
private Integer nextBeginPageNo;
}
package com.sfa.job.service.order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sfa.job.domain.order.entity.FinanceOrder;
import com.sfa.job.pojo.response.FinanceSyncOrderDetailDto;
import java.util.Date;
public interface FinanceOrderSyncService extends IService<FinanceOrder> {
public interface FinanceOrderSyncService {
FinanceSyncOrderDetailDto syncWangdiantongOrder(Date startTime, Date endTime, Integer syncType);
}
......@@ -6,13 +6,13 @@ import cn.hutool.http.HttpStatus;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONReader;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sfa.common.core.exception.ServiceException;
import com.sfa.common.core.utils.DateUtils;
import com.sfa.job.constants.Constants;
import com.sfa.job.domain.order.dao.*;
import com.sfa.job.domain.order.entity.*;
import com.sfa.job.domain.order.mapper.FinanceOrderMapper;
import com.sfa.job.pojo.request.WangdiantongQueryVO;
import com.sfa.job.pojo.response.CollectOrderLogDto;
import com.sfa.job.pojo.response.FinanceSyncOrderDetailDto;
import com.sfa.job.pojo.response.WangdiantongQueryDto;
import com.sfa.job.service.order.FinanceOrderSyncService;
......@@ -36,21 +36,22 @@ import java.util.concurrent.atomic.AtomicInteger;
@DS("bi")
@Slf4j
@Service
public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper, FinanceOrder> implements FinanceOrderSyncService {
public class FinanceOrderSyncServiceImpl implements FinanceOrderSyncService {
@Autowired
WangdiantongUtil wangdiantongUtil;
@Autowired
// FinanceOrderDetailService detailService;
FinanceOrderDetailDao detailDao;
FinanceOrderDetailDao orderDetailDao;
@Autowired
FinanceOrderDao orderDao;
@Autowired
FinianceBaseProductDao baseProductDao;
@Autowired
FinanceBaseZbjTypeDao baseZbjTypeDao;
@Autowired
CollectOrderLogInfoDao orderLogInfoDao;
CollectOrderLogDao orderLogInfoDao;
@Autowired
CollectErrorInfoDao errorInfoDao;
CollectErrorLogDao errorInfoDao;
@Autowired
IProductDao productDao;
......@@ -73,11 +74,11 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
if (ObjectUtils.isEmpty(startTime)) {
Date latestTime = null;
// 查询最新的采集时间
CollectOrderLogInfo collectOrderLogInfo = orderLogInfoDao.selectOrderSyncLatest(syncType);
if (ObjectUtils.isNotEmpty(collectOrderLogInfo)) {
latestTime = collectOrderLogInfo.getLatestTime();
Integer pageNoExist = collectOrderLogInfo.getPageNo();
beginPageNo.set(ObjectUtil.isNotEmpty(pageNoExist) && pageNoExist > 0 ? collectOrderLogInfo.getPageNo() : 0);
CollectOrderLogDto collectOrderLog = orderLogInfoDao.selectOrderSyncLatest(syncType);
if (ObjectUtils.isNotEmpty(collectOrderLog)) {
latestTime = collectOrderLog.getLatestTime();
Integer pageNoExist = collectOrderLog.getPageNo();
beginPageNo.set(ObjectUtil.isNotEmpty(pageNoExist) && pageNoExist > 0 ? collectOrderLog.getPageNo() : 0);
nextPageFlag = beginPageNo.get() > 0;
} else {
// 默认上个月的第一天 00:00:00
......@@ -102,8 +103,8 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
detailDto.setBatchNo(batchNo);
detailDto.setStartTime(startTime);
detailDto.setEndTime(endTime);
detailDto.setMessage(String.format("开始时间%s不能大于当前时间%s", DateUtil.formatDateTime(startTime), DateUtil.formatDateTime(currentLatest) ));
log.warn(String.format("开始时间%s不能大于当前时间%s", DateUtil.formatDateTime(startTime), DateUtil.formatDateTime(currentLatest) ));
detailDto.setMessage(String.format("开始时间%s不能大于当前时间%s", DateUtil.formatDateTime(startTime), DateUtil.formatDateTime(currentLatest)));
log.warn(String.format("开始时间%s不能大于当前时间%s", DateUtil.formatDateTime(startTime), DateUtil.formatDateTime(currentLatest)));
return detailDto;
}
......@@ -129,23 +130,22 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
Map<String, String> baseZbjType = baseZbjTypeDao.selectBaseZbjType();
// 系列
List<PrdInfo> prdInfos = productDao.selectProdSeries();
// 转换成map
Map<String, String> prodSeriesMap = new HashMap<>();
prdInfos.stream().forEach(prdInfo -> {
prodSeriesMap.put(prdInfo.getPrdCode(), prdInfo.getPrdName());
});
Map<String, String> prodSeriesMap = productDao.selectProdSeries();
// 入库订单表
log.info("开始插入订单数据,数量:{}", orderAllArray.size());
Date finalStartTime = startTime;
Date finalEndTime = endTime;
orders.forEach(order -> {
order.setDelFlag(0);
order.setBatchNo(batchNo);
order.setStartTime(finalStartTime);
order.setEndTime(finalEndTime);
order.setSyncType(syncType);
order.setCreateTime(new Date());
order.setUpdateTime(new Date());
});
this.saveOrUpdateBatch(orders);
orderDao.saveOrUpdateBatch(orders);
List<FinanceOrderDetail> mergeList = new ArrayList<>();
......@@ -207,20 +207,21 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
log.info("开始插入订单详情数据,数量:{}", mergeList.size());
// 批量插入
detailDao.saveOrUpdateBatch(mergeList);
orderDetailDao.saveOrUpdateBatch(mergeList);
log.info("插入订单和订单详情完成,批次{}开始时间{},结束时间{},订单数量:{},详情数量:{}", batchNo, DateUtil.formatDateTime(startTime), DateUtil.formatDateTime(endTime), orders.size(), mergeList.size());
log.info("插入订单和订单详情完成,批次{}开始时间{},结束时间{},订单数量:{},详情数量:{},下一次开始页数:{}", batchNo, DateUtil.formatDateTime(startTime),
DateUtil.formatDateTime(endTime), orders.size(), mergeList.size(), beginPageNo.get());
CollectOrderLogInfo collectOrderLogInfo = new CollectOrderLogInfo();
collectOrderLogInfo.setSyncType(syncType);
collectOrderLogInfo.setOrderCount(orders.size());
collectOrderLogInfo.setOrderDetailCount(mergeList.size());
collectOrderLogInfo.setBatchNo(batchNo);
collectOrderLogInfo.setLatestTime(endTime);
collectOrderLogInfo.setPageNo(beginPageNo.get());
collectOrderLogInfo.setTotalCount(wangdiantongQueryDto.getTotalCount());
orderLogInfoDao.insert(collectOrderLogInfo);
CollectOrderLog collectOrderLog = new CollectOrderLog();
collectOrderLog.setSyncType(syncType);
collectOrderLog.setOrderCount(orders.size());
collectOrderLog.setOrderDetailCount(mergeList.size());
collectOrderLog.setBatchNo(batchNo);
collectOrderLog.setLatestTime(endTime);
collectOrderLog.setPageNo(beginPageNo.get());
collectOrderLog.setTotalCount(wangdiantongQueryDto.getTotalCount());
orderLogInfoDao.insert(collectOrderLog);
// 接口测试使用
detailDto.setOrderCount(orders.size());
......@@ -233,9 +234,9 @@ public class FinanceOrderSyncServiceImpl extends ServiceImpl<FinanceOrderMapper,
} catch (Exception e) {
log.error(e.getMessage(), e);
// 记录错误日志表 collect_error_info
CollectErrorInfo errorInfo = new CollectErrorInfo();
CollectErrorLog errorInfo = new CollectErrorLog();
errorInfo.setBatchNo(batchNo);
errorInfo.setType("xxlJob");
errorInfo.setType(Constants.SYNC_TYPE_XXL_JOB);
errorInfo.setErrorMsg(e.getMessage());
errorInfo.setEndTime(endTime);
errorInfo.setStartTime(startTime);
......
......@@ -67,7 +67,7 @@ public class FeiShuUtil {
.build();
FindByDepartmentUserResp resp = client.contact().user().findByDepartment(req);
if(!resp.success()) {
System.out.println(String.format("code:%s,msg:%s,reqId:%s, resp:%s",
log.warn(String.format("code:%s,msg:%s,reqId:%s, resp:%s",
resp.getCode(), resp.getMsg(), resp.getRequestId(), Jsons.createGSON(true, false).toJson(JsonParser.parseString(new String(resp.getRawResponse().getBody(), "UTF-8")))));
return null;
}
......
......@@ -31,7 +31,7 @@ public class WangdiantongUtil {
Integer totalCount = 0;
try {
// 最大处理量,超过了,不再查询
int maxDealCount = 500;
int maxDealCount = 1000;
int size = 0;
int pageNo = beginPageNo.get();
// 出现了查询的分页数量不足的情况
......@@ -89,7 +89,7 @@ public class WangdiantongUtil {
throw new ServiceException("访问旺店通接口错误" + messageJson.toString());
}
totalCount = dataR.getInteger("total_count");
maxPage = totalCount / 200;
maxPage = (totalCount+199)/200;
JSONArray orderJsonArray = dataR.getJSONArray("order");
allArray.addAll(orderJsonArray);
......@@ -99,12 +99,13 @@ public class WangdiantongUtil {
// 计算下一次分页的页码
pageNo++;
} while (size < maxDealCount && pageNo <= maxPage);
if (pageNo > maxPage) {
if (pageNo >= maxPage) {
// 已经到最后一页了,设置成-1,表示已经处理完了,不再查询
beginPageNo.set(-1);
} else {
beginPageNo.set(pageNo);
}
wangdiantongQueryDto.setNextBeginPageNo(pageNo);
wangdiantongQueryDto.setResult(allArray);
wangdiantongQueryDto.setTotalCount(totalCount);
} catch (Exception e) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论