From 3c27bc3bc0dd16cdcd866559555380ef772c9947 Mon Sep 17 00:00:00 2001 From: lzq <2495532633@qq.com> Date: Thu, 5 Feb 2026 15:14:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A8=E9=80=81=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/njzscloud/supervisory/hsoa/Hsoa.java | 6 ++- .../supervisory/hsoa/constant/PushType.java | 19 +++++++++ .../hsoa/controller/HsoaController.java | 21 ++++++++++ .../supervisory/hsoa/mapper/HsoaMapper.java | 9 ++++ .../hsoa/pojo/entity/HsoaRecode.java | 27 ++++++++++++ .../supervisory/hsoa/service/HsoaService.java | 42 +++++++++++++++++-- .../order/pojo/result/OrderExportResult.java | 5 --- .../order/service/OrderInfoService.java | 24 +++++++++-- 8 files changed, 140 insertions(+), 13 deletions(-) create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/constant/PushType.java create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/mapper/HsoaMapper.java create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/pojo/entity/HsoaRecode.java diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/Hsoa.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/Hsoa.java index 031015e..2c875dc 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/Hsoa.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/Hsoa.java @@ -117,7 +117,11 @@ public class Hsoa { } } - public static void relogin() { + public synchronized static void relogin() { + if (StrUtil.isBlank(refTnt) || StrUtil.isBlank(tnt)) { + log.info("无需重置登录TOKEN"); + return; + } try { wlock.lock(); log.info("重置登录TOKEN"); diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/constant/PushType.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/constant/PushType.java new file mode 100644 index 0000000..666627a --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/constant/PushType.java @@ -0,0 +1,19 @@ +package com.njzscloud.supervisory.hsoa.constant; + +import com.njzscloud.common.core.ienum.DictStr; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +/** + * 字典代码:push_type + * 字典名称:审核状态 + */ +@Getter +@RequiredArgsConstructor +public enum PushType implements DictStr { + GuiJi("GuiJi", "车辆轨迹推送"), + LianDan("LianDan", "联单推送"), + ; + private final String val; + private final String txt; +} diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/controller/HsoaController.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/controller/HsoaController.java index 76e0a5f..b04bd86 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/controller/HsoaController.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/controller/HsoaController.java @@ -1,7 +1,11 @@ package com.njzscloud.supervisory.hsoa.controller; import com.njzscloud.common.core.utils.R; +import com.njzscloud.common.mp.support.PageParam; +import com.njzscloud.common.mp.support.PageResult; import com.njzscloud.supervisory.hsoa.Hsoa; +import com.njzscloud.supervisory.hsoa.constant.PushType; +import com.njzscloud.supervisory.hsoa.pojo.entity.HsoaRecode; import com.njzscloud.supervisory.hsoa.pojo.param.PushProvincialSaveParam; import com.njzscloud.supervisory.hsoa.pojo.param.PushVehicleTrajectoryParam; import com.njzscloud.supervisory.hsoa.pojo.result.HsoaResult; @@ -9,6 +13,8 @@ import com.njzscloud.supervisory.hsoa.service.HsoaService; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.time.LocalDateTime; + @RestController @RequiredArgsConstructor @RequestMapping("/hsoa") @@ -28,4 +34,19 @@ public class HsoaController { return R.success(hsoaResult); } + /** + * 分页查询 + */ + @GetMapping("/paging") + public R> paging(PageParam pageParam, + @RequestParam("pushType") PushType pushType, + @RequestParam(value = "orderSn", required = false) String orderSn, + @RequestParam(value = "licensePlate", required = false) String licensePlate, + @RequestParam(value = "success", required = false) Boolean success, + @RequestParam(value = "startTime", required = false) LocalDateTime startTime, + @RequestParam(value = "endTime", required = false) LocalDateTime endTime + ) { + return R.success(hsoaService.paging(pageParam, orderSn, licensePlate, pushType, success, startTime, endTime)); + } + } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/mapper/HsoaMapper.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/mapper/HsoaMapper.java new file mode 100644 index 0000000..f41d7ec --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/mapper/HsoaMapper.java @@ -0,0 +1,9 @@ +package com.njzscloud.supervisory.hsoa.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njzscloud.supervisory.hsoa.pojo.entity.HsoaRecode; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface HsoaMapper extends BaseMapper { +} diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/pojo/entity/HsoaRecode.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/pojo/entity/HsoaRecode.java new file mode 100644 index 0000000..4031513 --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/pojo/entity/HsoaRecode.java @@ -0,0 +1,27 @@ +package com.njzscloud.supervisory.hsoa.pojo.entity; + + +import com.baomidou.mybatisplus.annotation.*; +import com.njzscloud.supervisory.hsoa.constant.PushType; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +@Getter +@Setter +@ToString +@Accessors(chain = true) +@TableName("hsoa_recode") +public class HsoaRecode { + @TableId(type = IdType.ASSIGN_ID) + private Long id; + private Long orderId; + private String orderSn; + private String licensePlate; + private PushType pushType; + private Boolean success; + + @TableField(fill = FieldFill.INSERT) + private String createTime; +} diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/service/HsoaService.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/service/HsoaService.java index ee246dd..9a4efcb 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/service/HsoaService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/hsoa/service/HsoaService.java @@ -1,17 +1,39 @@ package com.njzscloud.supervisory.hsoa.service; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njzscloud.common.core.jackson.Jackson; +import com.njzscloud.common.core.tuple.Tuple2; +import com.njzscloud.common.core.utils.ImgUtil; +import com.njzscloud.common.mp.support.PageParam; +import com.njzscloud.common.mp.support.PageResult; +import com.njzscloud.common.oss.util.AliOSS; import com.njzscloud.supervisory.hsoa.Hsoa; +import com.njzscloud.supervisory.hsoa.constant.PushType; +import com.njzscloud.supervisory.hsoa.mapper.HsoaMapper; +import com.njzscloud.supervisory.hsoa.pojo.entity.HsoaRecode; import com.njzscloud.supervisory.hsoa.pojo.param.PushProvincialSaveParam; +import com.njzscloud.supervisory.hsoa.pojo.param.PushProvincialUploadParam; import com.njzscloud.supervisory.hsoa.pojo.result.HsoaResult; +import com.njzscloud.supervisory.hsoa.pojo.result.UploadResult; import com.njzscloud.supervisory.order.pojo.result.OrderPagingResult; +import com.njzscloud.supervisory.order.utils.FileUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; import java.math.BigDecimal; import java.math.RoundingMode; +import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; @@ -20,7 +42,7 @@ import static com.njzscloud.supervisory.hsoa.pojo.param.PushProvincialUploadPara @Slf4j @Service @RequiredArgsConstructor -public class HsoaService { +public class HsoaService extends ServiceImpl implements IService { // private final OrderInfoService orderInfoService; /* private final TruckLocationTrackService truckLocationTrackService; private final AtomicBoolean run = new AtomicBoolean(false); @@ -245,8 +267,7 @@ public class HsoaService { } private String upload(List urls, String uploadPath) { - return null; - /* if (CollUtil.isEmpty(urls)) return null; + if (CollUtil.isEmpty(urls)) return null; String url = urls.get(0); if (StrUtil.isBlank(url)) return null; url = url.substring(1); @@ -271,6 +292,19 @@ public class HsoaService { throw new RuntimeException(e); } finally { IoUtil.close(in); - } */ + } + } + + public PageResult paging(PageParam pageParam, String orderSn, String licensePlate, PushType pushType, Boolean success, LocalDateTime startTime, LocalDateTime endTime) { + Page page = pageParam.toPage(); + page.addOrder(OrderItem.desc("create_time"), OrderItem.desc("id")); + return PageResult.of(this.page(page, Wrappers.lambdaQuery() + .eq(StrUtil.isNotBlank(orderSn), HsoaRecode::getOrderSn, orderSn) + .eq(StrUtil.isNotBlank(licensePlate), HsoaRecode::getLicensePlate, licensePlate) + .eq(pushType != null, HsoaRecode::getPushType, pushType) + .eq(success != null, HsoaRecode::getSuccess, success) + .ge(startTime != null, HsoaRecode::getCreateTime, startTime) + .le(endTime != null, HsoaRecode::getCreateTime, endTime) + )); } } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/result/OrderExportResult.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/result/OrderExportResult.java index 0dac8f2..4d6740f 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/result/OrderExportResult.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/pojo/result/OrderExportResult.java @@ -26,11 +26,6 @@ public class OrderExportResult { */ private Integer sort; - /** - * 订单号 - */ - private String sn; - /** * 清运时间(日期) */ diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/service/OrderInfoService.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/service/OrderInfoService.java index 57eed32..2cf03ae 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/service/OrderInfoService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/order/service/OrderInfoService.java @@ -38,6 +38,8 @@ import com.njzscloud.supervisory.expense.pojo.entity.ExpenseItemsConfigEntity; import com.njzscloud.supervisory.expense.service.ExpenseItemsConfigService; import com.njzscloud.supervisory.goods.contant.MoneyStrategy; import com.njzscloud.supervisory.hsoa.Hsoa; +import com.njzscloud.supervisory.hsoa.constant.PushType; +import com.njzscloud.supervisory.hsoa.pojo.entity.HsoaRecode; import com.njzscloud.supervisory.hsoa.pojo.param.PushVehicleTrajectoryParam; import com.njzscloud.supervisory.hsoa.pojo.result.HsoaResult; import com.njzscloud.supervisory.hsoa.service.HsoaService; @@ -1348,18 +1350,25 @@ public class OrderInfoService extends ServiceImpl { + CompletableFuture.runAsync(() -> { OrderPagingResult detail = this.detail(orderId); HsoaResult result = hsoaService.pushProvincialSave(detail); - + HsoaRecode hsoaRecode = new HsoaRecode() + .setOrderId(orderId) + .setOrderSn(detail.getSn()) + .setLicensePlate(detail.getLicensePlate()) + .setPushType(PushType.LianDan); if (result == null || !result.isSuccess()) { Hsoa.relogin(); log.error("推送订单数据失败,数据Id:{}", entity.getId()); + hsoaService.save(hsoaRecode.setSuccess(Boolean.FALSE)); + } else { + hsoaService.save(hsoaRecode.setSuccess(Boolean.TRUE)); } }).exceptionally(e -> { log.error("推送订单数据失败,数据Id:{}", entity.getId(), e); return null; - }); */ + }); // 出厂付费 if (OrderCategory.PuTong.equals(orderInfoEntity.getOrderCategory()) && MoneyWay.OUT.getVal().equals(entity.getMoneyWay())) { @@ -1931,10 +1940,19 @@ public class OrderInfoService extends ServiceImpl result = Hsoa.pushVehicleTrajectory(param); if (result == null || !result.isSuccess()) { Hsoa.relogin(); log.error("推送定位数据失败,数据Id:{}", entity.getId()); + hsoaService.save(hsoaRecode.setSuccess(Boolean.FALSE)); + } else { + hsoaService.save(hsoaRecode.setSuccess(Boolean.TRUE)); } } catch (Exception e) { log.error("推送定位数据失败,数据Id:{}", entity.getId(), e);