Jenkins自动合并

yun-zuoyi
jenkins 5 years ago
commit 71d431dbd1

@ -100,4 +100,11 @@ public interface ISystemResourceService {
* @return
*/
SysLocaleResource getSysLocaleResourceByLanguage(int resourceType,String langCode,String langKey);
/**
*
* @param res
* @return
*/
Integer getSysLocaleResourceCount(SysLocaleResource res);
}

@ -278,9 +278,10 @@ public class WhiteController extends CoreBaseController {
@GetMapping(value = "/white/find-language-code-soft-type")
@GetMapping(value = "/find-language-code-soft-type")
@ApiOperation(value = "根据语言代码查询资源")
public ResultBean findSysLocaleResourceByLanguageCode(String languageCode,Integer softType){
public ResultBean findSysLocaleResourceByLanguageCode(String languageCode,Integer softType,
@RequestParam(defaultValue = "2") Integer needPlatformRes){
try {
startMultiService();
@ -302,6 +303,12 @@ public class WhiteController extends CoreBaseController {
resourceMap = redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + languageCode + ":" + softType);
}
if(needPlatformRes.intValue() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){
Map<Object, Object> platformResMap =
redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + languageCode + ":" + CommonEnumUtil.SOFT_TYPE.IMPP.getValue());;
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultMap(resourceMap);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);

@ -35,6 +35,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedInputStream;
import java.io.IOException;
@ -295,7 +297,7 @@ public class SysFileController extends CoreBaseController {
*/
@GetMapping("/download/{id}")
@ApiOperation(value = "文件下载", notes = "文件下载")
public void singleDownload(@PathVariable("id") String id, HttpServletResponse response) {
public void singleDownload(@PathVariable("id") String id, HttpServletRequest request, HttpServletResponse response) {
try {
startMultiService();
@ -320,8 +322,19 @@ public class SysFileController extends CoreBaseController {
.build();
}
String userAgent = request.getHeader("User-Agent");
String formFileName = sysFile.getFileOriginalName();
// 针对IE或者以IE为内核的浏览器
if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {
formFileName = java.net.URLEncoder.encode(formFileName, "UTF-8");
} else {
// 非IE浏览器的处理
formFileName = new String(formFileName.getBytes("UTF-8"), "ISO-8859-1");
}
response.setContentType("application/force-download"); // 设置强制下载不打开
response.addHeader("Content-Disposition", "attachment;fileName=" + sysFile.getFileOriginalName()); // 设置文件名
response.addHeader("Content-Disposition", "attachment;fileName=" + formFileName); // 设置文件名
response.addHeader("Content-type", FileContentTypeTool.getContentType(StringTool.getStringFileSuffix(sysFile.getFileOriginalName(), true))); // 设置文件名
BufferedInputStream bis = null;

@ -14,10 +14,11 @@ import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import static cn.estsh.i3plus.platform.common.util.PlatformConstWords.QUEUE_IMPP_RESOURCE;
@ -28,7 +29,7 @@ import static cn.estsh.i3plus.platform.common.util.PlatformConstWords.QUEUE_IMPP
* @CreateDate : 19-8-23 3:12
* @Modify:
**/
@Component
//@Component
public class SysLocalResourceQueue {
private static final Logger LOGGER = LoggerFactory.getLogger(SysLocalResourceQueue.class);

@ -7,13 +7,11 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISystemResourceService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysConfig;
import cn.estsh.i3plus.pojo.platform.bean.SysDictionary;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource;
import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
import cn.estsh.i3plus.pojo.platform.bean.*;
import cn.estsh.i3plus.pojo.platform.repository.SysConfigRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysDictionaryRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysLocaleLanguageRepository;
@ -25,6 +23,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
@ -117,79 +116,103 @@ public class SystemInitService implements ISystemInitService {
@ApiOperation(value = "加载语言数据",notes = "加载语言数据")
public void putAndLoadSysLocaleLanguage() {
// Redis 缓存
if(type == ImppEnumUtil.SYS_CACHE_TYPE.REDIS.getValue()){
if (type == ImppEnumUtil.SYS_CACHE_TYPE.REDIS.getValue()) {
/**
*
* code <lang : value>
* code <langCode : value>
* code
*
* hashMap
* langCode < code : value>
*
* + hashMap
* langCode + softType < code : value>
*
*/
HashMap<String,HashMap<String,String>> resMap = new HashMap();
HashMap<String,String> lanMap = null;
HashMap<String,HashMap<String,String>> webLangMap = new HashMap<>();
HashMap<String,String> webResMap;
HashMap<String,HashMap<String,String>> webSoftLangMap = new HashMap<>();
HashMap<String,String> webSoftResMap;
String softResKey=null;
HashMap<String, HashMap<String, String>> resMap = new HashMap();
HashMap<String, String> lanMap = null;
HashMap<String, HashMap<String, String>> webLangMap = new HashMap<>();
HashMap<String, String> webResMap;
HashMap<String, HashMap<String, String>> webSoftLangMap = new HashMap<>();
HashMap<String, String> webSoftResMap;
String softResKey = null;
Integer resCount = systemResourceService.getSysLocaleResourceCount(null);
//语言数量
List<SysLocaleLanguage> langList = systemResourceService.listSysLocaleLanguage(null);
LOGGER.info("【加载平台资源】共有{}个资源,{}种语言。", resCount, langList.size());
Pager pager = new Pager(resCount, 5000);
pager.setCurrentPage(0);
//查询所有资源
List<SysLocaleResource> resourceList = systemResourceService.listSysLocaleResource(null);
LOGGER.info("【加载平台资源】共有{}个资源,{}种语言。", resourceList.size(), langList.size());
for (SysLocaleResource res : resourceList) {
//遍历资源放入map中
lanMap = resMap.get(res.getResourceKey());
//判断是否已存在资源信息
if (lanMap == null){
lanMap = new HashMap();
//将key/代码放入
resMap.put(res.getResourceKey(), lanMap);
ListPager<SysLocaleResource> resourceList;
do {
pager.next();
resourceList = systemResourceService.listSysLocaleResourceByPager(null, pager);
resMap = new HashMap();
webLangMap = new HashMap<>();
webSoftLangMap = new HashMap<>();
for (SysLocaleResource res : resourceList.getObjectList()) {
lanMap = resMap.get(res.getResourceKey());
//判断是否已存在资源信息
if (lanMap == null) {
lanMap = new HashMap();
//将key/代码放入
resMap.put(res.getResourceKey(), lanMap);
}
//根据语言放入
lanMap.put(res.getLanguageCode(), res.getResourceValue());
// web 资源
if(res.getResourceType() == CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.WEB.getValue()) {
// web 资源
if (!webLangMap.containsKey(res.getLanguageCode())) {
webLangMap.put(res.getLanguageCode(), new HashMap<>());
}
// 放入资源信息
webResMap = webLangMap.get(res.getLanguageCode());
webResMap.put(res.getResourceKey(), res.getResourceValue());
// web 模块资源
softResKey = res.getLanguageCode() + ":" + res.getSoftTypeVal();
if (!webSoftLangMap.containsKey(softResKey)) {
webSoftLangMap.put(softResKey, new HashMap<>());
}
// 放入模块资源信息
webSoftResMap = webSoftLangMap.get(softResKey);
webSoftResMap.put(res.getResourceKey(), res.getResourceValue());
}
}
//根据语言放入
lanMap.put(res.getLanguageCode(), res.getResourceValue());
// web 资源
if(!webLangMap.containsKey(res.getLanguageCode())){
webLangMap.put(res.getLanguageCode(), new HashMap<>());
}
// 放入资源信息
webResMap = webLangMap.get(res.getLanguageCode());
webResMap.put(res.getResourceKey(), res.getResourceValue());
// web 模块资源
softResKey = res.getLanguageCode() + ":" + res.getSoftTypeVal();
if(!webSoftLangMap.containsKey(softResKey)){
webSoftLangMap.put(softResKey, new HashMap<>());
for (String key : resMap.keySet()) {
//放入缓存
if (resMap.get(key) != null) {
redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + key, resMap.get(key), 0);
}
}
// 放入模块资源信息
webSoftResMap = webSoftLangMap.get(softResKey);
webSoftResMap.put(res.getResourceKey(), res.getResourceValue());
}
for (String key : resMap.keySet()) {
//放入缓存
if(resMap.get(key) != null) {
redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + key, resMap.get(key), 0);
for (String key : webLangMap.keySet()) {
//放入缓存
if (webLangMap.get(key) != null) {
redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + key, webLangMap.get(key), 0);
redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + key, webLangMap.get(key), 0);
}
}
}
for(String key : webLangMap.keySet()){
//放入缓存
if(webLangMap.get(key) != null){
redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + key,webLangMap.get(key),0);
for (String key : webSoftLangMap.keySet()) {
//放入缓存
if (webSoftLangMap.get(key) != null) {
redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + key, webSoftLangMap.get(key), 0);
}
}
}
for(String key : webSoftLangMap.keySet()){
//放入缓存
if(webSoftLangMap.get(key) != null){
redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + key,webSoftLangMap.get(key),0);
}
}
LOGGER.info("【加载平台资源】加载中 {} / {} ", pager.getEndRow(), pager.getTotalRows());
} while (pager.hasNext());
}
LOGGER.info("【加载平台资源】加载完成。");
}
//加载语言数据
putAndLoadSysMenu();
}
@ -207,12 +230,11 @@ public class SystemInitService implements ISystemInitService {
List<SysLocaleResource> insertList = new ArrayList<>();
Map<String,String> redisCacheMap = new HashMap<>();
if(resource != null && resources.size() > 0){
if(resources != null && resources.size() > 0){
resources.forEach(res -> resourceKeyMap.put(StringUtils.join(res.getLanguageCode(),res.getResourceKey()),res));
}
if(menus != null && menus.size() > 0
&& languages != null && languages.size() > 0){
if(menus != null && menus.size() > 0 && languages != null && languages.size() > 0){
for (SysLocaleLanguage language : languages) {
String redisLanguageKey = CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_MENU + ":" + language.getLanguageCode();

@ -154,4 +154,10 @@ public class SystemResourceService implements ISystemResourceService {
return null;
}
}
@Override
public Integer getSysLocaleResourceCount(SysLocaleResource res) {
DdlPackBean packBean = CoreHqlPack.packHqlSysLocaleResource(res);
return sysLocaleResourceRDao.findByHqlWhereCount(packBean);
}
}

Loading…
Cancel
Save