提交 4b584933 authored 作者: lvbencai's avatar lvbencai

合并分支 'qa' 到 'master'

feat(订单同步): 增加时间类型参数并优化状态类型处理 查看合并请求 !139
......@@ -26,11 +26,13 @@ public class WdtQimenOrderPayTimeController {
@GetMapping("/syncByPayTime")
public Object sync(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime,
public Object sync(
@RequestParam(value = "timeType", required = false, defaultValue = "1") Integer timeType,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime,
@RequestParam(value = "pageSize", required = false, defaultValue = "200") Long pageSize
) {
SyncOrderDetailDto syncOrderDetailDto = orderQimenSyncService.syncWdtQimenOrder(startTime, endTime, 1, pageSize);
SyncOrderDetailDto syncOrderDetailDto = orderQimenSyncService.syncWdtQimenOrder(timeType,startTime, endTime, 1, pageSize);
return syncOrderDetailDto;
}
......
......@@ -196,7 +196,7 @@ public class WdtStockoutSalesQueryWithDetailRequest
* 90 延时发货、110已完成
*/
@ApiField("status_type")
private Integer statusType = 0;
private Integer statusType = 3;
public void setStatusType(Integer statusType) {
this.statusType = statusType;
......
......@@ -6,7 +6,7 @@ import com.sfa.job.pojo.response.SyncOrderDetailDto;
import java.util.Date;
public interface IWdtQimenOrderPayTimeSyncService {
SyncOrderDetailDto syncWdtQimenOrder(Date startTime, Date endTime, Integer syncType, Long pageSize);
SyncOrderDetailDto syncWdtQimenOrder(Integer timeType, Date startTime, Date endTime, Integer syncType, Long pageSize);
SyncOrderDetailDto syncWdtQimenOrderByTradeNo(Date startTime, Date endTime, Integer syncType, String tradeNo, Long pageNo, Long pageSize);
......
......@@ -131,7 +131,7 @@ public class WdtQimenOrderPayTimeSyncServiceImpl implements IWdtQimenOrderPayTim
*/
// @Transactional(rollbackFor = Exception.class)
@Override
public SyncOrderDetailDto syncWdtQimenOrder(Date startTime, Date endTime, Integer syncType, Long pageSize) {
public SyncOrderDetailDto syncWdtQimenOrder(Integer timeType, Date startTime, Date endTime, Integer syncType, Long pageSize) {
SyncOrderDetailDto detailDto = new SyncOrderDetailDto();
String batchNo = syncType + DateUtils.dateTimeNow() + Thread.currentThread().getId();
WdtSalesTradeQueryWithDetailVo request = new WdtSalesTradeQueryWithDetailVo();
......@@ -184,7 +184,7 @@ public class WdtQimenOrderPayTimeSyncServiceImpl implements IWdtQimenOrderPayTim
params.setStartTime(DateUtil.formatDateTime(startTime));
params.setEndime(DateUtil.formatDateTime(endTime));
// 旺店通的页码从0开始,奇门从1开始 时间类型 1:修改时间 2:付款时间 默认1
params.setTimeType(2);
params.setTimeType(timeType);
request.setParams(params);
WdtSalesTradeQueryWithDetailVo.Pager pager = new WdtSalesTradeQueryWithDetailVo.Pager();
......
......@@ -159,7 +159,7 @@ public class WdtQimenStockoutOrderSyncServiceImpl implements IWdtQimenStockoutOr
params.setStartTime(DateUtil.formatDateTime(startTime));
params.setEndime(DateUtil.formatDateTime(endTime));
if (ObjectUtils.isNotEmpty(statusType)) {
params.setStatusType(3);
params.setStatusType(statusType);
}
if (ObjectUtils.isNotEmpty(status)) {
params.setStatus(status);
......
......@@ -43,18 +43,24 @@ public class WdtQimenOrderPayTImeTask {
boolean jsonFlag = JSONUtil.isJson(jobParam);
Date startTime = null;
Date endTime = null;
// 时间类型 1:修改时间 2:付款时间 默认2:付款时间
Integer timeType = 2;
if (jsonFlag) {
JSONObject jobParamJson = JSONObject.parseObject(jobParam);
startTime = jobParamJson.getDate("startTime");
endTime = jobParamJson.getDate("endTime");
if (ObjectUtil.isNotNull(jobParamJson.getInteger("timeType"))) {
timeType = jobParamJson.getInteger("timeType");
}
}
// 简单模拟分片处理,这里输出每个分片的信息
XxlJobHelper.log("分片总数: " + shardingTotalCount + ", 当前分片: " + shardingItem);
XxlJobHelper.log("xxl-job开始同步-旺店通订单明细api接口数据");
// 定时任务不设定开始时间和结束时间 0 定时任务 按照修改时间同步 1 手动同步按照修改时间同步 2表示按照 定时任务支付时间时间段同步 3表示按照接口支付时间时间段同步
SyncOrderDetailDto detailDto = qimenOrderPayTimeSyncService.syncWdtQimenOrder(startTime, endTime, 2, 200L);
// 定时任务不设定开始时间和结束时间 0 定时任务 按照修改时间同步 1 手动同步按照修改时间同步 2表示按照 定时任务支付时间时间段同步
SyncOrderDetailDto detailDto = qimenOrderPayTimeSyncService.syncWdtQimenOrder(timeType, startTime, endTime, 2, 200L);
XxlJobHelper.log("xxl-job结束同步-旺店通订单明细api接口数据, 共同步订单{}条数据,订单明细{}条,订单批次号:{},订单的开始时间{}和结束时间{}",
detailDto.getOrderCount(), detailDto.getOrderDetailCount(), detailDto.getBatchNo(),
DateUtil.formatDateTime(detailDto.getStartTime()), DateUtil.formatDateTime(detailDto.getEndTime()));
......
......@@ -34,7 +34,6 @@ public class WdtQimenStockoutOrderTask {
*/
@XxlJob("syncStockoutOrder")
public SyncOrderDetailDto syncStockoutOrder() {
Long st = System.currentTimeMillis();
// 暂不考虑分片
XxlJobContext xxlJobContext = XxlJobContext.getXxlJobContext();
int shardingTotalCount = xxlJobContext.getShardTotal();
......@@ -44,8 +43,8 @@ public class WdtQimenStockoutOrderTask {
boolean jsonFlag = JSONUtil.isJson(jobParam);
Date startTime = null;
Date endTime = null;
String status = null;
Integer statusType = null;
String status ;
Integer statusType ;
SyncStockoutRequest syncStockoutRequest = new SyncStockoutRequest();
// 同步类型 ,接口为1手动同步,0 xxljob自动同步
syncStockoutRequest.setSyncType(0);
......@@ -53,10 +52,17 @@ public class WdtQimenStockoutOrderTask {
JSONObject jobParamJson = JSONObject.parseObject(jobParam);
startTime = jobParamJson.getDate("startTime");
endTime = jobParamJson.getDate("endTime");
//
status = jobParamJson.getString("status");
statusType = jobParamJson.getInteger("statusType");
syncStockoutRequest.setStatus(status);
syncStockoutRequest.setStatusType(statusType);
if (ObjectUtil.isNotNull(status)) {
syncStockoutRequest.setStatus(status);
}
// 默认不传 按3 查询 传status_type=3情况下,按照修改时间和status查询
if (ObjectUtil.isNotNull(statusType)) {
syncStockoutRequest.setStatusType(3);
}
syncStockoutRequest.setStartTime(startTime);
syncStockoutRequest.setEndTime(endTime);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论