From e7982e660c49ba7a2eab700e3e23c96b50e979c5 Mon Sep 17 00:00:00 2001 From: "jack.jia" Date: Sat, 29 Feb 2020 19:13:54 +0800 Subject: [PATCH 1/6] sonar-project.properties --- sonar-project.properties | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 sonar-project.properties diff --git a/sonar-project.properties b/sonar-project.properties new file mode 100644 index 0000000..22077e8 --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1,17 @@ + +# must be unique in a given SonarQube instance +sonar.projectKey=i3plus.core:i3plus-core + +# --- optional properties --- + +# defaults to project key +sonar.projectName=i3plus-core +# defaults to 'not provided' +sonar.projectVersion=1.0-DEV-SNAPSHOT + +# Path is relative to the sonar-project.properties file. Defaults to . +#sonar.sources=./ +#sonar.java.binaries=target + +# Encoding of the source code. Default is default system encoding +sonar.sourceEncoding=UTF-8 \ No newline at end of file From 261524c9dbbd4f43601c761c15807c5431895c97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=AA=E4=BA=91=E6=98=8A?= Date: Tue, 3 Mar 2020 17:34:24 +0800 Subject: [PATCH 2/6] =?UTF-8?q?sqlserver=20=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/i3plus-core-apiservice/pom.xml | 2 +- .../core/apiservice/serviceimpl/busi/SysRoleService.java | 12 ++++++++++-- pom.xml | 4 ++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/modules/i3plus-core-apiservice/pom.xml b/modules/i3plus-core-apiservice/pom.xml index c09eeb0..f96813a 100644 --- a/modules/i3plus-core-apiservice/pom.xml +++ b/modules/i3plus-core-apiservice/pom.xml @@ -106,7 +106,7 @@ com.microsoft.sqlserver - sqljdbc4 + mssql-jdbc diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java index 7bd075e..0925154 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java @@ -19,17 +19,20 @@ import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; -import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.ApiOperation; +import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import static cn.estsh.i3plus.platform.common.util.PlatformConstWords.SQL_SERVER_PARAM_MAX_MUM; + /** * @Description : 系统角色业务接口实现 * @Reference : @@ -145,7 +148,12 @@ public class SysRoleService implements ISysRoleService { refRoleMenuRDao.deleteByPropertyIn("roleId",roleIds); if(ids != null && ids.length > 0){ - List list = sysMenuRDao.findAllById(Arrays.asList(ids)); + List list = new ArrayList<>(); + // sqlserver限制最大传参数量 + for (List idList : ListUtils.partition(Arrays.asList(ids), SQL_SERVER_PARAM_MAX_MUM)) { + System.out.println("切割大小:"+idList.size()); + list.addAll(sysMenuRDao.findAllById(idList)); + } SysRefRoleMenu ref = null; // 插入角色权限关系 diff --git a/pom.xml b/pom.xml index 8d5202a..70cd8c4 100644 --- a/pom.xml +++ b/pom.xml @@ -170,8 +170,8 @@ com.microsoft.sqlserver - sqljdbc4 - 4.0 + mssql-jdbc + 8.2.0.jre8 From a07ad4e5191185899fcffc3e965586da7235e7cd Mon Sep 17 00:00:00 2001 From: "wei.peng" <123456> Date: Mon, 9 Mar 2020 09:24:49 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/busi/SysEnumController.java | 17 ++ .../core/apiservice/schedulejob/DemoJob.java | 2 +- .../base/SysLogElasticSearchService.java | 178 +++++++++++++++++++++ ...{SysLogService.java => SysLogMongoService.java} | 4 +- .../serviceimpl/busi/PersonnelServiceService.java | 4 +- 5 files changed, 200 insertions(+), 5 deletions(-) create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SysLogElasticSearchService.java rename modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/{SysLogService.java => SysLogMongoService.java} (99%) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysEnumController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysEnumController.java index 592c4b2..c67852a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysEnumController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysEnumController.java @@ -309,5 +309,22 @@ public class SysEnumController extends CoreBaseController { LocaleUtils.getEnumLocaleResValuesToList(ImppEnumUtil.DICTIONARY_GROUP.values())); } + @GetMapping("/log-storage-type") + @ApiOperation(value = "日志存储类型") + public ResultBean getLogStorageType() { + return new ResultBean(true, "操作成功", + LocaleUtils.getEnumLocaleResValuesToList(ImppEnumUtil.LOG_STORAGE.values())); + } + + /** + * @return 处理结果 + */ + @GetMapping("/log-print-type") + @ApiOperation(value = "系统参数值类型", notes = "用户状态") + public ResultBean getLogPrintType() { + return new ResultBean(true, "操作成功", + LocaleUtils.getEnumLocaleResValuesToList(CommonEnumUtil.LOG_DETAIL_SHOW_TYPE.values())); + } + } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java index e9e33ed..1d70422 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java @@ -39,7 +39,7 @@ public class DemoJob extends BaseImppScheduleJob { // .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) // .setErrorDetail("定时任务异常测试!") // .setErrorSolution("请检查异常通知邮件") -// .build(); +// .buildSearch(); // } try { if(getJobParam() != null && StringUtils.isNotBlank(getJobParam())) { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SysLogElasticSearchService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SysLogElasticSearchService.java new file mode 100644 index 0000000..7f5b765 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SysLogElasticSearchService.java @@ -0,0 +1,178 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.core.api.iservice.base.ISysLogService; +import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchPack; +import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchTool; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.platform.platbean.SysLogException; +import cn.estsh.i3plus.pojo.platform.platbean.SysLogOperate; +import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem; +import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime; +import cn.estsh.impp.framework.boot.util.ImppLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + * @Description : + * @Reference : + * @Author : wei.peng + * @CreateDate : 20-2-19 下午9:17 + * @Modify: + **/ +@Service +public class SysLogElasticSearchService implements ISysLogService { + + @Autowired + private ImppLog imppLog; + + @Override + public ListPager querySysLogExceptionByPager(SysLogException sysLogException, Pager pager) { + return null; + } + + @Override + public long deleteSysLogExceptionByDateTimeAfter(String dateTime) { + return 0; + } + + @Override + public SysLogOperate insertSysLogOperate(SysLogOperate logOperate) { + imppLog.insertSysLogOperate(logOperate); + return logOperate; + } + + @Override + public void deleteSysLogOperateById(Long id) { +// ElasticSearchTool.deletePrimaryKey(); + } + + @Override + public List listSysLogOperate() { + return null; + } + + @Override + public void deleteSysLogOperateByIds(Long[] ids) { + + } + + @Override + public SysLogOperate getSysLogOperateById(Long id) { +// return ElasticSearchTool.getPrimaryKey(); + return null; + } + + @Override + public List listSysLogOperateByOperateUserName(String operateUserName) { + return null; + } + + @Override + public long countAllSysLogOperate() { + return 0; + } + + @Override + public ListPager querySysLogOperateByPager(SysLogOperate logOperate, Pager pager) { + return null; + } + + @Override + public List findNewSysLogOperate(Integer num) { + return null; + } + + @Override + public long deleteSysLogOperateByDateTimeAfter(String dateTime) { + return 0; + } + + @Override + public long countSysLogOperate() { + return 0; + } + + @Override + public void insertSysLogSystem(SysLogSystem logSystem) { + + } + + @Override + public void insertSysLogBatch(int num, int waitTime) { + + } + + @Override + public long deleteSysLogSystemById(Long id) { + return 0; + } + + @Override + public List listSysLogSystem() { + return null; + } + + @Override + public SysLogSystem getSysLogSystemById(long id) { + return null; + } + + @Override + public ListPager querySysLogSystemByPager(SysLogSystem logSystem, Pager pager) { + return null; + } + + @Override + public long deleteSysLogSystemByIds(Long[] ids) { + return 0; + } + + @Override + public List findSysLogSystemByIdInterval(long min, long max) { + return null; + } + + @Override + public long deleteSysLogSystemByDateTimeAfter(String dateTime) { + return 0; + } + + @Override + public void insertSysLogTaskTime(SysLogTaskTime sysLogTaskTime) { + + } + + @Override + public void deleteSysLogTaskTimeById(Long id) { + + } + + @Override + public SysLogTaskTime getSysLogTaskTimeById(Long id) { + return null; + } + + @Override + public ListPager querySysLogTaskTimeByPager(SysLogTaskTime sysLogTaskTime, Pager pager) { + return null; + } + + @Override + public long deleteSysLogTaskTimeByDateTimeAfter(String dateTime) { + return 0; + } + + @Override + public Map querySysLogSystemAvgExecuteTime(String startTime, String endTime) { + return null; + } + + @Override + public Map querySysLogSystemByLevel(String startTime, String endTime) { + return null; + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SysLogService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SysLogMongoService.java similarity index 99% rename from modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SysLogService.java rename to modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SysLogMongoService.java index bd778f0..a8c4b7a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SysLogService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SysLogMongoService.java @@ -45,9 +45,9 @@ import java.util.Map; * @Modify: **/ @Service -public class SysLogService implements ISysLogService { +public class SysLogMongoService implements ISysLogService { - public static final Logger LOGGER = LoggerFactory.getLogger(SysLogService.class); + public static final Logger LOGGER = LoggerFactory.getLogger(SysLogMongoService.class); private SysLogTaskTimeRepository logTaskTimeRDao; private SysLogSystemRepository logSystemRDao; diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java index 50061bd..0ead1ec 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java @@ -735,7 +735,7 @@ public class PersonnelServiceService implements IPersonnelService { // .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) // .setErrorDetail("存在用户关系引用信息无法删除!") // .setErrorSolution("请先删除用户关系信息再操作") -// .build(); +// .buildSearch(); // } List userInfoList = userInfoRDao.findByProperty("positionId", positionId); if (userInfoList != null && userInfoList.size() >= 1) { @@ -808,7 +808,7 @@ public class PersonnelServiceService implements IPersonnelService { // .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) // .setErrorDetail("存在用户关系引用信息无法删除!") // .setErrorSolution("请先删除用户关系信息再操作") -// .build(); +// .buildSearch(); // } List departmentList = departmentRDao.findByProperty("organizeId", organizeId); From 6ffb1685d712e711e067e5fd1295a4cec57ce72b Mon Sep 17 00:00:00 2001 From: "wei.peng" <123456> Date: Mon, 9 Mar 2020 18:36:15 +0800 Subject: [PATCH 4/6] =?UTF-8?q?Es=20=E5=B7=A5=E5=85=B7=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/base/PressureTestController.java | 352 ++++++++++----------- .../serviceimpl/base/SysLogMongoService.java | 2 + .../apiservice/serviceimpl/busi/TestMongoDb.java | 130 ++++---- 3 files changed, 242 insertions(+), 242 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/PressureTestController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/PressureTestController.java index 51c2658..ce9ae98 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/PressureTestController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/PressureTestController.java @@ -1,176 +1,176 @@ -package cn.estsh.i3plus.core.apiservice.controller.base; - -import cn.estsh.i3plus.platform.common.tool.HttpClientTool; -import cn.estsh.i3plus.platform.plugin.opc.pojo.OpcUAParam; -import cn.estsh.i3plus.platform.plugin.opc.service.OpcUAService; -import cn.estsh.i3plus.pojo.base.annotation.AnnoIgnoreLog; -import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; -import cn.estsh.impp.framework.base.controller.CoreBaseController; -import cn.estsh.impp.framework.boot.exception.ImppBusiException; -import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.util.ResultBean; -import com.alibaba.fastjson.JSON; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.eclipse.milo.opcua.sdk.client.api.subscriptions.UaSubscription; -import org.eclipse.milo.opcua.stack.core.types.builtin.unsigned.UInteger; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.HashMap; -import java.util.Hashtable; -import java.util.Map; - -/** - * @Description : - * @Reference : - * @Author : yunhao - * @CreateDate : 2020-01-08 11:53 - * @Modify: - **/ -@RestController -@Api(tags = "压测接口") -@RequestMapping("/impp/pressure-test") -public class PressureTestController extends CoreBaseController { - public static final Logger LOGGER = LoggerFactory.getLogger(PressureTestController.class); - - private static Map uaServiceMap = new Hashtable<>(); - - public static Map upcSub = new Hashtable<>(); - - private OpcUAService getOpcUaService(OpcUAParam opcUAParam){ - if(!uaServiceMap.containsKey(opcUAParam.getServerUrl())){ - OpcUAService opcService = new OpcUAService(); - opcService.connUaService(opcUAParam); - uaServiceMap.put(opcUAParam.getServerUrl(),opcService); - } - return uaServiceMap.get(opcUAParam.getServerUrl()); - } - - @GetMapping("/opc-write") - @ApiOperation(value = "写Opc", notes = "写Opc") - @AnnoIgnoreLog - public ResultBean writeOpc(OpcUAParam opcUA){ - try { - OpcUAService opcService = new OpcUAService(); - boolean editResult = opcService.editOpcParamValue(opcUA); - return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(editResult); - }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep); - }catch(Exception e){ - return ImppExceptionBuilder.newInstance().buildExceptionResult(e); - } - } - - @GetMapping("/opc-read") - @ApiOperation(value = "读Opc", notes = "读Opc") - @AnnoIgnoreLog - public ResultBean readOpc(OpcUAParam opcUA){ - try { - Object readResult = getOpcUaService(opcUA).getOpcParamValue(opcUA); - if(readResult == null){ - return ResultBean.fail(); - } - return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(readResult); - }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep); - }catch(Exception e){ - return ImppExceptionBuilder.newInstance().buildExceptionResult(e); - } - } - - - @GetMapping("/opc-sub") - @ApiOperation(value = "订阅Opc", notes = "订阅Opc") - @AnnoIgnoreLog - public ResultBean subOpc(OpcUAParam opcUA,String callbackMethod,String callbackUrl){ - try { - UaSubscription subscription = getOpcUaService(opcUA).createSubscription(opcUA, (uaMonitoredItem, integer) -> { - uaMonitoredItem.setValueConsumer((node, value) -> { - LOGGER.info("OPC订阅回调: {} - {} , callback {}", node.getReadValueId().getNodeId(), value.getValue(), - callbackMethod+callbackUrl); - HashMap param = new HashMap<>(); - param.put("key",node.getReadValueId().getNodeId().toString()); - param.put("value",value.getValue().toString()); - - HttpClientTool.doHttpUrl(CommonEnumUtil.HTTP_METHOD_TYPE.valueOf(callbackMethod), callbackUrl, param); - } ); - }); - upcSub.put(subscription.getSubscriptionId(),opcUA); - return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(subscription.getSubscriptionId().toString()); - }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep); - }catch(Exception e){ - return ImppExceptionBuilder.newInstance().buildExceptionResult(e); - } - } - - @GetMapping("/remove-opc-sub") - @ApiOperation(value = "移除Opc订阅", notes = "移除Opc订阅") - @AnnoIgnoreLog - public ResultBean removeSubOpc(OpcUAParam opcUA,String subscriptionId){ - try { - getOpcUaService(opcUA).deleteSubscription(opcUA,UInteger.valueOf(subscriptionId)); - upcSub.remove(UInteger.valueOf(subscriptionId)); - return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep); - }catch(Exception e){ - return ImppExceptionBuilder.newInstance().buildExceptionResult(e); - } - } - - @GetMapping("/remove-all-opc-sub") - @ApiOperation(value = "移除Opc订阅", notes = "移除Opc订阅") - @AnnoIgnoreLog - public ResultBean removeAllSubOpc(OpcUAParam opcUA){ - try { - OpcUAService opcService = getOpcUaService(opcUA); - for (UInteger uInteger : upcSub.keySet()) { - opcService.deleteSubscription(opcUA,uInteger); - } - upcSub.clear(); - return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep); - }catch(Exception e){ - return ImppExceptionBuilder.newInstance().buildExceptionResult(e); - } - } - - @GetMapping("/show-opc-sub-list") - @ApiOperation(value = "查询Opc订阅", notes = "查询Opc订阅") - @AnnoIgnoreLog - public ResultBean showSubOpcList(){ - try { - HashMap resultMap = new HashMap<>(); - for (UInteger uInteger : upcSub.keySet()) { - resultMap.put(uInteger.toString(), JSON.toJSONString(upcSub.get(uInteger))); - } - return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultMap(resultMap); - }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep); - }catch(Exception e){ - return ImppExceptionBuilder.newInstance().buildExceptionResult(e); - } - } - - @GetMapping("/test-callback") - @ApiOperation(value = "查询Opc订阅", notes = "查询Opc订阅") - @AnnoIgnoreLog - public ResultBean showSubOpcList(String key,String value){ - try { - LOGGER.info("回调:{} : {}", key,value); - return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(key+":"+value); - }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep); - }catch(Exception e){ - return ImppExceptionBuilder.newInstance().buildExceptionResult(e); - } - } - -} +//package cn.estsh.i3plus.core.apiservice.controller.base; +// +//import cn.estsh.i3plus.platform.common.tool.HttpClientTool; +//import cn.estsh.i3plus.platform.plugin.opc.pojo.OpcUAParam; +//import cn.estsh.i3plus.platform.plugin.opc.service.OpcUAService; +//import cn.estsh.i3plus.pojo.base.annotation.AnnoIgnoreLog; +//import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +//import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +//import cn.estsh.impp.framework.base.controller.CoreBaseController; +//import cn.estsh.impp.framework.boot.exception.ImppBusiException; +//import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +//import cn.estsh.impp.framework.boot.util.ResultBean; +//import com.alibaba.fastjson.JSON; +//import io.swagger.annotations.Api; +//import io.swagger.annotations.ApiOperation; +//import org.eclipse.milo.opcua.sdk.client.api.subscriptions.UaSubscription; +//import org.eclipse.milo.opcua.stack.core.types.builtin.unsigned.UInteger; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.web.bind.annotation.GetMapping; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import java.util.HashMap; +//import java.util.Hashtable; +//import java.util.Map; +// +///** +// * @Description : +// * @Reference : +// * @Author : yunhao +// * @CreateDate : 2020-01-08 11:53 +// * @Modify: +// **/ +//@RestController +//@Api(tags = "压测接口") +//@RequestMapping("/impp/pressure-test") +//public class PressureTestController extends CoreBaseController { +// public static final Logger LOGGER = LoggerFactory.getLogger(PressureTestController.class); +// +// private static Map uaServiceMap = new Hashtable<>(); +// +// public static Map upcSub = new Hashtable<>(); +// +// private OpcUAService getOpcUaService(OpcUAParam opcUAParam){ +// if(!uaServiceMap.containsKey(opcUAParam.getServerUrl())){ +// OpcUAService opcService = new OpcUAService(); +// opcService.connUaService(opcUAParam); +// uaServiceMap.put(opcUAParam.getServerUrl(),opcService); +// } +// return uaServiceMap.get(opcUAParam.getServerUrl()); +// } +// +// @GetMapping("/opc-write") +// @ApiOperation(value = "写Opc", notes = "写Opc") +// @AnnoIgnoreLog +// public ResultBean writeOpc(OpcUAParam opcUA){ +// try { +// OpcUAService opcService = new OpcUAService(); +// boolean editResult = opcService.editOpcParamValue(opcUA); +// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(editResult); +// }catch(ImppBusiException busExcep){ +// return ResultBean.fail(busExcep); +// }catch(Exception e){ +// return ImppExceptionBuilder.newInstance().buildExceptionResult(e); +// } +// } +// +// @GetMapping("/opc-read") +// @ApiOperation(value = "读Opc", notes = "读Opc") +// @AnnoIgnoreLog +// public ResultBean readOpc(OpcUAParam opcUA){ +// try { +// Object readResult = getOpcUaService(opcUA).getOpcParamValue(opcUA); +// if(readResult == null){ +// return ResultBean.fail(); +// } +// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(readResult); +// }catch(ImppBusiException busExcep){ +// return ResultBean.fail(busExcep); +// }catch(Exception e){ +// return ImppExceptionBuilder.newInstance().buildExceptionResult(e); +// } +// } +// +// +// @GetMapping("/opc-sub") +// @ApiOperation(value = "订阅Opc", notes = "订阅Opc") +// @AnnoIgnoreLog +// public ResultBean subOpc(OpcUAParam opcUA,String callbackMethod,String callbackUrl){ +// try { +// UaSubscription subscription = getOpcUaService(opcUA).createSubscription(opcUA, (uaMonitoredItem, integer) -> { +// uaMonitoredItem.setValueConsumer((node, value) -> { +// LOGGER.info("OPC订阅回调: {} - {} , callback {}", node.getReadValueId().getNodeId(), value.getValue(), +// callbackMethod+callbackUrl); +// HashMap param = new HashMap<>(); +// param.put("key",node.getReadValueId().getNodeId().toString()); +// param.put("value",value.getValue().toString()); +// +// HttpClientTool.doHttpUrl(CommonEnumUtil.HTTP_METHOD_TYPE.valueOf(callbackMethod), callbackUrl, param); +// } ); +// }); +// upcSub.put(subscription.getSubscriptionId(),opcUA); +// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(subscription.getSubscriptionId().toString()); +// }catch(ImppBusiException busExcep){ +// return ResultBean.fail(busExcep); +// }catch(Exception e){ +// return ImppExceptionBuilder.newInstance().buildExceptionResult(e); +// } +// } +// +// @GetMapping("/remove-opc-sub") +// @ApiOperation(value = "移除Opc订阅", notes = "移除Opc订阅") +// @AnnoIgnoreLog +// public ResultBean removeSubOpc(OpcUAParam opcUA,String subscriptionId){ +// try { +// getOpcUaService(opcUA).deleteSubscription(opcUA,UInteger.valueOf(subscriptionId)); +// upcSub.remove(UInteger.valueOf(subscriptionId)); +// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); +// }catch(ImppBusiException busExcep){ +// return ResultBean.fail(busExcep); +// }catch(Exception e){ +// return ImppExceptionBuilder.newInstance().buildExceptionResult(e); +// } +// } +// +// @GetMapping("/remove-all-opc-sub") +// @ApiOperation(value = "移除Opc订阅", notes = "移除Opc订阅") +// @AnnoIgnoreLog +// public ResultBean removeAllSubOpc(OpcUAParam opcUA){ +// try { +// OpcUAService opcService = getOpcUaService(opcUA); +// for (UInteger uInteger : upcSub.keySet()) { +// opcService.deleteSubscription(opcUA,uInteger); +// } +// upcSub.clear(); +// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); +// }catch(ImppBusiException busExcep){ +// return ResultBean.fail(busExcep); +// }catch(Exception e){ +// return ImppExceptionBuilder.newInstance().buildExceptionResult(e); +// } +// } +// +// @GetMapping("/show-opc-sub-list") +// @ApiOperation(value = "查询Opc订阅", notes = "查询Opc订阅") +// @AnnoIgnoreLog +// public ResultBean showSubOpcList(){ +// try { +// HashMap resultMap = new HashMap<>(); +// for (UInteger uInteger : upcSub.keySet()) { +// resultMap.put(uInteger.toString(), JSON.toJSONString(upcSub.get(uInteger))); +// } +// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultMap(resultMap); +// }catch(ImppBusiException busExcep){ +// return ResultBean.fail(busExcep); +// }catch(Exception e){ +// return ImppExceptionBuilder.newInstance().buildExceptionResult(e); +// } +// } +// +// @GetMapping("/test-callback") +// @ApiOperation(value = "查询Opc订阅", notes = "查询Opc订阅") +// @AnnoIgnoreLog +// public ResultBean showSubOpcList(String key,String value){ +// try { +// LOGGER.info("回调:{} : {}", key,value); +// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(key+":"+value); +// }catch(ImppBusiException busExcep){ +// return ResultBean.fail(busExcep); +// }catch(Exception e){ +// return ImppExceptionBuilder.newInstance().buildExceptionResult(e); +// } +// } +// +//} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SysLogMongoService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SysLogMongoService.java index a8c4b7a..51f9c8f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SysLogMongoService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SysLogMongoService.java @@ -29,6 +29,7 @@ import org.bson.Document; import org.bson.conversions.Bson; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.context.annotation.Primary; import org.springframework.data.mongodb.MongoDbFactory; import org.springframework.stereotype.Service; @@ -45,6 +46,7 @@ import java.util.Map; * @Modify: **/ @Service +@Primary public class SysLogMongoService implements ISysLogService { public static final Logger LOGGER = LoggerFactory.getLogger(SysLogMongoService.class); diff --git a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMongoDb.java b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMongoDb.java index 148bbb3..e6de0be 100644 --- a/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMongoDb.java +++ b/modules/i3plus-core-apiservice/src/test/java/test/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestMongoDb.java @@ -1,66 +1,64 @@ -package test.cn.estsh.i3plus.core.apiservice.serviceimpl.busi; - -import cn.estsh.i3plus.core.api.iservice.busi.ISysLogExceptionService; -import cn.estsh.i3plus.core.api.iservice.busi.ISysLogSystemService; -import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase; -import cn.estsh.i3plus.pojo.base.bean.ListPager; -import cn.estsh.i3plus.pojo.base.common.Pager; -import cn.estsh.i3plus.pojo.platform.platbean.SysLogException; -import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem; -import com.alibaba.fastjson.JSON; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; - -import javax.transaction.Transactional; -import java.util.List; - -/** - * @Description : - * @Reference : - * @Author : alwaysfrin - * @CreateDate : 2019-04-09 14:38 - * @Modify: - **/ -public class TestMongoDb extends TestBase { - - - @Autowired - private ISysLogExceptionService sysLogExceptionService; - - @Autowired - private ISysLogSystemService syslogSystemService; - - /** - * 测试 查询所有系统参数 - */ - @Test - @Transactional - public void testListSysConfig() { - Pager pager = new Pager(); - pager.setStartRow(0); - pager.setPageSize(10); - - SysLogException sysLogException = new SysLogException(); - - ListPager logExceptionList = sysLogExceptionService.querySysLogExceptionByPager(sysLogException, pager); - System.out.println(logExceptionList); - } - - - @Test - @Transactional - public void testListSysLogSystem() { - Pager pager = new Pager(); - pager.setStartRow(0); - pager.setPageSize(10); - - SysLogSystem logSystem = new SysLogSystem(); - logSystem.setLogLevel(1); - logSystem.setLogModuleId(1); - - System.out.println("2==============="); - ListPager logSystemList = syslogSystemService.querySysLogSystemByPager(logSystem,pager); - System.out.println(logSystemList.getObjectList().size()); - System.out.println("===============pager:" + pager); - } -} +//package test.cn.estsh.i3plus.core.apiservice.serviceimpl.busi; +// +//import cn.estsh.i3plus.core.api.iservice.busi.ISysLogExceptionService; +//import cn.estsh.i3plus.core.api.iservice.busi.ISysLogSystemService; +//import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase; +//import cn.estsh.i3plus.pojo.base.bean.ListPager; +//import cn.estsh.i3plus.pojo.base.common.Pager; +//import cn.estsh.i3plus.pojo.platform.platbean.SysLogException; +//import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem; +//import org.junit.Test; +//import org.springframework.beans.factory.annotation.Autowired; +// +//import javax.transaction.Transactional; +// +///** +// * @Description : +// * @Reference : +// * @Author : alwaysfrin +// * @CreateDate : 2019-04-09 14:38 +// * @Modify: +// **/ +//public class TestMongoDb extends TestBase { +// +// +// @Autowired +// private ISysLogExceptionService sysLogExceptionService; +// +// @Autowired +// private ISysLogSystemService syslogSystemService; +// +// /** +// * 测试 查询所有系统参数 +// */ +// @Test +// @Transactional +// public void testListSysConfig() { +// Pager pager = new Pager(); +// pager.setStartRow(0); +// pager.setPageSize(10); +// +// SysLogException sysLogException = new SysLogException(); +// +// ListPager logExceptionList = sysLogExceptionService.querySysLogExceptionByPager(sysLogException, pager); +// System.out.println(logExceptionList); +// } +// +// +// @Test +// @Transactional +// public void testListSysLogSystem() { +// Pager pager = new Pager(); +// pager.setStartRow(0); +// pager.setPageSize(10); +// +// SysLogSystem logSystem = new SysLogSystem(); +// logSystem.setLogLevel(1); +// logSystem.setLogModuleId(1); +// +// System.out.println("2==============="); +// ListPager logSystemList = syslogSystemService.querySysLogSystemByPager(logSystem,pager); +// System.out.println(logSystemList.getObjectList().size()); +// System.out.println("===============pager:" + pager); +// } +//} From be20e5fc1fa40d6b52ddecc68cab12458023538d Mon Sep 17 00:00:00 2001 From: "jack.jia" Date: Wed, 25 Mar 2020 19:21:52 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=89=93=E5=8C=85?= =?UTF-8?q?=E6=97=B6=E7=89=88=E6=9C=AC=E5=8F=B7=E7=9A=84=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=EF=BC=8C=E5=90=8E=E7=BB=AD=E5=8F=AF=E4=BB=A5=E9=80=9A=E8=BF=87?= =?UTF-8?q?mvn=20clean=20install=20Pdev=20=E5=91=BD=E4=BB=A4=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E6=89=93=E5=8C=85,=E6=9C=80=E5=90=8Edev=E8=BF=98?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E6=9B=B4=E6=8D=A2=E4=B8=BAtest=E3=80=81prod?= =?UTF-8?q?=E3=80=81docker=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/i3plus-core-api/pom.xml | 35 ++++++++++++++++++++++++++++++++-- modules/i3plus-core-apiservice/pom.xml | 33 ++++++++++++++++++++++++++++++-- pom.xml | 32 ++++++++++++++++++++++++++++++- 3 files changed, 95 insertions(+), 5 deletions(-) diff --git a/modules/i3plus-core-api/pom.xml b/modules/i3plus-core-api/pom.xml index cbfbca2..df3df70 100644 --- a/modules/i3plus-core-api/pom.xml +++ b/modules/i3plus-core-api/pom.xml @@ -5,7 +5,7 @@ i3plus-core i3plus.core - 1.0-DEV-SNAPSHOT + 1.0-SNAPSHOT ../../pom.xml 4.0.0 @@ -32,5 +32,36 @@ shiro-core - + + + dev + + DEV + + + true + + + + test + + TEST + + + + docker + + DOCKER + + + + prod + + PROD + + + + + ${project.artifactId}-${profileActive}-${project.version} + \ No newline at end of file diff --git a/modules/i3plus-core-apiservice/pom.xml b/modules/i3plus-core-apiservice/pom.xml index f96813a..73c0d0d 100644 --- a/modules/i3plus-core-apiservice/pom.xml +++ b/modules/i3plus-core-apiservice/pom.xml @@ -5,7 +5,7 @@ i3plus-core i3plus.core - 1.0-DEV-SNAPSHOT + 1.0-SNAPSHOT ../../pom.xml 4.0.0 @@ -243,7 +243,36 @@ - + ${project.artifactId}-${profileActive}-${project.version} + + + dev + + DEV + + + true + + + + test + + TEST + + + + docker + + DOCKER + + + + prod + + PROD + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 70cd8c4..36ab16f 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ i3plus.core i3plus-core pom - 1.0-DEV-SNAPSHOT + 1.0-SNAPSHOT modules/i3plus-core-api modules/i3plus-core-apiservice @@ -344,6 +344,36 @@ + ${project.artifactId}-${profileActive}-${project.version} + + + dev + + DEV + + + true + + + + test + + TEST + + + + docker + + DOCKER + + + + prod + + PROD + + + \ No newline at end of file From 45873bea1ae4256127b3017e60476d3624d3dd4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=AA=E4=BA=91=E6=98=8A?= Date: Fri, 27 Mar 2020 18:32:56 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E8=B5=84=E6=BA=90=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E5=8C=96=20=E8=B5=84=E6=BA=90=E5=B7=A5=E5=85=B7=E7=B1=BB?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iservice/busi/ISysLocaleResourceService.java | 4 +- .../controller/busi/SysFileController.java | 2 - .../busi/SysLocaleLanguageController.java | 4 +- .../busi/SysLocaleResourceController.java | 100 ++++++------- .../core/apiservice/schedulejob/DemoCloudJob.java | 1 + .../serviceimpl/base/SystemInitService.java | 161 +++++++++++++-------- .../serviceimpl/busi/SysLocaleLanguageService.java | 8 +- .../serviceimpl/busi/SysLocaleResourceService.java | 12 +- .../src/main/resources/application-dev.properties | 154 ++++++++++---------- .../src/main/resources/application.properties | 76 +++++----- 10 files changed, 273 insertions(+), 249 deletions(-) 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 81845e7..8db93f2 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 @@ -47,6 +47,7 @@ public interface ISysLocaleResourceService { @ApiOperation(value = "根据资源key查询资源") List findSysLocaleResourceByResKey(String resKey); + @ApiOperation(value = "根据条件查询资源") List findSysLocaleResource(SysLocaleResource sysLocaleResource); @ApiOperation(value = "根据id查询资源") @@ -55,9 +56,6 @@ public interface ISysLocaleResourceService { @ApiOperation(value = "功能权限国际化") List tranSysMenu(List menuList); - @ApiOperation(value = "添加初始化资源") - void insertInitSysLocaleResourceList(List sysLocaleResources); - @ApiOperation(value = "删除所有资源") void deleteSysLocaleResourceAll(); } 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 071e6cc..b866da4 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 @@ -347,8 +347,6 @@ public class SysFileController extends CoreBaseController { os.write(buffer, 0, i); i = bis.read(buffer); } - } catch (Exception e) { - e.printStackTrace(); } finally { if (bis != null) { try { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java index 5df99d4..64ec874 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java @@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService; import cn.estsh.i3plus.core.api.iservice.busi.ISysLocaleLanguageService; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; @@ -13,7 +14,6 @@ import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; @@ -37,7 +37,7 @@ import java.util.List; @Api(tags = "系统语言服务") @RequestMapping(PlatformConstWords.BASE_URL + "/sys-locale-language") public class SysLocaleLanguageController extends CoreBaseController { - public static final Logger LOGGER = LoggerFactory.getLogger(SysFileController.class); + public static final Logger LOGGER = LoggerFactory.getLogger(SysLocaleLanguageController.class); @Autowired private ISysLocaleLanguageService sysLocaleLanguageService; 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 3389e40..219f124 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 @@ -5,6 +5,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService; import cn.estsh.i3plus.core.api.iservice.busi.ISysLocaleResourceService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.exception.BaseImppException; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.tool.ExcelTool; import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.util.CommonConstWords; @@ -20,7 +21,6 @@ import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient; import cn.estsh.impp.framework.boot.fastdfs.FastDFSFile; import cn.estsh.impp.framework.boot.util.ImppRedis; @@ -39,6 +39,7 @@ import javax.annotation.Resource; import javax.persistence.EntityManager; import javax.servlet.http.HttpServletResponse; import java.io.*; +import java.nio.charset.StandardCharsets; import java.util.*; /** @@ -61,7 +62,7 @@ public class SysLocaleResourceController extends CoreBaseController { private ISysLocaleResourceService sysLocaleResourceService; @Autowired - private ISystemInitService systemInitService;; + private ISystemInitService systemInitService; @Autowired private ISysFileService sysFileService; @@ -91,6 +92,12 @@ public class SysLocaleResourceController extends CoreBaseController { //新增初始化 sysLocaleResource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + // 系统功能key添加指定前缀,避免与其他资源重复 + if (sysLocaleResource.getResourceType().equals(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.MENU.getValue()) + && sysLocaleResource.getResourceKey().indexOf(CommonConstWords.RESOURCE_PREFIX_MENU) != 0) { + sysLocaleResource.setResourceKey(CommonConstWords.RESOURCE_PREFIX_MENU+sysLocaleResource.getResourceKey()); + } + sysLocaleResourceService.insertSysLocaleResource(sysLocaleResource); // 更新缓存信息 @@ -110,7 +117,7 @@ public class SysLocaleResourceController extends CoreBaseController { */ @PutMapping(value = "/update") @ApiOperation(value = "修改语言资源",notes = "修改语言资源") - public ResultBean updateSysLocaleResource(SysLocaleResource sysLocaleResource){ + public ResultBean updateSysLocaleResource(SysLocaleResource sysLocaleResource) { try { //条件验证 ValidatorBean.beginValid(sysLocaleResource) @@ -220,8 +227,6 @@ public class SysLocaleResourceController extends CoreBaseController { sysLocaleResourceService.deleteSysLocaleResourceByIds(StringTool.getArrayLong(idsStr)); - // 重新加载资源 - systemInitService.putAndLoadSysLocaleLanguage(); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); @@ -239,22 +244,26 @@ public class SysLocaleResourceController extends CoreBaseController { @ApiOperation(value = "批量添加系统资源") public ResultBean insertSysLocaleResourceList(@RequestBody List sysLocaleResourcesList){ try { - if(sysLocaleResourcesList.size() == 0){ + if(sysLocaleResourcesList.isEmpty()){ throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("请选择需要删除的资源。") + .setErrorDetail("请选择输入需要添加资源。") .build(); } for (SysLocaleResource sysLocaleResource : sysLocaleResourcesList) { + // 系统功能key添加指定前缀,避免与其他资源重复 + if (sysLocaleResource.getResourceType().equals(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.MENU.getValue()) + && sysLocaleResource.getResourceKey().indexOf(CommonConstWords.RESOURCE_PREFIX_MENU) != 0) { + sysLocaleResource.setResourceKey(CommonConstWords.RESOURCE_PREFIX_MENU+sysLocaleResource.getResourceKey()); + } + ConvertBean.modelInitialize(sysLocaleResource,AuthUtil.getSessionUser()); } sysLocaleResourceService.insertSysLocaleResourceList(sysLocaleResourcesList); - // 重新加载资源 - systemInitService.putAndLoadSysLocaleLanguage(); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); @@ -268,27 +277,11 @@ public class SysLocaleResourceController extends CoreBaseController { * @param sysLocaleResource 系统资源消息 * @param isDelete 是否删除 */ - private void updateResourceCache(SysLocaleResource sysLocaleResource,boolean isDelete){ + private void updateResourceCache(SysLocaleResource sysLocaleResource, boolean isDelete) { // 判断是否为删除资源 - if(isDelete){ - Map langMap = redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + sysLocaleResource.getLanguageCode()); - if (langMap != null && langMap.size() != 0) { - langMap.remove(sysLocaleResource.getResourceKey()); - redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + sysLocaleResource.getLanguageCode(), langMap); - } - - redisRes.deleteKey(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + sysLocaleResource.getResourceKey()); - }else { - Map langMap = redisRes.getHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + sysLocaleResource.getLanguageCode()); - if (langMap != null && langMap.size() != 0) { - langMap.put(sysLocaleResource.getResourceKey(), sysLocaleResource.getResourceValue()); - redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + sysLocaleResource.getLanguageCode(), langMap); - } + // 更新web资源 - HashMap resource = new HashMap(); - resource.put(sysLocaleResource.getLanguageCode(), sysLocaleResource.getResourceValue()); - redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + sysLocaleResource.getResourceKey(), resource, 0); - } + // 更新后台资源 } @PostMapping(value = "/import") @@ -304,6 +297,11 @@ public class SysLocaleResourceController extends CoreBaseController { String resourceKey; String userName = AuthUtil.getSessionUser().getUserName(); for (SysLocaleResource localeResource : sysLocaleResourceList) { + // 系统功能key添加指定前缀,避免与其他资源重复 + if (localeResource.getResourceType().equals(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.MENU.getValue()) + && localeResource.getResourceKey().indexOf(CommonConstWords.RESOURCE_PREFIX_MENU) != 0) { + localeResource.setResourceKey(CommonConstWords.RESOURCE_PREFIX_MENU+localeResource.getResourceKey()); + } localeResource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); ConvertBean.serviceModelInitialize(localeResource, userName); @@ -326,11 +324,9 @@ public class SysLocaleResourceController extends CoreBaseController { } // 重新加载资源 -// systemInitService.putAndLoadSysLocaleLanguage(); + systemInitService.putAndLoadSysLocaleLanguage(); return ResultBean.success("导入成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - } catch (ImppBusiException busExcep) { - return ResultBean.fail(busExcep); - } catch (BaseImppException busExcep) { + }catch (BaseImppException busExcep) { return ResultBean.fail(busExcep); } catch (Exception e) { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); @@ -340,7 +336,6 @@ public class SysLocaleResourceController extends CoreBaseController { @PostMapping(value = "/export") @ApiOperation(value = "导出系统资源") public ResultBean exportSysLocaleResource(HttpServletResponse response) { - try { startMultiService(); ExcelTool excelTool = new ExcelTool(entityManager, redisRes); @@ -348,7 +343,13 @@ public class SysLocaleResourceController extends CoreBaseController { List list = sysLocaleResourceService.listSysLocaleResource(); File file = new File(fileName); - file.createNewFile(); + if (file.createNewFile()) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.IO_EXCEPTION_FILE.getCode()) + .setErrorDetail("临时文件创建失败!") + .build(); + } File excle = excelTool.exportData(file, list, SysLocaleResource.class, new String[]{ "resourceType", "languageCode", "languageNameRdd", "resourceKey", "resourceValue", "softType" }); @@ -359,16 +360,17 @@ public class SysLocaleResourceController extends CoreBaseController { fileName = java.net.URLEncoder.encode(fileName, "UTF-8"); } else { // 非IE浏览器的处理: - fileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1"); + fileName = new String(fileName.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1); } - InputStream targetStream = new DataInputStream(new FileInputStream(excle)); response.setContentType("application/force-download"); // 设置强制下载不打开 response.addHeader("Content-Disposition", "attachment;fileName=" + fileName); // 设置文件名 response.addHeader("Content-type", FileContentTypeTool.getContentType(".xls")); // 设置文件名 BufferedInputStream bis = null; + InputStream targetStream = null; try { + targetStream = new DataInputStream(new FileInputStream(excle)); bis = new BufferedInputStream(targetStream); OutputStream os = response.getOutputStream(); byte[] buffer = new byte[1024]; @@ -377,19 +379,18 @@ public class SysLocaleResourceController extends CoreBaseController { os.write(buffer, 0, i); i = bis.read(buffer); } - } catch (Exception e) { - e.printStackTrace(); } finally { if (bis != null) { - try { - bis.close(); - targetStream.close(); - } catch (IOException e) { - e.printStackTrace(); - } + bis.close(); } + if (targetStream != null) { + targetStream.close(); + } + } + // 删除临时文件 + if (!file.delete()) { + LOGGER.warn("临时文件清理失败"); } - file.delete(); // 删除临时文件 return ResultBean.success("下载").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); @@ -422,6 +423,11 @@ public class SysLocaleResourceController extends CoreBaseController { String resourceKey; String userName = AuthUtil.getSessionUser().getUserName(); for (SysLocaleResource localeResource : sysLocaleResourceList) { + // 系统功能key添加指定前缀,避免与其他资源重复 + if (localeResource.getResourceType().equals(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.MENU.getValue()) + && localeResource.getResourceKey().indexOf(CommonConstWords.RESOURCE_PREFIX_MENU) != 0) { + localeResource.setResourceKey(CommonConstWords.RESOURCE_PREFIX_MENU+localeResource.getResourceKey()); + } // 初始化 localeResource.setId(getResourceKey(localeResource.getResourceKey(),localeResource.getLanguageCode())); localeResource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); @@ -439,7 +445,6 @@ public class SysLocaleResourceController extends CoreBaseController { // 分批导入 int size = 1000; - int i = 0; for (List resourceList : ListUtils.partition(importDataList, size)) { new Thread(){ @Override @@ -452,10 +457,7 @@ public class SysLocaleResourceController extends CoreBaseController { }.start(); } -// 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) { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoCloudJob.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoCloudJob.java index 07155e7..a3ee160 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoCloudJob.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoCloudJob.java @@ -30,3 +30,4 @@ public class DemoCloudJob extends BaseImppScheduleJob { System.out.println("==============测试微服定时任务demo==========="); } } + 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 e8e879b..ea59f63 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 @@ -117,6 +117,15 @@ public class SystemInitService implements ISystemInitService { @Override @ApiOperation(value = "加载语言数据",notes = "加载语言数据") public void putAndLoadSysLocaleLanguage() { + // 加载资源 + putAndLoadResource(); + // 加载WEB资源 + putAndLoadWebResource(); + //加载语言数据 + putAndLoadSysMenu(); + } + + public void putAndLoadWebResource() { // Redis 缓存 if (type == ImppEnumUtil.SYS_CACHE_TYPE.REDIS.getValue()) { /** @@ -131,92 +140,116 @@ public class SystemInitService implements ISystemInitService { * langCode + softType < code : value> * */ - 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); + // 查询通用与前端资源数据 + SysLocaleResource localeResource = new SysLocaleResource(); + localeResource.setResourceTypes(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.COMMON.getValue() + "," + CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.WEB.getValue()); + + Integer resCount = systemResourceService.getSysLocaleResourceCount(localeResource); //语言数量 List langList = systemResourceService.listSysLocaleLanguage(null); - LOGGER.info("【加载平台资源】共有{}个资源,{}种语言。", resCount, langList.size()); + LOGGER.info("【加载WEB资源】共有{}个资源,{}种语言。", resCount, langList.size()); Pager pager = new Pager(resCount, 5000); pager.setCurrentPage(0); //查询所有资源 - ListPager resourceList; + ListPager resListPage; + // 前端+语言+模块 + Map> webLangSoftMap = new HashMap<>(); + // 前端+语言 + Map> webLangMap = new HashMap<>(); + // resKey + String resKey; + // key + value + Map resMap = new HashMap<>(); + 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()); + resListPage = systemResourceService.listSysLocaleResourceByPager(localeResource, pager); - // web 资源 - if (!webLangMap.containsKey(res.getLanguageCode())) { - webLangMap.put(res.getLanguageCode(), new HashMap<>()); - } - // 放入资源信息 - webResMap = webLangMap.get(res.getLanguageCode()); - webResMap.put(res.getResourceKey(), res.getResourceValue()); - - // web 模块资源 - softResKey = res.getLanguageCode() + ":" + res.getSoftTypeVal(); - if (!webSoftLangMap.containsKey(softResKey)) { - webSoftLangMap.put(softResKey, new HashMap<>()); - } - // 放入模块资源信息 - webSoftResMap = webSoftLangMap.get(softResKey); - webSoftResMap.put(res.getResourceKey(), res.getResourceValue()); - } + for (SysLocaleResource res : resListPage.getObjectList()) { + resKey = CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + res.getLanguageCode(); + resMap = webLangMap.computeIfAbsent(resKey, k -> new HashMap<>()); + resMap.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); - } + resKey = CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + res.getLanguageCode() + ":" + res.getSoftType(); + resMap = webLangSoftMap.computeIfAbsent(resKey, k -> new HashMap<>()); + resMap.put(res.getResourceKey(), res.getResourceValue()); } - 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 : webSoftLangMap.keySet()) { - //放入缓存 - if (webSoftLangMap.get(key) != null) { - redisRes.putHashMap(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE_WEB + ":" + key, webSoftLangMap.get(key), 0); - } + LOGGER.info("【加载WEB资源】数据分类中 {} / {} ", pager.getEndRow(), pager.getTotalRows()); + } while (pager.hasNext()); + + for (Map.Entry> entry : webLangMap.entrySet()) { + redisRes.putHashMap(entry.getKey(), entry.getValue()); + } + LOGGER.info("【加载WEB资源】WEB-语言 已分类缓存完毕"); + + for (Map.Entry> entry : webLangSoftMap.entrySet()) { + redisRes.putHashMap(entry.getKey(), entry.getValue()); + } + LOGGER.info("【加载WEB资源】WEB-语言-模块 已分类缓存完毕"); + + LOGGER.info("【加载WEB资源】加载完成。"); + } + } + + public void putAndLoadResource() { + // Redis 缓存 + if (type == ImppEnumUtil.SYS_CACHE_TYPE.REDIS.getValue()) { + /** + * 整体数据结构: + * code + * 先根据code查询,判断是否存在,然后通过语言获取对应的值 + * + * 语言代码 hashMap结构 + * langCode < code : value> + * + * 语言代码+模块 hashMap结构 + * langCode + softType < code : value> + * + */ + Integer resCount = systemResourceService.getSysLocaleResourceCount(null); + + //语言数量 + List langList = systemResourceService.listSysLocaleLanguage(null); + + LOGGER.info("【加载资源】共有{}个资源,{}种语言。", resCount, langList.size()); + Pager pager = new Pager(resCount, 5000); + pager.setCurrentPage(0); + //查询所有资源 + ListPager resListPage; + // 语言+模块 + Map> langSoftMap = new HashMap<>(); + // resKey + String resKey; + // key + value + Map resMap = new HashMap<>(); + + do { + pager.next(); + resListPage = systemResourceService.listSysLocaleResourceByPager(null, pager); + + for (SysLocaleResource res : resListPage.getObjectList()) { + resKey = CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + ":" + res.getLanguageCode() + ":" + res.getSoftType(); + resMap = langSoftMap.computeIfAbsent(resKey, k -> new HashMap<>()); + resMap.put(res.getResourceKey(), res.getResourceValue()); } - LOGGER.info("【加载平台资源】加载中 {} / {} ", pager.getEndRow(), pager.getTotalRows()); + + LOGGER.info("【加载资源】数据分类中 {} / {} ", pager.getEndRow(), pager.getTotalRows()); } while (pager.hasNext()); + for (Map.Entry> entry : langSoftMap.entrySet()) { + redisRes.putHashMap(entry.getKey(), entry.getValue()); + } + LOGGER.info("【加载资源】模块资源 已分类缓存完毕"); - LOGGER.info("【加载平台资源】加载完成。"); + LOGGER.info("【加载资源】加载完成。"); } - //加载语言数据 - putAndLoadSysMenu(); } - @ApiOperation(value = "加载语言数据",notes = "加载语言数据") public void putAndLoadSysMenu() { SysLocaleResource resource = new SysLocaleResource(); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleLanguageService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleLanguageService.java index 3a77c84..dd339ec 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleLanguageService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleLanguageService.java @@ -1,18 +1,16 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysLocaleLanguageService; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage; -import cn.estsh.i3plus.pojo.platform.bean.SysMenu; import cn.estsh.i3plus.pojo.platform.repository.SysLocaleLanguageRepository; import cn.estsh.i3plus.pojo.platform.repository.SysLocaleResourceRepository; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; -import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; @@ -131,7 +129,7 @@ public class SysLocaleLanguageService implements ISysLocaleLanguageService { public void deleteSysLocaleLanguageByIds(Long[] ids) { // 判断批量数据中是否存在默认语言 List list = sysLocaleLanguageRDao.findByHqlWhere(CoreHqlPack.packHqlSysLocaleLanguageExistDefaultByIds(ids)); - if (list.size() > 0) { + if (list!=null && !list.isEmpty() ) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) @@ -187,7 +185,7 @@ public class SysLocaleLanguageService implements ISysLocaleLanguageService { public void updateSysLocaleLanguageStatusByIds(Long[] ids, Integer status) { // 判断批量数据禁用时是否存在默认语言 List list = sysLocaleLanguageRDao.findByHqlWhere(CoreHqlPack.packHqlSysLocaleLanguageExistDefaultByIds(ids)); - if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == status.intValue() && list.size() > 0) { + if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == status.intValue() && !list.isEmpty()) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) 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 2473509..fc54773 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 @@ -1,6 +1,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysLocaleResourceService; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.tool.BeanCopyTool; import cn.estsh.i3plus.platform.common.tool.SerializeTool; import cn.estsh.i3plus.platform.common.util.CommonConstWords; @@ -17,7 +18,6 @@ import cn.estsh.i3plus.pojo.platform.repository.SysLocaleResourceRepository; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.util.ImppRedis; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.ApiOperation; @@ -42,7 +42,7 @@ import static cn.estsh.i3plus.platform.common.util.CommonConstWords.RESOURCE_PRE **/ @Service public class SysLocaleResourceService implements ISysLocaleResourceService { - public static final Logger LOGGER = LoggerFactory.getLogger(SysLocaleLanguageService.class); + private static final Logger LOGGER = LoggerFactory.getLogger(SysLocaleLanguageService.class); @Autowired private SysLocaleResourceRepository sysLocaleResourceRDao; @@ -196,7 +196,7 @@ public class SysLocaleResourceService implements ISysLocaleResourceService { @Override public List tranSysMenu(List menuList) { - if (menuList != null && menuList.size() > 0) { + if (menuList != null && !menuList.isEmpty()) { String languageCode = (String) AuthUtil.getSessionLanguage(); menuList = (List) SerializeTool.copyObject(menuList); @@ -224,12 +224,6 @@ public class SysLocaleResourceService implements ISysLocaleResourceService { } @Override - public void insertInitSysLocaleResourceList(List sysLocaleResourceList) { - sysLocaleResourceRDao.deleteAll(); - sysLocaleResourceRDao.saveAll(sysLocaleResourceList); - } - - @Override public void deleteSysLocaleResourceAll() { sysLocaleResourceRDao.deleteAllInBatch(); } diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties index b73218a..5e24b27 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties @@ -1,49 +1,49 @@ -#本机ip +#\u672C\u673Aip impp.server.ip=192.168.1.56 -#项目端口 +#\u9879\u76EE\u7AEF\u53E3 server.port=8100 -#链路追踪zipkin控制台ip地址 +#\u94FE\u8DEF\u8FFD\u8E2Azipkin\u63A7\u5236\u53F0ip\u5730\u5740 impp.console.ip=http://192.168.1.56:8010 -#服务注册中心(多注册中心逗号分隔) +#\u670D\u52A1\u6CE8\u518C\u4E2D\u5FC3(\u591A\u6CE8\u518C\u4E2D\u5FC3\u9017\u53F7\u5206\u9694) impp.cluster.regist.center=http://192.168.1.56:8000/eureka/ -#日志默认使用log4j2 +#\u65E5\u5FD7\u9ED8\u8BA4\u4F7F\u7528log4j2 logging.config=classpath:log4j2-spring-dev.xml -########平台相关参数########## -#是否开启redis缓存 +########\u5E73\u53F0\u76F8\u5173\u53C2\u6570########## +#\u662F\u5426\u5F00\u542Fredis\u7F13\u5B58 impp.config.redis=true -#是否开启rabbitMQ +#\u662F\u5426\u5F00\u542FrabbitMQ impp.config.rabbitmq=true -#是否开启swagger +#\u662F\u5426\u5F00\u542Fswagger impp.config.swagger=true -#是否开启websocket +#\u662F\u5426\u5F00\u542Fwebsocket impp.config.websocket=true -#是否开启文件服务 +#\u662F\u5426\u5F00\u542F\u6587\u4EF6\u670D\u52A1 impp.config.fastdfs=true -#是否对发布服务进行详细日志分析 +#\u662F\u5426\u5BF9\u53D1\u5E03\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790 impp.log.detail.controller=true -#是否对调用服务进行详细日志分析 +#\u662F\u5426\u5BF9\u8C03\u7528\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790 impp.log.detail.service=true -#是否开启微服 +#\u662F\u5426\u5F00\u542F\u5FAE\u670D eureka.client.enabled=true -#打开feign的熔断 +#\u6253\u5F00feign\u7684\u7194\u65AD feign.hystrix.enabled=true -################ 队列处理 ################ -#站内信 +################ \u961F\u5217\u5904\u7406 ################ +#\u7AD9\u5185\u4FE1 impp.mq.queue.letter=true -#邮件 +#\u90AE\u4EF6 impp.mq.queue.mail=true -#定时任务 +#\u5B9A\u65F6\u4EFB\u52A1 impp.mq.queue.schedule=true -#SWEB通知处理队列 +#SWEB\u901A\u77E5\u5904\u7406\u961F\u5217 impp.mq.queue.sweb.notice=true -################################ 数据库相关设置 ################################ +################################ \u6570\u636E\u5E93\u76F8\u5173\u8BBE\u7F6E ################################ # mysql spring.datasource.validationQuery=SELECT 1 -################ 数据池设置 ################ +################ \u6570\u636E\u6C60\u8BBE\u7F6E ################ spring.datasource.maximum-pool-size=10 spring.datasource.max-active=5 spring.datasource.max-idle=5 @@ -55,144 +55,144 @@ spring.datasource.test-on-borrow=false spring.datasource.test-while-idle=true spring.datasource.time-between-eviction-runs-millis=300000 -##主数据源,读写 +##\u4E3B\u6570\u636E\u6E90\uFF0C\u8BFB\u5199 #impp.write.datasource.type=com.zaxxer.hikari.HikariDataSource impp.write.datasource.driver-class-name=com.mysql.jdbc.Driver impp.write.datasource.jdbc-url=jdbc:mysql://192.168.1.55:3306/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8 impp.write.datasource.username=impp_i3_core_user impp.write.datasource.password=impp_i3_core_pwd -##辅数据源,只读 +##\u8F85\u6570\u636E\u6E90\uFF0C\u53EA\u8BFB #impp.read.datasource.type=com.zaxxer.hikari.HikariDataSource impp.read.datasource.driver-class-name=com.mysql.jdbc.Driver impp.read.datasource.jdbc-url=jdbc:mysql://192.168.1.55:3306/impp_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8 impp.read.datasource.username=impp_i3_core_user impp.read.datasource.password=impp_i3_core_pwd -################ 日志数据源 ################ +################ \u65E5\u5FD7\u6570\u636E\u6E90 ################ spring.data.mongodb.database=mongoDBSource spring.data.mongodb.uri=192.168.1.55:27017 spring.data.mongodb.username=sa spring.data.mongodb.password=i3plus spring.data.mongodb.port=27017 -################ JPA设置设置 ################ +################ JPA\u8BBE\u7F6E\u8BBE\u7F6E ################ # mysql spring.jpa.database=MYSQL spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect -#是否显示sql +#\u662F\u5426\u663E\u793Asql spring.jpa.show-sql=true -#表关系create,create-drop,update,validate +#\u8868\u5173\u7CFBcreate,create-drop,update,validate spring.jpa.properties.hibernate.hbm2ddl.auto=update -##############定时任务持久化############## +##############\u5B9A\u65F6\u4EFB\u52A1\u6301\u4E45\u5316############## impp.schedule.open=true impp.schedule.datasource.driver-class-name=com.mysql.jdbc.Driver impp.schedule.datasource.jdbc-url=jdbc:mysql://192.168.1.55:3306/impp_i3_schedule?autoReconnect=true&useSSL=false&characterEncoding=utf-8 impp.schedule.datasource.username=impp_i3_schedule_user impp.schedule.datasource.password=impp_i3_schedule_pwd impp.schedule.datasource.max-connections=20 -#定时任务在服务启动后多少秒执行 +#\u5B9A\u65F6\u4EFB\u52A1\u5728\u670D\u52A1\u542F\u52A8\u540E\u591A\u5C11\u79D2\u6267\u884C impp.schedule.start.after-second=20 -#是否集群部署 +#\u662F\u5426\u96C6\u7FA4\u90E8\u7F72 impp.schedule.datasource.is-clustered=true -#执行检测(毫秒),若宕机由其他定时器执行 +#\u6267\u884C\u68C0\u6D4B\uFF08\u6BEB\u79D2\uFF09\uFF0C\u82E5\u5B95\u673A\u7531\u5176\u4ED6\u5B9A\u65F6\u5668\u6267\u884C impp.schedule.datasource.cluster-checkin-interval=30000 -#线程数 +#\u7EBF\u7A0B\u6570 impp.schedule.thread-count=10 -#线程优先级(1-10)默认为5 +#\u7EBF\u7A0B\u4F18\u5148\u7EA7\uFF081-10\uFF09\u9ED8\u8BA4\u4E3A5 impp.schedule.thread-priority=5 -################################ 其他功能设置 ################################ +################################ \u5176\u4ED6\u529F\u80FD\u8BBE\u7F6E ################################ #redisIP redis.hostName=192.168.1.55 -#端口号 +#\u7AEF\u53E3\u53F7 redis.port=16376 -#如果有密码 +#\u5982\u679C\u6709\u5BC6\u7801 redis.password= -##其他redis配置需要调整的加在此处 -################## rabbitMQ配置 #################### +##\u5176\u4ED6redis\u914D\u7F6E\u9700\u8981\u8C03\u6574\u7684\u52A0\u5728\u6B64\u5904 +################## rabbitMQ\u914D\u7F6E #################### spring.rabbitmq.vhost=/ spring.rabbitmq.host=192.168.1.55 spring.rabbitmq.port=5672 spring.rabbitmq.username=estsh spring.rabbitmq.password=estsh123 -##其他rabbitMq配置需要调整的加在此处 +##\u5176\u4ED6rabbitMq\u914D\u7F6E\u9700\u8981\u8C03\u6574\u7684\u52A0\u5728\u6B64\u5904 -################ 微服配置 ################ -#是否进行健康检查 +################ \u5FAE\u670D\u914D\u7F6E ################ +#\u662F\u5426\u8FDB\u884C\u5065\u5EB7\u68C0\u67E5 eureka.client.healthcheck.enabled=true -#若无法连接注册中心,是否需要一直检测加入 +#\u82E5\u65E0\u6CD5\u8FDE\u63A5\u6CE8\u518C\u4E2D\u5FC3\uFF0C\u662F\u5426\u9700\u8981\u4E00\u76F4\u68C0\u6D4B\u52A0\u5165 impp.cluster.fetch=true -#集群名 +#\u96C6\u7FA4\u540D eureka.instance.metadata-map.cluster=impp_cluster -#(参数配置)注册中心地址 -》 i3plus-ics,多个用逗号分隔 +#\uFF08\u53C2\u6570\u914D\u7F6E\uFF09\u6CE8\u518C\u4E2D\u5FC3\u5730\u5740 -\u300B i3plus-ics\uFF0C\u591A\u4E2A\u7528\u9017\u53F7\u5206\u9694 eureka.client.service-url.defaultZone=${impp.cluster.regist.center} -#本服务主机ip(若多个网卡,则需要设置本服务ip) +#\u672C\u670D\u52A1\u4E3B\u673Aip\uFF08\u82E5\u591A\u4E2A\u7F51\u5361\uFF0C\u5219\u9700\u8981\u8BBE\u7F6E\u672C\u670D\u52A1ip\uFF09 eureka.instance.ip-address=${impp.server.ip} -#本服务实例ID +#\u672C\u670D\u52A1\u5B9E\u4F8BID eureka.instance.instance-id=${impp.server.ip}:${server.port} -#本服务主机名 +#\u672C\u670D\u52A1\u4E3B\u673A\u540D eureka.instance.hostname=${impp.server.ip} -#本服务状态页面 +#\u672C\u670D\u52A1\u72B6\u6001\u9875\u9762 eureka.instance.status-page-url=http://${impp.server.ip}:${server.port}/swagger-ui.html -#将自己的IP注册到Eureka Server。若不配置或设置为false,表示注册微服务所在操作系统的hostname到Eureka Server +#\u5C06\u81EA\u5DF1\u7684IP\u6CE8\u518C\u5230Eureka Server\u3002\u82E5\u4E0D\u914D\u7F6E\u6216\u8BBE\u7F6E\u4E3Afalse\uFF0C\u8868\u793A\u6CE8\u518C\u5FAE\u670D\u52A1\u6240\u5728\u64CD\u4F5C\u7CFB\u7EDF\u7684hostname\u5230Eureka Server eureka.instance.prefer-ip-address=true -################ 检测机制 ################ -#心跳间隔周期,宕机限制(秒),30秒没反应视为宕机 +################ \u68C0\u6D4B\u673A\u5236 ################ +#\u5FC3\u8DF3\u95F4\u9694\u5468\u671F\uFF0C\u5B95\u673A\u9650\u5236\uFF08\u79D2\uFF09\uFF0C30\u79D2\u6CA1\u53CD\u5E94\u89C6\u4E3A\u5B95\u673A eureka.instance.lease-expiration-duration-in-seconds=30 -#心跳周期 +#\u5FC3\u8DF3\u5468\u671F eureka.instance.lease-renewal-interval-in-seconds=20 -#client连接Eureka服务端后的空闲等待时间,默认为30 秒 +#client\u8FDE\u63A5Eureka\u670D\u52A1\u7AEF\u540E\u7684\u7A7A\u95F2\u7B49\u5F85\u65F6\u95F4\uFF0C\u9ED8\u8BA4\u4E3A30 \u79D2 eureka.client.eureka-connection-idle-timeout-seconds=1 -#最初复制实例信息到eureka服务器所需的时间(s),默认为40秒 +#\u6700\u521D\u590D\u5236\u5B9E\u4F8B\u4FE1\u606F\u5230eureka\u670D\u52A1\u5668\u6240\u9700\u7684\u65F6\u95F4\uFF08s\uFF09\uFF0C\u9ED8\u8BA4\u4E3A40\u79D2 eureka.client.initial-instance-info-replication-interval-seconds=1 -#间隔多长时间再次复制实例信息到eureka服务器,默认为30秒 +#\u95F4\u9694\u591A\u957F\u65F6\u95F4\u518D\u6B21\u590D\u5236\u5B9E\u4F8B\u4FE1\u606F\u5230eureka\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4\u4E3A30\u79D2 eureka.client.instance-info-replication-interval-seconds=1 -#从eureka服务器注册表中获取注册信息的时间间隔(s),默认为30秒 +#\u4ECEeureka\u670D\u52A1\u5668\u6CE8\u518C\u8868\u4E2D\u83B7\u53D6\u6CE8\u518C\u4FE1\u606F\u7684\u65F6\u95F4\u95F4\u9694\uFF08s\uFF09\uFF0C\u9ED8\u8BA4\u4E3A30\u79D2 eureka.client.registry-fetch-interval-seconds=1 -################ 熔断配置 ################ -#重试 +################ \u7194\u65AD\u914D\u7F6E ################ +#\u91CD\u8BD5 ribbon.maxAutoRetries=2 -#读取数据时长 +#\u8BFB\u53D6\u6570\u636E\u65F6\u957F ribbon.ReadTimeout=30000 -#连接时长 +#\u8FDE\u63A5\u65F6\u957F ribbon.ConnectTimeout=50000 -#响应超过时长,进行熔断(熔断超时需要大于读取时长及连接时长) +#\u54CD\u5E94\u8D85\u8FC7\u65F6\u957F\uFF0C\u8FDB\u884C\u7194\u65AD\uFF08\u7194\u65AD\u8D85\u65F6\u9700\u8981\u5927\u4E8E\u8BFB\u53D6\u65F6\u957F\u53CA\u8FDE\u63A5\u65F6\u957F\uFF09 hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=60000 -################ 链路追踪 ################ -#使用web方式传输信息 +################ \u94FE\u8DEF\u8FFD\u8E2A ################ +#\u4F7F\u7528web\u65B9\u5F0F\u4F20\u8F93\u4FE1\u606F spring.zipkin.sender.type=web -#链路追踪服务的地址 +#\u94FE\u8DEF\u8FFD\u8E2A\u670D\u52A1\u7684\u5730\u5740 spring.zipkin.base-url=${impp.console.ip} -#追踪深度,百分比,1是全部 +#\u8FFD\u8E2A\u6DF1\u5EA6\uFF0C\u767E\u5206\u6BD4\uFF0C1\u662F\u5168\u90E8 spring.sleuth.sampler.probability=1.0 -################ FastDfs 配置 ################ -#tracker服务器ip +################ FastDfs \u914D\u7F6E ################ +#tracker\u670D\u52A1\u5668ip fastdfs.tracker_servers=192.168.1.56:22122 -# tracker的http端口 +# tracker\u7684http\u7AEF\u53E3 fastdfs.http_tracker_http_port=22122 -# 使用自定义工具获取文件展示地址 +# \u4F7F\u7528\u81EA\u5B9A\u4E49\u5DE5\u5177\u83B7\u53D6\u6587\u4EF6\u5C55\u793A\u5730\u5740 fastdfs.http.ui.host=http://dfs.estsh.com -#密码 +#\u5BC6\u7801 #fastdfs.http.secret_key= -#连接超时 -fastdfs.connect_timeout_in_seconds=5 -#传输超时 -fastdfs.network_timeout_in_seconds=60 +#\u8FDE\u63A5\u8D85\u65F6 +fastdfs.connect_timeout_in_seconds=5000 +#\u4F20\u8F93\u8D85\u65F6 +fastdfs.network_timeout_in_seconds=60000 fastdfs.charset=UTF-8 -# token 防盗链功能 +# token \u9632\u76D7\u94FE\u529F\u80FD fastdfs.http_anti_steal_token=no -################ 授权配置 ################ +################ \u6388\u6743\u914D\u7F6E ################ slm.api.password=4C9479EBEFA6FA6E232EF25EFA49C4D2 slm.app.id=10000 diff --git a/modules/i3plus-core-apiservice/src/main/resources/application.properties b/modules/i3plus-core-apiservice/src/main/resources/application.properties index f827976..db038ab 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application.properties @@ -1,72 +1,72 @@ -#使用配置 -spring.profiles.active=dev -#项目描述信息(swagger中显式),中文使用uncode转码 -desc.application.name=\u6838\u5fc3\u7ba1\u7406\u540e\u53f0 +#\u4F7F\u7528\u914D\u7F6E +spring.profiles.active=21 +#\u9879\u76EE\u63CF\u8FF0\u4FE1\u606F\uFF08swagger\u4E2D\u663E\u5F0F\uFF09\uFF0C\u4E2D\u6587\u4F7F\u7528uncode\u8F6C\u7801 +desc.application.name=\u6838\u5FC3\u7BA1\u7406\u540E\u53F0 -######### 自定义参数 ######### -#项目名称 +######### \u81EA\u5B9A\u4E49\u53C2\u6570 ######### +#\u9879\u76EE\u540D\u79F0 spring.application.name=${project.name} -#当前项目版本 +#\u5F53\u524D\u9879\u76EE\u7248\u672C version=${project.version} -#解决程序读配置文件乱码问题 -spring.message.encoding=UTF-8 sh -######## 通用设置 ####### -#启动时加载,预加载controller +#\u89E3\u51B3\u7A0B\u5E8F\u8BFB\u914D\u7F6E\u6587\u4EF6\u4E71\u7801\u95EE\u9898 +spring.message.encoding=UTF-8 +######## \u901A\u7528\u8BBE\u7F6E ####### +#\u542F\u52A8\u65F6\u52A0\u8F7D\uFF0C\u9884\u52A0\u8F7Dcontroller spring.mvc.servlet.load-on-startup=1 -#是否允许前端跨域提交impp.web.cross.hosts +#\u662F\u5426\u5141\u8BB8\u524D\u7AEF\u8DE8\u57DF\u63D0\u4EA4impp.web.cross.hosts impp.web.cross = true -#上传单个文件大小 +#\u4E0A\u4F20\u5355\u4E2A\u6587\u4EF6\u5927\u5C0F spring.servlet.multipart.max-file-size=10240MB -#request请求全部数据最大限制 +#request\u8BF7\u6C42\u5168\u90E8\u6570\u636E\u6700\u5927\u9650\u5236 spring.servlet.multipart.max-request-size=10240MB -#是否推迟文件解析,true则接受完后再解析 +#\u662F\u5426\u63A8\u8FDF\u6587\u4EF6\u89E3\u6790\uFF0Ctrue\u5219\u63A5\u53D7\u5B8C\u540E\u518D\u89E3\u6790 spring.servlet.multipart.resolve-lazily=true -########## 页面配置 ######## -#访问相关配置 +########## \u9875\u9762\u914D\u7F6E ######## +#\u8BBF\u95EE\u76F8\u5173\u914D\u7F6E server.tomcat.uri-encoding=UTF-8 -#Spring boot视图配置 +#Spring boot\u89C6\u56FE\u914D\u7F6E spring.mvc.view.prefix=/upload_demo spring.mvc.view.suffix=.jsp -#静态文件访问配置 +#\u9759\u6001\u6587\u4EF6\u8BBF\u95EE\u914D\u7F6E spring.resources.static-locations=/static/**,/** -########扫包路径######## -#app基础包路径 +########\u626B\u5305\u8DEF\u5F84######## +#app\u57FA\u7840\u5305\u8DEF\u5F84 impp.app.base-packages=cn.estsh.i3plus.core -#app对象路径 +#app\u5BF9\u8C61\u8DEF\u5F84 impp.app.pojo-packages=cn.estsh.i3plus.pojo.platform -#dao接口包 +#dao\u63A5\u53E3\u5305 impp.app.pojo-dao=${impp.app.base-packages}.apiservice.dao -#mongo-dao接口包 +#mongo-dao\u63A5\u53E3\u5305 impp.app.pojo-mongo-dao=${impp.app.base-packages}.**.apiservice.daomongo -#对象持久化包路径,可以多个包,逗号分隔 +#\u5BF9\u8C61\u6301\u4E45\u5316\u5305\u8DEF\u5F84\uFF0C\u53EF\u4EE5\u591A\u4E2A\u5305\uFF0C\u9017\u53F7\u5206\u9694 impp.app.pojo-repository=${impp.app.pojo-packages}.**.repository -#mongodb资源仓go +#mongodb\u8D44\u6E90\u4ED3go impp.app.pojo-mongo-repository=${impp.app.pojo-packages}.**.repositorymon -################ 授权过滤配置 ################ -#用户登陆路径 +################ \u6388\u6743\u8FC7\u6EE4\u914D\u7F6E ################ +#\u7528\u6237\u767B\u9646\u8DEF\u5F84 filter.shiro.user.loginuri = /login -#系统管理员登陆路径 +#\u7CFB\u7EDF\u7BA1\u7406\u5458\u767B\u9646\u8DEF\u5F84 filter.shiro.admin.loginuri = /salogin -#运维人员登陆路径 +#\u8FD0\u7EF4\u4EBA\u5458\u767B\u9646\u8DEF\u5F84 filter.shiro.saadmin.loginuri = /salogin -#用户授权过滤路径 +#\u7528\u6237\u6388\u6743\u8FC7\u6EE4\u8DEF\u5F84 filter.shiro.user.filteruri = /impp/operate/** -#用户授权过滤路径 +#\u7528\u6237\u6388\u6743\u8FC7\u6EE4\u8DEF\u5F84 filter.shiro.admin.filteruri = /impp/adoperate/* -#用户授权过滤路径 +#\u7528\u6237\u6388\u6743\u8FC7\u6EE4\u8DEF\u5F84 filter.shiro.saadmin.filteruri = /impp/saoperate/* -################ redis辅助设置 ################ -#是否开启redis +################ redis\u8F85\u52A9\u8BBE\u7F6E ################ +#\u662F\u5426\u5F00\u542Fredis core.redis.open=true -#资源信息以及异常、授权功能、按钮、模块等 +#\u8D44\u6E90\u4FE1\u606F\u4EE5\u53CA\u5F02\u5E38\u3001\u6388\u6743\u529F\u80FD\u3001\u6309\u94AE\u3001\u6A21\u5757\u7B49 redis.resource.db=0 -#用户会话缓存库 +#\u7528\u6237\u4F1A\u8BDD\u7F13\u5B58\u5E93 redis.session.db=1 -#系统全局缓存库,存放平台核心数据缓存 +#\u7CFB\u7EDF\u5168\u5C40\u7F13\u5B58\u5E93\uFF0C\u5B58\u653E\u5E73\u53F0\u6838\u5FC3\u6570\u636E\u7F13\u5B58 redis.core.db=2 \ No newline at end of file