推送记录

dev
lzq 2026-02-05 15:14:18 +08:00
parent 6c11603af1
commit 3c27bc3bc0
8 changed files with 140 additions and 13 deletions

View File

@ -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");

View File

@ -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;
}

View File

@ -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<PageResult<HsoaRecode>> 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));
}
}

View File

@ -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<HsoaRecode> {
}

View File

@ -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;
}

View File

@ -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<HsoaMapper, HsoaRecode> implements IService<HsoaRecode> {
// 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<String> 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<HsoaRecode> paging(PageParam pageParam, String orderSn, String licensePlate, PushType pushType, Boolean success, LocalDateTime startTime, LocalDateTime endTime) {
Page<HsoaRecode> page = pageParam.toPage();
page.addOrder(OrderItem.desc("create_time"), OrderItem.desc("id"));
return PageResult.of(this.page(page, Wrappers.<HsoaRecode>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)
));
}
}

View File

@ -26,11 +26,6 @@ public class OrderExportResult {
*/
private Integer sort;
/**
*
*/
private String sn;
/**
*
*/

View File

@ -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<OrderInfoMapper, OrderInfoEnti
log.error("订单状态改变事件发布失败,订单{},状态{}", orderInfoEntity_.getSn(), newOrderStatus, e);
return null;
});
/* CompletableFuture.runAsync(() -> {
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<OrderInfoMapper, OrderInfoEnti
.setAccStatus(1)
.setGpsTime(time)
.setLocationMode("WGS84");
HsoaRecode hsoaRecode = new HsoaRecode()
.setOrderId(orderInfoId)
.setOrderSn(orderDetail.getSn())
.setLicensePlate(licensePlate)
.setPushType(PushType.GuiJi);
HsoaResult<?> 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);