diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLabelTemplateService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLabelTemplateService.java index d9b7cb6..e6c9720 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLabelTemplateService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLabelTemplateService.java @@ -34,6 +34,13 @@ public interface ISysLabelTemplateService { void deleteSysLabelTemplateById(Long id); /** + * 软删除打印模板 + * @param id + */ + @ApiOperation(value = "软删除打印模板") + void deleteWeaklySysLabelTemplateById(Long id,String userName); + + /** * 修改打印模板 * @param sysLabelTemplate */ diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleResourceService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleResourceService.java index 07bb411..6747cad 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleResourceService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleResourceService.java @@ -30,7 +30,7 @@ public interface ISysLocaleResourceService { void deleteSysLocaleResourceById(Long id); @ApiOperation(value = "查询全部系统资源",notes = "查询全部系统资源") - List listSysLocaleResource(); + List listSysLocaleResource(); @ApiOperation(value = "系统资源复杂查询,分页,排序",notes = "系统资源复杂查询,分页,排序") ListPager querySysLocaleResourceByPager(SysLocaleResource sysLocaleResource, Pager pager); @@ -57,4 +57,5 @@ public interface ISysLocaleResourceService { @ApiOperation(value = "添加初始化资源") void insertInitSysLocaleResourceList(List sysLocaleResources); + } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java index daeffa2..4957aee 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java @@ -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 diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISystemResourceService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISystemResourceService.java index ff2e26e..024964b 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISystemResourceService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISystemResourceService.java @@ -100,4 +100,11 @@ public interface ISystemResourceService { * @return 资源信息 */ SysLocaleResource getSysLocaleResourceByLanguage(int resourceType,String langCode,String langKey); + + /** + * 资源信息查询 + * @param res 资源信息查询条件 + * @return 资源信息集合 + */ + Integer getSysLocaleResourceCount(SysLocaleResource res); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java index 047bd28..5676cd8 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java @@ -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 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 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 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 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 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 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 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 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()); +// } +//} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java index 3fe4b32..fffd2f8 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java @@ -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 resourceMap = redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + languageCode); + Map 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 findSysLocaleResource(@RequestBody SysLocaleResource sysLocaleResource){ + try { + startMultiService(); + + List 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 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 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){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java index 50cc92e..071e6cc 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java @@ -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; diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLabelTemplateController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLabelTemplateController.java index d68099a..0edca8e 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLabelTemplateController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLabelTemplateController.java @@ -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); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java index bd3f717..451ecb4 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java @@ -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 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 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 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 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 + * + * @param list + * @param len + * @return + */ + public static List> splitList(List list, int len) { + + if (list == null || list.isEmpty() || len < 1) { + return Collections.emptyList(); + } + + List> result = new ArrayList<>(); + + int size = list.size(); + int count = (size + len - 1) / len; + + for (int i = 0; i < count; i++) { + List subList = list.subList(i * len, ((i + 1) * len > size ? size : len * (i + 1))); + result.add(subList); + } + + return result; + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/ReportDaoImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/ReportDaoImpl.java index 906cf6a..99b4c72 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/ReportDaoImpl.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/ReportDaoImpl.java @@ -29,7 +29,7 @@ public class ReportDaoImpl implements IReportDao { @Override public List findByHqlObjects(String hql, Map 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 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)){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueReceiver.java index e0438f7..4a705bd 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueReceiver.java @@ -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); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java index 38a48dd..6b4f98a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageLetterQueueReceiver.java @@ -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"); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java index e0669d4..669651d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageMailQueueReceiver.java @@ -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)); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageSWebNoticeQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageSWebNoticeQueueReceiver.java index 9c3b8a9..3dad586 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageSWebNoticeQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageSWebNoticeQueueReceiver.java @@ -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 { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java index 0d57bd5..3343ed7 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java @@ -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()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/SysLocalResourceQueue.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/SysLocalResourceQueue.java index 5e0e142..b989dc8 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/SysLocalResourceQueue.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/SysLocalResourceQueue.java @@ -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); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java index c121003..500057f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemInitService.java @@ -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,60 +116,103 @@ 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 + * code * 先根据code查询,判断是否存在,然后通过语言获取对应的值 + * + * 语言代码 hashMap结构 + * langCode < code : value> + * + * 语言代码+模块 hashMap结构 + * langCode + softType < code : value> + * */ - HashMap> resMap = new HashMap(); - HashMap lanMap = null; - HashMap> webLangMap = new HashMap<>(); - HashMap webResMap; + HashMap> resMap = new HashMap(); + HashMap lanMap = null; + HashMap> webLangMap = new HashMap<>(); + HashMap webResMap; + HashMap> webSoftLangMap = new HashMap<>(); + HashMap webSoftResMap; + String softResKey = null; + Integer resCount = systemResourceService.getSysLocaleResourceCount(null); //语言数量 List langList = systemResourceService.listSysLocaleLanguage(null); + LOGGER.info("【加载平台资源】共有{}个资源,{}种语言。", resCount, langList.size()); + Pager pager = new Pager(resCount, 5000); + pager.setCurrentPage(0); //查询所有资源 - List resourceList = systemResourceService.listSysLocaleResource(null); - LOGGER.info("【加载平台资源】共有{}个资源,{}种语言。", resourceList.size(), langList.size()); - for (SysLocaleResource res : resourceList) { - //遍历资源,放入map中 - lanMap = resMap.get(res.getResourceKey()); - //判断是否已存在资源信息 - if (lanMap == null){ - lanMap = new HashMap(); - //将key/代码放入 - resMap.put(res.getResourceKey(), lanMap); + ListPager 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) { + lanMap = new HashMap(); + //将key/代码放入 + resMap.put(res.getResourceKey(), lanMap); + } + //根据语言放入 + lanMap.put(res.getLanguageCode(), res.getResourceValue()); + + // web 资源 + 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()); + } } - //根据语言放入 - lanMap.put(res.getLanguageCode(), res.getResourceValue()); - // web 资源 - if(!webLangMap.containsKey(res.getLanguageCode())){ - webLangMap.put(res.getLanguageCode(), new HashMap<>()); + for (String key : resMap.keySet()) { + //放入缓存 + if (resMap.get(key) != null) { + redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + key, resMap.get(key), 0); + } } - // 放入资源信息 - webResMap = webLangMap.get(res.getLanguageCode()); - webResMap.put(res.getResourceKey(), res.getResourceValue()); - } - for (String key : resMap.keySet()) { - //放入缓存 - if(resMap.get(key) != null) { - redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + key, resMap.get(key), 0); + for (String key : webLangMap.keySet()) { + //放入缓存 + 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 : webLangMap.keySet()){ - //放入缓存 - if(webLangMap.get(key) != null){ - redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + 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 insertList = new ArrayList<>(); Map 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(); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLabelTemplateService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLabelTemplateService.java index 0db1135..fca4fd2 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLabelTemplateService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLabelTemplateService.java @@ -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()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleResourceService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleResourceService.java index 787daec..10f9485 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleResourceService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleResourceService.java @@ -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 sysLocaleResourceList) { sysLocaleResourceRDao.deleteAll(); - - // 资源去重 - Map> resourceMap = new HashMap<>(); - Map 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 resourceList = new ArrayList<>(); - for (String key : resourceMap.keySet()) { - for (SysLocaleResource value : resourceMap.get(key).values()) { - resourceList.add(value); - } - } - - for (List sysLocaleResources : splitList(resourceList, 1000)) { - sysLocaleResourceRDao.saveAll(sysLocaleResources); - } - + sysLocaleResourceRDao.saveAll(sysLocaleResourceList); } - /** - * 按指定大小,分隔集合,将集合按规定个数分为n个部分 - * @param - * - * @param list - * @param len - * @return - */ - public static List> splitList(List list, int len) { - - if (list == null || list.isEmpty() || len < 1) { - return Collections.emptyList(); - } - - List> result = new ArrayList<>(); - - int size = list.size(); - int count = (size + len - 1) / len; - - for (int i = 0; i < count; i++) { - List subList = list.subList(i * len, ((i + 1) * len > size ? size : len * (i + 1))); - result.add(subList); - } - - return result; - } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java index dd6e954..fc365ef 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java @@ -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 findSysUserByIds(Long[] ids) { DdlPackBean ddlPackBean = new DdlPackBean(); DdlPreparedPack.getInPackArray(ids, "id", ddlPackBean); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SystemResourceService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SystemResourceService.java index 0b84c08..a0b6d86 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SystemResourceService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SystemResourceService.java @@ -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); + } }