未翻译资源优化

yun-zuoyi
汪云昊 5 years ago
parent bb7fa4dd83
commit e5b2bfe2ba

@ -60,16 +60,28 @@ public interface ISysLocaleResourceService {
@ApiOperation(value = "删除所有资源")
void deleteSysLocaleResourceAll();
/***************************** 缺失资源管理 ******************************/
List<MissResourceModel> listMissResourceModel();
MissResourceModel saveMissResourceModel(MissResourceModel missResourceModel);
void updateMissResourceModelIsValidByKeys(String[] keys, Integer isValid);
void doCleanInValidMissResource();
void doConversionMissResourceByKeys(String[] keys);
/***************************** 缺失资源管理 ******************************/
/**
*
* @param num
* @return
*/
@ApiOperation(value = "查询指定数量的缺失资源")
List<MissResourceModel> findMissResourceModelByTop(int num);
/**
* key
* @param keys
*/
@ApiOperation(value = "根据key删除缺失资源信息")
void deleteInValidMissResourceByKeys(String[] keys);
/**
*
* @param missResourceModelList
*/
@ApiOperation(value = "批量转换缺失资源")
void doConversionMissResourceByKeys(List<MissResourceModel> missResourceModelList) ;
}

@ -62,20 +62,24 @@ public class AppStartSystemInit implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
LOGGER.info("【IMPP-Core开始绑定资源信息...】");
packIMPPResources();
try {
LOGGER.info("【IMPP-Core开始绑定资源信息...】");
packIMPPResources();
LOGGER.info("【IMPP-Core开始加载基础信息...】");
systemInitService.putAndLoadAll();
LOGGER.info("【IMPP-Core开始加载基础信息...】");
systemInitService.putAndLoadAll();
// 加载系统配置文件
LOGGER.info("【IMPP-Core 加载系统配置文件到缓存中 ...】");
systemConfig.loadSystemConfig(CommonEnumUtil.SOFT_TYPE.CORE.getCode());
LOGGER.info("【IMPP-Core 加载系统配置文件到缓存完成】");
// 加载系统配置文件
LOGGER.info("【IMPP-Core 加载系统配置文件到缓存中 ...】");
systemConfig.loadSystemConfig(CommonEnumUtil.SOFT_TYPE.CORE.getCode());
LOGGER.info("【IMPP-Core 加载系统配置文件到缓存完成】");
LOGGER.info("【IMPP-Core 加载 ElasticSearch中 ...】");
initImppElasticSearch();
LOGGER.info("【IMPP-Core 加载 ElasticSearch完成】");
LOGGER.info("【IMPP-Core 加载 ElasticSearch中 ...】");
initImppElasticSearch();
LOGGER.info("【IMPP-Core 加载 ElasticSearch完成】");
} catch (Exception e){
e.printStackTrace();
}
}
/**

@ -8,6 +8,7 @@ import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.BaseImppException;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.ExcelTool;
import cn.estsh.i3plus.platform.common.tool.FileTool;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.FileContentTypeTool;
@ -43,7 +44,10 @@ import javax.persistence.EntityManager;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -531,7 +535,7 @@ public class SysLocaleResourceController extends CoreBaseController {
@ApiOperation(value = "缺失资源列表")
public ResultBean listMissResource(){
try {
List<MissResourceModel> missResourceModelList = sysLocaleResourceService.listMissResourceModel();
List<MissResourceModel> missResourceModelList = sysLocaleResourceService.findMissResourceModelByTop(100);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(missResourceModelList);
} catch (ImppBusiException busExcep) {
@ -541,39 +545,11 @@ public class SysLocaleResourceController extends CoreBaseController {
}
}
@PutMapping(value = "/miss/update")
@ApiOperation(value = "更新缺失资源信息")
public ResultBean listMissResource(MissResourceModel missResourceModel){
try {
missResourceModel = sysLocaleResourceService.saveMissResourceModel(missResourceModel);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(missResourceModel);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PutMapping(value = "/miss/batch-update-valid")
@ApiOperation(value = "更新缺失资源有效状态")
public ResultBean updateMissResourceIsValidByKeys(String[] keys,Integer valid){
try {
sysLocaleResourceService.updateMissResourceModelIsValidByKeys(keys, valid);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@DeleteMapping(value = "/miss/clean-invalid")
@ApiOperation(value = "更新缺失资源有效状态")
public ResultBean cleanMissResourceByInvalid(){
public ResultBean cleanMissResourceByInvalid(String[] keys){
try {
sysLocaleResourceService.doCleanInValidMissResource();
sysLocaleResourceService.deleteInValidMissResourceByKeys(keys);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
@ -585,9 +561,9 @@ public class SysLocaleResourceController extends CoreBaseController {
@PostMapping(value = "/miss/batch-conversion")
@ApiOperation(value = "批量转换缺失资源")
public ResultBean doBatchConversionMissResource(String[] keys){
public ResultBean doBatchConversionMissResource(@RequestBody List<MissResourceModel> missResourceModelList){
try {
sysLocaleResourceService.doConversionMissResourceByKeys(keys);
sysLocaleResourceService.doConversionMissResourceByKeys(missResourceModelList);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
@ -601,7 +577,7 @@ public class SysLocaleResourceController extends CoreBaseController {
@ApiOperation(value = "导出缺失资源")
public ResultBean exportMissResource(HttpServletResponse response){
try {
List<MissResourceModel> missResourceModelList = sysLocaleResourceService.listMissResourceModel();
List<MissResourceModel> missResourceModelList = sysLocaleResourceService.findMissResourceModelByTop(-1);
Map<String, String> langCodeMap = sysLocaleLanguageService.listSysLocaleLanguage()
.stream()
.collect(
@ -627,9 +603,10 @@ public class SysLocaleResourceController extends CoreBaseController {
}
ExcelTool excelTool = new ExcelTool(entityManager, redisRes);
String tempDir = FileTool.makeTempFolder();
String fileName = "locale_" + System.currentTimeMillis() + ".xls";
File file = new File(fileName);
File file = new File(tempDir,fileName);
if (file.createNewFile()) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())

@ -21,13 +21,14 @@ import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.persistence.EntityManager;
@ -257,7 +258,7 @@ public class SysLogOperateController extends CoreBaseController {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
} finally {
// 清理临时文件文件
if(excelDir == null) {
if(excelDir != null) {
FileTool.deleteFile(excelDir.getPath());
}
}

@ -22,7 +22,6 @@ import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@ -232,8 +231,8 @@ public class SysLocaleResourceService implements ISysLocaleResourceService {
}
@Override
public List<MissResourceModel> listMissResourceModel() {
List<Object> listStr = redisRes.scan(CommonConstWords.REDIS_PREFIX_CACHE_NO_RES + "*");
public List<MissResourceModel> findMissResourceModelByTop(int num) {
List<Object> listStr = redisRes.scan(CommonConstWords.REDIS_PREFIX_CACHE_NO_RES + "*",num);
MissResourceModel missResourceModel = null;
List<MissResourceModel> missResourceModelList = new ArrayList<>(listStr.size());
@ -253,59 +252,12 @@ public class SysLocaleResourceService implements ISysLocaleResourceService {
}
@Override
public MissResourceModel saveMissResourceModel(MissResourceModel missResourceModel) {
redisRes.putObject(missResourceModel.getKey(), JSON.toJSONString(missResourceModel), -1);
return missResourceModel;
public void deleteInValidMissResourceByKeys(String[] keys) {
redisRes.deleteKey(keys);
}
@Override
public void updateMissResourceModelIsValidByKeys(String[] keys, Integer valid) {
List<Object> missResourceStrList = redisRes.findObject(Arrays.asList(keys));
MissResourceModel missResourceModel = null;
List<MissResourceModel> missResourceModelList = new ArrayList<>(missResourceStrList.size());
// 更新状态
for (Object missResourceStr : missResourceStrList) {
if (missResourceStr == null || StringUtils.isBlank(missResourceStr.toString())) {
continue;
}
missResourceModel = JsonUtilTool.decode(missResourceStr.toString(), MissResourceModel.class);
missResourceModel.setIsValid(valid);
missResourceModelList.add(missResourceModel);
}
// 存入redis
for (MissResourceModel resourceModel : missResourceModelList) {
redisRes.putObject(resourceModel.getKey(), JsonUtilTool.encode(resourceModel));
}
}
@Override
public void doCleanInValidMissResource() {
List<Object> listStr = redisRes.scan(CommonConstWords.REDIS_PREFIX_CACHE_NO_RES + "*");
MissResourceModel missResourceModel = null;
List<String> cleanKeys = new ArrayList<>(listStr.size());
// 更新状态
for (Object missResourceStr : listStr) {
if (missResourceStr ==null || StringUtils.isBlank(missResourceStr.toString())) {
continue;
}
missResourceModel = JsonUtilTool.decode(missResourceStr.toString(), MissResourceModel.class);
if (missResourceModel != null && missResourceModel.getIsValid() != null
&& CommonEnumUtil.IS_VAILD.INVAILD.getValue() == missResourceModel.getIsValid()) {
cleanKeys.add(missResourceModel.getKey());
}
}
redisRes.deleteKey(cleanKeys.toArray(new String[cleanKeys.size()]));
}
@Override
public void doConversionMissResourceByKeys(String[] keys) {
List<Object> missResourceStrList = redisRes.findObject(Arrays.asList(keys));
MissResourceModel missResourceModel = null;
List<MissResourceModel> missResourceModelList = new ArrayList<>(missResourceStrList.size());
public void doConversionMissResourceByKeys(List<MissResourceModel> missResourceModelList) {
Map<String, String> langCodeMap = sysLocaleLanguageRDao.list()
.stream()
.collect(
@ -315,15 +267,6 @@ public class SysLocaleResourceService implements ISysLocaleResourceService {
)
);
// 类型转换
for (Object missResourceStr : missResourceStrList) {
if (missResourceStr == null || StringUtils.isBlank(missResourceStr.toString())) {
continue;
}
missResourceModel = JsonUtilTool.decode(missResourceStr.toString(), MissResourceModel.class);
missResourceModelList.add(missResourceModel);
}
SysLocaleResource sysLocaleResource;
for (MissResourceModel resourceModel : missResourceModelList) {
sysLocaleResource = new SysLocaleResource();

Loading…
Cancel
Save