Commit 2433df6b authored by 赵啸非's avatar 赵啸非

添加皮肤分辨率与预览模块

parent cfb93719
......@@ -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";
/** 基础代码版本 Z-BASE.MANAGER-S1.0.0 */
public final static String BASEMANAGER_VERSION = "Z-BASE.MANAGER-S1.0.0";
......
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) {
......
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) {
......
......@@ -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
/* 变量 */
: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;
......
{
"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"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment