diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/EnumController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/EnumController.java index 7176039..a2a8394 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/EnumController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/EnumController.java @@ -132,6 +132,13 @@ public class EnumController { Arrays.asList(ImppEnumUtil.SYS_CONFIG_TYPE.values())); } + @GetMapping("/sys-locale-resource-type") + @ApiOperation(value = "系统资源类型") + public ResultBean getSysLocaleResourceType(){ + return new ResultBean(true, "操作成功", + Arrays.asList(CommonEnumUtil.SYS_LOCALE_RESOURCE_TYPE.values())); + } + @GetMapping("/user-sex") @ApiOperation(value = "用户性别", notes = "用户性别") public ResultBean getUserSex(){ 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 617c4a6..059e3a5 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 @@ -73,7 +73,7 @@ public class SysLocaleLanguageController extends CoreBaseController { //修改初始化 // ConvertBean.modelUpdate(sysLocaleLanguage, sessionUser); - sysLocaleLanguageService.insertSysLocaleLanguage(sysLocaleLanguage); + sysLocaleLanguageService.updateSysLocaleLanguage(sysLocaleLanguage); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep.getErrorShow()); 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 4767b18..3f5f357 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 @@ -11,6 +11,7 @@ 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.ImppRedis; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; @@ -20,6 +21,8 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; /** @@ -35,6 +38,9 @@ import java.util.List; public class SysLocaleResourceController extends CoreBaseController { public static final Logger LOGGER = LoggerFactory.getLogger(SysFileController.class); + @Resource(name="redisRes") + private ImppRedis redisRes; + @Autowired private ISysLocaleResourceService sysLocaleResourceService; @@ -50,10 +56,15 @@ public class SysLocaleResourceController extends CoreBaseController { .notNull("resourceValue",sysLocaleResource.getResourceValue()); //新增初始化 - ConvertBean.modelInitialize(sysLocaleResource, sessionUser); +// ConvertBean.modelInitialize(sysLocaleResource, sessionUser); sysLocaleResource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); - sysLocaleResourceService.insertSysLocaleResource(sysLocaleResource); + sysLocaleResource = sysLocaleResourceService.insertSysLocaleResource(sysLocaleResource); + + // 放入缓存 + HashMap resource = new HashMap(); + resource.put(sysLocaleResource.getLanguageCode(),sysLocaleResource.getResourceValue()); + redisRes.putHashMap(sysLocaleResource.getResourceKey(),resource,0); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep.getErrorShow()); @@ -75,9 +86,14 @@ public class SysLocaleResourceController extends CoreBaseController { .notNull("resourceValue",sysLocaleResource.getResourceValue()); //修改初始化 - ConvertBean.modelUpdate(sysLocaleResource, sessionUser); +// ConvertBean.modelUpdate(sysLocaleResource, sessionUser); + + sysLocaleResourceService.updateSysLocaleResource(sysLocaleResource); - sysLocaleResourceService.insertSysLocaleResource(sysLocaleResource); + // 放入缓存 + HashMap resource = new HashMap(); + resource.put(sysLocaleResource.getLanguageCode(),sysLocaleResource.getResourceValue()); + redisRes.putHashMap(sysLocaleResource.getResourceKey(),resource,0); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep.getErrorShow()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/LogSystemService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/LogSystemService.java index 3c1aa7a..ec80304 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/LogSystemService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/LogSystemService.java @@ -7,14 +7,12 @@ import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.platform.bean.LogSystem; import cn.estsh.i3plus.pojo.platform.repositorymongo.LogSystemRepository; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreBsonPack; -import io.swagger.annotations.ApiOperation; import org.bson.conversions.Bson; 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.List; /** 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 e847664..6498290 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 @@ -7,10 +7,12 @@ 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.repository.SysLocaleLanguageRepository; +import cn.estsh.i3plus.pojo.platform.repository.SysLocaleResourceRepository; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.base.service.IBaseService; 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 org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -32,6 +34,9 @@ public class SysLocaleLanguageService implements ISysLocaleLanguageService { @Autowired private SysLocaleLanguageRepository sysLocaleLanguageRDao; + @Autowired + private SysLocaleResourceRepository sysLocaleResourceRDao; + @Override public SysLocaleLanguage insertSysLocaleLanguage(SysLocaleLanguage sysLocaleLanguage) { LOGGER.info("系统语言 SYS_LOCALE_LANGUAGE SysLocaleLanguage:{}",sysLocaleLanguage); @@ -50,7 +55,8 @@ public class SysLocaleLanguageService implements ISysLocaleLanguageService { @Override public void updateSysLocaleLanguage(SysLocaleLanguage sysLocaleLanguage) { - LOGGER.info("系统语言 SYS_LOCALE_LANGUAGE SysLocaleLanguage:{}",sysLocaleLanguage); + SysLocaleLanguage data = sysLocaleLanguageRDao.getById(sysLocaleLanguage.getId()); + String hqlPack = CoreHqlPack.packHqlSysLocaleLanguageCode(sysLocaleLanguage); int count = sysLocaleLanguageRDao.findByHqlWhereCount(hqlPack); if (count > 0){ @@ -62,12 +68,29 @@ public class SysLocaleLanguageService implements ISysLocaleLanguageService { .build(); } + // 根据资源中的语言代码和名称 + sysLocaleResourceRDao.updateByProperties( + "languageCode", data.getLanguageCode(), + new String[]{"languageCode", "languageNameRdd"}, + new Object[]{sysLocaleLanguage.getLanguageCode(), sysLocaleLanguage.getLanguageName()} + ); + sysLocaleLanguageRDao.update(sysLocaleLanguage); } @Override public void deleteSysLocaleLanguageById(String idStr) { - LOGGER.info("系统语言 SYS_LOCALE_LANGUAGE id:{}",idStr); + SysLocaleLanguage sysLocaleLanguage = sysLocaleLanguageRDao.getById(Long.parseLong(idStr)); + ValidatorBean.checkNotNull(sysLocaleLanguage,"需要删除的资源不存在"); + + if(sysLocaleResourceRDao.isExitByProperty("languageCode",sysLocaleLanguage.getLanguageCode())){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("存在关联资源无法删除") + .build(); + } + sysLocaleLanguageRDao.deleteById(Long.parseLong(idStr)); } @@ -109,4 +132,9 @@ public class SysLocaleLanguageService implements ISysLocaleLanguageService { sysLocaleLanguageRDao.updateByProperties("id",Long.parseLong(idStr), "isDefault",CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); } + + @Override + public SysLocaleLanguage getSysLocaleLanguageByCode(String code) { + return sysLocaleLanguageRDao.getByProperty("languageCode",code); + } } 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 e7934a1..a8bf002 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 @@ -5,11 +5,15 @@ 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.SysLocaleResource; +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.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; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -31,10 +35,14 @@ public class SysLocaleResourceService implements ISysLocaleResourceService { @Autowired private SysLocaleResourceRepository sysLocaleResourceRDao; + @Autowired + private SysLocaleLanguageRepository sysLocaleLanguageRDao; + @Override + @ApiOperation(value = "新增系统资源") public SysLocaleResource insertSysLocaleResource(SysLocaleResource sysLocaleResource) { LOGGER.info("系统资源 SYS_LOCALE_RESOURCE SysLocaleResource:{}",sysLocaleResource); - int count = sysLocaleResourceRDao.findByPropertyCount(new String[]{"language_code","resource_key"}, + int count = sysLocaleResourceRDao.findByPropertyCount(new String[]{"languageCode","resourceKey"}, new String[]{sysLocaleResource.getLanguageCode(),sysLocaleResource.getResourceKey()}); if (count > 0){ throw ImppExceptionBuilder.newInstance() @@ -45,6 +53,12 @@ public class SysLocaleResourceService implements ISysLocaleResourceService { .build(); } + // 设置语言名称冗余 + SysLocaleLanguage sysLocaleLanguage = sysLocaleLanguageRDao.getByProperty("languageCode", + sysLocaleResource.getLanguageCode()); + ValidatorBean.checkNotNull(sysLocaleLanguage,"选中的语言不存在"); + sysLocaleResource.setLanguageNameRdd(sysLocaleLanguage.getLanguageName()); + return sysLocaleResourceRDao.insert(sysLocaleResource); } @@ -62,6 +76,12 @@ public class SysLocaleResourceService implements ISysLocaleResourceService { .build(); } + // 设置语言名称冗余 + SysLocaleLanguage sysLocaleLanguage = sysLocaleLanguageRDao.getByProperty("languageCode", + sysLocaleResource.getLanguageCode()); + ValidatorBean.checkNotNull(sysLocaleLanguage,"选中的语言不存在"); + sysLocaleResource.setLanguageNameRdd(sysLocaleLanguage.getLanguageName()); + sysLocaleResourceRDao.update(sysLocaleResource); } diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-test.properties b/modules/i3plus-core-apiservice/src/main/resources/application-test.properties index ccf06e4..6900032 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-test.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-test.properties @@ -1,5 +1,5 @@ #项目端口 -server.port=51010 +server.port=8080 #用户登陆路径 filter.shiro.user.loginuri = /login diff --git a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java index fe60663..8c0f867 100644 --- a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java +++ b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java @@ -1,6 +1,5 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; - import org.junit.After; import org.junit.Before; import org.junit.FixMethodOrder; diff --git a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysFileService.java b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysFileService.java index 0ca88b3..21e4854 100644 --- a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysFileService.java +++ b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysFileService.java @@ -1,10 +1,8 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService; -import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService; 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.platform.bean.SysFile; import com.alibaba.fastjson.JSON; import org.junit.Test; @@ -24,7 +22,7 @@ import java.util.List; public class TestSysFileService extends TestBase { @Autowired - ISysFileService sysFileService; + public ISysFileService sysFileService; /** * 测试 查询所有文件资源