Commit 73e9a9ae LN

增加csv文件导入功能。语言设置增加名称和图标字段。

1 个父辈 746e03c3
......@@ -10,6 +10,9 @@ import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.common.utils.YmlUpdateUtil;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import com.neotel.smfcore.core.language.service.bean.LanguageInfo;
import com.neotel.smfcore.core.language.service.po.LanguageMsg;
import com.neotel.smfcore.core.language.util.MessageUtils;
import com.neotel.smfcore.core.storage.bean.InventoryItem;
import com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE;
import com.neotel.smfcore.core.storage.service.po.StoragePos;
......@@ -102,6 +105,15 @@ public class DataCache {
return null;
}
public List<LanguageInfo> getLanguageList(){
List<LanguageInfo> lanList = getCache(Constants.CACHE_languageType);
if (lanList == null || lanList.size() <= 0) {
lanList = MessageUtils.getDefaultLanList();
updateCache(Constants.CACHE_languageType, lanList);
}
return lanList;
}
/**
* 更新缓存信息
*/
......
......@@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
@Slf4j
......@@ -34,36 +35,21 @@ public class LanguageSetController {
@Autowired
DataCache dataCache;
public List<LanguageInfo> getAllLanList() {
public List<LanguageInfo> getAllLanList() {
// List<String> lanList = dataCache.getCache(Constants.CACHE_languageType);
// List<LanguageInfo> lanList = dataCache.getCache(Constants.CACHE_languageType);
// if (lanList == null || lanList.size() <= 0) {
// lanList=new ArrayList<>();
// lanList.add(MessageUtils.ZH_CN);
// lanList.add(MessageUtils.ZH_TW);
// lanList.add(MessageUtils.EN_US);
// lanList.add(MessageUtils.JA_JP);
// lanList = MessageUtils.getDefaultLanList();
// dataCache.updateCache(Constants.CACHE_languageType, lanList);
// }
// return lanList;
List<LanguageInfo> lanList = dataCache.getCache(Constants.CACHE_languageType);
if (lanList == null || lanList.size() <= 0) {
lanList=new ArrayList<>();
lanList.add(new LanguageInfo(MessageUtils.ZH_CN,"简体中文",""));
lanList.add(new LanguageInfo(MessageUtils.ZH_TW,"简体中文",""));
lanList.add(new LanguageInfo(MessageUtils.EN_US,"简体中文",""));
lanList.add(new LanguageInfo(MessageUtils.JA_JP,"简体中文",""));
dataCache.updateCache(Constants.CACHE_languageType, lanList);
}
return lanList;
return dataCache.getLanguageList();
}
@ApiOperation("获取语言列表")
@GetMapping
@PreAuthorize("@el.check('translation')")
public List<LanguageInfo> getList(){
return getAllLanList();
return getAllLanList();
}
@ApiOperation("新增语言")
@PostMapping
......@@ -111,12 +97,25 @@ public class LanguageSetController {
}
}
List<LanguageInfo> newList=new ArrayList<>();
for (LanguageInfo lan :
languageTypeList) {
if(lanCodes.contains(lan.getLanCode())){
log.info("用户["+SecurityUtils.getCurrentUsername()+"] 删除语言:"+lan.getLanCode());
}else{
//如果是四种默认语言,不能删除
String lancode = lan.getLanCode();
if (lancode.equals(MessageUtils.ZH_CN) ||
lancode.equals(MessageUtils.ZH_TW) ||
lancode.equals(MessageUtils.JA_JP) ||
lancode.equals(MessageUtils.EN_US)
) {
throw new ValidateException("smfcode.canotRemove", "不能删除此语言");
}
}
List<LanguageInfo> newList = new ArrayList<>();
for (LanguageInfo lan :
languageTypeList) {
if (lanCodes.contains(lan.getLanCode())) {
log.info("用户[" + SecurityUtils.getCurrentUsername() + "] 删除语言:" + lan.getLanCode());
} else {
newList.add(lan);
}
}
......@@ -124,6 +123,7 @@ public class LanguageSetController {
throw new ValidateException("smfcode.languageCanotRemoveAll", "不能删除所有语言");
}
dataCache.updateCache(Constants.CACHE_languageType, newList);
return new ResponseEntity<>(HttpStatus.OK);
}
......
......@@ -9,6 +9,7 @@ import com.neotel.smfcore.core.barcode.bean.PlateSizeBean;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.language.service.bean.Content;
import com.neotel.smfcore.core.language.service.bean.LanguageInfo;
import com.neotel.smfcore.core.language.service.dao.ILanguageMsgDao;
import com.neotel.smfcore.core.language.service.nanager.ILanguageMsgManager;
import com.neotel.smfcore.core.language.service.po.LanguageMsg;
......@@ -64,18 +65,6 @@ public class LanguageMsgManagerImpl implements ILanguageMsgManager {
@Autowired
DataCache dataCache;
public List<String> getAllLanList(){
List<String> lanList=dataCache.getCache(Constants.CACHE_languageType);
if(lanList==null||lanList.size()<=0){
lanList.add(MessageUtils. ZH_CN);
lanList.add(MessageUtils.ZH_TW);
lanList.add(MessageUtils.EN_US);
lanList.add(MessageUtils.JA_JP);
dataCache.updateCache(Constants.CACHE_languageType,lanList);
}
return lanList;
}
@Override
public void download(List<LanguageMsg> msgList, HttpServletResponse response) throws IOException {
List<Map<String, Object>> list = new ArrayList<>();
......@@ -83,16 +72,16 @@ public class LanguageMsgManagerImpl implements ILanguageMsgManager {
Map<String, Object> map = new LinkedHashMap<>();
map.put("编号", msg.getCode());
map.put("类型", msg.getType());
map.put("默认值", msg.getMsg());
List<String> lanList=getAllLanList();
for (String lanType :
map.put("内容", msg.getMsg());
List<LanguageInfo> lanList=dataCache.getLanguageList();
for (LanguageInfo languageInfo :
lanList) {
map.put(lanType,msg.getContent(lanType));
String title=languageInfo.getLanCode() ;
if(ObjectUtil.isNotEmpty(languageInfo.getLanName())){
title=languageInfo.getLanName();
}
map.put(title,msg.getContent(languageInfo.getLanCode()));
}
// map.put("简体中文", msg.getContent(MessageUtils.ZH_CN));
// map.put("繁体中文", msg.getContent(MessageUtils.ZH_TW));
// map.put("英文", msg.getContent(MessageUtils.EN_US));
// map.put("日文", msg.getContent(MessageUtils.JA_JP));
list.add(map);
}
FileUtil.downloadExcel(list, response);
......
package com.neotel.smfcore.core.language.util;
import cn.hutool.core.util.ObjectUtil;
import com.neotel.smfcore.common.utils.Constants;
import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.language.service.bean.Content;
import com.neotel.smfcore.core.language.service.bean.LanguageInfo;
import com.neotel.smfcore.core.language.service.nanager.ILanguageMsgManager;
import com.neotel.smfcore.core.language.service.po.LanguageMsg;
import lombok.extern.slf4j.Slf4j;
......@@ -27,11 +30,11 @@ public class MessageUtils {
// return new Locale("zh-CH");
// }
private static MessageSource messageSource;
// private static MessageSource messageSource;
public MessageUtils(MessageSource messageSource) {
MessageUtils.messageSource = messageSource;
}
// public MessageUtils(MessageSource messageSource) {
// MessageUtils.messageSource = messageSource;
// }
// public static String getText(String msgKey, Locale locale,String defaultMsg) {
// return getText(msgKey,null, locale,defaultMsg);
......@@ -57,13 +60,15 @@ public class MessageUtils {
/**
* key=code
* 资源集合,key=code
*/
private static Map<String, LanguageMsg> msgMap = new HashMap<>();
@Autowired
ILanguageMsgManager languageMsgManager;
public static final String ZH_CN = "zh-CN";
public static final String ZH_TW = "zh-TW";
public static final String EN_US = "en-US";
......@@ -75,18 +80,6 @@ public class MessageUtils {
initLanguageMsgList();
}
// public static List<String> getAllLanList(){
//
//
// List<String> lanList=new ArrayList<>();
// lanList.add(ZH_CN);
// lanList.add(ZH_TW);
// lanList.add(EN_US);
// lanList.add(JA_JP);
// return lanList;
// }
public static Locale getDefaultLocal(){
return new Locale("zh-CH");
}
......@@ -164,6 +157,19 @@ public class MessageUtils {
return msgMap;
}
public static List<LanguageInfo> getDefaultLanList() {
List<LanguageInfo> lanList = new ArrayList<>();
if (lanList == null || lanList.size() <= 0) {
lanList=new ArrayList<>();
lanList.add(new LanguageInfo(MessageUtils.ZH_CN,"简体中文",""));
lanList.add(new LanguageInfo(MessageUtils.ZH_TW,"繁体中文",""));
lanList.add(new LanguageInfo(MessageUtils.EN_US,"English",""));
lanList.add(new LanguageInfo(MessageUtils.JA_JP,"日本语",""));
}
return lanList;
}
private void initLanguageMsgList() {
msgMap = loadMsgMap();
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!