|
|
|
@ -26,29 +26,14 @@ 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.DeleteMapping;
|
|
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
|
import org.springframework.web.bind.annotation.PathVariable;
|
|
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
|
|
import org.springframework.web.bind.annotation.PutMapping;
|
|
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
|
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.bind.annotation.*;
|
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import javax.persistence.EntityManager;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
import java.io.BufferedInputStream;
|
|
|
|
|
import java.io.DataInputStream;
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.io.FileInputStream;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.io.InputStream;
|
|
|
|
|
import java.io.OutputStream;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.io.*;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Description :系统语言资源服务
|
|
|
|
@ -302,12 +287,19 @@ public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
List<SysLocaleResource> sysLocaleResourceList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(),
|
|
|
|
|
SysLocaleResource.class);
|
|
|
|
|
|
|
|
|
|
// 初始化数据
|
|
|
|
|
for (SysLocaleResource sysOrderNoRule : sysLocaleResourceList) {
|
|
|
|
|
sysOrderNoRule.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
ConvertBean.modelInitialize(sysOrderNoRule, AuthUtil.getSessionUser());
|
|
|
|
|
// 初始化数据,资源去重
|
|
|
|
|
Map<String, SysLocaleResource> itemMap = new HashMap<>();
|
|
|
|
|
String resourceKey;
|
|
|
|
|
for (SysLocaleResource localeResource : sysLocaleResourceList) {
|
|
|
|
|
localeResource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
ConvertBean.modelInitialize(localeResource, AuthUtil.getSessionUser());
|
|
|
|
|
|
|
|
|
|
resourceKey = localeResource.getResourceKey() + localeResource.getLanguageCode();
|
|
|
|
|
|
|
|
|
|
itemMap.put(resourceKey, localeResource);
|
|
|
|
|
}
|
|
|
|
|
sysLocaleResourceService.insertInitSysLocaleResourceList(sysLocaleResourceList);
|
|
|
|
|
|
|
|
|
|
sysLocaleResourceService.insertInitSysLocaleResourceList(new ArrayList<>(itemMap.values()));
|
|
|
|
|
|
|
|
|
|
// 重新加载资源
|
|
|
|
|
systemInitService.putAndLoadSysLocaleLanguage();
|
|
|
|
@ -372,4 +364,66 @@ public class SysLocaleResourceController extends CoreBaseController {
|
|
|
|
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping(value = "/increment-import")
|
|
|
|
|
@ApiOperation(value = "增量导入系统资源")
|
|
|
|
|
public ResultBean incrementImportSysLocaleResource(@RequestParam("file") MultipartFile file){
|
|
|
|
|
try {
|
|
|
|
|
ExcelTool excelTool = new ExcelTool(entityManager, redisRes);
|
|
|
|
|
List<SysLocaleResource> sysLocaleResourceList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(),
|
|
|
|
|
SysLocaleResource.class);
|
|
|
|
|
|
|
|
|
|
// 初始化数据
|
|
|
|
|
SysLocaleResource orginResource;
|
|
|
|
|
for (SysLocaleResource resource : sysLocaleResourceList) {
|
|
|
|
|
orginResource = sysLocaleResourceService.getSysLocaleResourceByLanguageCodeAndResKey(resource.getLanguageCode()
|
|
|
|
|
,resource.getResourceKey());
|
|
|
|
|
// 是否存在
|
|
|
|
|
if (orginResource!=null) {
|
|
|
|
|
resource.setId(orginResource.getId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
|
|
|
|
ConvertBean.modelInitialize(resource, AuthUtil.getSessionUser());
|
|
|
|
|
}
|
|
|
|
|
sysLocaleResourceService.saveSysLocaleResource(sysLocaleResourceList);
|
|
|
|
|
|
|
|
|
|
// 重新加载资源
|
|
|
|
|
systemInitService.putAndLoadSysLocaleLanguage();
|
|
|
|
|
return ResultBean.success("导入成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
|
|
|
|
} catch (ImppBusiException busExcep) {
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
|
} catch (BaseImppException busExcep) {
|
|
|
|
|
return ResultBean.fail(busExcep);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 按指定大小,分隔集合,将集合按规定个数分为n个部分
|
|
|
|
|
* @param <T>
|
|
|
|
|
*
|
|
|
|
|
* @param list
|
|
|
|
|
* @param len
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public static <T> List<List<T>> splitList(List<T> list, int len) {
|
|
|
|
|
|
|
|
|
|
if (list == null || list.isEmpty() || len < 1) {
|
|
|
|
|
return Collections.emptyList();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<List<T>> result = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
int size = list.size();
|
|
|
|
|
int count = (size + len - 1) / len;
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < count; i++) {
|
|
|
|
|
List<T> subList = list.subList(i * len, ((i + 1) * len > size ? size : len * (i + 1)));
|
|
|
|
|
result.add(subList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|