From 04e3d5d061101f05466caddb2fbc775215ccdc4f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <13281114856@qq.com>
Date: Thu, 23 Mar 2023 15:04:14 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BA=94=E7=94=A8=E9=9B=86?=
 =?UTF-8?q?=E5=B8=82=E5=BA=94=E7=94=A8=E5=8A=A8=E6=80=81=E8=8E=B7=E5=8F=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../xhx/module/app/model/vo/AppVo.java        |  5 +++++
 .../app/service/impl/AppServiceImpl.java      | 10 +++++++--
 .../xhx/module/app/web/AppController.java     | 21 +++++++++++++++++++
 .../business/BusinessMatterController.http    | 16 ++++++++++++++
 4 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/base-manager/src/main/java/com/mortals/xhx/module/app/model/vo/AppVo.java b/base-manager/src/main/java/com/mortals/xhx/module/app/model/vo/AppVo.java
index 3fd5fc0f..9c8dd070 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/app/model/vo/AppVo.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/app/model/vo/AppVo.java
@@ -32,4 +32,9 @@ public class AppVo extends BaseEntityLong {
      */
     private String appIconUrl;
 
+
+    private String serverName;
+
+    private Integer serverPort;
+
 }
\ No newline at end of file
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/app/service/impl/AppServiceImpl.java b/base-manager/src/main/java/com/mortals/xhx/module/app/service/impl/AppServiceImpl.java
index 86206848..e9e8cc47 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/app/service/impl/AppServiceImpl.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/app/service/impl/AppServiceImpl.java
@@ -1,5 +1,6 @@
 package com.mortals.xhx.module.app.service.impl;
 
+import cn.hutool.core.lang.Validator;
 import cn.hutool.core.net.url.UrlBuilder;
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.StrUtil;
@@ -110,7 +111,12 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
             item.setSiteIdList(appEntityList.stream().map(AppEntity::getSiteId).collect(Collectors.toList()));
             //鏋勫缓璁块棶鍦板潃
             SiteEntity siteEntity = siteService.getCache(item.getSiteId().toString());
-            String domainUrl = GlobalSysInfo.getParamValue(Constant.PARAM_SERVER_HTTP_URL, "http://192.168.0.98:11078");
+            // String domainUrl = GlobalSysInfo.getParamValue(Constant.PARAM_SERVER_HTTP_URL, "http://192.168.0.98:11078");
+            String domainUrl = "";
+            if (!ObjectUtils.isEmpty(params.getServerName()) && Validator.isIpv4(params.getServerName())) {
+                domainUrl = UrlBuilder.ofHttp(params.getServerName()).setPort(params.getServerPort() > 0 ? params.getServerPort() : 11078).build();
+            }
+
             if (!ObjectUtils.isEmpty(siteEntity)) {
                 //璇锋眰鍦板潃 http://domian/app/siteCode/appcode/html
                 item.setCustUrl(UrlBuilder.of(domainUrl)
@@ -325,7 +331,7 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
         entity.setFileName(null);
 
         //鍒ゆ柇濡傛灉搴旂敤涓嬫灦锛岄€氱煡鑷姪鏈嶅姟缁堢
-        if(entity.getShelves()==YesNoEnum.NO.getValue()){
+        if (entity.getShelves() == YesNoEnum.NO.getValue()) {
             AppPdu appPdu = new AppPdu();
             appPdu.setAppId(entity.getId());
             appFeign.forbidden(appPdu);
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/app/web/AppController.java b/base-manager/src/main/java/com/mortals/xhx/module/app/web/AppController.java
index 0d56a0cf..82676383 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/app/web/AppController.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/app/web/AppController.java
@@ -2,10 +2,12 @@ package com.mortals.xhx.module.app.web;
 
 import cn.hutool.core.net.url.UrlBuilder;
 import cn.hutool.core.util.ZipUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.mortals.framework.ap.GlobalSysInfo;
 import com.mortals.framework.common.Rest;
 import com.mortals.framework.exception.AppException;
 import com.mortals.framework.model.Context;
+import com.mortals.framework.util.DataUtil;
 import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
 import com.mortals.xhx.base.system.param.service.ParamService;
 import com.mortals.xhx.common.code.AppTypeEnum;
@@ -17,6 +19,7 @@ import com.mortals.xhx.module.app.service.AppService;
 import com.mortals.xhx.module.site.model.SiteEntity;
 import com.mortals.xhx.module.site.model.SiteQuery;
 import com.mortals.xhx.module.site.service.SiteService;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -38,6 +41,7 @@ import static com.mortals.xhx.common.key.Constant.CUSTAPP_ROOT_PATH;
  */
 @RestController
 @RequestMapping("app")
+@Slf4j
 public class AppController extends BaseCRUDJsonBodyMappingController<AppService, AppEntity, Long> {
 
     @Autowired
@@ -58,6 +62,23 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
         super.init(model, context);
     }
 
+
+    /**
+     * @param query
+     * @param model
+     * @param context
+     * @throws AppException
+     */
+    @Override
+    protected void doListBefore(AppEntity query, Map<String, Object> model, Context context) throws AppException {
+        String serverName = request.getHeader("server-name");
+        Integer serverPort = DataUtil.converStr2Int(request.getHeader("server-port"),0);
+        log.info("銆愬簲鐢ㄨ姹傘€戙€愯姹備綋銆�-->serverName{} ,port:{}",serverName ,serverPort);
+        query.setServerName(serverName);
+        query.setServerPort(serverPort);
+        super.doListBefore(query, model, context);
+    }
+
     @Override
     protected int infoAfter(Long id, Map<String, Object> model, AppEntity entity, Context context) throws AppException {
         List<AppEntity> appEntityList = this.service.find(new AppQuery().appCode(entity.getAppCode()), context);
diff --git a/base-manager/src/test/java/com/mortals/httpclient/business/BusinessMatterController.http b/base-manager/src/test/java/com/mortals/httpclient/business/BusinessMatterController.http
index 25c7fb6d..62692f9e 100644
--- a/base-manager/src/test/java/com/mortals/httpclient/business/BusinessMatterController.http
+++ b/base-manager/src/test/java/com/mortals/httpclient/business/BusinessMatterController.http
@@ -45,6 +45,22 @@ Content-Type: application/json
 client.global.set("BusinessMatter_id", JSON.parse(response.body).data.id);
 %}
 
+
+###涓氬姟浜嬮」鍏宠仈鏇存柊涓庝繚瀛�
+POST {{baseUrl}}/business/matter/batchSave
+Authorization: {{authToken}}
+Content-Type: application/json
+
+[{
+  "siteId":1,
+  "siteName":"w19oxc",
+  "siteBusinessId":11,
+  "siteBusinessName":"ujaud2",
+  "matterId":34034,
+  "matterName":"iajw6p"
+}]
+
+
 ###涓氬姟浜嬮」鍏宠仈鏌ョ湅
 GET {{baseUrl}}/business/matter/info?id={{BusinessMatter_id}}
 Accept: application/json
-- 
2.24.3