From 995cae8b52bf0836fa2b0d029404a7ad2ddc8bc0 Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期五, 18 四月 2025 14:07:43 +0800
Subject: [PATCH] work——order 同步接口更新
---
aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml | 7 +++
aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderJobMapper.java | 1
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java | 104 ++++++++++++++++++++++++++++------------------------
aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobLogMapper.xml | 1
4 files changed, 64 insertions(+), 49 deletions(-)
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderJobMapper.java b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderJobMapper.java
index ae03c8f..067ad2d 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderJobMapper.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderJobMapper.java
@@ -63,4 +63,5 @@
int batchInsertApsWorkOrderJob(List<ApsWorkOrderJob> jobs);
+ int deleteWorkOrderJobByOrderIds(List<String> orderIds);
}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java
index ca8dfd4..3f8a10b 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java
@@ -121,65 +121,71 @@
}
- @Transactional
+
@Override
public void batchInsertApsWorkOrderJob(ApsWorkOrderJobParam param) {
- HttpHeaders headers = new HttpHeaders();
- headers.setContentType(MediaType.APPLICATION_JSON);
+
/*鏍规嵁鍙傛暟涓綋鍓嶉〉闈� 鍜� 瑕佺洰鏍囬〉闈� 杩涜寰幆*/
for (int idx=param.getPageIndex(); idx<=param.getToPageIndex(); idx++){
- /*璁剧疆褰撳墠椤甸潰*/
param.setPageIndex(idx);
- ApsWorkOrderJobLog log = new ApsWorkOrderJobLog();
- String requestString = JSONObject.toJSONString(param);
- HttpEntity<String> request = new HttpEntity<>(requestString, headers);
- ResponseEntity<String> response = restTemplate.postForEntity(getWorkOrderUrl, request, String.class);
- log.setRequestData(requestString);
- log.setPageNum(Long.valueOf(param.getPageIndex()));
- log.setPageCount(Long.valueOf(param.getPageSize()));
- log.setCreateTime(DateUtils.getNowDate());
- log.setBizType("work_order");
- jobLogMapper.insertApsWorkOrderJobLog(log);
- if (response.getStatusCode().is2xxSuccessful()) {
- JSONObject responseBodyJson = JSONObject.parseObject(response.getBody());
- if ("200".equals(responseBodyJson.getString("status"))) {
- JSONArray result = responseBodyJson.getJSONArray("data");
- if (result != null&& !result.isEmpty()) {
- int ct= batchSave(param, result);
- if(ct>0){
- log.setResult("ok save "+ct);
- jobLogMapper.updateApsWorkOrderJobLog(log);
- return;
- }else{
-
- log.setResult("ok save 0");
- jobLogMapper.updateApsWorkOrderJobLog(log);
- return;
- }
- }else {
- log.setResult("ok receive 0");
- jobLogMapper.updateApsWorkOrderJobLog(log);
- return;
- }
- } else {
- log.setResponseData(response.getBody());
- log.setResult("fail");
- jobLogMapper.updateApsWorkOrderJobLog(log);
- return;
- }
- } else {
- log.setResponseData(response.getBody());
- log.setResult("fail");
- jobLogMapper.updateApsWorkOrderJobLog(log);
+ if (!batchSaveByPager(param)) {
return;
}
}
}
-
@Transactional
- public int batchSave(ApsWorkOrderJobParam param, JSONArray result) {
+ public boolean batchSaveByPager(ApsWorkOrderJobParam param) {
+ HttpHeaders headers = new HttpHeaders();
+ headers.setContentType(MediaType.APPLICATION_JSON);
+ /*璁剧疆褰撳墠椤甸潰*/
+ ApsWorkOrderJobLog log = new ApsWorkOrderJobLog();
+ String requestString = JSONObject.toJSONString(param);
+ HttpEntity<String> request = new HttpEntity<>(requestString, headers);
+ ResponseEntity<String> response = restTemplate.postForEntity(getWorkOrderUrl, request, String.class);
+ log.setRequestData(requestString);
+ log.setPageNum(Long.valueOf(param.getPageIndex()));
+ log.setPageCount(Long.valueOf(param.getPageSize()));
+ log.setCreateTime(DateUtils.getNowDate());
+ log.setBizType("work_order");
+ jobLogMapper.insertApsWorkOrderJobLog(log);
+ if (response.getStatusCode().is2xxSuccessful()) {
+ JSONObject responseBodyJson = JSONObject.parseObject(response.getBody());
+ if ("200".equals(responseBodyJson.getString("status"))) {
+ JSONArray result = responseBodyJson.getJSONArray("data");
+ if (result != null&& !result.isEmpty()) {
+ int ct= batchInsertApsWorkOrderJob(param, result);
+ if(ct>0){
+ log.setResult("ok save "+ct);
+ jobLogMapper.updateApsWorkOrderJobLog(log);
+ }else{
+ log.setResult("ok save 0");
+ jobLogMapper.updateApsWorkOrderJobLog(log);
+ return true;
+ }
+ }else {
+ log.setResult("ok receive 0");
+ jobLogMapper.updateApsWorkOrderJobLog(log);
+ return true;
+ }
+ } else {
+ log.setResponseData(response.getBody());
+ log.setResult("fail");
+ jobLogMapper.updateApsWorkOrderJobLog(log);
+ return true;
+ }
+ return true;
+ } else {
+ log.setResponseData(response.getBody());
+ log.setResult("fail");
+ jobLogMapper.updateApsWorkOrderJobLog(log);
+ return true;
+ }
+ }
+ @Transactional
+ public int batchInsertApsWorkOrderJob(ApsWorkOrderJobParam param, JSONArray result) {
List<ApsWorkOrderJob> jobs = new ArrayList<>();
+ List<String> orderIds = new ArrayList<>();
for (int i = 0; i < result.size(); i++) {
ApsWorkOrderJob order = result.getObject(i, ApsWorkOrderJob.class);
JSONObject jsonObject = result.getJSONObject(i);
@@ -190,8 +196,10 @@
order.setDelFlag("0");
order.setProcessStatus("0");
jobs.add(order);
+ orderIds.add(order.getOrderId());
}
- return apsWorkOrderJobMapper.batchInsertApsWorkOrderJob(jobs);
+ apsWorkOrderJobMapper.deleteWorkOrderJobByOrderIds(orderIds);
+ return apsWorkOrderJobMapper.batchInsertApsWorkOrderJob(jobs);
}
}
diff --git a/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobLogMapper.xml b/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobLogMapper.xml
index 453054e..5424f24 100644
--- a/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobLogMapper.xml
+++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobLogMapper.xml
@@ -92,4 +92,5 @@
#{id}
</foreach>
</delete>
+
</mapper>
\ No newline at end of file
diff --git a/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml b/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml
index ec743ea..229d57a 100644
--- a/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml
+++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml
@@ -275,5 +275,10 @@
)
</foreach>
</insert>
-
+ <delete id="deleteWorkOrderJobByOrderIds" parameterType="String">
+ delete from aps_work_order_job where order_id in
+ <foreach item="id" collection="orderIds" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </delete>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3