From bd09479055763779880dd860e278194cfb8d56c2 Mon Sep 17 00:00:00 2001 From: alwaysfrin <39822157+alwaysfrin@users.noreply.github.com> Date: Tue, 23 Oct 2018 22:14:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E5=8A=9F=E8=83=BD=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/i3plus-core-api/pom.xml | 6 ++ .../api/iservice/busi/ISystemResourceService.java | 4 +- modules/i3plus-core-apiservice/pom.xml | 16 +++++ .../apiservice/auth/ShiroAuthConfiguration.java | 9 +-- .../apiservice/auth/realm/DefaultModularRealm.java | 2 +- .../apiservice/controller/DemoRestController.java | 2 +- .../controller/DemoSystemController.java | 79 +++++++++++++++++++--- .../listener/SysResourceBindleListener.java | 4 +- .../serviceimpl/base/SystemLoginService.java | 2 +- .../serviceimpl/busi/SystemResourceService.java | 29 ++++---- 10 files changed, 118 insertions(+), 35 deletions(-) diff --git a/modules/i3plus-core-api/pom.xml b/modules/i3plus-core-api/pom.xml index 5b737d8..d2a1ac2 100644 --- a/modules/i3plus-core-api/pom.xml +++ b/modules/i3plus-core-api/pom.xml @@ -25,6 +25,12 @@ org.apache.shiro shiro-core + + i3plus.pojo + i3plus-pojo-mes + 1.0-SNAPSHOT + compile + \ No newline at end of file diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISystemResourceService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISystemResourceService.java index 69a04d1..4286db0 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISystemResourceService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISystemResourceService.java @@ -16,7 +16,7 @@ import java.util.List; **/ public interface ISystemResourceService { - SysLocaleLanguage saveSysLocaleLanguage(SysLocaleLanguage lang); + SysLocaleLanguage insertSysLocaleLanguage(SysLocaleLanguage lang); SysLocaleLanguage updateSysLocaleLanguage(SysLocaleLanguage lang); @@ -32,6 +32,8 @@ public interface ISystemResourceService { void deleteSysLocaleResourceById(long id); + void deleteSysLocaleResourceByIds(String[] ids); + ListPager listSysLocaleResourceByPager(SysLocaleResource res,Pager pager); List listSysLocaleResource(SysLocaleResource res); diff --git a/modules/i3plus-core-apiservice/pom.xml b/modules/i3plus-core-apiservice/pom.xml index 0e3d45b..4dfbc41 100644 --- a/modules/i3plus-core-apiservice/pom.xml +++ b/modules/i3plus-core-apiservice/pom.xml @@ -14,6 +14,12 @@ jar + + + i3plus.pojo + i3plus-pojo-model + + i3plus.core @@ -60,6 +66,10 @@ org.apache.shiro shiro-web + + org.apache.shiro + shiro-ehcache + @@ -72,6 +82,12 @@ net.sf.ehcache ehcache-core + + i3plus.pojo + i3plus-pojo-mes + 1.0-SNAPSHOT + compile + diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/auth/ShiroAuthConfiguration.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/auth/ShiroAuthConfiguration.java index 85f7bf0..5f98279 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/auth/ShiroAuthConfiguration.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/auth/ShiroAuthConfiguration.java @@ -4,24 +4,17 @@ import cn.estsh.i3plus.core.apiservice.auth.realm.AdminAuthRealm; import cn.estsh.i3plus.core.apiservice.auth.realm.DefaultModularRealm; import cn.estsh.i3plus.core.apiservice.auth.realm.SaAuthRealm; import cn.estsh.i3plus.core.apiservice.auth.realm.UserAuthRealm; -import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil; -import cn.estsh.impp.framework.boot.auth.ShiroSessionRedisDaoImpl; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.impp.framework.boot.auth.filter.AdminFilter; import cn.estsh.impp.framework.boot.auth.filter.SaAdminFilter; import cn.estsh.impp.framework.boot.auth.filter.UserFilter; import cn.estsh.impp.framework.boot.configuration.RedisConfig; import org.apache.shiro.authc.pam.ModularRealmAuthenticator; -import org.apache.shiro.cache.Cache; import org.apache.shiro.cache.CacheManager; -import org.apache.shiro.cache.ehcache.EhCacheManager; -import org.apache.shiro.codec.Base64; import org.apache.shiro.realm.Realm; -import org.apache.shiro.session.mgt.ExecutorServiceSessionValidationScheduler; import org.apache.shiro.spring.web.ShiroFilterFactoryBean; -import org.apache.shiro.web.mgt.CookieRememberMeManager; import org.apache.shiro.web.mgt.DefaultWebSecurityManager; import org.apache.shiro.mgt.SecurityManager; -import org.apache.shiro.web.servlet.SimpleCookie; import org.apache.shiro.web.session.mgt.DefaultWebSessionManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/auth/realm/DefaultModularRealm.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/auth/realm/DefaultModularRealm.java index 7169094..c7c1c9d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/auth/realm/DefaultModularRealm.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/auth/realm/DefaultModularRealm.java @@ -1,7 +1,7 @@ package cn.estsh.i3plus.core.apiservice.auth.realm; import cn.estsh.i3plus.core.apiservice.controller.DemoAuthController; -import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.shirotoken.AdminToken; import cn.estsh.i3plus.pojo.base.shirotoken.SaAdminToken; import cn.estsh.i3plus.pojo.base.shirotoken.UserToken; diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRestController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRestController.java index ca0dac9..efb5464 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRestController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRestController.java @@ -1,7 +1,7 @@ package cn.estsh.i3plus.core.apiservice.controller; import cn.estsh.i3plus.core.apiservice.mq.I3CoreQueue; -import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.i3plus.pojo.mes.MachineFactory; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoSystemController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoSystemController.java index fc33d61..abe90ec 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoSystemController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoSystemController.java @@ -1,8 +1,13 @@ package cn.estsh.i3plus.core.apiservice.controller; import cn.estsh.i3plus.core.api.iservice.busi.ISystemResourceService; -import cn.estsh.i3plus.platform.common.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage; @@ -51,16 +56,22 @@ public class DemoSystemController { @Autowired private ISystemResourceService systemResourceService; - @PutMapping(value="/language/add") + @PutMapping(value="/language/insert") @ApiOperation(value="添加语言",notes = "添加系统语言,可用于国际化") - public ResultBean addLanguage(SysLocaleLanguage lang) { + public ResultBean insertLanguage(SysLocaleLanguage lang) { try { + //登陆用户 + SessionUser user = AuthUtil.getSessionUser(); + //条件验证 ValidatorBean.beginValid(lang) - .notNull("languageName",lang.getLanguageName()) - .notNull("languageCode",lang.getLanguageCode()); + .notNull("languageName",lang.getLanguageName()) + .notNull("languageCode",lang.getLanguageCode()); + + //新增初始化 + ConvertBean.modelInitialize(lang,user); - systemResourceService.saveSysLocaleLanguage(lang); + systemResourceService.insertSysLocaleLanguage(lang); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); @@ -70,15 +81,39 @@ public class DemoSystemController { } } + @PutMapping(value="/language/update") + @ApiOperation(value="修改语言",notes = "修改系统语言,可用于国际化") + public ResultBean updateLanguage(SysLocaleLanguage lang) { + try { + //登陆用户 + SessionUser user = AuthUtil.getSessionUser(); + + //条件验证 + ValidatorBean.beginValid(lang) + .notNull("languageName",lang.getLanguageName()) + .notNull("languageCode",lang.getLanguageCode()); + + //修改条件 + ConvertBean.modelUpdate(lang,user); + systemResourceService.updateSysLocaleLanguage(lang); + return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); + return ResultBean.fail(busExcep.getErrorShow()).build(); + }catch(Exception e){ + return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + } + } + @PutMapping(value="/language/query") @ApiOperation(value="查询语言",notes = "添加系统语言,可用于国际化") public ResultBean queryLanguage(SysLocaleLanguage lang,Pager pager) { try { ListPager listPager = systemResourceService.listSysLocaleLanguageByPager(lang,pager); - return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()).build(); + return ResultBean.fail(busExcep.getErrorShow()); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -89,11 +124,16 @@ public class DemoSystemController { @ApiOperation(value="添加资源",notes = "添加系统语言,可用于国际化") public ResultBean insertResource(SysLocaleResource res) { try { + //登陆用户 + SessionUser user = AuthUtil.getSessionUser(); + //条件验证 ValidatorBean.beginValid(res) .notNull("resourceKey",res.getResourceKey()) .notNull("resourceValue",res.getResourceValue()); + //新增初始化 + ConvertBean.modelInitialize(res,user); systemResourceService.insertSysLocaleResource(res); return ResultBean.success("操作成功") .setResultObject(res) @@ -148,4 +188,27 @@ public class DemoSystemController { return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } } + + @GetMapping(value="/locale-resource/delete") + @ApiOperation(value="删除资源",notes="批量删除资源") + public ResultBean deleteLocaleResource(String[] resourceIds) { + try { + if(resourceIds.length == 0){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("请选择需要删除的资源。") + .build(); + } + systemResourceService.deleteSysLocaleResourceByIds(resourceIds); + + return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); + return ResultBean.fail(busExcep.getErrorShow()); + }catch(Exception e){ + LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); + return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/listener/SysResourceBindleListener.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/listener/SysResourceBindleListener.java index 84fc51b..897dbeb 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/listener/SysResourceBindleListener.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/listener/SysResourceBindleListener.java @@ -2,16 +2,14 @@ package cn.estsh.i3plus.core.apiservice.listener; import cn.estsh.i3plus.core.api.iservice.busi.ISystemResourceService; import cn.estsh.i3plus.core.apiservice.util.ConstWords; -import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil; +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.impp.framework.boot.configuration.SwaggerConfig; import cn.estsh.impp.framework.boot.util.ImppRedis; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationListener; -import org.springframework.context.annotation.Bean; import org.springframework.context.event.ContextRefreshedEvent; import javax.annotation.Resource; diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemLoginService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemLoginService.java index 9b40019..93d0a52 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemLoginService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SystemLoginService.java @@ -1,7 +1,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.base; import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService; -import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.shirotoken.AdminToken; import cn.estsh.i3plus.pojo.base.shirotoken.SaAdminToken; import cn.estsh.i3plus.pojo.base.shirotoken.UserToken; diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SystemResourceService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SystemResourceService.java index 0901e7d..6719210 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SystemResourceService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SystemResourceService.java @@ -1,7 +1,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISystemResourceService; -import cn.estsh.i3plus.platform.common.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; @@ -9,6 +9,7 @@ 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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -32,7 +33,7 @@ public class SystemResourceService implements ISystemResourceService { private SysLocaleResourceRepository sysLocaleResourceRDao; @Override - public SysLocaleLanguage saveSysLocaleLanguage(SysLocaleLanguage lang) { + public SysLocaleLanguage insertSysLocaleLanguage(SysLocaleLanguage lang) { return sysLocaleLanguageRDao.insert(lang); } @@ -63,11 +64,9 @@ public class SystemResourceService implements ISystemResourceService { pager = PagerHelper.getPager(pager, sysLocaleLanguageRDao.listCount()); return new ListPager(sysLocaleLanguageRDao.listPager(pager),pager); }else { - String[] params = new String[]{"languageCode", "languageName", "isDefault"}; - Object[] values = new Object[]{lang.getLanguageCode(), lang.getLanguageName(), lang.getIsDefault()}; - - pager = PagerHelper.getPager(pager, sysLocaleLanguageRDao.findByPropertyCount(params,values)); - return new ListPager(sysLocaleLanguageRDao.findByPropertyPage(params,values,"order by id asc",pager),pager); + String hqlPack = CoreHqlPack.packHqlSysLocaleLanguage(lang); + pager = PagerHelper.getPager(pager, sysLocaleLanguageRDao.findByHqlWhereCount(hqlPack)); + return new ListPager(sysLocaleLanguageRDao.findByHqlWherePage(hqlPack + lang.getOrderByParam(),pager),pager); } } @@ -87,6 +86,13 @@ public class SystemResourceService implements ISystemResourceService { } @Override + public void deleteSysLocaleResourceByIds(String[] ids){ + for(String idStr : ids){ + sysLocaleResourceRDao.deleteById(Long.parseLong(idStr)); + } + } + + @Override public ListPager listSysLocaleResourceByPager(SysLocaleResource res, Pager pager) { if(res == null){ //不传入实体对象,查询所有 @@ -94,11 +100,10 @@ public class SystemResourceService implements ISystemResourceService { pager = PagerHelper.getPager(pager,count); return new ListPager(sysLocaleResourceRDao.listPager(pager),pager); }else { - String[] params = new String[]{"resourceType", "languageCode", "resourceKey", "resourceValue", "isSystem", "isDefault"}; - Object[] values = new Object[]{res.getResourceType(), res.getLanguageCode(), res.getResourceKey(), res.getResourceValue(), res.getIsSystem(), res.getIsDefault()}; - - pager = PagerHelper.getPager(pager,sysLocaleResourceRDao.findByPropertyCount(params,values)); - return new ListPager(sysLocaleResourceRDao.findByPropertyPage(params,values,"order by id asc", pager),pager); + //生成hql查询语句 + String hqlPack = CoreHqlPack.packHqlSysLocaleResource(res); + pager = PagerHelper.getPager(pager,sysLocaleResourceRDao.findByHqlWhereCount(hqlPack)); + return new ListPager(sysLocaleResourceRDao.findByHqlWherePage(hqlPack + res.orderBy(), pager),pager); } }