合并代码 2019年12月30日16:08:19

yun-zuoyi
wei.peng 6 years ago
commit 0a3db523a0

@ -34,6 +34,13 @@ public interface ISysLabelTemplateService {
void deleteSysLabelTemplateById(Long id);
/**
*
* @param id
*/
@ApiOperation(value = "软删除打印模板")
void deleteWeaklySysLabelTemplateById(Long id,String userName);
/**
*
* @param sysLabelTemplate
*/

@ -30,7 +30,7 @@ public interface ISysLocaleResourceService {
void deleteSysLocaleResourceById(Long id);
@ApiOperation(value = "查询全部系统资源",notes = "查询全部系统资源")
List listSysLocaleResource();
List<SysLocaleResource> listSysLocaleResource();
@ApiOperation(value = "系统资源复杂查询,分页,排序",notes = "系统资源复杂查询,分页,排序")
ListPager querySysLocaleResourceByPager(SysLocaleResource sysLocaleResource, Pager pager);
@ -57,4 +57,5 @@ public interface ISysLocaleResourceService {
@ApiOperation(value = "添加初始化资源")
void insertInitSysLocaleResourceList(List<SysLocaleResource> sysLocaleResources);
}

@ -252,6 +252,9 @@ public interface ISysUserService {
@ApiOperation(value = "封装用户信息",notes = "封装用户列表分页信息")
SessionUser packPageSessionUser(SessionUser sessionUser, SysUser user);
@ApiOperation(value = "封装用户信息",notes = "封装用户系统配置信息")
SessionUser packConfigSessionUser(SessionUser sessionUser, SysUser user);
/**
* id
* @param ids id

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

@ -1,248 +1,248 @@
package cn.estsh.i3plus.core.apiservice.controller;
import cn.estsh.i3plus.icloud.core.sdk.ICoreDemoCloud;
import cn.estsh.i3plus.icloud.wms.sdk.IWmsDemoCloud;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.bean.BaseModelBean;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysRole;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.session.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;
import java.util.Map;
@RestController
@RequestMapping("/impp")
@Api(tags="分布式服务测试")
public class DemoCloudController {
private static final Logger LOGGER = LoggerFactory.getLogger(DemoCloudController.class);
@Value("${server.port}")
private String serverPort;
@Value("${eureka.instance.ip-address}")
private String ipAddress;
@Autowired
ICoreDemoCloud iCoreDemoCloud;
@Autowired
IWmsDemoCloud iWmsDemoCloud;
/**
* core
* @param test
* @return
*/
@GetMapping(value="/cloud/test")
@ApiOperation(value="core测试",notes = "core测试")
public BaseResultBean testCore(String test) {
LOGGER.info("iWmsDemoCloud:{},ip:{},port:{}【impp-core接受数据】{}",iWmsDemoCloud,ipAddress,serverPort,test);
//return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
return BaseResultBean.buildBaseResultBean(true,"");
}
/**
* wms
* @param test
* @return
*/
@GetMapping(value="/cloud/test-wms")
@ApiOperation(value="wms测试",notes = "wms测试")
public ResultBean testWms(String test) {
LOGGER.info("iWmsDemoCloud:{},ip:{},port:{}【impp-core接受数据】{}",iWmsDemoCloud,ipAddress,serverPort,test);
BaseResultBean result = iWmsDemoCloud.testWms(test);
if(result.isSuccess()){
return ResultBean.success("wms返回" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}else{
LOGGER.error("无法调用wms服务{}",result.getErrorMsg());
return ResultBean.fail("调用wms服务出错" + result.getErrorMsg());
}
}
/**
* get
* @param test
* @return
*/
@GetMapping(value="/cloud/test-get")
@ApiOperation(value="测试get",notes = "测试get")
public ResultBean testFeignGet(String test) {
LOGGER.info("【impp-core-get接受数据】{}" ,test);
return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
/**
* post
* @param test
* @return
*/
@PostMapping(value="/test-post")
@ApiOperation(value="测试post",notes = "测试post")
public ResultBean testFeignPost(String test) {
LOGGER.info("【impp-core-post接受数据】{}" ,test);
return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
/**
* put
* @param test
* @param name
* @return
*/
@PutMapping(value="/cloud/test-put")
@ApiOperation(value="put接受数据",notes = "put接受数据")
public ResultBean testPut(String test,String name) {
LOGGER.info("【impp-core-put接受数据】param1:{},param2:{}", test,name);
return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
/**
* delete
* @param pager
* @param test
* @return
*/
@DeleteMapping(value="/cloud/test-delete")
@ApiOperation(value="delete接受数据",notes = "delete接受数据")
public ResultBean testDelete(
@RequestBody Pager pager,
@RequestParam("test") String test) {
LOGGER.info("【impp-core-delete接受数据】pager:{},test:{}",pager,test);
return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
/**
* cloudput
* @param test
* @param name
* @return
*/
@PutMapping(value="/cloud/test-cloud-put")
@ApiOperation(value="测试cloudput",notes = "测试cloudput")
public ResultBean putTestCloud(String test,String name) {
LOGGER.info("【impp-core-put接受数据】test:{},name:{}",test,name);
return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
/**
*
* @param pager
* @return
*/
@PostMapping(value="/cloud/test-object")
@ApiOperation(value="测试单对象")
public ResultBean testObject(@RequestBody Pager pager) {
LOGGER.info("【impp-core-object接受数据】{}" ,pager);
return ResultBean.success("返回:" + pager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
/**
* get
* @param map map
* @return
*/
@PostMapping(value="/cloud/test-map")
@ApiOperation(value="测试get",notes = "测试get")
public ResultBean testFeignMap(@RequestBody Map<String,String> map) {
LOGGER.info("【impp-core-map接受数据】{}" ,map);
return ResultBean.success("返回:" + map).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
/**
* arr
* @param arr
* @return
*/
@PostMapping(value="/cloud/test-arr")
@ApiOperation(value="测试arr",notes = "测试arr")
public ResultBean testFeignArr(@RequestBody String[] arr) {
LOGGER.info("【impp-core-arr接受数据】{}" ,arr);
return ResultBean.success("返回成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(arr);
}
/**
*
* @param roleBean
* @return
*/
@PostMapping(value="/cloud/test-more-object")
@ApiOperation(value="测试多对象模型",notes = "测试多对象模型")
public ResultBean testFeignMoreObj(@RequestBody BaseModelBean<SysRole> roleBean) {
LOGGER.info("【impp-core-more-obj接受多对象模型】objBean:{},pager:{}" ,roleBean.getObj(),roleBean.getPager());
return ResultBean.success("返回:" + roleBean).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
@Autowired
public HttpServletRequest request;
@PostMapping(value="/cloud/test-post-request-body")
@ApiOperation(value="测试request-body")
public ResultBean testPostFeignRequestBody(@RequestParam("test") String test,@RequestBody BaseModelBean<SysRole> roleBean) {
LOGGER.info("PostMapping【param】{}" ,test);
Enumeration headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String key = (String) headerNames.nextElement();
String value = request.getHeader(key);
System.out.println("key:"+key + " ,value: " + value);
}
LOGGER.info("【测试request-body-post】objBean:{},pager:{}" ,roleBean.getObj(),roleBean.getPager());
return ResultBean.success("返回:" + roleBean).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
@GetMapping(value="/cloud/test-get-request-body")
@ApiOperation(value="测试request-body")
public ResultBean testGetFeignRequestBody(@RequestBody BaseModelBean<SysRole> roleBean) {
Enumeration headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String key = (String) headerNames.nextElement();
String value = request.getHeader(key);
System.out.println("key:"+key + " ,value: " + value);
}
LOGGER.info("【测试request-body-get】objBean:{},pager:{}" ,roleBean.getObj(),roleBean.getPager());
return ResultBean.success("返回:" + roleBean).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
@GetMapping(value="/operate/testwmsauth")
public BaseResultBean testwmsauth(){
LOGGER.info("【测试testwmsauth】" );
Session session = AuthUtil.getSession();
LOGGER.info("session:{}",session);
SessionUser sessionUser = (SessionUser) session.getAttribute(CommonConstWords.SESSION_USER);
LOGGER.info("登陆信息:{}",sessionUser);
iWmsDemoCloud.testauth();
return ResultBean.success("平台授权").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
@GetMapping(value="/operate/testauth")
public BaseResultBean testauth(){
LOGGER.info("【测试testauth】" );
Session session = AuthUtil.getSession();
LOGGER.info("session:{}",session);
SessionUser sessionUser = (SessionUser) session.getAttribute(CommonConstWords.SESSION_USER);
LOGGER.info("登陆信息:{}",sessionUser);
return ResultBean.success("平台授权").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}
}
//package cn.estsh.i3plus.core.apiservice.controller;
//
//import cn.estsh.i3plus.icloud.core.sdk.ICoreDemoCloud;
//import cn.estsh.i3plus.icloud.wms.sdk.IWmsDemoCloud;
//import cn.estsh.i3plus.platform.common.util.CommonConstWords;
//import cn.estsh.i3plus.pojo.base.bean.BaseModelBean;
//import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
//import cn.estsh.i3plus.pojo.base.common.Pager;
//import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
//import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
//import cn.estsh.i3plus.pojo.platform.bean.SysRole;
//import cn.estsh.impp.framework.boot.auth.AuthUtil;
//import cn.estsh.impp.framework.boot.util.ResultBean;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import org.apache.shiro.session.Session;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.web.bind.annotation.*;
//
//import javax.servlet.http.HttpServletRequest;
//import java.util.Enumeration;
//import java.util.Map;
//
//@RestController
//@RequestMapping("/impp")
//@Api(description="分布式服务测试")
//public class DemoCloudController {
//
// private static final Logger LOGGER = LoggerFactory.getLogger(DemoCloudController.class);
//
// @Value("${server.port}")
// private String serverPort;
//
// @Value("${eureka.instance.ip-address}")
// private String ipAddress;
//
// @Autowired
// ICoreDemoCloud iCoreDemoCloud;
//
// @Autowired
// IWmsDemoCloud iWmsDemoCloud;
//
// /**
// * core测试
// * @param test 测试文本
// * @return 处理结果
// */
// @GetMapping(value="/cloud/test")
// @ApiOperation(value="core测试",notes = "core测试")
// public BaseResultBean testCore(String test) {
// LOGGER.info("iWmsDemoCloud:{},ip:{},port:{}【impp-core接受数据】{}",iWmsDemoCloud,ipAddress,serverPort,test);
// //return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// return BaseResultBean.buildBaseResultBean(true,"");
// }
//
// /**
// * wms测试
// * @param test 测试文本
// * @return 处理结果
// */
// @GetMapping(value="/cloud/test-wms")
// @ApiOperation(value="wms测试",notes = "wms测试")
// public ResultBean testWms(String test) {
// LOGGER.info("iWmsDemoCloud:{},ip:{},port:{}【impp-core接受数据】{}",iWmsDemoCloud,ipAddress,serverPort,test);
//
// BaseResultBean result = iWmsDemoCloud.testWms(test);
// if(result.isSuccess()){
// return ResultBean.success("wms返回" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }else{
// LOGGER.error("无法调用wms服务{}",result.getErrorMsg());
// return ResultBean.fail("调用wms服务出错" + result.getErrorMsg());
// }
// }
//
// /**
// * 测试get
// * @param test 测试文本
// * @return 处理结果
// */
// @GetMapping(value="/cloud/test-get")
// @ApiOperation(value="测试get",notes = "测试get")
// public ResultBean testFeignGet(String test) {
// LOGGER.info("【impp-core-get接受数据】{}" ,test);
// return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }
//
// /**
// * 测试post
// * @param test 测试文本
// * @return 处理结果
// */
// @PostMapping(value="/test-post")
// @ApiOperation(value="测试post",notes = "测试post")
// public ResultBean testFeignPost(String test) {
// LOGGER.info("【impp-core-post接受数据】{}" ,test);
// return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }
//
// /**
// * put接受数据
// * @param test 测试文本
// * @param name 测试文本
// * @return
// */
// @PutMapping(value="/cloud/test-put")
// @ApiOperation(value="put接受数据",notes = "put接受数据")
// public ResultBean testPut(String test,String name) {
// LOGGER.info("【impp-core-put接受数据】param1:{},param2:{}", test,name);
// return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }
//
// /**
// * delete接受数据
// * @param pager 参数
// * @param test 测试文本
// * @return 处理结果
// */
// @DeleteMapping(value="/cloud/test-delete")
// @ApiOperation(value="delete接受数据",notes = "delete接受数据")
// public ResultBean testDelete(
// @RequestBody Pager pager,
// @RequestParam("test") String test) {
// LOGGER.info("【impp-core-delete接受数据】pager:{},test:{}",pager,test);
// return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }
//
// /**
// * 测试cloudput
// * @param test 测试文本
// * @param name 测试文本
// * @return 处理结果
// */
// @PutMapping(value="/cloud/test-cloud-put")
// @ApiOperation(value="测试cloudput",notes = "测试cloudput")
// public ResultBean putTestCloud(String test,String name) {
// LOGGER.info("【impp-core-put接受数据】test:{},name:{}",test,name);
// return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }
//
// /**
// * 测试单对象
// * @param pager 对象参数
// * @return 处理结果
// */
// @PostMapping(value="/cloud/test-object")
// @ApiOperation(value="测试单对象")
// public ResultBean testObject(@RequestBody Pager pager) {
// LOGGER.info("【impp-core-object接受数据】{}" ,pager);
// return ResultBean.success("返回:" + pager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }
//
// /**
// * 测试get
// * @param map map参数
// * @return 处理结果
// */
// @PostMapping(value="/cloud/test-map")
// @ApiOperation(value="测试get",notes = "测试get")
// public ResultBean testFeignMap(@RequestBody Map<String,String> map) {
// LOGGER.info("【impp-core-map接受数据】{}" ,map);
// return ResultBean.success("返回:" + map).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }
//
// /**
// * 测试arr
// * @param arr 文本数组
// * @return 处理结果
// */
// @PostMapping(value="/cloud/test-arr")
// @ApiOperation(value="测试arr",notes = "测试arr")
// public ResultBean testFeignArr(@RequestBody String[] arr) {
// LOGGER.info("【impp-core-arr接受数据】{}" ,arr);
// return ResultBean.success("返回成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(arr);
// }
//
// /**
// * 测试多对象模型
// * @param roleBean 初始
// * @return
// */
// @PostMapping(value="/cloud/test-more-object")
// @ApiOperation(value="测试多对象模型",notes = "测试多对象模型")
// public ResultBean testFeignMoreObj(@RequestBody BaseModelBean<SysRole> roleBean) {
// LOGGER.info("【impp-core-more-obj接受多对象模型】objBean:{},pager:{}" ,roleBean.getObj(),roleBean.getPager());
// return ResultBean.success("返回:" + roleBean).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }
//
// @Autowired
// public HttpServletRequest request;
//
// @PostMapping(value="/cloud/test-post-request-body")
// @ApiOperation(value="测试request-body")
// public ResultBean testPostFeignRequestBody(@RequestParam("test") String test,@RequestBody BaseModelBean<SysRole> roleBean) {
// LOGGER.info("PostMapping【param】{}" ,test);
//
// Enumeration headerNames = request.getHeaderNames();
// while (headerNames.hasMoreElements()) {
// String key = (String) headerNames.nextElement();
// String value = request.getHeader(key);
// System.out.println("key:"+key + " ,value: " + value);
// }
//
// LOGGER.info("【测试request-body-post】objBean:{},pager:{}" ,roleBean.getObj(),roleBean.getPager());
// return ResultBean.success("返回:" + roleBean).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }
//
// @GetMapping(value="/cloud/test-get-request-body")
// @ApiOperation(value="测试request-body")
// public ResultBean testGetFeignRequestBody(@RequestBody BaseModelBean<SysRole> roleBean) {
// Enumeration headerNames = request.getHeaderNames();
// while (headerNames.hasMoreElements()) {
// String key = (String) headerNames.nextElement();
// String value = request.getHeader(key);
// System.out.println("key:"+key + " ,value: " + value);
// }
//
// LOGGER.info("【测试request-body-get】objBean:{},pager:{}" ,roleBean.getObj(),roleBean.getPager());
// return ResultBean.success("返回:" + roleBean).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }
//
// @GetMapping(value="/operate/testwmsauth")
// public BaseResultBean testwmsauth(){
// LOGGER.info("【测试testwmsauth】" );
// Session session = AuthUtil.getSession();
// LOGGER.info("session:{}",session);
//
// SessionUser sessionUser = (SessionUser) session.getAttribute(CommonConstWords.SESSION_USER);
// LOGGER.info("登陆信息:{}",sessionUser);
// iWmsDemoCloud.testauth();
//
// return ResultBean.success("平台授权").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }
//
// @GetMapping(value="/operate/testauth")
// public BaseResultBean testauth(){
// LOGGER.info("【测试testauth】" );
// Session session = AuthUtil.getSession();
// LOGGER.info("session:{}",session);
//
// SessionUser sessionUser = (SessionUser) session.getAttribute(CommonConstWords.SESSION_USER);
// LOGGER.info("登陆信息:{}",sessionUser);
//
// return ResultBean.success("平台授权").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }
//}

@ -54,6 +54,9 @@ public class WhiteController extends CoreBaseController {
private ISysLocaleLanguageService sysLocaleLanguageService;
@Autowired
private ISysLocaleResourceService sysLocaleResourceService;
@Autowired
private ISystemLoginService systemLoginService;
@Autowired
@ -242,10 +245,11 @@ public class WhiteController extends CoreBaseController {
}
// 从缓存获取语言信息
Map<Object, Object> resourceMap = redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + languageCode);
Map<Object, Object> resourceMap =
redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB+ ":" + languageCode);
if (resourceMap == null || resourceMap.size() == 0) {
systemInitService.putAndLoadSysLocaleLanguage();
resourceMap = redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + languageCode);
resourceMap = redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + languageCode);
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultMap(resourceMap);
@ -256,6 +260,64 @@ public class WhiteController extends CoreBaseController {
}
}
@PostMapping(value = "/find-resource")
@ApiOperation(value = "按条件查询资源")
public ResultBean<SysLocaleResource> findSysLocaleResource(@RequestBody SysLocaleResource sysLocaleResource){
try {
startMultiService();
List<SysLocaleResource> resourceList = sysLocaleResourceService.findSysLocaleResource(sysLocaleResource);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(resourceList);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/find-language-code-soft-type")
@ApiOperation(value = "根据语言代码查询资源")
public ResultBean findSysLocaleResourceByLanguageCode(String languageCode,Integer softType,
@RequestParam(defaultValue = "2") Integer needPlatformRes){
try {
startMultiService();
ValidatorBean.checkNotNull(languageCode,"语言代码不能为空");
ValidatorBean.checkNotNull(softType,"软件类型不能为空");
if (sysLocaleLanguageService.getSysLocaleLanguageByCode(languageCode) == null) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("语言不存在")
.build();
}
// 从缓存获取语言信息
Map<Object, Object> resourceMap =
redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + languageCode + ":" + softType);
if (resourceMap == null || resourceMap.size() == 0) {
systemInitService.putAndLoadSysLocaleLanguage();
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);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping(value = "/sys-file/insert")
@ApiOperation(value = "新增文件资源", notes = "新增文件资源")
public ResultBean insertSysFile(@RequestBody SysFile sysFile){

@ -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;

@ -22,16 +22,9 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
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.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
@ -103,7 +96,7 @@ public class SysLabelTemplateController extends CoreBaseController {
.build();
}
sysLabelTemplateService.deleteSysLabelTemplateById(Long.parseLong(idStr));
sysLabelTemplateService.deleteWeaklySysLabelTemplateById(Long.parseLong(idStr),AuthUtil.getSessionUser().getUserName());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);

@ -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 :
@ -61,7 +46,7 @@ import java.util.Map;
@Api(tags = "系统语言资源服务")
@RequestMapping(PlatformConstWords.BASE_URL + "/sys-locale-resource")
public class SysLocaleResourceController extends CoreBaseController {
public static final Logger LOGGER = LoggerFactory.getLogger(SysFileController.class);
public static final Logger LOGGER = LoggerFactory.getLogger(SysLocaleResourceController.class);
@Resource(name=CommonConstWords.IMPP_REDIS_RES)
private ImppRedis redisRes;
@ -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,88 @@ public class SysLocaleResourceController extends CoreBaseController {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping(value = "/increment-import")
@ApiOperation(value = "增量导入系统资源")
public ResultBean incrementImportSysLocaleResource(@RequestParam("file") MultipartFile file){
try {
Long startTime = System.currentTimeMillis();
LOGGER.info("开始增量导入 {}",file.getOriginalFilename());
ExcelTool excelTool = new ExcelTool(entityManager, redisRes);
List<SysLocaleResource> sysLocaleResourceList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(),
SysLocaleResource.class);
long excelToolExecuteTime = System.currentTimeMillis();
LOGGER.info("增量导入 数据量 {}, ExcelTool耗时 {}", sysLocaleResourceList.size(), excelToolExecuteTime - startTime);
// 初始化数据
boolean d = false;
if(d){
return ResultBean.success();
}
for (SysLocaleResource resource : sysLocaleResourceList) {
resource.setId(getResourceKey(resource.getResourceKey(),resource.getLanguageCode()));
resource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
ConvertBean.modelInitialize(resource, AuthUtil.getSessionUser());
}
long deduplicationExecuteTime = System.currentTimeMillis();
LOGGER.info("数据去重完毕, 数据去重耗时 {}", deduplicationExecuteTime - excelToolExecuteTime);
for (List<SysLocaleResource> resourceList : splitList(sysLocaleResourceList, 1000)) {
sysLocaleResourceService.saveSysLocaleResource(resourceList);
}
LOGGER.info("增量导入完毕, 导入耗时{}",System.currentTimeMillis() - deduplicationExecuteTime);
// 重新加载资源
systemInitService.putAndLoadSysLocaleLanguage();
LOGGER.info("数据缓存更新完毕,总耗时:{}",System.currentTimeMillis()-startTime);
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);
}
}
private Long getResourceKey(String resKey, String languageCode) {
if (redisRes.checkKey("CACHE_LANGUAGE:"+resKey,languageCode)) {
LOGGER.info("查询到已存在资源 {}{}",resKey,languageCode);
SysLocaleResource sysLocaleResource =sysLocaleResourceService.getSysLocaleResourceByLanguageCodeAndResKey(
languageCode, resKey
);
return sysLocaleResource == null ? null : sysLocaleResource.getId();
}
return null;
}
/**
* 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;
}
}

@ -29,7 +29,7 @@ public class ReportDaoImpl implements IReportDao {
@Override
public List<Object[]> findByHqlObjects(String hql, Map<String,Object> findParam) throws Exception {
LOGGER.info(" find HQL:{} find params :{}", hql, findParam);
LOGGER.info(" find HQL:{} \n find params :{}", hql, findParam);
Query queryObject = entityManager.createQuery(hql);
if(CollectionUtils.isEmpty(findParam)){
@ -42,7 +42,7 @@ public class ReportDaoImpl implements IReportDao {
@Override
public Long findByHqlCount(String hql, Map<String, Object> findParam) throws Exception {
LOGGER.info(" find HQL:{} find params :{}", hql, findParam);
LOGGER.info(" find HQL:{} \n find params :{}", hql, findParam);
Query queryObject = entityManager.createQuery(hql);
if(CollectionUtils.isEmpty(findParam)){

@ -38,7 +38,7 @@ public class I3CoreQueueReceiver {
@RabbitListener(queues = QUEUE_IMPP_MESSAGE)
public void processImppMessage(SysMessage msg, Channel channel, Message message) {
try {
LOGGER.info("【MQ-QUEUE_IMPP_MESSAGE】数据接收成功{}",msg);
LOGGER.debug("【MQ-QUEUE_IMPP_MESSAGE】数据接收成功{}",msg);
//信息已处理
channel.basicAck(message.getMessageProperties().getDeliveryTag(),false);

@ -66,7 +66,7 @@ public class MessageLetterQueueReceiver {
*/
@RabbitListener(queues = PlatformConstWords.QUEUE_IMPP_MESSAGE_LETTER)
public void processImppMessage(String data, Channel channel, Message message) {
LOGGER.info("【MQ-{}】 数据接收成功:{}", PlatformConstWords.QUEUE_IMPP_MESSAGE_LETTER, data);
LOGGER.debug("【MQ-{}】 数据接收成功:{}", PlatformConstWords.QUEUE_IMPP_MESSAGE_LETTER, data);
SysMessage msg = JsonUtilTool.decode(data, SysMessage.class);
try {
ConvertBean.serviceModelInitialize(msg, "system");

@ -55,7 +55,7 @@ public class MessageMailQueueReceiver {
SysMessage msg = JsonUtilTool.decode(data, SysMessage.class);
Long startTime = System.currentTimeMillis();
try {
LOGGER.info("【MQ-QUEUE_IMPP_MESSAGE_MAIL】数据接收成功{}", msg);
LOGGER.debug("【MQ-QUEUE_IMPP_MESSAGE_MAIL】数据接收成功{}", msg);
if (msg.getMessageSendTime() == null) {
msg.setMessageSendTime(TimeTool.getNowTime(true));
}

@ -60,7 +60,7 @@ public class MessageSWebNoticeQueueReceiver {
*/
@RabbitListener(queues = PlatformConstWords.QUEUE_SWEB_NOTICE)
public void processImppMail(String data, Channel channel, Message message) {
LOGGER.info("【MQ-{}】 数据接收成功:{}", PlatformConstWords.QUEUE_SWEB_NOTICE, data);
LOGGER.debug("【MQ-{}】 数据接收成功:{}", PlatformConstWords.QUEUE_SWEB_NOTICE, data);
// 添加消息
SysMessage msg = JsonUtilTool.decode(data, SysMessage.class);
try {

@ -59,7 +59,7 @@ public class ScheduleQueueReceiver {
public void processSchedule(String data, Channel channel, Message message) {
try {
SysLogTaskTime logTaskTime = JsonUtilTool.decode(data, SysLogTaskTime.class);
LOGGER.info("【MQ-QUEUE_IMPP_SCHEDULE】数据接收成功{}", logTaskTime);
LOGGER.debug("【MQ-QUEUE_IMPP_SCHEDULE】数据接收成功{}", logTaskTime);
// 跟新最后执行时间 及 任务状态
if(logTaskTime != null){
SysTaskPlan taskPlan = sysTaskPlanService.getSysTaskPlanByNameAndGroup(logTaskTime.getName(), logTaskTime.getGroupName());

@ -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,28 +116,47 @@ 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>> 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中
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){
if (lanMap == null) {
lanMap = new HashMap();
//将key/代码放入
resMap.put(res.getResourceKey(), lanMap);
@ -147,30 +165,54 @@ public class SystemInitService implements ISystemInitService {
lanMap.put(res.getLanguageCode(), res.getResourceValue());
// web 资源
if(!webLangMap.containsKey(res.getLanguageCode())){
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());
}
}
for (String key : resMap.keySet()) {
//放入缓存
if(resMap.get(key) != null) {
if (resMap.get(key) != null) {
redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + key, resMap.get(key), 0);
}
}
for(String key : webLangMap.keySet()){
for (String key : webLangMap.keySet()) {
//放入缓存
if(webLangMap.get(key) != null){
redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + key,webLangMap.get(key),0);
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 : 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();
}
@ -188,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();

@ -93,6 +93,13 @@ public class SysLabelTemplateService implements ISysLabelTemplateService {
}
@Override
@ApiOperation(value = "软删除打印模板")
public void deleteWeaklySysLabelTemplateById(Long id,String userName) {
sysLabelTemplateRDao.deleteWeaklyById(id,userName);
sysLabelTemplateParamRDao.deleteWeaklyByProperty("templateId", id,userName);
}
@Override
@ApiOperation(value = "修改打印模板", notes = "修改打印模板")
public void updateSysLabelTemplate(SysLabelTemplate sysLabelTemplate) {
SysLabelTemplate updateBefore = sysLabelTemplateRDao.getById(sysLabelTemplate.getId());

@ -26,10 +26,8 @@ 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.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -222,58 +220,7 @@ public class SysLocaleResourceService implements ISysLocaleResourceService {
@Override
public void insertInitSysLocaleResourceList(List<SysLocaleResource> sysLocaleResourceList) {
sysLocaleResourceRDao.deleteAll();
// 资源去重
Map<String, Map<String, SysLocaleResource>> resourceMap = new HashMap<>();
Map<String, SysLocaleResource> itemMap;
for (SysLocaleResource localeResource : sysLocaleResourceList) {
if (resourceMap.containsKey(localeResource.getResourceKey())) {
itemMap = resourceMap.get(localeResource.getResourceKey());
} else {
itemMap = new HashMap<>();
resourceMap.put(localeResource.getResourceKey(), itemMap);
}
itemMap.put(localeResource.getLanguageCode(), localeResource);
}
List<SysLocaleResource> resourceList = new ArrayList<>();
for (String key : resourceMap.keySet()) {
for (SysLocaleResource value : resourceMap.get(key).values()) {
resourceList.add(value);
}
}
for (List<SysLocaleResource> sysLocaleResources : splitList(resourceList, 1000)) {
sysLocaleResourceRDao.saveAll(sysLocaleResources);
sysLocaleResourceRDao.saveAll(sysLocaleResourceList);
}
}
/**
* 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;
}
}

@ -126,7 +126,7 @@ public class SysUserService implements ISysUserService {
throw new CredentialsException("用户不存在");
}
packSessionUser(sessionUser, user, user.getUserType(),loginPlatform, languageCode,deviceId);
packPageSessionUser(sessionUser, user);
packConfigSessionUser(sessionUser, user);
AuthUtil.setSessionUser(sessionUser);
refreshUserLoginInformation(user.getId());
AuthUtil.online(sessionUser);
@ -639,6 +639,15 @@ public class SysUserService implements ISysUserService {
}
@Override
public SessionUser packConfigSessionUser(SessionUser sessionUser, SysUser user) {
packPageSessionUser(sessionUser, user);
String fileViewUrl = RedisUtilTool.getSysConfigStrVal(CommonConstWords.CONFIG_FILE_VIEW_URL,
CommonConstWords.CONFIG_FILE_VIEW_URL_DEFAULT);
sessionUser.setFileViewUrl(fileViewUrl);
return sessionUser;
}
@Override
public List<SysUser> findSysUserByIds(Long[] ids) {
DdlPackBean ddlPackBean = new DdlPackBean();
DdlPreparedPack.getInPackArray(ids, "id", ddlPackBean);

@ -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