From 2433df6b6868e63f0bc41bba0cc36a84f25a67d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <13281114856@qq.com>
Date: Fri, 27 May 2022 16:26:14 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=9A=AE=E8=82=A4=E5=88=86?=
 =?UTF-8?q?=E8=BE=A8=E7=8E=87=E4=B8=8E=E9=A2=84=E8=A7=88=E6=A8=A1=E5=9D=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../com/mortals/xhx/common/key/Constant.java  |  6 +++
 .../xhx/common/utils/FreeMarkerUtils.java     | 26 ++--------
 .../service/impl/SkinBaseServiceImpl.java     | 52 ++++++++++++++++---
 .../module/skin/web/SkinBaseController.java   |  2 +
 .../src/main/resources/template/skin.css.ftl  |  4 +-
 .../mortals/httpclient/http-client.env.json   |  4 +-
 6 files changed, 60 insertions(+), 34 deletions(-)

diff --git a/base-manager/src/main/java/com/mortals/xhx/common/key/Constant.java b/base-manager/src/main/java/com/mortals/xhx/common/key/Constant.java
index 87199f8e..897285dd 100644
--- a/base-manager/src/main/java/com/mortals/xhx/common/key/Constant.java
+++ b/base-manager/src/main/java/com/mortals/xhx/common/key/Constant.java
@@ -53,6 +53,12 @@ public final class Constant {
 	 */
 	public static final String LOGIN_USER_KEY = "login_user_key";
 
+
+	/**
+	 * domain
+	 */
+	public static final String DOMAIN = "domain";
+
 	/** 鍩虹浠g爜鐗堟湰 Z-BASE.MANAGER-S1.0.0 */
 	public final static String BASEMANAGER_VERSION = "Z-BASE.MANAGER-S1.0.0";
 
diff --git a/base-manager/src/main/java/com/mortals/xhx/common/utils/FreeMarkerUtils.java b/base-manager/src/main/java/com/mortals/xhx/common/utils/FreeMarkerUtils.java
index cdaab633..39fdd525 100644
--- a/base-manager/src/main/java/com/mortals/xhx/common/utils/FreeMarkerUtils.java
+++ b/base-manager/src/main/java/com/mortals/xhx/common/utils/FreeMarkerUtils.java
@@ -1,24 +1,20 @@
 package com.mortals.xhx.common.utils;
 
-import com.alibaba.fastjson.JSONObject;
-import com.mortals.framework.common.code.YesNo;
-import com.mortals.framework.util.DateUtils;
 import com.mortals.xhx.base.framework.config.FreemarkerApplicationConfig;
-
 import com.mortals.xhx.common.key.GenConstants;
 import freemarker.template.Configuration;
 import freemarker.template.Template;
 import freemarker.template.TemplateException;
 import freemarker.template.TemplateExceptionHandler;
 import lombok.SneakyThrows;
-import org.springframework.util.ObjectUtils;
 
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.PrintWriter;
-import java.util.*;
-import java.util.stream.Collectors;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 
 public class FreeMarkerUtils {
@@ -56,7 +52,7 @@ public class FreeMarkerUtils {
     public static void initFreeMarker(String path) {
         //鍒濆鍖栨ā鏉垮紩鎿�
         cfg = new Configuration(Configuration.VERSION_2_3_29);
-        cfg.setClassForTemplateLoading(FreemarkerApplicationConfig.class, "/template/" + path);
+        cfg.setClassForTemplateLoading(FreemarkerApplicationConfig.class, "/template/");
         //cfg.setClassForTemplateLoading(FreemarkerApplicationConfig.class,"/template/sql");
         //鎸囧畾妯℃澘鏂囦欢瀛樻斁鐨勫湴鏂�
         //cfg.setDirectoryForTemplateLoading(new File(System.getProperty("user.dir") + "\\government-manager\\target\\classes\\template\\java"));
@@ -145,20 +141,6 @@ public class FreeMarkerUtils {
     }
 
 
-    /**
-     * 鑾峰彇model妯℃澘淇℃伅
-     *
-     * @return 妯℃澘鍒楄〃
-     */
-    public static Set<String> getModelTemplateSet() {
-        Set<String> templates = new HashSet<String>();
-        templates.add("vo.java.ftl");
-        templates.add("entity.java.ftl");
-        templates.add("entityQuery.java.ftl");
-        templates.add("sqlMap.xml.ftl");
-        templates.add("entity-tree.java.ftl");
-        return templates;
-    }
 
     // 鑾峰彇妯℃澘瀵硅薄
     public static Template getTemplate(String templateName) {
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/skin/service/impl/SkinBaseServiceImpl.java b/base-manager/src/main/java/com/mortals/xhx/module/skin/service/impl/SkinBaseServiceImpl.java
index 5011098a..66bd12ab 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/skin/service/impl/SkinBaseServiceImpl.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/skin/service/impl/SkinBaseServiceImpl.java
@@ -1,32 +1,37 @@
 package com.mortals.xhx.module.skin.service.impl;
 
+import com.mortals.framework.ap.GlobalSysInfo;
 import com.mortals.framework.exception.AppException;
 import com.mortals.framework.model.Context;
 import com.mortals.framework.model.PageInfo;
+import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
 import com.mortals.xhx.base.system.upload.service.UploadService;
 import com.mortals.xhx.common.key.Constant;
 import com.mortals.xhx.common.utils.FreeMarkerUtils;
-import com.mortals.xhx.module.skin.model.*;
+import com.mortals.xhx.module.skin.dao.SkinBaseDao;
+import com.mortals.xhx.module.skin.model.SkinBaseEntity;
+import com.mortals.xhx.module.skin.model.SkinBaseQuery;
+import com.mortals.xhx.module.skin.model.SkinFieldEntity;
+import com.mortals.xhx.module.skin.model.SkinFieldQuery;
+import com.mortals.xhx.module.skin.service.SkinBaseService;
 import com.mortals.xhx.module.skin.service.SkinFieldService;
 import freemarker.template.Template;
 import org.apache.http.entity.ContentType;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.mock.web.MockMultipartFile;
 import org.springframework.stereotype.Service;
-import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
-import com.mortals.xhx.module.skin.dao.SkinBaseDao;
-import com.mortals.xhx.module.skin.service.SkinBaseService;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.ByteArrayInputStream;
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.StringWriter;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+
 /**
  * SkinBaseService
  * 绯荤粺鍩虹鐨偆 service瀹炵幇
@@ -54,14 +59,29 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk
     }
 
     @Override
-    protected void findAfter(SkinBaseEntity params, Context context, List<SkinBaseEntity> list) throws AppException {
+    protected void findAfter(SkinBaseEntity entity, PageInfo pageInfo, Context context, List<SkinBaseEntity> list) throws AppException {
         list.stream().forEach(item -> {
             List<SkinFieldEntity> skinFieldEntities = skinFieldService.find(new SkinFieldQuery().skinId(item.getId()));
+            skinFieldEntities.stream().forEach(field->{
+                updateUrl(field);
+            });
             item.setSkinFieldList(skinFieldEntities);
+
+            if(!ObjectUtils.isEmpty(item.getPreviewImagePath())){
+                item.setPreviewImagePath(GlobalSysInfo.getParamValue(Constant.DOMAIN, "http://192.168.0.98:11071")+ item.getPreviewImagePath());
+            }
+            if(!ObjectUtils.isEmpty(item.getCssFilePath())){
+                item.setCssFilePath(GlobalSysInfo.getParamValue(Constant.DOMAIN, "http://192.168.0.98:11071")+ item.getCssFilePath());
+            }
         });
-        super.findAfter(params, context, list);
+        super.findAfter(entity, pageInfo, context, list);
     }
 
+    private void updateUrl(SkinFieldEntity field) {
+        if("2".equals(field.getFieldType())){
+            field.setFieldValue(GlobalSysInfo.getParamValue(Constant.DOMAIN, "http://192.168.0.98:11071")+ field.getFieldValue());
+        }
+    }
 
     @Override
     protected void saveAfter(SkinBaseEntity entity, Context context) throws AppException {
@@ -103,9 +123,25 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk
     }
 
 
+    @Override
+    protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
+        SkinFieldQuery skinFieldQuery = new SkinFieldQuery();
+        skinFieldQuery.setSkinIdList(Arrays.asList(ids));
+        Long[] skinFieldIds = skinFieldService.find(skinFieldQuery, context).stream().map(item -> item.getId()).toArray(Long[]::new);
+        if(!ObjectUtils.isEmpty(skinFieldIds)){
+            skinFieldService.remove(skinFieldIds,context);
+        }
+        super.removeAfter(ids, context, result);
+    }
+
     private void genTemplateCss(SkinBaseEntity entity, Context context) {
         //鍔犺浇妯℃澘锛屽悎鎴愭ā鏉挎暟鎹�
         Map data = new HashMap();
+
+        entity.getSkinFieldList().stream().forEach(field->{
+            updateUrl(field);
+        });
+
         data.put("columns", entity.getSkinFieldList());
         String temp = "skin.css.ftl";
         try {
@@ -116,7 +152,7 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk
 
             InputStream inputStream = new ByteArrayInputStream(sw.toString().getBytes(Constant.UTF8));
             MultipartFile file = new MockMultipartFile("file.css", "file.css", ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream);
-            String filePath = uploadService.saveFileUpload(file, "/file/uploadfile/", context.getUser());
+            String filePath = uploadService.saveFileUpload(file, "/file/uploadfile", context.getUser());
             entity.setCssFilePath(filePath);
 
         } catch (Exception e) {
diff --git a/base-manager/src/main/java/com/mortals/xhx/module/skin/web/SkinBaseController.java b/base-manager/src/main/java/com/mortals/xhx/module/skin/web/SkinBaseController.java
index 0dd4e9de..4d737ff0 100644
--- a/base-manager/src/main/java/com/mortals/xhx/module/skin/web/SkinBaseController.java
+++ b/base-manager/src/main/java/com/mortals/xhx/module/skin/web/SkinBaseController.java
@@ -83,4 +83,6 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
         entity.setSkinFieldList(skinFieldEntities);
         return super.viewAfter(id, model, entity, context);
     }
+
+
 }
\ No newline at end of file
diff --git a/base-manager/src/main/resources/template/skin.css.ftl b/base-manager/src/main/resources/template/skin.css.ftl
index bf7a9d85..e262a53c 100644
--- a/base-manager/src/main/resources/template/skin.css.ftl
+++ b/base-manager/src/main/resources/template/skin.css.ftl
@@ -1,14 +1,14 @@
 /* 鍙橀噺 */
 :root {
 <#list columns as column>
-    <#if column.fieldType == 1>
+    <#if column.fieldType == "1">
     /* ${column.fieldName} */
     --main-${column.fieldCode}-color: ${column.fieldValue};
     </#if>
 </#list>
 }
 <#list columns as column>
-    <#if column.fieldType == 2>
+    <#if column.fieldType == "2">
 /* ${column.fieldName} */
 .main-${column.fieldCode}-img{
     background: url(${column.fieldValue}) no-repeat;
diff --git a/base-manager/src/test/java/com/mortals/httpclient/http-client.env.json b/base-manager/src/test/java/com/mortals/httpclient/http-client.env.json
index 027d1548..637dedfc 100644
--- a/base-manager/src/test/java/com/mortals/httpclient/http-client.env.json
+++ b/base-manager/src/test/java/com/mortals/httpclient/http-client.env.json
@@ -1,6 +1,6 @@
 {
-  "local": {
-    "baseUrl": "http://127.0.0.1:17311/zwfw"
+  "local1": {
+    "baseUrl": "http://127.0.0.1:17211/zwfw"
   },
   "dev": {
     "baseUrl": "http://192.168.0.217:17311/zwfw"
-- 
2.24.3