Procházet zdrojové kódy

fix: 消费服务
1.针对海康消费机增加了请求+上传交易全流程执行的接口

luoyb před 9 měsíci
rodič
revize
250becf502

+ 9 - 0
ruoyi-api/ruoyi-api-consume/src/main/java/org/dromara/consume/api/RemoteConsumeService.java

@@ -49,6 +49,15 @@ public interface RemoteConsumeService {
      */
     RemoteResultDto dealHikUploadRecord(RemoteConsumeBo remoteBo);
 
+    /**
+     * 处理海康请求+上传消费记录。
+     *
+     * @param remoteBo 包含消费相关业务数据的对象,用于传递消费的基础信息和扩展信息
+     * @return 返回一个包含错误信息的响应对象,如果操作成功则data为null,如果失败则data包含具体的错误信息
+     */
+    RemoteResultDto dealHikFullRecord(RemoteConsumeBo remoteBo);
+
+
     /**
      * 处理海康上传的离线消费记录。
      *

+ 20 - 5
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/dubbo/RemoteConsumeServiceImpl.java

@@ -82,11 +82,26 @@ public class RemoteConsumeServiceImpl implements RemoteConsumeService {
         ConsumptionBo bo = RemoteConsumeBoConvert.INSTANCE.fromRemote(remoteBo);
         bo.setUseType(SystemUseTypeEnum.CONSUME.code());
         R<ErrorInfo> result =   consumeBusiness.postOrder(bo, "", "");
-        if(R.isSuccess(result)){
-            if (ObjectUtil.equals(defaultConfig.getLocationFlag(), DefaultConstants.LOCAL_FLAG)) {
-                ThreadUtil.execAsync(() -> baseBusiness.sendCloudConsume(bo));
-            }
-        }
+        //if(R.isSuccess(result)){
+        //    if (ObjectUtil.equals(defaultConfig.getLocationFlag(), DefaultConstants.LOCAL_FLAG)) {
+        //        ThreadUtil.execAsync(() -> baseBusiness.sendCloudConsume(bo));
+        //    }
+        //}
+        RemoteConsumeBo updatedRemote = RemoteConsumeBoConvert.INSTANCE.toRemote(bo);
+
+        return new RemoteResultDto(result, updatedRemote);
+    }
+
+    @Override
+    public RemoteResultDto dealHikFullRecord(RemoteConsumeBo remoteBo) {
+        ConsumptionBo bo = RemoteConsumeBoConvert.INSTANCE.fromRemote(remoteBo);
+        bo.setUseType(SystemUseTypeEnum.CONSUME.code());
+        R<ErrorInfo> result =   consumeBusiness.fullOrder(bo, "", "");
+        //if(R.isSuccess(result)){
+        //    if (ObjectUtil.equals(defaultConfig.getLocationFlag(), DefaultConstants.LOCAL_FLAG)) {
+        //        ThreadUtil.execAsync(() -> baseBusiness.sendCloudConsume(bo));
+        //    }
+        //}
         RemoteConsumeBo updatedRemote = RemoteConsumeBoConvert.INSTANCE.toRemote(bo);
 
         return new RemoteResultDto(result, updatedRemote);