浏览代码

perf(海康消费机服务): 消费事件调用接口优化

- 海康消费机上报消费数据取消费金额为:totalPayment字段
- 海康消费请求消费调用新接口
- 海康消费第二步调用请求+上传交易全流程接口
autumnal_wind 8 月之前
父节点
当前提交
b587f7ae49

+ 2 - 1
ruoyi-server/ruoyi-server-hik/src/main/java/org/dromara/server/hik/controller/TestController.java

@@ -449,7 +449,8 @@ public class TestController {
         remoteBo.setRecordStatus(364L);
         remoteBo.setRecordId(0L);
 
-        RemoteResultDto result = remoteConsumeService.dealHikUploadRecord(remoteBo);
+        // RemoteResultDto result = remoteConsumeService.dealHikUploadRecord(remoteBo);
+        RemoteResultDto result = remoteConsumeService.dealHikFullRecord(remoteBo);
         R<ErrorInfo> errorInfo = result.getErrorInfo();
         if (R.isError(errorInfo)) {
             ErrorResult errResult = new ErrorResult();

+ 8 - 7
ruoyi-server/ruoyi-server-hik/src/main/java/org/dromara/server/hik/event/handler/ConsumptionEventHandler.java

@@ -85,7 +85,7 @@ public class ConsumptionEventHandler implements HikEventHandler {
 //            String reason = "";
 //            BigDecimal balance = BigDecimal.ZERO;
 //            BigDecimal consumeMoney = remoteBo.getConsumeMoney();
-
+            log.info("transactionPreprocessingRequest 调用消费服务的消费请求接口,出参:{}", JSONUtil.toJsonStr(updatedRemoteBo));
             return answerEvent(consumptionEvent, bussiRs, balance, consumeMoney, reason, deptName);
         } else if (TRANSACTION_CONFIRMING_REQUEST.equals(consumptionEvent.getMinor())) {
             HashMap<String, Object> rs = new HashMap<>(1);
@@ -109,8 +109,8 @@ public class ConsumptionEventHandler implements HikEventHandler {
             remoteBo.setRecordId(0L);
             remoteBo.setTermNo(termVo.getTermNo());
             log.info("transactionConfirmingRequest 调用调用消费请求与入库接口,入参:{}", JSONUtil.toJsonStr(remoteBo));
-            RemoteResultDto result = remoteConsumeService.dealHikUploadRecord(remoteBo);
-//            RemoteResultDto result = remoteConsumeService.dealHikFullRecord(remoteBo);
+            // RemoteResultDto result = remoteConsumeService.dealHikUploadRecord(remoteBo);
+           RemoteResultDto result = remoteConsumeService.dealHikFullRecord(remoteBo);
 //            log.info("消费机消费请求确认事件,结果:{}", JSONObject.toJSONString(result.getUpdatedRemoteBo()));
             R<ErrorInfo> errorInfo = result.getErrorInfo();
             if (R.isError(errorInfo)) {
@@ -126,10 +126,11 @@ public class ConsumptionEventHandler implements HikEventHandler {
     }
 
     private RemoteConsumeBo setParamBo(ConsumptionEventReceive receive, ConsumptionEventDetail consumptionEvent) {
-        String consumeMoney = consumptionEvent.getActualPayment();
-        if (TRANSACTION_PREPROCESSING_REQUEST.equals(consumptionEvent.getMinor())) {
-            consumeMoney = consumptionEvent.getTotalPayment();
-        }
+    //     String consumeMoney = consumptionEvent.getActualPayment();
+    //     if (TRANSACTION_PREPROCESSING_REQUEST.equals(consumptionEvent.getMinor())) {
+    //         consumeMoney = consumptionEvent.getTotalPayment();
+    //     }
+        String consumeMoney = consumptionEvent.getTotalPayment();
         // 如果是计次模式,金额就为0
         if (ConsumeModeEnum.count.getCode().equals(consumptionEvent.getMode())) {
             consumeMoney = "0";

+ 5 - 2
ruoyi-server/ruoyi-server-hik/src/main/java/org/dromara/server/hik/event/handler/TransactionRecordEventHandler.java

@@ -25,7 +25,9 @@ import org.dromara.server.hik.event.domain.FileContent;
 import org.dromara.server.hik.event.domain.TransactionRecordEventConfirmBo;
 import org.dromara.server.hik.event.domain.TransactionRecordEventDetail;
 import org.dromara.server.hik.event.domain.TransactionRecordEventReceive;
-import org.dromara.server.hik.service.*;
+import org.dromara.server.hik.service.IXfConsumeDetailService;
+import org.dromara.server.hik.service.IXfFailedRecordService;
+import org.dromara.server.hik.service.IXfTermService;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
@@ -108,7 +110,8 @@ public class TransactionRecordEventHandler implements HikEventHandler {
                 if (CollectionUtils.isEmpty(vos)){
                     // 组装参数,调用消费记录入库的接口 // 如果失败要记录入库
                     log.info("TransactionRecordEvent调用消费请求与入库接口,入参,{}", JSONUtil.toJsonStr(remoteBo));
-                    RemoteResultDto remoteResultDto = remoteConsumeService.dealHikUploadRecord(remoteBo);
+                    // RemoteResultDto remoteResultDto = remoteConsumeService.dealHikUploadRecord(remoteBo);
+                    RemoteResultDto remoteResultDto = remoteConsumeService.dealHikFullRecord(remoteBo);
                     errorInfo = remoteResultDto.getErrorInfo();
                     RemoteConsumeBo updatedRemoteBo = remoteResultDto.getUpdatedRemoteBo();
                     if(updatedRemoteBo !=null) {