Commit f26b3bac authored by 赵啸非's avatar 赵啸非

回退站点业务请求列表

parent 3ff1ce9b
...@@ -69,43 +69,31 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L ...@@ -69,43 +69,31 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
private DeviceBlackappService deviceBlackappService; private DeviceBlackappService deviceBlackappService;
/**
* @param params
* @param pageInfo
* @param context
* @return
* @throws AppException
*/
@Override
protected AppEntity findBefore(AppEntity params, PageInfo pageInfo, Context context) throws AppException {
return super.findBefore(params, pageInfo, context);
}
@Override @Override
protected void findAfter(AppEntity params, PageInfo pageInfo, Context context, List<AppEntity> list) throws AppException { protected void findAfter(AppEntity params, PageInfo pageInfo, Context context, List<AppEntity> list) throws AppException {
//判断是否存在设备编码。存在 查询设备编码应用黑名单 //判断是否存在设备编码。存在 查询设备编码应用黑名单
checkDeviceBlackApp(params, list); checkDeviceBlackApp(params, list);
//根据指定的idlist顺序进行排序 //根据指定的idlist顺序进行排序
sortAppByIdList(params, list); sortAppByIdList(params, list);
//统计站点 String domainUrl = "";
list.forEach(item -> { if (!ObjectUtils.isEmpty(params.getServerName()) && Validator.isIpv4(params.getServerName())) {
domainUrl = String.format("http://%s:%d", params.getServerName(), params.getServerPort() > 0 ? params.getServerPort() : 11078);
} else {
boolean isDomain = ReUtil.isMatch("^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})*\\.[a-zA-Z]{2,}$", params.getServerName());
if (isDomain) {
domainUrl = String.format("https://%s", params.getServerName());
} else {
domainUrl = "";
}
}
for (AppEntity item : list) {
List<AppEntity> appEntityList = this.find(new AppQuery().appCode(item.getAppCode()), context); List<AppEntity> appEntityList = this.find(new AppQuery().appCode(item.getAppCode()), context);
item.setApplianceSiteScope(appEntityList.size()); item.setApplianceSiteScope(appEntityList.size());
item.setSiteIdList(appEntityList.stream().map(AppEntity::getSiteId).collect(Collectors.toList())); item.setSiteIdList(appEntityList.stream().map(AppEntity::getSiteId).collect(Collectors.toList()));
//构建访问地址 //构建访问地址
SiteEntity siteEntity = siteService.getCache(item.getSiteId().toString()); SiteEntity siteEntity = siteService.getCache(item.getSiteId().toString());
String domainUrl = "";
if (!ObjectUtils.isEmpty(params.getServerName()) && Validator.isIpv4(params.getServerName())) {
domainUrl = String.format("http://%s:%d", params.getServerName(), params.getServerPort() > 0 ? params.getServerPort() : 11078);
} else {
boolean isDomain = ReUtil.isMatch("^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})*\\.[a-zA-Z]{2,}$", params.getServerName());
if (isDomain) {
domainUrl = String.format("https://%s", params.getServerName());
} else {
domainUrl = "";
}
}
if (!ObjectUtils.isEmpty(siteEntity)) { if (!ObjectUtils.isEmpty(siteEntity)) {
//请求地址 http://domian/app/siteCode/appcode/html //请求地址 http://domian/app/siteCode/appcode/html
...@@ -127,7 +115,7 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L ...@@ -127,7 +115,7 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
item.setAppIconUrl(item.getAppIconPath()); item.setAppIconUrl(item.getAppIconPath());
} }
}); };
super.findAfter(params, pageInfo, context, list); super.findAfter(params, pageInfo, context, list);
} }
......
...@@ -15,13 +15,17 @@ import java.util.List; ...@@ -15,13 +15,17 @@ import java.util.List;
@Data @Data
public class SkinBaseVo extends BaseEntityLong { public class SkinBaseVo extends BaseEntityLong {
/** 产品编码 */ /** 产品编码 */
private String productCode; private String productCode;
private String imageResolutionValue; private String imageResolutionValue;
private String serverName;
private Integer serverPort;
/** 属性列表 */ /** 属性列表 */
private List<SkinFieldEntity> skinFieldList; private List<SkinFieldEntity> skinFieldList;
......
package com.mortals.xhx.module.skin.service.impl; package com.mortals.xhx.module.skin.service.impl;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.net.URLDecoder; import cn.hutool.core.net.URLDecoder;
import cn.hutool.core.net.url.UrlBuilder; import cn.hutool.core.net.url.UrlBuilder;
import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.mortals.framework.ap.GlobalSysInfo; import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
...@@ -78,31 +80,50 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk ...@@ -78,31 +80,50 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk
protected void findAfter(SkinBaseEntity entity, PageInfo pageInfo, Context context, List<SkinBaseEntity> list) throws AppException { protected void findAfter(SkinBaseEntity entity, PageInfo pageInfo, Context context, List<SkinBaseEntity> list) throws AppException {
Map<String, String> imageResolutionMap = paramService.getParamBySecondOrganize("SkinBase", "imageResolution"); Map<String, String> imageResolutionMap = paramService.getParamBySecondOrganize("SkinBase", "imageResolution");
list.stream().forEach(item -> {
String domainUrl = "";
if (!ObjectUtils.isEmpty(entity.getServerName()) && Validator.isIpv4(entity.getServerName())) {
domainUrl = String.format("http://%s:%d", entity.getServerName(), entity.getServerPort() > 0 ? entity.getServerPort() : 11078);
} else {
boolean isDomain = ReUtil.isMatch("^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})*\\.[a-zA-Z]{2,}$", entity.getServerName());
if (isDomain) {
domainUrl = String.format("https://%s", entity.getServerName());
} else {
domainUrl = "";
}
}
for (SkinBaseEntity item : list) {
List<SkinFieldEntity> skinFieldEntities = skinFieldService.find(new SkinFieldQuery().skinId(item.getId())); List<SkinFieldEntity> skinFieldEntities = skinFieldService.find(new SkinFieldQuery().skinId(item.getId()));
String domain = GlobalSysInfo.getParamValue(Constant.DOMAIN, "http://192.168.0.98:11071/"); // String domain = GlobalSysInfo.getParamValue(Constant.DOMAIN, "http://192.168.0.98:11071/");
skinFieldEntities.forEach(field -> { for (SkinFieldEntity field : skinFieldEntities) {
if ("2".equals(field.getFieldType())) { if ("2".equals(field.getFieldType())) {
UrlBuilder builder = UrlBuilder.ofHttp(domain, CharsetUtil.CHARSET_UTF_8).addPath(field.getFieldValue()); String fieldUrl = String.format("%s/%s", domainUrl, field.getFieldValue());
field.setFieldValueUrl(builder.build()); //UrlBuilder builder = UrlBuilder.ofHttp(domainUrl, CharsetUtil.CHARSET_UTF_8).addPath(field.getFieldValue());
field.setFieldValueUrl(fieldUrl);
} }
}); }
ProductEntity productEntity = productService.get(item.getProductId()); ProductEntity productEntity = productService.get(item.getProductId());
item.setProductCode(productEntity == null ? "" : productEntity.getProductCode()); item.setProductCode(productEntity == null ? "" : productEntity.getProductCode());
item.setImageResolutionValue(imageResolutionMap.get(entity.getImageResolution() == null ? "1" : entity.getImageResolution())); item.setImageResolutionValue(imageResolutionMap.get(entity.getImageResolution() == null ? "1" : entity.getImageResolution()));
item.setSkinFieldList(skinFieldEntities); item.setSkinFieldList(skinFieldEntities);
if (!ObjectUtils.isEmpty(item.getPreviewImagePath())) { if (!ObjectUtils.isEmpty(item.getPreviewImagePath())) {
UrlBuilder builder = UrlBuilder.ofHttp(domain, CharsetUtil.CHARSET_UTF_8).addPath(item.getPreviewImagePath()); UrlBuilder builder = UrlBuilder.ofHttp(domainUrl, CharsetUtil.CHARSET_UTF_8).addPath(item.getPreviewImagePath());
item.setPreviewImagePath(builder.build()); String fieldUrl = String.format("%s/%s", domainUrl, item.getPreviewImagePath());
// item.setPreviewImagePath(builder.build());
item.setPreviewImagePath(fieldUrl);
//log.info("cssUrl:" + URLDecoder.decode(item.getPreviewImagePath(), CharsetUtil.CHARSET_UTF_8)); //log.info("cssUrl:" + URLDecoder.decode(item.getPreviewImagePath(), CharsetUtil.CHARSET_UTF_8));
} }
if (!ObjectUtils.isEmpty(item.getCssFilePath())) { if (!ObjectUtils.isEmpty(item.getCssFilePath())) {
UrlBuilder builder = UrlBuilder.ofHttp(domain, CharsetUtil.CHARSET_UTF_8).addPath(item.getCssFilePath()); //UrlBuilder builder = UrlBuilder.ofHttp(domainUrl, CharsetUtil.CHARSET_UTF_8).addPath(item.getCssFilePath());
item.setCssFilePath(builder.build()); //item.setCssFilePath(builder.build());
String fieldUrl = String.format("%s/%s", domainUrl, item.getCssFilePath());
item.setCssFilePath(fieldUrl);
//log.info("cssUrl:" + URLDecoder.decode(item.getCssFilePath(), CharsetUtil.CHARSET_UTF_8)); //log.info("cssUrl:" + URLDecoder.decode(item.getCssFilePath(), CharsetUtil.CHARSET_UTF_8));
} }
}); }
super.findAfter(entity, pageInfo, context, list); super.findAfter(entity, pageInfo, context, list);
} }
......
package com.mortals.xhx.module.skin.web; package com.mortals.xhx.module.skin.web;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.net.url.UrlBuilder; import cn.hutool.core.net.url.UrlBuilder;
import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.mortals.framework.ap.GlobalSysInfo; import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.key.Constant; import com.mortals.xhx.common.key.Constant;
...@@ -13,14 +17,17 @@ import com.mortals.xhx.module.product.service.ProductService; ...@@ -13,14 +17,17 @@ import com.mortals.xhx.module.product.service.ProductService;
import com.mortals.xhx.module.skin.model.SkinFieldEntity; import com.mortals.xhx.module.skin.model.SkinFieldEntity;
import com.mortals.xhx.module.skin.model.SkinFieldQuery; import com.mortals.xhx.module.skin.model.SkinFieldQuery;
import com.mortals.xhx.module.skin.service.SkinFieldService; import com.mortals.xhx.module.skin.service.SkinFieldService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.skin.model.SkinBaseEntity; import com.mortals.xhx.module.skin.model.SkinBaseEntity;
import com.mortals.xhx.module.skin.model.SkinBaseQuery; import com.mortals.xhx.module.skin.model.SkinBaseQuery;
...@@ -33,21 +40,26 @@ import java.util.HashMap; ...@@ -33,21 +40,26 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import java.util.Arrays; import java.util.Arrays;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*; import static com.mortals.framework.ap.SysConstains.*;
/** /**
* * 系统基础皮肤
* 系统基础皮肤 *
* * @author zxfei
* @author zxfei * @date 2022-05-24
* @date 2022-05-24 */
*/
@RestController @RestController
@RequestMapping("skin/base") @RequestMapping("skin/base")
public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBaseService,SkinBaseEntity,Long> { @Slf4j
public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBaseService, SkinBaseEntity, Long> {
@Autowired @Autowired
private ParamService paramService; private ParamService paramService;
...@@ -56,21 +68,27 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa ...@@ -56,21 +68,27 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
@Autowired @Autowired
private SkinFieldService skinFieldService; private SkinFieldService skinFieldService;
public SkinBaseController(){ public SkinBaseController() {
super.setModuleDesc( "系统基础皮肤"); super.setModuleDesc("系统基础皮肤");
} }
@Override @Override
protected void doListBefore(SkinBaseEntity query, Map<String, Object> model, Context context) throws AppException { protected void doListBefore(SkinBaseEntity query, Map<String, Object> model, Context context) throws AppException {
if(!ObjectUtils.isEmpty(query.getProductCode())){ if (!ObjectUtils.isEmpty(query.getProductCode())) {
ProductEntity productEntity = productService.selectOne(new ProductQuery().productCode(query.getProductCode())); ProductEntity productEntity = productService.selectOne(new ProductQuery().productCode(query.getProductCode()));
if(!ObjectUtils.isEmpty(productEntity)){ if (!ObjectUtils.isEmpty(productEntity)) {
query.setProductId(productEntity.getId()); query.setProductId(productEntity.getId());
query.setProductCode(null); query.setProductCode(null);
} }
} }
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); super.doListBefore(query, model, context);
} }
...@@ -85,17 +103,37 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa ...@@ -85,17 +103,37 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
@Override @Override
protected int viewAfter(Long id, Map<String, Object> model, SkinBaseEntity entity, Context context) throws AppException { protected int viewAfter(Long id, Map<String, Object> model, SkinBaseEntity entity, Context context) throws AppException {
List<SkinFieldEntity> skinFieldEntities = skinFieldService.find(new SkinFieldQuery().skinId(entity.getId())); List<SkinFieldEntity> skinFieldEntities = skinFieldService.find(new SkinFieldQuery().skinId(entity.getId()));
skinFieldEntities.forEach(skinFieldEntity -> updateUrl(skinFieldEntity));
entity.setSkinFieldList(skinFieldEntities);
return super.viewAfter(id, model, entity, context);
}
private void updateUrl(SkinFieldEntity field) { String serverName = request.getHeader("server-name");
if ("2".equals(field.getFieldType())) { Integer serverPort = DataUtil.converStr2Int(request.getHeader("server-port"), 0);
String domain = GlobalSysInfo.getParamValue(Constant.DOMAIN, "http://192.168.0.98:11071/");
UrlBuilder builder = UrlBuilder.ofHttp(domain, CharsetUtil.CHARSET_UTF_8).addPath(field.getFieldValue()); String domainUrl = "";
field.setFieldValue(builder.build()); if (!ObjectUtils.isEmpty(serverName) && Validator.isIpv4(serverName)) {
domainUrl = String.format("http://%s:%d",serverName, serverPort > 0 ? serverPort : 11078);
} else {
boolean isDomain = ReUtil.isMatch("^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})*\\.[a-zA-Z]{2,}$", entity.getServerName());
if (isDomain) {
domainUrl = String.format("https://%s", serverName);
} else {
serverName = "";
}
} }
for (SkinFieldEntity field : skinFieldEntities) {
if ("2".equals(field.getFieldType())) {
// String domain = GlobalSysInfo.getParamValue(Constant.DOMAIN, "http://192.168.0.98:11071/");
// UrlBuilder builder = UrlBuilder.ofHttp(domain, CharsetUtil.CHARSET_UTF_8).addPath(field.getFieldValue());
// field.setFieldValue(builder.build());
String fieldUrl = String.format("%s/%s", domainUrl, field.getFieldValue());
field.setFieldValueUrl(fieldUrl);
}
}
entity.setSkinFieldList(skinFieldEntities);
return super.viewAfter(id, model, entity, context);
} }
......
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