合并代码 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); void deleteSysLabelTemplateById(Long id);
/** /**
*
* @param id
*/
@ApiOperation(value = "软删除打印模板")
void deleteWeaklySysLabelTemplateById(Long id,String userName);
/**
* *
* @param sysLabelTemplate * @param sysLabelTemplate
*/ */

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

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

@ -100,4 +100,11 @@ public interface ISystemResourceService {
* @return * @return
*/ */
SysLocaleResource getSysLocaleResourceByLanguage(int resourceType,String langCode,String langKey); 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; //package cn.estsh.i3plus.core.apiservice.controller;
//
import cn.estsh.i3plus.icloud.core.sdk.ICoreDemoCloud; //import cn.estsh.i3plus.icloud.core.sdk.ICoreDemoCloud;
import cn.estsh.i3plus.icloud.wms.sdk.IWmsDemoCloud; //import cn.estsh.i3plus.icloud.wms.sdk.IWmsDemoCloud;
import cn.estsh.i3plus.platform.common.util.CommonConstWords; //import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.bean.BaseModelBean; //import cn.estsh.i3plus.pojo.base.bean.BaseModelBean;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; //import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.common.Pager; //import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; //import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser; //import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysRole; //import cn.estsh.i3plus.pojo.platform.bean.SysRole;
import cn.estsh.impp.framework.boot.auth.AuthUtil; //import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.util.ResultBean; //import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api; //import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; //import io.swagger.annotations.ApiOperation;
import org.apache.shiro.session.Session; //import org.apache.shiro.session.Session;
import org.slf4j.Logger; //import org.slf4j.Logger;
import org.slf4j.LoggerFactory; //import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; //import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*; //import org.springframework.web.bind.annotation.*;
//
import javax.servlet.http.HttpServletRequest; //import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration; //import java.util.Enumeration;
import java.util.Map; //import java.util.Map;
//
@RestController //@RestController
@RequestMapping("/impp") //@RequestMapping("/impp")
@Api(tags="分布式服务测试") //@Api(description="分布式服务测试")
public class DemoCloudController { //public class DemoCloudController {
//
private static final Logger LOGGER = LoggerFactory.getLogger(DemoCloudController.class); // private static final Logger LOGGER = LoggerFactory.getLogger(DemoCloudController.class);
//
@Value("${server.port}") // @Value("${server.port}")
private String serverPort; // private String serverPort;
//
@Value("${eureka.instance.ip-address}") // @Value("${eureka.instance.ip-address}")
private String ipAddress; // private String ipAddress;
//
@Autowired // @Autowired
ICoreDemoCloud iCoreDemoCloud; // ICoreDemoCloud iCoreDemoCloud;
//
@Autowired // @Autowired
IWmsDemoCloud iWmsDemoCloud; // IWmsDemoCloud iWmsDemoCloud;
//
/** // /**
* core // * core测试
* @param test // * @param test 测试文本
* @return // * @return 处理结果
*/ // */
@GetMapping(value="/cloud/test") // @GetMapping(value="/cloud/test")
@ApiOperation(value="core测试",notes = "core测试") // @ApiOperation(value="core测试",notes = "core测试")
public BaseResultBean testCore(String test) { // public BaseResultBean testCore(String test) {
LOGGER.info("iWmsDemoCloud:{},ip:{},port:{}【impp-core接受数据】{}",iWmsDemoCloud,ipAddress,serverPort,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()); // return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
return BaseResultBean.buildBaseResultBean(true,""); // }
} //
// /**
/** // * 测试post
* wms // * @param test 测试文本
* @param test // * @return 处理结果
* @return // */
*/ // @PostMapping(value="/test-post")
@GetMapping(value="/cloud/test-wms") // @ApiOperation(value="测试post",notes = "测试post")
@ApiOperation(value="wms测试",notes = "wms测试") // public ResultBean testFeignPost(String test) {
public ResultBean testWms(String test) { // LOGGER.info("【impp-core-post接受数据】{}" ,test);
LOGGER.info("iWmsDemoCloud:{},ip:{},port:{}【impp-core接受数据】{}",iWmsDemoCloud,ipAddress,serverPort,test); // return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }
BaseResultBean result = iWmsDemoCloud.testWms(test); //
if(result.isSuccess()){ // /**
return ResultBean.success("wms返回" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // * put接受数据
}else{ // * @param test 测试文本
LOGGER.error("无法调用wms服务{}",result.getErrorMsg()); // * @param name 测试文本
return ResultBean.fail("调用wms服务出错" + result.getErrorMsg()); // * @return
} // */
} // @PutMapping(value="/cloud/test-put")
// @ApiOperation(value="put接受数据",notes = "put接受数据")
/** // public ResultBean testPut(String test,String name) {
* get // LOGGER.info("【impp-core-put接受数据】param1:{},param2:{}", test,name);
* @param test // return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
* @return // }
*/ //
@GetMapping(value="/cloud/test-get") // /**
@ApiOperation(value="测试get",notes = "测试get") // * delete接受数据
public ResultBean testFeignGet(String test) { // * @param pager 参数
LOGGER.info("【impp-core-get接受数据】{}" ,test); // * @param test 测试文本
return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // * @return 处理结果
} // */
// @DeleteMapping(value="/cloud/test-delete")
/** // @ApiOperation(value="delete接受数据",notes = "delete接受数据")
* post // public ResultBean testDelete(
* @param test // @RequestBody Pager pager,
* @return // @RequestParam("test") String test) {
*/ // LOGGER.info("【impp-core-delete接受数据】pager:{},test:{}",pager,test);
@PostMapping(value="/test-post") // return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
@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()); // * 测试cloudput
} // * @param test 测试文本
// * @param name 测试文本
/** // * @return 处理结果
* put // */
* @param test // @PutMapping(value="/cloud/test-cloud-put")
* @param name // @ApiOperation(value="测试cloudput",notes = "测试cloudput")
* @return // public ResultBean putTestCloud(String test,String name) {
*/ // LOGGER.info("【impp-core-put接受数据】test:{},name:{}",test,name);
@PutMapping(value="/cloud/test-put") // return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
@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()); // * 测试单对象
} // * @param pager 对象参数
// * @return 处理结果
/** // */
* delete // @PostMapping(value="/cloud/test-object")
* @param pager // @ApiOperation(value="测试单对象")
* @param test // public ResultBean testObject(@RequestBody Pager pager) {
* @return // LOGGER.info("【impp-core-object接受数据】{}" ,pager);
*/ // return ResultBean.success("返回:" + pager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
@DeleteMapping(value="/cloud/test-delete") // }
@ApiOperation(value="delete接受数据",notes = "delete接受数据") //
public ResultBean testDelete( // /**
@RequestBody Pager pager, // * 测试get
@RequestParam("test") String test) { // * @param map map参数
LOGGER.info("【impp-core-delete接受数据】pager:{},test:{}",pager,test); // * @return 处理结果
return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // */
} // @PostMapping(value="/cloud/test-map")
// @ApiOperation(value="测试get",notes = "测试get")
/** // public ResultBean testFeignMap(@RequestBody Map<String,String> map) {
* cloudput // LOGGER.info("【impp-core-map接受数据】{}" ,map);
* @param test // return ResultBean.success("返回:" + map).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
* @param name // }
* @return //
*/ // /**
@PutMapping(value="/cloud/test-cloud-put") // * 测试arr
@ApiOperation(value="测试cloudput",notes = "测试cloudput") // * @param arr 文本数组
public ResultBean putTestCloud(String test,String name) { // * @return 处理结果
LOGGER.info("【impp-core-put接受数据】test:{},name:{}",test,name); // */
return ResultBean.success("返回:" + test).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // @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 pager // }
* @return //
*/ // /**
@PostMapping(value="/cloud/test-object") // * 测试多对象模型
@ApiOperation(value="测试单对象") // * @param roleBean 初始
public ResultBean testObject(@RequestBody Pager pager) { // * @return
LOGGER.info("【impp-core-object接受数据】{}" ,pager); // */
return ResultBean.success("返回:" + pager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // @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());
* get // return ResultBean.success("返回:" + roleBean).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
* @param map map // }
* @return //
*/ // @Autowired
@PostMapping(value="/cloud/test-map") // public HttpServletRequest request;
@ApiOperation(value="测试get",notes = "测试get") //
public ResultBean testFeignMap(@RequestBody Map<String,String> map) { // @PostMapping(value="/cloud/test-post-request-body")
LOGGER.info("【impp-core-map接受数据】{}" ,map); // @ApiOperation(value="测试request-body")
return ResultBean.success("返回:" + map).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // public ResultBean testPostFeignRequestBody(@RequestParam("test") String test,@RequestBody BaseModelBean<SysRole> roleBean) {
} // LOGGER.info("PostMapping【param】{}" ,test);
//
/** // Enumeration headerNames = request.getHeaderNames();
* arr // while (headerNames.hasMoreElements()) {
* @param arr // String key = (String) headerNames.nextElement();
* @return // String value = request.getHeader(key);
*/ // System.out.println("key:"+key + " ,value: " + value);
@PostMapping(value="/cloud/test-arr") // }
@ApiOperation(value="测试arr",notes = "测试arr") //
public ResultBean testFeignArr(@RequestBody String[] arr) { // LOGGER.info("【测试request-body-post】objBean:{},pager:{}" ,roleBean.getObj(),roleBean.getPager());
LOGGER.info("【impp-core-arr接受数据】{}" ,arr); // return ResultBean.success("返回:" + roleBean).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
return ResultBean.success("返回成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(arr); // }
} //
// @GetMapping(value="/cloud/test-get-request-body")
/** // @ApiOperation(value="测试request-body")
* // public ResultBean testGetFeignRequestBody(@RequestBody BaseModelBean<SysRole> roleBean) {
* @param roleBean // Enumeration headerNames = request.getHeaderNames();
* @return // while (headerNames.hasMoreElements()) {
*/ // String key = (String) headerNames.nextElement();
@PostMapping(value="/cloud/test-more-object") // String value = request.getHeader(key);
@ApiOperation(value="测试多对象模型",notes = "测试多对象模型") // System.out.println("key:"+key + " ,value: " + value);
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()); // LOGGER.info("【测试request-body-get】objBean:{},pager:{}" ,roleBean.getObj(),roleBean.getPager());
} // return ResultBean.success("返回:" + roleBean).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }
@Autowired //
public HttpServletRequest request; // @GetMapping(value="/operate/testwmsauth")
// public BaseResultBean testwmsauth(){
@PostMapping(value="/cloud/test-post-request-body") // LOGGER.info("【测试testwmsauth】" );
@ApiOperation(value="测试request-body") // Session session = AuthUtil.getSession();
public ResultBean testPostFeignRequestBody(@RequestParam("test") String test,@RequestBody BaseModelBean<SysRole> roleBean) { // LOGGER.info("session:{}",session);
LOGGER.info("PostMapping【param】{}" ,test); //
// SessionUser sessionUser = (SessionUser) session.getAttribute(CommonConstWords.SESSION_USER);
Enumeration headerNames = request.getHeaderNames(); // LOGGER.info("登陆信息:{}",sessionUser);
while (headerNames.hasMoreElements()) { // iWmsDemoCloud.testauth();
String key = (String) headerNames.nextElement(); //
String value = request.getHeader(key); // return ResultBean.success("平台授权").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
System.out.println("key:"+key + " ,value: " + value); // }
} //
// @GetMapping(value="/operate/testauth")
LOGGER.info("【测试request-body-post】objBean:{},pager:{}" ,roleBean.getObj(),roleBean.getPager()); // public BaseResultBean testauth(){
return ResultBean.success("返回:" + roleBean).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // LOGGER.info("【测试testauth】" );
} // Session session = AuthUtil.getSession();
// LOGGER.info("session:{}",session);
@GetMapping(value="/cloud/test-get-request-body") //
@ApiOperation(value="测试request-body") // SessionUser sessionUser = (SessionUser) session.getAttribute(CommonConstWords.SESSION_USER);
public ResultBean testGetFeignRequestBody(@RequestBody BaseModelBean<SysRole> roleBean) { // LOGGER.info("登陆信息:{}",sessionUser);
Enumeration headerNames = request.getHeaderNames(); //
while (headerNames.hasMoreElements()) { // return ResultBean.success("平台授权").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
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; private ISysLocaleLanguageService sysLocaleLanguageService;
@Autowired @Autowired
private ISysLocaleResourceService sysLocaleResourceService;
@Autowired
private ISystemLoginService systemLoginService; private ISystemLoginService systemLoginService;
@Autowired @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) { if (resourceMap == null || resourceMap.size() == 0) {
systemInitService.putAndLoadSysLocaleLanguage(); 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); 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") @PostMapping(value = "/sys-file/insert")
@ApiOperation(value = "新增文件资源", notes = "新增文件资源") @ApiOperation(value = "新增文件资源", notes = "新增文件资源")
public ResultBean insertSysFile(@RequestBody SysFile sysFile){ 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.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.IOException; import java.io.IOException;
@ -295,7 +297,7 @@ public class SysFileController extends CoreBaseController {
*/ */
@GetMapping("/download/{id}") @GetMapping("/download/{id}")
@ApiOperation(value = "文件下载", notes = "文件下载") @ApiOperation(value = "文件下载", notes = "文件下载")
public void singleDownload(@PathVariable("id") String id, HttpServletResponse response) { public void singleDownload(@PathVariable("id") String id, HttpServletRequest request, HttpServletResponse response) {
try { try {
startMultiService(); startMultiService();
@ -320,8 +322,19 @@ public class SysFileController extends CoreBaseController {
.build(); .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.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))); // 设置文件名 response.addHeader("Content-type", FileContentTypeTool.getContentType(StringTool.getStringFileSuffix(sysFile.getFileOriginalName(), true))); // 设置文件名
BufferedInputStream bis = null; BufferedInputStream bis = null;

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

@ -26,29 +26,14 @@ import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.*;
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.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.BufferedInputStream; import java.io.*;
import java.io.DataInputStream; import java.util.*;
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;
/** /**
* @Description : * @Description :
@ -61,7 +46,7 @@ import java.util.Map;
@Api(tags = "系统语言资源服务") @Api(tags = "系统语言资源服务")
@RequestMapping(PlatformConstWords.BASE_URL + "/sys-locale-resource") @RequestMapping(PlatformConstWords.BASE_URL + "/sys-locale-resource")
public class SysLocaleResourceController extends CoreBaseController { 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) @Resource(name=CommonConstWords.IMPP_REDIS_RES)
private ImppRedis redisRes; private ImppRedis redisRes;
@ -302,12 +287,19 @@ public class SysLocaleResourceController extends CoreBaseController {
List<SysLocaleResource> sysLocaleResourceList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(), List<SysLocaleResource> sysLocaleResourceList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(),
SysLocaleResource.class); SysLocaleResource.class);
// 初始化数据 // 初始化数据,资源去重
for (SysLocaleResource sysOrderNoRule : sysLocaleResourceList) { Map<String, SysLocaleResource> itemMap = new HashMap<>();
sysOrderNoRule.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); String resourceKey;
ConvertBean.modelInitialize(sysOrderNoRule, AuthUtil.getSessionUser()); 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(); systemInitService.putAndLoadSysLocaleLanguage();
@ -372,4 +364,88 @@ public class SysLocaleResourceController extends CoreBaseController {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e); 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 @Override
public List<Object[]> findByHqlObjects(String hql, Map<String,Object> findParam) throws Exception { 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); Query queryObject = entityManager.createQuery(hql);
if(CollectionUtils.isEmpty(findParam)){ if(CollectionUtils.isEmpty(findParam)){
@ -42,7 +42,7 @@ public class ReportDaoImpl implements IReportDao {
@Override @Override
public Long findByHqlCount(String hql, Map<String, Object> findParam) throws Exception { 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); Query queryObject = entityManager.createQuery(hql);
if(CollectionUtils.isEmpty(findParam)){ if(CollectionUtils.isEmpty(findParam)){

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

@ -66,7 +66,7 @@ public class MessageLetterQueueReceiver {
*/ */
@RabbitListener(queues = PlatformConstWords.QUEUE_IMPP_MESSAGE_LETTER) @RabbitListener(queues = PlatformConstWords.QUEUE_IMPP_MESSAGE_LETTER)
public void processImppMessage(String data, Channel channel, Message message) { 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); SysMessage msg = JsonUtilTool.decode(data, SysMessage.class);
try { try {
ConvertBean.serviceModelInitialize(msg, "system"); ConvertBean.serviceModelInitialize(msg, "system");

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

@ -60,7 +60,7 @@ public class MessageSWebNoticeQueueReceiver {
*/ */
@RabbitListener(queues = PlatformConstWords.QUEUE_SWEB_NOTICE) @RabbitListener(queues = PlatformConstWords.QUEUE_SWEB_NOTICE)
public void processImppMail(String data, Channel channel, Message message) { 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); SysMessage msg = JsonUtilTool.decode(data, SysMessage.class);
try { try {

@ -59,7 +59,7 @@ public class ScheduleQueueReceiver {
public void processSchedule(String data, Channel channel, Message message) { public void processSchedule(String data, Channel channel, Message message) {
try { try {
SysLogTaskTime logTaskTime = JsonUtilTool.decode(data, SysLogTaskTime.class); SysLogTaskTime logTaskTime = JsonUtilTool.decode(data, SysLogTaskTime.class);
LOGGER.info("【MQ-QUEUE_IMPP_SCHEDULE】数据接收成功{}", logTaskTime); LOGGER.debug("【MQ-QUEUE_IMPP_SCHEDULE】数据接收成功{}", logTaskTime);
// 跟新最后执行时间 及 任务状态 // 跟新最后执行时间 及 任务状态
if(logTaskTime != null){ if(logTaskTime != null){
SysTaskPlan taskPlan = sysTaskPlanService.getSysTaskPlanByNameAndGroup(logTaskTime.getName(), logTaskTime.getGroupName()); 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.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import static cn.estsh.i3plus.platform.common.util.PlatformConstWords.QUEUE_IMPP_RESOURCE; 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 * @CreateDate : 19-8-23 3:12
* @Modify: * @Modify:
**/ **/
@Component //@Component
public class SysLocalResourceQueue { public class SysLocalResourceQueue {
private static final Logger LOGGER = LoggerFactory.getLogger(SysLocalResourceQueue.class); 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.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords; 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.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysConfig; import cn.estsh.i3plus.pojo.platform.bean.*;
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.repository.SysConfigRepository; import cn.estsh.i3plus.pojo.platform.repository.SysConfigRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysDictionaryRepository; import cn.estsh.i3plus.pojo.platform.repository.SysDictionaryRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysLocaleLanguageRepository; import cn.estsh.i3plus.pojo.platform.repository.SysLocaleLanguageRepository;
@ -25,6 +23,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@ -120,22 +119,41 @@ public class SystemInitService implements ISystemInitService {
if (type == ImppEnumUtil.SYS_CACHE_TYPE.REDIS.getValue()) { if (type == ImppEnumUtil.SYS_CACHE_TYPE.REDIS.getValue()) {
/** /**
* *
* code <lang : value> * code <langCode : value>
* code * code
*
* hashMap
* langCode < code : value>
*
* + hashMap
* langCode + softType < code : value>
*
*/ */
HashMap<String, HashMap<String, String>> resMap = new HashMap(); HashMap<String, HashMap<String, String>> resMap = new HashMap();
HashMap<String, String> lanMap = null; HashMap<String, String> lanMap = null;
HashMap<String, HashMap<String, String>> webLangMap = new HashMap<>(); HashMap<String, HashMap<String, String>> webLangMap = new HashMap<>();
HashMap<String, String> webResMap; 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); 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); ListPager<SysLocaleResource> resourceList;
LOGGER.info("【加载平台资源】共有{}个资源,{}种语言。", resourceList.size(), langList.size()); do {
for (SysLocaleResource res : resourceList) { pager.next();
//遍历资源放入map中 resourceList = systemResourceService.listSysLocaleResourceByPager(null, pager);
resMap = new HashMap();
webLangMap = new HashMap<>();
webSoftLangMap = new HashMap<>();
for (SysLocaleResource res : resourceList.getObjectList()) {
lanMap = resMap.get(res.getResourceKey()); lanMap = resMap.get(res.getResourceKey());
//判断是否已存在资源信息 //判断是否已存在资源信息
if (lanMap == null) { if (lanMap == null) {
@ -147,12 +165,24 @@ public class SystemInitService implements ISystemInitService {
lanMap.put(res.getLanguageCode(), res.getResourceValue()); lanMap.put(res.getLanguageCode(), res.getResourceValue());
// web 资源 // web 资源
if(res.getResourceType() == CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.WEB.getValue()) {
// web 资源
if (!webLangMap.containsKey(res.getLanguageCode())) { if (!webLangMap.containsKey(res.getLanguageCode())) {
webLangMap.put(res.getLanguageCode(), new HashMap<>()); webLangMap.put(res.getLanguageCode(), new HashMap<>());
} }
// 放入资源信息 // 放入资源信息
webResMap = webLangMap.get(res.getLanguageCode()); webResMap = webLangMap.get(res.getLanguageCode());
webResMap.put(res.getResourceKey(), res.getResourceValue()); 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()) { for (String key : resMap.keySet()) {
@ -166,11 +196,23 @@ public class SystemInitService implements ISystemInitService {
//放入缓存 //放入缓存
if (webLangMap.get(key) != null) { if (webLangMap.get(key) != null) {
redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + key, webLangMap.get(key), 0); 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(); putAndLoadSysMenu();
} }
@ -188,12 +230,11 @@ public class SystemInitService implements ISystemInitService {
List<SysLocaleResource> insertList = new ArrayList<>(); List<SysLocaleResource> insertList = new ArrayList<>();
Map<String,String> redisCacheMap = new HashMap<>(); 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)); resources.forEach(res -> resourceKeyMap.put(StringUtils.join(res.getLanguageCode(),res.getResourceKey()),res));
} }
if(menus != null && menus.size() > 0 if(menus != null && menus.size() > 0 && languages != null && languages.size() > 0){
&& languages != null && languages.size() > 0){
for (SysLocaleLanguage language : languages) { for (SysLocaleLanguage language : languages) {
String redisLanguageKey = CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_MENU + ":" + language.getLanguageCode(); String redisLanguageKey = CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_MENU + ":" + language.getLanguageCode();

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

@ -26,10 +26,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -222,58 +220,7 @@ public class SysLocaleResourceService implements ISysLocaleResourceService {
@Override @Override
public void insertInitSysLocaleResourceList(List<SysLocaleResource> sysLocaleResourceList) { public void insertInitSysLocaleResourceList(List<SysLocaleResource> sysLocaleResourceList) {
sysLocaleResourceRDao.deleteAll(); sysLocaleResourceRDao.deleteAll();
sysLocaleResourceRDao.saveAll(sysLocaleResourceList);
// 资源去重
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);
}
}
/**
* 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("用户不存在"); throw new CredentialsException("用户不存在");
} }
packSessionUser(sessionUser, user, user.getUserType(),loginPlatform, languageCode,deviceId); packSessionUser(sessionUser, user, user.getUserType(),loginPlatform, languageCode,deviceId);
packPageSessionUser(sessionUser, user); packConfigSessionUser(sessionUser, user);
AuthUtil.setSessionUser(sessionUser); AuthUtil.setSessionUser(sessionUser);
refreshUserLoginInformation(user.getId()); refreshUserLoginInformation(user.getId());
AuthUtil.online(sessionUser); AuthUtil.online(sessionUser);
@ -639,6 +639,15 @@ public class SysUserService implements ISysUserService {
} }
@Override @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) { public List<SysUser> findSysUserByIds(Long[] ids) {
DdlPackBean ddlPackBean = new DdlPackBean(); DdlPackBean ddlPackBean = new DdlPackBean();
DdlPreparedPack.getInPackArray(ids, "id", ddlPackBean); DdlPreparedPack.getInPackArray(ids, "id", ddlPackBean);

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

Loading…
Cancel
Save