From 9f8b2484a770eb6a4fa9247845cae8e9172295c0 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期四, 17 四月 2025 11:06:11 +0800 Subject: [PATCH] 暴露接口 --- src/main/java/com/gs/xiaomi/service/XM104Service.java | 76 +++++++++++++++++++++++++++++++++++--- 1 files changed, 70 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gs/xiaomi/service/XM104Service.java b/src/main/java/com/gs/xiaomi/service/XM104Service.java index 6c15296..8bb4e31 100644 --- a/src/main/java/com/gs/xiaomi/service/XM104Service.java +++ b/src/main/java/com/gs/xiaomi/service/XM104Service.java @@ -5,6 +5,8 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.gs.xiaomi.config.DataAcquisitionConfiguration; import com.gs.xiaomi.dto.*; import com.gs.xiaomi.entity.DeliveryDetail; @@ -38,16 +40,25 @@ private final LogisticsPackageService logisticsPackageService; public void getDb() { - String format = DateUtil.format(new Date(), "yyyy-MM-dd"); + getXM104Save(format); + } + + private void getXM104Save(String format) { + + BizDocument doc = new BizDocument(); + doc.setBizDate(format); + doc.setLifnr(DataAcquisitionConfiguration.LIFNR); + + getXM104(doc); + } + + private void getXM104(BizDocument doc) { ZfmWsApiRequest req = new ZfmWsApiRequest(); req.setIvCode(DataAcquisitionConfiguration.IV_CODEXM104); req.setIvEvent(""); req.setIvFlag(""); - BizDocument doc = new BizDocument(); - doc.setBizDate(format); - doc.setLifnr(DataAcquisitionConfiguration.LIFNR); req.setIvInfo(doc); req.setIvPass(DataAcquisitionConfiguration.getIvPass(DataAcquisitionConfiguration.IV_CODEXM104)); req.setIvUser(DataAcquisitionConfiguration.IV_USER); @@ -55,7 +66,7 @@ try { BizDocumentResult deliveryNo = getDeliveryNo(req); - if (CollUtil.isNotEmpty(deliveryNo.getEtHeaders())) { + if (CollUtil.isEmpty(deliveryNo.getEtHeaders())) { log.info("銆怋izDocumentResult銆戣繑鍥炲垪琛ㄤ负绌猴紝璺宠繃澶勭悊"); log.info("鑾峰彇鎺ュ彛鍒楄〃杩斿洖: {}", deliveryNo.getEvMessage()); return; @@ -96,7 +107,6 @@ log.error("銆愯鍙栧垪琛ㄥ紓甯搞�戝弬鏁�: {} 寮傚父: {}", JSON.toJSONString(req), e.getMessage(), e); throw new RuntimeException(e); } - } private BizDocumentResult getDeliveryNo(ZfmWsApiRequest request) throws Exception { @@ -110,6 +120,30 @@ List<EtHeader> etHeaders = result.getEtHeaders(); etHeaders.forEach(etHeader -> { + + LambdaQueryWrapper<DeliveryMain> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DeliveryMain::getZzasn, etHeader.getZzasn()); + + DeliveryMain one = deliveryMainService.getOne(queryWrapper, false); + + if (one != null) { + deliveryMainService.removeById(one.getId()); + + LambdaUpdateWrapper<DeliveryDetail> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(DeliveryDetail::getPid, one.getId()); + deliveryDetailService.remove(updateWrapper); + + //PackageDetail + LambdaUpdateWrapper<PackageDetail> updateWrapper1 = new LambdaUpdateWrapper<>(); + updateWrapper1.eq(PackageDetail::getPid, one.getId()); + packageDetailService.remove(updateWrapper1); + + //LogisticsPackage + LambdaUpdateWrapper<LogisticsPackage> updateWrapper2 = new LambdaUpdateWrapper<>(); + updateWrapper2.eq(LogisticsPackage::getPid, one.getId()); + logisticsPackageService.remove(updateWrapper2); + } + DeliveryMain deliveryMain = new DeliveryMain(); BeanUtil.copyProperties(etHeader, deliveryMain); @@ -162,6 +196,36 @@ } + deliveryMainService.callPdaReceiptBtn("閫佽揣鍗曠鏀禰BTNOK[PL017[" + etHeader.getZzasn(), ""); }); } + + public boolean manualSynchronization(NumbericalDto numbericalDto) { + try { + String[] asns = numbericalDto.getAsn().split(","); + for (String asn : asns) { + BizDocument doc = new BizDocument(); + doc.setLifnr(DataAcquisitionConfiguration.LIFNR); + doc.setZzasn(asn); + getXM104(doc); + } + return true; + } catch (Exception e) { + log.error("銆愭墜鍔ㄨ鍙朅SN寮傚父銆� 寮傚父: {}", e.getMessage(), e); + return false; + } + } + + public boolean manualSynchronizationByDate(NumbericalDto numbericalDto) { + try { + BizDocument doc = new BizDocument(); + doc.setLifnr(DataAcquisitionConfiguration.LIFNR); + doc.setBizDate(numbericalDto.getDate()); + getXM104(doc); + return true; + } catch (Exception e) { + log.error("銆愭墜鍔ㄨ鍙朅SN寮傚父銆� 寮傚父: {}", e.getMessage(), e); + return false; + } + } } \ No newline at end of file -- Gitblit v1.9.3