From 2e82dc2b49be86198d2f1e4f5a129e0e10f5645a Mon Sep 17 00:00:00 2001 From: Richie <280645618@qq.com> Date: Sun, 17 Mar 2024 19:51:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0toa-api=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jd/controller/GoodsApiController.java | 2 + .../jd/controller/OrderApiController.java | 1 + .../jd/controller/RefundApiController.java | 1 + .../com/qihang/jd/domain/SysShopPullLogs.java | 9 + .../tao/controller/OrderApiController.java | 62 ++++- .../tao/domain/SysShopPullLasttime.java | 177 +++++++++++++ .../qihang/tao/domain/SysShopPullLogs.java | 242 ++++++++++++++++++ .../tao/mapper/SysShopPullLasttimeMapper.java | 18 ++ .../tao/mapper/SysShopPullLogsMapper.java | 18 ++ .../qihang/tao/openApi/OrderApiHelper.java | 11 +- .../service/SysShopPullLasttimeService.java | 13 + .../tao/service/SysShopPullLogsService.java | 13 + .../impl/SysShopPullLasttimeServiceImpl.java | 34 +++ .../impl/SysShopPullLogsServiceImpl.java | 22 ++ .../tao/service/impl/SysUserServiceImpl.java | 5 + .../mapper/SysShopPullLasttimeMapper.xml | 20 ++ .../mapper/SysShopPullLogsMapper.xml | 24 ++ 17 files changed, 663 insertions(+), 9 deletions(-) create mode 100644 tao-api/src/main/java/com/qihang/tao/domain/SysShopPullLasttime.java create mode 100644 tao-api/src/main/java/com/qihang/tao/domain/SysShopPullLogs.java create mode 100644 tao-api/src/main/java/com/qihang/tao/mapper/SysShopPullLasttimeMapper.java create mode 100644 tao-api/src/main/java/com/qihang/tao/mapper/SysShopPullLogsMapper.java create mode 100644 tao-api/src/main/java/com/qihang/tao/service/SysShopPullLasttimeService.java create mode 100644 tao-api/src/main/java/com/qihang/tao/service/SysShopPullLogsService.java create mode 100644 tao-api/src/main/java/com/qihang/tao/service/impl/SysShopPullLasttimeServiceImpl.java create mode 100644 tao-api/src/main/java/com/qihang/tao/service/impl/SysShopPullLogsServiceImpl.java create mode 100644 tao-api/src/main/resources/mapper/SysShopPullLasttimeMapper.xml create mode 100644 tao-api/src/main/resources/mapper/SysShopPullLogsMapper.xml diff --git a/jd-api/src/main/java/com/qihang/jd/controller/GoodsApiController.java b/jd-api/src/main/java/com/qihang/jd/controller/GoodsApiController.java index 10ba5581..0c7fa58c 100644 --- a/jd-api/src/main/java/com/qihang/jd/controller/GoodsApiController.java +++ b/jd-api/src/main/java/com/qihang/jd/controller/GoodsApiController.java @@ -22,6 +22,7 @@ import com.jd.open.api.sdk.response.ware.SkuReadSearchSkuListResponse; import com.jd.open.api.sdk.response.ware.WareReadSearchWare4ValidResponse; import com.qihang.common.common.ApiResult; import com.qihang.common.common.ResultVo; +import com.qihang.common.enums.EnumShopType; import com.qihang.common.enums.HttpStatus; import com.qihang.jd.domain.JdGoods; import com.qihang.jd.domain.JdGoodsSku; @@ -133,6 +134,7 @@ public class GoodsApiController { logs.setShopId(params.getShopId()); + logs.setShopType(EnumShopType.JD.getIndex()); logs.setPullType("GOODS"); logs.setPullWay("主动拉取"); logs.setPullParams("{WareStatusValue:8,PageNo:1,PageSize:100}"); diff --git a/jd-api/src/main/java/com/qihang/jd/controller/OrderApiController.java b/jd-api/src/main/java/com/qihang/jd/controller/OrderApiController.java index 6a75d98a..a88de434 100644 --- a/jd-api/src/main/java/com/qihang/jd/controller/OrderApiController.java +++ b/jd-api/src/main/java/com/qihang/jd/controller/OrderApiController.java @@ -110,6 +110,7 @@ public class OrderApiController { pullLasttimeService.updateById(updateLasttime); } SysShopPullLogs logs = new SysShopPullLogs(); + logs.setShopType(EnumShopType.JD.getIndex()); logs.setShopId(params.getShopId()); logs.setPullType("ORDER"); logs.setPullWay("主动拉取"); diff --git a/jd-api/src/main/java/com/qihang/jd/controller/RefundApiController.java b/jd-api/src/main/java/com/qihang/jd/controller/RefundApiController.java index ed5706ba..0c9c70cd 100644 --- a/jd-api/src/main/java/com/qihang/jd/controller/RefundApiController.java +++ b/jd-api/src/main/java/com/qihang/jd/controller/RefundApiController.java @@ -294,6 +294,7 @@ public class RefundApiController { SysShopPullLogs logs = new SysShopPullLogs(); logs.setShopId(params.getShopId()); + logs.setShopType(EnumShopType.JD.getIndex()); logs.setPullType("REFUND"); logs.setPullWay("主动更新状态"); logs.setPullParams("{ApplyTimeBegin:" + startTimeStr + ",ApplyTimeEnd:" + endTimeStr + ",PageIndex:1,PageSize:100}"); diff --git a/jd-api/src/main/java/com/qihang/jd/domain/SysShopPullLogs.java b/jd-api/src/main/java/com/qihang/jd/domain/SysShopPullLogs.java index 9f23c1b5..c913b7bc 100644 --- a/jd-api/src/main/java/com/qihang/jd/domain/SysShopPullLogs.java +++ b/jd-api/src/main/java/com/qihang/jd/domain/SysShopPullLogs.java @@ -17,6 +17,7 @@ public class SysShopPullLogs implements Serializable { * 店铺id */ private Integer shopId; + private Integer shopType; /** * 类型(ORDER订单,GOODS商品,REFUN退款) @@ -78,6 +79,14 @@ public class SysShopPullLogs implements Serializable { this.shopId = shopId; } + public Integer getShopType() { + return shopType; + } + + public void setShopType(Integer shopType) { + this.shopType = shopType; + } + /** * 类型(ORDER订单,GOODS商品,REFUN退款) */ diff --git a/tao-api/src/main/java/com/qihang/tao/controller/OrderApiController.java b/tao-api/src/main/java/com/qihang/tao/controller/OrderApiController.java index 77b1495f..7e231faf 100644 --- a/tao-api/src/main/java/com/qihang/tao/controller/OrderApiController.java +++ b/tao-api/src/main/java/com/qihang/tao/controller/OrderApiController.java @@ -7,11 +7,15 @@ import com.qihang.common.enums.HttpStatus; import com.qihang.common.mq.MqMessage; import com.qihang.common.mq.MqType; import com.qihang.common.mq.MqUtils; +import com.qihang.tao.domain.SysShopPullLasttime; +import com.qihang.tao.domain.SysShopPullLogs; import com.qihang.tao.openApi.ApiCommon; //import com.qihang.tao.api.ApiResult; import com.qihang.tao.openApi.OrderApiHelper; import com.qihang.tao.common.TaoRequest; import com.qihang.tao.domain.TaoOrder; +import com.qihang.tao.service.SysShopPullLasttimeService; +import com.qihang.tao.service.SysShopPullLogsService; import com.qihang.tao.service.TaoOrderService; import com.taobao.api.ApiException; import lombok.AllArgsConstructor; @@ -19,6 +23,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.*; +import java.time.LocalDateTime; +import java.util.Date; + /** * 淘系订单更新 */ @@ -31,8 +38,8 @@ public class OrderApiController { private final TaoOrderService orderService; private final ApiCommon apiCommon; private final MqUtils mqUtils; - - + private final SysShopPullLogsService pullLogsService; + private final SysShopPullLasttimeService pullLasttimeService; /** * 增量更新订单 * @param req @@ -46,6 +53,9 @@ public class OrderApiController { if (req.getShopId() == null || req.getShopId() <= 0) { return ApiResult.build(HttpStatus.PARAMS_ERROR, "参数错误,没有店铺Id"); } + Date currDateTime = new Date(); + long beginTime = System.currentTimeMillis(); + var checkResult = apiCommon.checkBefore(req.getShopId()); if (checkResult.getCode() != HttpStatus.SUCCESS) { return ApiResult.build(checkResult.getCode(), checkResult.getMsg(),checkResult.getData()); @@ -58,9 +68,26 @@ public class OrderApiController { log.info("/**************增量更新tao订单,条件判断完成,开始更新。。。。。。****************/"); Long pageSize = 100l; Long pageIndex = 1l; + // 取当前时间30分钟前 +// LocalDateTime endTime = LocalDateTime.now(); +// LocalDateTime startTime = endTime.minus(60*24, ChronoUnit.MINUTES); + // 获取最后更新时间 + LocalDateTime startTime = null; + LocalDateTime endTime = null; + SysShopPullLasttime lasttime = pullLasttimeService.getLasttimeByShop(req.getShopId(), "ORDER"); + if(lasttime == null){ + endTime = LocalDateTime.now(); + startTime = endTime.minusDays(1); + }else{ + startTime = lasttime.getLasttime().minusHours(1);//取上次结束一个小时前 + endTime = startTime.plusDays(1);//取24小时 + if(endTime.isAfter(LocalDateTime.now())){ + endTime = LocalDateTime.now(); + } + } //第一次获取 - ApiResult upResult = OrderApiHelper.pullIncrementOrder(pageIndex, pageSize, url, appKey, appSecret, sessionKey); + ApiResult upResult = OrderApiHelper.pullIncrementOrder(startTime,endTime,pageIndex, pageSize, url, appKey, appSecret, sessionKey); if (upResult.getCode() != 0) { log.info("/**************主动更新tao订单:第一次获取结果失败:" + upResult.getMsg() + "****************/"); @@ -94,6 +121,35 @@ public class OrderApiController { } } + if(lasttime == null){ + // 新增 + SysShopPullLasttime insertLasttime = new SysShopPullLasttime(); + insertLasttime.setShopId(req.getShopId()); + insertLasttime.setCreateTime(new Date()); + insertLasttime.setLasttime(endTime); + insertLasttime.setPullType("ORDER"); + pullLasttimeService.save(insertLasttime); + + }else { + // 修改 + SysShopPullLasttime updateLasttime = new SysShopPullLasttime(); + updateLasttime.setId(lasttime.getId()); + updateLasttime.setUpdateTime(new Date()); + updateLasttime.setLasttime(endTime); + pullLasttimeService.updateById(updateLasttime); + } + + SysShopPullLogs logs = new SysShopPullLogs(); + logs.setShopType(EnumShopType.TAO.getIndex()); + logs.setShopId(req.getShopId()); + logs.setPullType("ORDER"); + logs.setPullWay("主动拉取"); + logs.setPullParams("{startTime:"+startTime+",endTime:"+endTime+"}"); + logs.setPullResult("{insertSuccess:"+insertSuccess+",hasExistOrder:"+hasExistOrder+",totalError:"+totalError+"}"); + logs.setPullTime(currDateTime); + logs.setDuration(System.currentTimeMillis() - beginTime); + pullLogsService.save(logs); + String msg = "成功,总共找到:" + upResult.getTotalRecords() + "条订单,新增:" + insertSuccess + "条,添加错误:" + totalError + "条,更新:" + hasExistOrder + "条"; log.info("/**************主动更新tao订单:END:" + msg + "****************/"); return ApiResult.build(HttpStatus.SUCCESS, msg); diff --git a/tao-api/src/main/java/com/qihang/tao/domain/SysShopPullLasttime.java b/tao-api/src/main/java/com/qihang/tao/domain/SysShopPullLasttime.java new file mode 100644 index 00000000..719e8be7 --- /dev/null +++ b/tao-api/src/main/java/com/qihang/tao/domain/SysShopPullLasttime.java @@ -0,0 +1,177 @@ +package com.qihang.tao.domain; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + * 店铺更新最后时间记录 + * @TableName sys_shop_pull_lasttime + */ +public class SysShopPullLasttime implements Serializable { + /** + * + */ + private Integer id; + + /** + * 店铺id + */ + private Integer shopId; + + /** + * 类型(ORDER:订单,REFUND:退款) + */ + private Object pullType; + + /** + * 最后更新时间 + */ + private LocalDateTime lasttime; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + private static final long serialVersionUID = 1L; + + /** + * + */ + public Integer getId() { + return id; + } + + /** + * + */ + public void setId(Integer id) { + this.id = id; + } + + /** + * 店铺id + */ + public Integer getShopId() { + return shopId; + } + + /** + * 店铺id + */ + public void setShopId(Integer shopId) { + this.shopId = shopId; + } + + /** + * 类型(ORDER:订单,REFUND:退款) + */ + public Object getPullType() { + return pullType; + } + + /** + * 类型(ORDER:订单,REFUND:退款) + */ + public void setPullType(Object pullType) { + this.pullType = pullType; + } + + /** + * 最后更新时间 + */ + public LocalDateTime getLasttime() { + return lasttime; + } + + /** + * 最后更新时间 + */ + public void setLasttime(LocalDateTime lasttime) { + this.lasttime = lasttime; + } + + /** + * 创建时间 + */ + public Date getCreateTime() { + return createTime; + } + + /** + * 创建时间 + */ + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + /** + * 更新时间 + */ + public Date getUpdateTime() { + return updateTime; + } + + /** + * 更新时间 + */ + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + @Override + public boolean equals(Object that) { + if (this == that) { + return true; + } + if (that == null) { + return false; + } + if (getClass() != that.getClass()) { + return false; + } + SysShopPullLasttime other = (SysShopPullLasttime) that; + return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) + && (this.getShopId() == null ? other.getShopId() == null : this.getShopId().equals(other.getShopId())) + && (this.getPullType() == null ? other.getPullType() == null : this.getPullType().equals(other.getPullType())) + && (this.getLasttime() == null ? other.getLasttime() == null : this.getLasttime().equals(other.getLasttime())) + && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime())) + && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime())); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); + result = prime * result + ((getShopId() == null) ? 0 : getShopId().hashCode()); + result = prime * result + ((getPullType() == null) ? 0 : getPullType().hashCode()); + result = prime * result + ((getLasttime() == null) ? 0 : getLasttime().hashCode()); + result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode()); + result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", shopId=").append(shopId); + sb.append(", pullType=").append(pullType); + sb.append(", lasttime=").append(lasttime); + sb.append(", createTime=").append(createTime); + sb.append(", updateTime=").append(updateTime); + sb.append(", serialVersionUID=").append(serialVersionUID); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/tao-api/src/main/java/com/qihang/tao/domain/SysShopPullLogs.java b/tao-api/src/main/java/com/qihang/tao/domain/SysShopPullLogs.java new file mode 100644 index 00000000..89a5d72e --- /dev/null +++ b/tao-api/src/main/java/com/qihang/tao/domain/SysShopPullLogs.java @@ -0,0 +1,242 @@ +package com.qihang.tao.domain; + +import java.io.Serializable; +import java.util.Date; + +/** + * 更新日志表 + * @TableName sys_shop_pull_logs + */ +public class SysShopPullLogs implements Serializable { + /** + * 主键Id + */ + private Long id; + + /** + * 店铺id + */ + private Integer shopId; + + /** + * 平台id + */ + private Integer shopType; + + /** + * 类型(ORDER订单,GOODS商品,REFUND退款) + */ + private Object pullType; + + /** + * 拉取方式(主动拉取、定时任务) + */ + private String pullWay; + + /** + * 拉取参数 + */ + private String pullParams; + + /** + * 拉取结果 + */ + private String pullResult; + + /** + * 拉取时间 + */ + private Date pullTime; + + /** + * 耗时(毫秒) + */ + private Long duration; + + private static final long serialVersionUID = 1L; + + /** + * 主键Id + */ + public Long getId() { + return id; + } + + /** + * 主键Id + */ + public void setId(Long id) { + this.id = id; + } + + /** + * 店铺id + */ + public Integer getShopId() { + return shopId; + } + + /** + * 店铺id + */ + public void setShopId(Integer shopId) { + this.shopId = shopId; + } + + /** + * 平台id + */ + public Integer getShopType() { + return shopType; + } + + /** + * 平台id + */ + public void setShopType(Integer shopType) { + this.shopType = shopType; + } + + /** + * 类型(ORDER订单,GOODS商品,REFUND退款) + */ + public Object getPullType() { + return pullType; + } + + /** + * 类型(ORDER订单,GOODS商品,REFUND退款) + */ + public void setPullType(Object pullType) { + this.pullType = pullType; + } + + /** + * 拉取方式(主动拉取、定时任务) + */ + public String getPullWay() { + return pullWay; + } + + /** + * 拉取方式(主动拉取、定时任务) + */ + public void setPullWay(String pullWay) { + this.pullWay = pullWay; + } + + /** + * 拉取参数 + */ + public String getPullParams() { + return pullParams; + } + + /** + * 拉取参数 + */ + public void setPullParams(String pullParams) { + this.pullParams = pullParams; + } + + /** + * 拉取结果 + */ + public String getPullResult() { + return pullResult; + } + + /** + * 拉取结果 + */ + public void setPullResult(String pullResult) { + this.pullResult = pullResult; + } + + /** + * 拉取时间 + */ + public Date getPullTime() { + return pullTime; + } + + /** + * 拉取时间 + */ + public void setPullTime(Date pullTime) { + this.pullTime = pullTime; + } + + /** + * 耗时(毫秒) + */ + public Long getDuration() { + return duration; + } + + /** + * 耗时(毫秒) + */ + public void setDuration(Long duration) { + this.duration = duration; + } + + @Override + public boolean equals(Object that) { + if (this == that) { + return true; + } + if (that == null) { + return false; + } + if (getClass() != that.getClass()) { + return false; + } + SysShopPullLogs other = (SysShopPullLogs) that; + return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) + && (this.getShopId() == null ? other.getShopId() == null : this.getShopId().equals(other.getShopId())) + && (this.getShopType() == null ? other.getShopType() == null : this.getShopType().equals(other.getShopType())) + && (this.getPullType() == null ? other.getPullType() == null : this.getPullType().equals(other.getPullType())) + && (this.getPullWay() == null ? other.getPullWay() == null : this.getPullWay().equals(other.getPullWay())) + && (this.getPullParams() == null ? other.getPullParams() == null : this.getPullParams().equals(other.getPullParams())) + && (this.getPullResult() == null ? other.getPullResult() == null : this.getPullResult().equals(other.getPullResult())) + && (this.getPullTime() == null ? other.getPullTime() == null : this.getPullTime().equals(other.getPullTime())) + && (this.getDuration() == null ? other.getDuration() == null : this.getDuration().equals(other.getDuration())); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); + result = prime * result + ((getShopId() == null) ? 0 : getShopId().hashCode()); + result = prime * result + ((getShopType() == null) ? 0 : getShopType().hashCode()); + result = prime * result + ((getPullType() == null) ? 0 : getPullType().hashCode()); + result = prime * result + ((getPullWay() == null) ? 0 : getPullWay().hashCode()); + result = prime * result + ((getPullParams() == null) ? 0 : getPullParams().hashCode()); + result = prime * result + ((getPullResult() == null) ? 0 : getPullResult().hashCode()); + result = prime * result + ((getPullTime() == null) ? 0 : getPullTime().hashCode()); + result = prime * result + ((getDuration() == null) ? 0 : getDuration().hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", shopId=").append(shopId); + sb.append(", shopType=").append(shopType); + sb.append(", pullType=").append(pullType); + sb.append(", pullWay=").append(pullWay); + sb.append(", pullParams=").append(pullParams); + sb.append(", pullResult=").append(pullResult); + sb.append(", pullTime=").append(pullTime); + sb.append(", duration=").append(duration); + sb.append(", serialVersionUID=").append(serialVersionUID); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/tao-api/src/main/java/com/qihang/tao/mapper/SysShopPullLasttimeMapper.java b/tao-api/src/main/java/com/qihang/tao/mapper/SysShopPullLasttimeMapper.java new file mode 100644 index 00000000..41aa3aa2 --- /dev/null +++ b/tao-api/src/main/java/com/qihang/tao/mapper/SysShopPullLasttimeMapper.java @@ -0,0 +1,18 @@ +package com.qihang.tao.mapper; + +import com.qihang.tao.domain.SysShopPullLasttime; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author qilip +* @description 针对表【sys_shop_pull_lasttime(店铺更新最后时间记录)】的数据库操作Mapper +* @createDate 2024-03-17 19:45:11 +* @Entity com.qihang.tao.domain.SysShopPullLasttime +*/ +public interface SysShopPullLasttimeMapper extends BaseMapper { + +} + + + + diff --git a/tao-api/src/main/java/com/qihang/tao/mapper/SysShopPullLogsMapper.java b/tao-api/src/main/java/com/qihang/tao/mapper/SysShopPullLogsMapper.java new file mode 100644 index 00000000..fedeefae --- /dev/null +++ b/tao-api/src/main/java/com/qihang/tao/mapper/SysShopPullLogsMapper.java @@ -0,0 +1,18 @@ +package com.qihang.tao.mapper; + +import com.qihang.tao.domain.SysShopPullLogs; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author qilip +* @description 针对表【sys_shop_pull_logs(更新日志表)】的数据库操作Mapper +* @createDate 2024-03-17 19:45:11 +* @Entity com.qihang.tao.domain.SysShopPullLogs +*/ +public interface SysShopPullLogsMapper extends BaseMapper { + +} + + + + diff --git a/tao-api/src/main/java/com/qihang/tao/openApi/OrderApiHelper.java b/tao-api/src/main/java/com/qihang/tao/openApi/OrderApiHelper.java index 28f38cc9..700566d9 100644 --- a/tao-api/src/main/java/com/qihang/tao/openApi/OrderApiHelper.java +++ b/tao-api/src/main/java/com/qihang/tao/openApi/OrderApiHelper.java @@ -21,6 +21,7 @@ import org.springframework.util.StringUtils; import java.time.LocalDateTime; import java.time.ZoneOffset; +import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.Date; @@ -119,12 +120,10 @@ public class OrderApiHelper { * @return * @throws ApiException */ - public static ApiResult pullIncrementOrder(Long pageNo, Long pageSize, String url, String appKey, String appSecret, String sessionKey) throws ApiException { - log.info("=======开增量拉取订单{}=========",LocalDateTime.now()); - // 取当前时间30分钟前 - LocalDateTime endTime = LocalDateTime.now(); - LocalDateTime startTime = endTime.minus(60*24, ChronoUnit.MINUTES); - + public static ApiResult pullIncrementOrder(LocalDateTime startTime,LocalDateTime endTime,Long pageNo, Long pageSize, String url, String appKey, String appSecret, String sessionKey) throws ApiException { + String startTimeStr = startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + String endTimeStr = endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + log.info("=======开始全量拉取TAO订单{},参数日期:{}-{}=========",LocalDateTime.now(),startTimeStr,endTimeStr); TaobaoClient client = new DefaultTaobaoClient(url, appKey, appSecret); TradesSoldIncrementGetRequest req = new TradesSoldIncrementGetRequest(); diff --git a/tao-api/src/main/java/com/qihang/tao/service/SysShopPullLasttimeService.java b/tao-api/src/main/java/com/qihang/tao/service/SysShopPullLasttimeService.java new file mode 100644 index 00000000..8445f354 --- /dev/null +++ b/tao-api/src/main/java/com/qihang/tao/service/SysShopPullLasttimeService.java @@ -0,0 +1,13 @@ +package com.qihang.tao.service; + +import com.qihang.tao.domain.SysShopPullLasttime; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author qilip +* @description 针对表【sys_shop_pull_lasttime(店铺更新最后时间记录)】的数据库操作Service +* @createDate 2024-03-17 19:45:11 +*/ +public interface SysShopPullLasttimeService extends IService { + SysShopPullLasttime getLasttimeByShop(Integer shopId,String pullType); +} diff --git a/tao-api/src/main/java/com/qihang/tao/service/SysShopPullLogsService.java b/tao-api/src/main/java/com/qihang/tao/service/SysShopPullLogsService.java new file mode 100644 index 00000000..dd3227fa --- /dev/null +++ b/tao-api/src/main/java/com/qihang/tao/service/SysShopPullLogsService.java @@ -0,0 +1,13 @@ +package com.qihang.tao.service; + +import com.qihang.tao.domain.SysShopPullLogs; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author qilip +* @description 针对表【sys_shop_pull_logs(更新日志表)】的数据库操作Service +* @createDate 2024-03-17 19:45:11 +*/ +public interface SysShopPullLogsService extends IService { + +} diff --git a/tao-api/src/main/java/com/qihang/tao/service/impl/SysShopPullLasttimeServiceImpl.java b/tao-api/src/main/java/com/qihang/tao/service/impl/SysShopPullLasttimeServiceImpl.java new file mode 100644 index 00000000..2c946da0 --- /dev/null +++ b/tao-api/src/main/java/com/qihang/tao/service/impl/SysShopPullLasttimeServiceImpl.java @@ -0,0 +1,34 @@ +package com.qihang.tao.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qihang.tao.domain.SysShopPullLasttime; +import com.qihang.tao.service.SysShopPullLasttimeService; +import com.qihang.tao.mapper.SysShopPullLasttimeMapper; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** +* @author qilip +* @description 针对表【sys_shop_pull_lasttime(店铺更新最后时间记录)】的数据库操作Service实现 +* @createDate 2024-03-17 19:45:11 +*/ +@AllArgsConstructor +@Service +public class SysShopPullLasttimeServiceImpl extends ServiceImpl + implements SysShopPullLasttimeService{ + private final SysShopPullLasttimeMapper mapper; + + @Override + public SysShopPullLasttime getLasttimeByShop(Integer shopId, String pullType) { + List sysShopPullLasttimes = mapper.selectList(new LambdaQueryWrapper().eq(SysShopPullLasttime::getShopId, shopId).eq(SysShopPullLasttime::getPullType, pullType)); + if(sysShopPullLasttimes != null && !sysShopPullLasttimes.isEmpty()) return sysShopPullLasttimes.get(0); + else return null; + } +} + + + + diff --git a/tao-api/src/main/java/com/qihang/tao/service/impl/SysShopPullLogsServiceImpl.java b/tao-api/src/main/java/com/qihang/tao/service/impl/SysShopPullLogsServiceImpl.java new file mode 100644 index 00000000..e08fcb63 --- /dev/null +++ b/tao-api/src/main/java/com/qihang/tao/service/impl/SysShopPullLogsServiceImpl.java @@ -0,0 +1,22 @@ +package com.qihang.tao.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qihang.tao.domain.SysShopPullLogs; +import com.qihang.tao.service.SysShopPullLogsService; +import com.qihang.tao.mapper.SysShopPullLogsMapper; +import org.springframework.stereotype.Service; + +/** +* @author qilip +* @description 针对表【sys_shop_pull_logs(更新日志表)】的数据库操作Service实现 +* @createDate 2024-03-17 19:45:11 +*/ +@Service +public class SysShopPullLogsServiceImpl extends ServiceImpl + implements SysShopPullLogsService{ + +} + + + + diff --git a/tao-api/src/main/java/com/qihang/tao/service/impl/SysUserServiceImpl.java b/tao-api/src/main/java/com/qihang/tao/service/impl/SysUserServiceImpl.java index c68a32fc..d650440b 100644 --- a/tao-api/src/main/java/com/qihang/tao/service/impl/SysUserServiceImpl.java +++ b/tao-api/src/main/java/com/qihang/tao/service/impl/SysUserServiceImpl.java @@ -290,4 +290,9 @@ public class SysUserServiceImpl implements ISysUserService return userMapper.deleteUserById(userId); } + @Override + public void checkUserDataScope(Long userId) { + + } + } diff --git a/tao-api/src/main/resources/mapper/SysShopPullLasttimeMapper.xml b/tao-api/src/main/resources/mapper/SysShopPullLasttimeMapper.xml new file mode 100644 index 00000000..1fba634c --- /dev/null +++ b/tao-api/src/main/resources/mapper/SysShopPullLasttimeMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + id,shop_id,pull_type, + lasttime,create_time,update_time + + diff --git a/tao-api/src/main/resources/mapper/SysShopPullLogsMapper.xml b/tao-api/src/main/resources/mapper/SysShopPullLogsMapper.xml new file mode 100644 index 00000000..11eb1352 --- /dev/null +++ b/tao-api/src/main/resources/mapper/SysShopPullLogsMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + id,shop_id,shop_type, + pull_type,pull_way,pull_params, + pull_result,pull_time,duration + +