TRX hace 1 año
padre
commit
c588966552

+ 37 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/projectAbout/ProjectConfigOpenApiController.java

@@ -0,0 +1,37 @@
+package com.zhongshu.card.server.core.controller.projectAbout;
+
+
+import com.github.microservice.models.project.ProjectConfigQueryParam;
+import com.github.microservice.net.ResultContent;
+import com.zhongshu.card.server.core.service.projectAbout.ProjectConfigService;
+import io.swagger.v3.oas.annotations.Hidden;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Slf4j
+@RestController
+@RequestMapping("openAPI/projectConfig/v1")
+@Tag(name = "项目配置")
+@Hidden
+public class ProjectConfigOpenApiController {
+
+    @Autowired
+    private ProjectConfigService projectConfigService;
+
+    /**
+     * 设备上线通知
+     */
+    @Operation(summary = "查询项目的配置信息")
+    @PostMapping(value = "iotQueryProjectConfig", consumes = MediaType.APPLICATION_JSON_VALUE)
+    public ResultContent iotQueryProjectConfig(@RequestBody ProjectConfigQueryParam param) {
+        return projectConfigService.iotQueryProjectConfig(param);
+    }
+
+}

+ 2 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/payment/ExpenseFlowServiceImpl.java

@@ -8,6 +8,7 @@ import com.github.microservice.models.hxz.ConsumTransactionsModel;
 import com.github.microservice.models.hxz.ConsumTransactionsResult;
 import com.github.microservice.models.hxz.QRCodeTransactionModel;
 import com.github.microservice.models.hxz.WxPayResult;
+import com.github.microservice.models.hxz.base.IotBaseResult;
 import com.github.microservice.models.type.OrderFromType;
 import com.github.microservice.net.ResultContent;
 import com.github.microservice.net.ResultMessage;
@@ -450,7 +451,7 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
      * @param result
      * @return
      */
-    public String buildPayResultStr(ConsumTransactionsResult result) {
+    public String buildPayResultStr(IotBaseResult result) {
         if (ObjectUtils.isEmpty(result)) {
             return new JSONObject().toString();
         }

+ 80 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/projectAbout/ProjectConfigService.java

@@ -0,0 +1,80 @@
+package com.zhongshu.card.server.core.service.projectAbout;
+
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.github.microservice.dataConfig.IotIdentifierConfig;
+import com.github.microservice.models.iot.IotSendParam;
+import com.github.microservice.models.project.ProjectConfigQueryParam;
+import com.github.microservice.models.project.ProjectConfigResultModel;
+import com.github.microservice.net.ResultContent;
+import com.zhongshu.card.server.core.dao.org.OrganizationDao;
+import com.zhongshu.card.server.core.service.openAPI.OpenApiRequestService;
+import com.zhongshu.card.server.core.service.payment.ExpenseFlowServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 项目配置信息 (得到)
+ *
+ * @author TRX
+ * @date 2025/1/3
+ */
+@Slf4j
+@Service
+public class ProjectConfigService {
+
+    @Autowired
+    private ExpenseFlowServiceImpl expenseFlowService;
+
+    @Autowired
+    private OrganizationDao organizationDao;
+
+    @Autowired
+    private OpenApiRequestService openApiRequestService;
+
+    /**
+     * 注册网关是查询项目的配置
+     *
+     * @param param
+     * @return
+     */
+    public ResultContent iotQueryProjectConfig(ProjectConfigQueryParam param) {
+        ProjectConfigResultModel model = new ProjectConfigResultModel();
+        String projectInfoCode = param.getProjectInfoCode();
+        boolean isVerify = true;
+        if (StringUtils.isEmpty(projectInfoCode)) {
+            isVerify = false;
+            model.setFailed("projectInfoCode 不能为空");
+        }
+        if (isVerify) {
+            // 下发查询项目相关的配置
+            sendProjectConfig(projectInfoCode);
+        }
+        return ResultContent.buildSuccess(expenseFlowService.buildPayResultStr(model));
+    }
+
+    /**
+     * 下发项目信息
+     *
+     * @param projectInfoCode
+     */
+    public void sendProjectConfig(String projectInfoCode) {
+        IotSendParam param = new IotSendParam();
+        param.setIdentifier(IotIdentifierConfig.projectConfig);
+        String projectOid = "";
+        ProjectConfigResultModel model = new ProjectConfigResultModel();
+        model.setProjectInfoCode(projectInfoCode);
+
+        JSONObject data = JSONUtil.parseObj(model);
+        param.setData(data);
+        ResultContent resultContent = openApiRequestService.sendIotMessage(param, projectOid);
+        if (resultContent.isSuccess()) {
+            log.info("项目配置信息下发成功");
+        } else {
+            log.error("项目配置信息下发失败");
+        }
+    }
+
+}