From d04a16b7faad45669ab5b91ed34c516e497dfea7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=AF=E8=88=AA?= <280645618@qq.com> Date: Thu, 22 Jan 2026 09:19:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96dou=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=8B=89=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...open-sdk-2.1.9.jar => open-sdk-2.1.10.jar} | Bin 639295 -> 639760 bytes api/pom.xml | 2 +- .../cn/qihangerp/api/dou/DouPullRequest.java | 1 + .../dou/controller/DouOrderApiController.java | 100 +++++++++++------- .../api/dou/controller/DouOrderContoller.java | 2 +- .../service/impl/DouOrderServiceImpl.java | 36 ++++--- vue/src/views/dou/order/index.vue | 58 +++++----- 7 files changed, 119 insertions(+), 80 deletions(-) rename api/libs/{open-sdk-2.1.9.jar => open-sdk-2.1.10.jar} (93%) diff --git a/api/libs/open-sdk-2.1.9.jar b/api/libs/open-sdk-2.1.10.jar similarity index 93% rename from api/libs/open-sdk-2.1.9.jar rename to api/libs/open-sdk-2.1.10.jar index 4d4a29b3af60b9248e75fdf8fa2995ef0a107b2f..b2a79a31a50dd65e7939d3bb782ad4a03440480f 100644 GIT binary patch delta 18857 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 diff --git a/api/pom.xml b/api/pom.xml index cf59395..add21ee 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -118,7 +118,7 @@ open-sdk 1.0 system - ${project.basedir}/libs/open-sdk-2.1.9.jar + ${project.basedir}/libs/open-sdk-2.1.10.jar org.codehaus.jackson diff --git a/api/src/main/java/cn/qihangerp/api/dou/DouPullRequest.java b/api/src/main/java/cn/qihangerp/api/dou/DouPullRequest.java index 94b96e1..fa84d5d 100644 --- a/api/src/main/java/cn/qihangerp/api/dou/DouPullRequest.java +++ b/api/src/main/java/cn/qihangerp/api/dou/DouPullRequest.java @@ -7,4 +7,5 @@ public class DouPullRequest { private Long shopId;//店铺Id private Integer pullType;//拉取类型:0或不传全量;1更新(用于拉取商品的条件) private String orderId; + private String orderDate; } diff --git a/api/src/main/java/cn/qihangerp/api/dou/controller/DouOrderApiController.java b/api/src/main/java/cn/qihangerp/api/dou/controller/DouOrderApiController.java index 9cf4356..b22ab18 100644 --- a/api/src/main/java/cn/qihangerp/api/dou/controller/DouOrderApiController.java +++ b/api/src/main/java/cn/qihangerp/api/dou/controller/DouOrderApiController.java @@ -24,6 +24,7 @@ import lombok.AllArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import java.time.Duration; @@ -33,6 +34,8 @@ import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * 订单更新 @@ -48,6 +51,10 @@ public class DouOrderApiController { private final MqUtils mqUtils; private final OShopPullLogsService pullLogsService; private final OShopPullLasttimeService pullLasttimeService; + private final String DATE_PATTERN = + "^(?:(?:(?:\\d{4}-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|1\\d|2[0-8]))|(?:(?:(?:\\d{2}(?:0[48]|[2468][048]|[13579][26])|(?:(?:0[48]|[2468][048]|[13579][26])00))-0?2-29))$)|(?:(?:(?:\\d{4}-(?:0?[13578]|1[02]))-(?:0?[1-9]|[12]\\d|30))$)|(?:(?:(?:\\d{4}-0?[13-9]|1[0-2])-(?:0?[1-9]|[1-2]\\d|30))$)|(?:(?:(?:\\d{2}(?:0[48]|[13579][26]|[2468][048])|(?:(?:0[48]|[13579][26]|[2468][048])00))-0?2-29))$)$"; + private final Pattern DATE_FORMAT = Pattern.compile(DATE_PATTERN); + /** * 增量更新订单 * @param req @@ -61,6 +68,18 @@ public class DouOrderApiController { if (req.getShopId() == null || req.getShopId() <= 0) { return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,没有店铺Id"); } + if(StringUtils.isEmpty(req.getOrderDate())) return AjaxResult.error("参数错误,没有下单日期"); + + String orderDate = null; + if(StringUtils.hasText(req.getOrderDate())) { + // 判断时间格式 + Matcher matcher = DATE_FORMAT.matcher(req.getOrderDate()); + boolean b = matcher.find(); + if (!b) { + return AjaxResult.error("下单日期格式错误"); + } + orderDate = req.getOrderDate(); + } Date currDateTime = new Date(); Long currTimeMillis = System.currentTimeMillis(); @@ -73,34 +92,37 @@ public class DouOrderApiController { String appSecret = checkResult.getData().getAppSecret(); Long douShopId = checkResult.getData().getSellerId(); String accessToken = checkResult.getData().getAccessToken(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 获取最后更新时间 LocalDateTime startTime = null; LocalDateTime endTime = null; - OShopPullLasttime lasttime = pullLasttimeService.getLasttimeByShop(req.getShopId(), "ORDER"); - if(lasttime == null){ - endTime = LocalDateTime.now(); - startTime = endTime.minusDays(1); - }else { - startTime = lasttime.getLasttime().minusHours(1);//取上次结束一个小时前 - Duration duration = Duration.between(startTime, LocalDateTime.now()); - long hours = duration.toHours(); - if (hours > 24) { - // 大于24小时,只取24小时 - endTime = startTime.plusHours(24); - } else { - endTime = LocalDateTime.now(); - } -// endTime = startTime.plusDays(1);//取24小时 -// if(endTime.isAfter(LocalDateTime.now())){ + startTime = LocalDateTime.parse(orderDate + " 00:00:01", formatter); + endTime = LocalDateTime.parse(orderDate + " 23:59:59", formatter); +// OShopPullLasttime lasttime = pullLasttimeService.getLasttimeByShop(req.getShopId(), "ORDER"); +// if(lasttime == null){ +// endTime = LocalDateTime.now(); +// startTime = endTime.minusDays(1); +// }else { +// startTime = lasttime.getLasttime().minusHours(1);//取上次结束一个小时前 +// Duration duration = Duration.between(startTime, LocalDateTime.now()); +// long hours = duration.toHours(); +// if (hours > 24) { +// // 大于24小时,只取24小时 +// endTime = startTime.plusHours(24); +// } else { // endTime = LocalDateTime.now(); // } - } - String startTimeStr = startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); - String endTimeStr = endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); +//// endTime = startTime.plusDays(1);//取24小时 +//// if(endTime.isAfter(LocalDateTime.now())){ +//// endTime = LocalDateTime.now(); +//// } +// } +// String startTimeStr = startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); +// String endTimeStr = endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); Long startTimestamp = startTime.toEpochSecond(ZoneOffset.ofHours(8)); Long endTimestamp = endTime.toEpochSecond(ZoneOffset.ofHours(8)); - String pullParams = "{startTime:"+startTime+",endTime:"+endTime+"}"; + String pullParams = "{startTime:"+startTime.format(formatter)+",endTime:"+endTime.format(formatter)+"}"; // ApiResultVo token = DouTokenApiHelper.getToken(appKey, appSecret,checkResult.getData().getSellerId()); // // if(token.getCode()==0) { @@ -176,25 +198,25 @@ public class DouOrderApiController { } } - if(totalError==0) { - if (lasttime == null) { - // 新增 - OShopPullLasttime insertLasttime = new OShopPullLasttime(); - insertLasttime.setShopId(req.getShopId()); - insertLasttime.setCreateTime(new Date()); - insertLasttime.setLasttime(endTime); - insertLasttime.setPullType("ORDER"); - pullLasttimeService.save(insertLasttime); - - } else { - // 修改 - OShopPullLasttime updateLasttime = new OShopPullLasttime(); - updateLasttime.setId(lasttime.getId()); - updateLasttime.setUpdateTime(new Date()); - updateLasttime.setLasttime(endTime); - pullLasttimeService.updateById(updateLasttime); - } - } +// if(totalError==0) { +// if (lasttime == null) { +// // 新增 +// OShopPullLasttime insertLasttime = new OShopPullLasttime(); +// insertLasttime.setShopId(req.getShopId()); +// insertLasttime.setCreateTime(new Date()); +// insertLasttime.setLasttime(endTime); +// insertLasttime.setPullType("ORDER"); +// pullLasttimeService.save(insertLasttime); +// +// } else { +// // 修改 +// OShopPullLasttime updateLasttime = new OShopPullLasttime(); +// updateLasttime.setId(lasttime.getId()); +// updateLasttime.setUpdateTime(new Date()); +// updateLasttime.setLasttime(endTime); +// pullLasttimeService.updateById(updateLasttime); +// } +// } DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"); OShopPullLogs logs = new OShopPullLogs(); logs.setShopType(EnumShopType.DOU.getIndex()); diff --git a/api/src/main/java/cn/qihangerp/api/dou/controller/DouOrderContoller.java b/api/src/main/java/cn/qihangerp/api/dou/controller/DouOrderContoller.java index f991d13..a0ce725 100644 --- a/api/src/main/java/cn/qihangerp/api/dou/controller/DouOrderContoller.java +++ b/api/src/main/java/cn/qihangerp/api/dou/controller/DouOrderContoller.java @@ -28,7 +28,7 @@ public class DouOrderContoller extends BaseController { private final DouOrderService orderService; private final MqUtils mqUtils; @RequestMapping(value = "/list", method = RequestMethod.GET) - public TableDataInfo goodsList(DouOrderBo bo, PageQuery pageQuery) { + public TableDataInfo orderList(DouOrderBo bo, PageQuery pageQuery) { PageResult result = orderService.queryPageList(bo, pageQuery); return getDataTable(result); diff --git a/service/src/main/java/cn/qihangerp/module/service/impl/DouOrderServiceImpl.java b/service/src/main/java/cn/qihangerp/module/service/impl/DouOrderServiceImpl.java index dc69162..eca2109 100644 --- a/service/src/main/java/cn/qihangerp/module/service/impl/DouOrderServiceImpl.java +++ b/service/src/main/java/cn/qihangerp/module/service/impl/DouOrderServiceImpl.java @@ -26,6 +26,9 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.util.StringUtils; +import java.time.LocalDateTime; +import java.time.ZoneOffset; +import java.time.format.DateTimeFormatter; import java.util.Date; import java.util.List; import java.util.regex.Matcher; @@ -52,31 +55,38 @@ public class DouOrderServiceImpl extends ServiceImpl private final Pattern DATE_FORMAT = Pattern.compile(DATE_PATTERN); @Override public PageResult queryPageList(DouOrderBo bo, PageQuery pageQuery) { - long startTimeStamp = 0; - long endTimeStamp = 0; - if(StringUtils.hasText(bo.getStartTime())){ - Matcher matcher = DATE_FORMAT.matcher(bo.getStartTime()); - boolean b = matcher.find(); - if(b){ - bo.setStartTime(bo.getStartTime()+" 00:00:00"); - startTimeStamp = DateUtils.dateTimeStrToTimeStamp(null,bo.getStartTime()); - } - } + + if(StringUtils.hasText(bo.getEndTime())){ Matcher matcher = DATE_FORMAT.matcher(bo.getEndTime()); boolean b = matcher.find(); if(b){ bo.setEndTime(bo.getEndTime()+" 23:59:59"); - endTimeStamp = DateUtils.dateTimeStrToTimeStamp(null,bo.getEndTime()); + } + }else{ + bo.setEndTime(bo.getStartTime()+" 23:59:59"); + } + if(StringUtils.hasText(bo.getStartTime())){ + Matcher matcher = DATE_FORMAT.matcher(bo.getStartTime()); + boolean b = matcher.find(); + if(b){ + bo.setStartTime(bo.getStartTime()+" 00:00:00"); } } + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + LocalDateTime startTime = LocalDateTime.parse(bo.getStartTime(), formatter); + LocalDateTime endTime = LocalDateTime.parse(bo.getEndTime(), formatter); + + Long startTimestamp = startTime.toEpochSecond(ZoneOffset.ofHours(8)); + Long endTimestamp = endTime.toEpochSecond(ZoneOffset.ofHours(8)); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() .eq(bo.getShopId()!=null,DouOrder::getShopId,bo.getShopId()) .eq(StringUtils.hasText(bo.getOrderId()),DouOrder::getOrderId,bo.getOrderId()) .eq(StringUtils.hasText(bo.getOrderStatus()),DouOrder::getOrderStatus,bo.getOrderStatus()) - .ge(StringUtils.hasText(bo.getStartTime()),DouOrder::getCreateTime, startTimeStamp) - .le(StringUtils.hasText(bo.getEndTime()),DouOrder::getCreateTime,endTimeStamp) + .ge(StringUtils.hasText(bo.getStartTime()),DouOrder::getCreateTime, startTimestamp) + .le(StringUtils.hasText(bo.getEndTime()),DouOrder::getCreateTime,endTimestamp) ; pageQuery.setOrderByColumn("create_time"); pageQuery.setIsAsc("desc"); diff --git a/vue/src/views/dou/order/index.vue b/vue/src/views/dou/order/index.vue index 31858f2..9f8d143 100644 --- a/vue/src/views/dou/order/index.vue +++ b/vue/src/views/dou/order/index.vue @@ -458,34 +458,40 @@ export default { this.multiple = !selection.length }, handlePull() { - if(this.queryParams.shopId){ - this.pullLoading = true - pullOrder({shopId:this.queryParams.shopId,updType:0}).then(response => { - console.log('拉取dou订单接口返回=====',response) - if(response.code === 1401) { - MessageBox.confirm('Token已过期,需要重新授权!请前往店铺列表重新获取授权!', '系统提示', { confirmButtonText: '前往授权', cancelButtonText: '取消', type: 'warning' }).then(() => { - this.$router.push({path:"/shop/shop_list",query:{type:400}}) - // isRelogin.show = false; - // store.dispatch('LogOut').then(() => { - // location.href = response.data.tokenRequestUrl+'?shopId='+this.queryParams.shopId - // }) - }).catch(() => { - isRelogin.show = false; - }); - - // return Promise.reject('无效的会话,或者会话已过期,请重新登录。') - }else{ - this.$modal.msgSuccess(JSON.stringify(response)); - this.getList() - this.pullLoading = false - } - this.pullLoading = false - }) - }else{ - this.$modal.msgSuccess("请先选择店铺"); + if (!this.queryParams.shopId) { + this.$modal.msgError("请先选择店铺"); + return } + if (!this.queryParams.startTime) { + this.$modal.msgError("请选择下单时间") + return + } + this.pullLoading = true + pullOrder({ shopId: this.queryParams.shopId, updType: 0,orderDate: this.queryParams.startTime }).then(response => { + console.log('拉取dou订单接口返回=====', response) + if (response.code === 1401) { + MessageBox.confirm('Token已过期,需要重新授权!请前往店铺列表重新获取授权!', '系统提示', { + confirmButtonText: '前往授权', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + this.$router.push({ path: "/shop/shop_list", query: { type: 400 } }) + // isRelogin.show = false; + // store.dispatch('LogOut').then(() => { + // location.href = response.data.tokenRequestUrl+'?shopId='+this.queryParams.shopId + // }) + }).catch(() => { + isRelogin.show = false; + }); - // this.$modal.msgSuccess("请先配置API"); + // return Promise.reject('无效的会话,或者会话已过期,请重新登录。') + } else { + this.$modal.msgSuccess(JSON.stringify(response)); + this.getList() + this.pullLoading = false + } + this.pullLoading = false + }) }, handlePullUpdate(row) { // 接口拉取订单并更新