From 022f73dd9ee27b4fd4da78ab919f844bfd71934d Mon Sep 17 00:00:00 2001
From: dev <182542500@qq.com>
Date: Fri, 28 Mar 2025 18:13:57 +0800
Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=AE=A1=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.run/asinkj-auth.run.xml | 19 ++++-
asinkj-api/asinkj-api-amz/pom.xml | 27 ++++++
.../asinkj/amz/api/RemoteFBADataService.java | 8 ++
asinkj-api/asinkj-api-bom/pom.xml | 6 ++
asinkj-api/pom.xml | 1 +
asinkj-auth/Dockerfile | 1 +
asinkj-biz/asinkj-amz/pom.xml | 5 ++
.../BizLogisticsOrderDetailController.java | 15 ++++
.../BizLogisticsQuoteController.java | 14 +++-
.../controller/SysAmazonStoreController.java | 24 ++++++
.../asinkj/amz/domain/BizInquiryRequest.java | 5 ++
.../asinkj/amz/domain/BizLogisticsQuote.java | 4 +
.../domain/bo/BizLogisticsOrderDetailBo.java | 2 +
.../amz/domain/bo/SysAmazonStoreBo.java | 11 ---
.../amz/domain/vo/BizInquiryRequestVo.java | 12 ++-
.../domain/vo/BizLogisticsOrderDetailVo.java | 2 +
.../amz/domain/vo/BizLogisticsOrderVo.java | 5 ++
.../amz/domain/vo/BizLogisticsQuoteVo.java | 12 ++-
.../amz/dubbo/RemoteFBADataServiceImpl.java | 23 +++++
.../amz/mapper/BizLogisticsChannelMapper.java | 3 +
.../amz/mapper/BizLogisticsQuoteMapper.java | 5 ++
.../IBizLogisticsOrderDetailService.java | 2 +
.../service/IBizLogisticsQuoteService.java | 3 +
.../amz/service/ISysAmazonStoreService.java | 4 +
.../impl/BizInquiryRequestServiceImpl.java | 16 +---
.../BizLogisticsOrderDetailServiceImpl.java | 9 ++
.../impl/BizLogisticsOrderServiceImpl.java | 44 ++++++++--
.../impl/BizLogisticsQuoteServiceImpl.java | 20 +++++
.../impl/SysAmazonStoreServiceImpl.java | 84 ++++++++++++++++++-
.../main/java/org/asinkj/utils/HttpUtil.java | 53 +++++++++++-
.../mapper/amz/BizLogisticsChannelMapper.xml | 3 +
.../mapper/amz/BizLogisticsQuoteMapper.xml | 21 +++++
.../asinkj-amz/src/test/java/testAmzData.java | 7 ++
asinkj-modules/asinkj-job/pom.xml | 5 ++
.../job/snailjob/AmzPullFBAJobExecutor.java | 55 ++++++++++++
35 files changed, 485 insertions(+), 45 deletions(-)
create mode 100644 asinkj-api/asinkj-api-amz/pom.xml
create mode 100644 asinkj-api/asinkj-api-amz/src/main/java/org/asinkj/amz/api/RemoteFBADataService.java
create mode 100644 asinkj-biz/asinkj-amz/src/main/java/org/asinkj/amz/dubbo/RemoteFBADataServiceImpl.java
create mode 100644 asinkj-biz/asinkj-amz/src/test/java/testAmzData.java
create mode 100644 asinkj-modules/asinkj-job/src/main/java/org/asinkj/job/snailjob/AmzPullFBAJobExecutor.java
diff --git a/.run/asinkj-auth.run.xml b/.run/asinkj-auth.run.xml
index 0c87a06..c4d1850 100644
--- a/.run/asinkj-auth.run.xml
+++ b/.run/asinkj-auth.run.xml
@@ -1,12 +1,23 @@
-
+
-
+
+
+
-
+
+
+
-
+
\ No newline at end of file
diff --git a/asinkj-api/asinkj-api-amz/pom.xml b/asinkj-api/asinkj-api-amz/pom.xml
new file mode 100644
index 0000000..35689df
--- /dev/null
+++ b/asinkj-api/asinkj-api-amz/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+
+ org.asinkj
+ asinkj-api
+ ${revision}
+
+
+ asinkj-api-amz
+
+
+ asinkj-api-amz amz服务接口模块
+
+
+
+
+
+
+ org.asinkj
+ asinkj-common-core
+
+
+
+
diff --git a/asinkj-api/asinkj-api-amz/src/main/java/org/asinkj/amz/api/RemoteFBADataService.java b/asinkj-api/asinkj-api-amz/src/main/java/org/asinkj/amz/api/RemoteFBADataService.java
new file mode 100644
index 0000000..9b40e3d
--- /dev/null
+++ b/asinkj-api/asinkj-api-amz/src/main/java/org/asinkj/amz/api/RemoteFBADataService.java
@@ -0,0 +1,8 @@
+package org.asinkj.amz.api;
+
+import org.springframework.stereotype.Service;
+
+@Service
+public interface RemoteFBADataService {
+ void pullAmzFbaDataToken(String startDate, String endDate) throws Exception;
+}
diff --git a/asinkj-api/asinkj-api-bom/pom.xml b/asinkj-api/asinkj-api-bom/pom.xml
index e57253e..66a72ac 100644
--- a/asinkj-api/asinkj-api-bom/pom.xml
+++ b/asinkj-api/asinkj-api-bom/pom.xml
@@ -41,6 +41,12 @@
${revision}
+
+ org.asinkj
+ asinkj-api-amz
+ ${revision}
+
+
diff --git a/asinkj-api/pom.xml b/asinkj-api/pom.xml
index 144bf77..b33fea9 100644
--- a/asinkj-api/pom.xml
+++ b/asinkj-api/pom.xml
@@ -13,6 +13,7 @@
asinkj-api-system
asinkj-api-resource
asinkj-api-workflow
+ asinkj-api-amz
asinkj-api
diff --git a/asinkj-auth/Dockerfile b/asinkj-auth/Dockerfile
index 73f9bf0..b92902b 100644
--- a/asinkj-auth/Dockerfile
+++ b/asinkj-auth/Dockerfile
@@ -18,6 +18,7 @@ EXPOSE ${SERVER_PORT}
ADD ./target/asinkj-auth.jar ./app.jar
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
+ -Dspring.profiles.active='prod' \ # 动态读取环境变量
#-Dskywalking.agent.service_name=asinkj-auth \
#-javaagent:/asinkj/skywalking/agent/skywalking-agent.jar \
-XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
diff --git a/asinkj-biz/asinkj-amz/pom.xml b/asinkj-biz/asinkj-amz/pom.xml
index 5ffcd9e..cfc1f4a 100644
--- a/asinkj-biz/asinkj-amz/pom.xml
+++ b/asinkj-biz/asinkj-amz/pom.xml
@@ -105,6 +105,11 @@
asinkj-api-resource
+
+ org.asinkj
+ asinkj-api-amz
+
+
com.squareup.okhttp3
okhttp
diff --git a/asinkj-biz/asinkj-amz/src/main/java/org/asinkj/amz/controller/BizLogisticsOrderDetailController.java b/asinkj-biz/asinkj-amz/src/main/java/org/asinkj/amz/controller/BizLogisticsOrderDetailController.java
index 3077bda..2230fc7 100644
--- a/asinkj-biz/asinkj-amz/src/main/java/org/asinkj/amz/controller/BizLogisticsOrderDetailController.java
+++ b/asinkj-biz/asinkj-amz/src/main/java/org/asinkj/amz/controller/BizLogisticsOrderDetailController.java
@@ -103,4 +103,19 @@ public class BizLogisticsOrderDetailController extends BaseController {
@PathVariable Long[] ids) {
return toAjax(bizLogisticsOrderDetailService.deleteWithValidByIds(List.of(ids), true));
}
+
+ /**
+ * 新增物流订单明细(按箱子维度存储)
+ */
+ @SaCheckPermission("amz:logisticsOrderDetail:edit")
+ @Log(title = "批量更新物流订单明细", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping("/updateList")
+ public R updateList(@Validated(AddGroup.class) @RequestBody List list) {
+ bizLogisticsOrderDetailService.updateList(list);
+
+ return R.ok();
+ }
+
+
}
diff --git a/asinkj-biz/asinkj-amz/src/main/java/org/asinkj/amz/controller/BizLogisticsQuoteController.java b/asinkj-biz/asinkj-amz/src/main/java/org/asinkj/amz/controller/BizLogisticsQuoteController.java
index 39b16e7..b543400 100644
--- a/asinkj-biz/asinkj-amz/src/main/java/org/asinkj/amz/controller/BizLogisticsQuoteController.java
+++ b/asinkj-biz/asinkj-amz/src/main/java/org/asinkj/amz/controller/BizLogisticsQuoteController.java
@@ -1,6 +1,7 @@
package org.asinkj.amz.controller;
import java.util.List;
+import java.util.Map;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
@@ -112,9 +113,9 @@ public class BizLogisticsQuoteController extends BaseController {
@GetMapping("/today-quote-status")
@RepeatSubmit()
- public ResponseEntity> getTodayQuoteStatus() {
+ public R> getTodayQuoteStatus() {
List statusList = bizLogisticsQuoteService.getTodayQuoteStatus();
- return ResponseEntity.ok(statusList);
+ return R.ok(statusList);
}
/**
@@ -140,4 +141,13 @@ public class BizLogisticsQuoteController extends BaseController {
@PathVariable Long[] ids) {
return toAjax(bizLogisticsQuoteService.deleteWithValidByIds(List.of(ids), true));
}
+
+
+ @SaCheckPermission("amz:logisticsQuote:query")
+ @GetMapping("/report")
+ public R>> getInfo() {
+ List
+
+ org.asinkj
+ asinkj-api-amz
+
+
diff --git a/asinkj-modules/asinkj-job/src/main/java/org/asinkj/job/snailjob/AmzPullFBAJobExecutor.java b/asinkj-modules/asinkj-job/src/main/java/org/asinkj/job/snailjob/AmzPullFBAJobExecutor.java
new file mode 100644
index 0000000..862bbc3
--- /dev/null
+++ b/asinkj-modules/asinkj-job/src/main/java/org/asinkj/job/snailjob/AmzPullFBAJobExecutor.java
@@ -0,0 +1,55 @@
+package org.asinkj.job.snailjob;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
+import com.aizuda.snailjob.client.job.core.dto.JobArgs;
+import com.aizuda.snailjob.client.model.ExecuteResult;
+import com.aizuda.snailjob.common.core.util.JsonUtil;
+import com.aizuda.snailjob.common.log.SnailJobLog;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.asinkj.amz.api.RemoteFBADataService;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import javax.annotation.Resource;
+
+/**
+ * @author opensnail
+ * @date 2024-05-17
+ */
+@Component
+@JobExecutor(name = "amzPullFBAJobExecutor")
+@Slf4j
+public class AmzPullFBAJobExecutor {
+
+ @DubboReference
+ private RemoteFBADataService remoteFBADataService;
+
+ public ExecuteResult jobExecute(JobArgs jobArgs) throws Exception {
+ SnailJobLog.LOCAL.info("amzPullFBAJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs));
+ SnailJobLog.REMOTE.info("amzPullFBAJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs));
+ log.info("amzPullFBAJobExecutor {}", jobArgs.getJobParams());
+ //昨天的日期yyyy-MM-dd
+ // 获取昨天的日期
+ if ("yesterday".equals(jobArgs.getJobParams())) {
+ DateTime yesterday = DateUtil.yesterday();
+ String yesterdayString = yesterday.toString("yyyy-MM-dd");
+ SnailJobLog.LOCAL.info("yesterdayString. yesterdayString:{}", yesterdayString);
+ //获取今天的日期
+ DateTime today = DateUtil.date();
+ String todayString = today.toString("yyyy-MM-dd");
+ SnailJobLog.LOCAL.info("todayString. todayString:{}", todayString);
+ remoteFBADataService.pullAmzFbaDataToken(yesterdayString, todayString);
+ return ExecuteResult.success("获取从昨天开始的FBA货件数据");
+ } else if ("today".equals(jobArgs.getJobParams())) {
+ DateTime today = DateUtil.date();
+ String todayString = today.toString("yyyy-MM-dd");
+ SnailJobLog.LOCAL.info("todayString. todayString:{}", todayString);
+ remoteFBADataService.pullAmzFbaDataToken(todayString, todayString);
+ return ExecuteResult.success("获取今天的FBA货件数据");
+ }
+ return ExecuteResult.success("请指定参数yesterday或者today");
+ }
+}