From f31b8e659afa750ac817903c1ba247e4c1694868 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Wed, 28 Nov 2018 16:22:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BB=A3=E7=A0=81=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiservice/controller/base/AuthController.java | 31 +++++++++++++++++++--- .../controller/busi/SysDepartmentController.java | 6 +++-- .../controller/busi/SysOrganizeController.java | 8 +++--- .../controller/busi/SysPositionController.java | 4 +-- .../serviceimpl/busi/CoreTreeService.java | 26 +++++++++++++++--- 5 files changed, 59 insertions(+), 16 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java index 94de08a..311f2c4 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java @@ -4,8 +4,10 @@ import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService; import cn.estsh.i3plus.core.api.iservice.busi.ICoreTreeService; import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; import cn.estsh.i3plus.core.apiservice.controller.DemoAuthController; +import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.SysLocaleLanguageService; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage; import cn.estsh.i3plus.pojo.platform.bean.SysMenu; import cn.estsh.impp.framework.base.controller.BaseController; import cn.estsh.impp.framework.base.controller.CoreBaseController; @@ -20,9 +22,7 @@ import org.apache.shiro.authc.AuthenticationException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.List; @@ -51,6 +51,9 @@ public class AuthController extends CoreBaseController { @Autowired private ICoreTreeService coreTreeService; + @Autowired + private SysLocaleLanguageService localeLanguageService; + @GetMapping(value="/login") @ApiOperation(value="登陆",notes="登陆") public ResultBean login(HttpServletRequest request, String loginName, String loginPwd, String languageCode){ @@ -88,7 +91,7 @@ public class AuthController extends CoreBaseController { LOGGER.info("用户退出..."); try { AuthUtil.logout(); - return new ResultBean(true,""); + return new ResultBean(true,"").build(); } catch (ImppBusiException e) { return new ResultBean(false,e.getErrorDetail() + ",so:" + e.getErrorSolution()); } @@ -146,4 +149,24 @@ public class AuthController extends CoreBaseController { } } + @PutMapping(value = "/update-language") + @ApiOperation(value="修改语言",notes="修改用户会话语言") + public ResultBean updateLanguage(String code){ + try { + SysLocaleLanguage language = localeLanguageService.getSysLocaleLanguageByCode(code); + if(language != null){ + AuthUtil.setSessionLanguage(language.getLanguageCode()); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }else { + return ResultBean.fail("操作失败").setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode()).setErrorMsg("语言信息不存在"); + } + }catch(ImppBusiException busExcep){ + LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); + return ResultBean.fail(busExcep); + }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/controller/busi/SysDepartmentController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDepartmentController.java index 3603d7f..fbde097 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDepartmentController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDepartmentController.java @@ -56,8 +56,9 @@ public class SysDepartmentController extends CoreBaseController { //新增初始化 ConvertBean.modelInitialize(department, user); - if(department.getParentId() == null || department.getParentId().intValue() == 0){ + if(department.getParentId() == null || department.getParentId() <= 0){ department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); + department.setParentNameRdd("顶级部门"); } departmentService.insertSysDepartment(department); @@ -86,8 +87,9 @@ public class SysDepartmentController extends CoreBaseController { .checkNotZero("organizeId",department.getOrganizeId()); ConvertBean.modelUpdate(department, user); - if(department.getParentId() == null || department.getParentId().intValue() == 0){ + if(department.getParentId() == null || department.getParentId() <= 0){ department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); + department.setParentNameRdd("顶级部门"); } departmentService.updateSysDepartment(department); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java index 8c80bbb..9f8c712 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java @@ -53,7 +53,7 @@ public class SysOrganizeController extends CoreBaseController{ //新增初始化 ConvertBean.modelInitialize(organize, AuthUtil.getSessionUser()); - if(organize.getParentId() == null || organize.getParentId().intValue() == 0){ + if(organize.getParentId() == null || organize.getParentId() == 0){ organize.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); } @@ -61,7 +61,7 @@ public class SysOrganizeController extends CoreBaseController{ return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(organize); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep).build(); + return ResultBean.fail(busExcep); } catch (Exception e) { return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } @@ -79,7 +79,7 @@ public class SysOrganizeController extends CoreBaseController{ .notNull("organizeType", organize.getOrganizeType()); ConvertBean.modelUpdate(organize, AuthUtil.getSessionUser()); - if(organize.getParentId() == null || organize.getParentId().intValue() == 0){ + if(organize.getParentId() == null || organize.getParentId() == 0){ organize.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); } @@ -87,7 +87,7 @@ public class SysOrganizeController extends CoreBaseController{ return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep).build(); + return ResultBean.fail(busExcep); } catch (Exception e) { return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java index 7b419bf..4b675fa 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java @@ -54,7 +54,7 @@ public class SysPositionController extends CoreBaseController { .notNull("positionCode",position.getPositionCode()); ConvertBean.modelInitialize(position,user); - if(position.getParentId() == null || position.getParentId().intValue() == 0){ + if(position.getParentId() == null || position.getParentId() == 0){ position.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); } @@ -85,7 +85,7 @@ public class SysPositionController extends CoreBaseController { //修改初始化 ConvertBean.modelUpdate(position,user); - if(position.getParentId() == null || position.getParentId().intValue() == 0){ + if(position.getParentId() == null || position.getParentId() == 0){ position.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java index 0b37e2e..31c1573 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java @@ -4,6 +4,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.ICoreTreeService; import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ModelEnumUtil; +import cn.estsh.i3plus.pojo.base.tool.HqlPack; import cn.estsh.i3plus.pojo.model.platform.CommonTreeModel; import cn.estsh.i3plus.pojo.platform.bean.SysDepartment; import cn.estsh.i3plus.pojo.platform.bean.SysMenu; @@ -313,7 +314,11 @@ public class CoreTreeService implements ICoreTreeService { @Override public List findOrganizeDepartment(long parentId) { List result = new ArrayList<>(); - List list = organizeRDao.findByProperty("parentId", parentId); + + StringBuffer hql = new StringBuffer(); + HqlPack.getNumEqualPack(parentId,"parentId",hql); + HqlPack.getOrderByPack(new Object[]{2}, new String[]{"organizeSort"}, hql); + List list = organizeRDao.findByHqlWhere(hql.toString()); // 循环设置子集 if(list != null && list.size() > 0){ @@ -357,7 +362,11 @@ public class CoreTreeService implements ICoreTreeService { if(bean instanceof SysOrganize){ SysOrganize organize = (SysOrganize) bean; - List organizeList = organizeRDao.findByProperty("parentId", organize.getId()); + StringBuffer hql = new StringBuffer(); + HqlPack.getNumEqualPack(organize.getId(),"parentId",hql); + HqlPack.getOrderByPack(new Object[]{2}, new String[]{"organizeSort"}, hql); + List organizeList = organizeRDao.findByHqlWhere(hql.toString()); + if(organizeList != null && organizeList.size() > 0){ for (SysOrganize org : organizeList) { treeModel = new CommonTreeModel(); @@ -370,7 +379,11 @@ public class CoreTreeService implements ICoreTreeService { } } - List departmentList = departmentRDao.findByProperty("organizeId", organize.getId()); + StringBuffer depHQL = new StringBuffer(); + HqlPack.getNumEqualPack(organize.getId(),"organizeId",depHQL); + HqlPack.getOrderByPack(new Object[]{2}, new String[]{"departmentSort"}, depHQL); + List departmentList = departmentRDao.findByHqlWhere(depHQL.toString()); + if(departmentList != null && departmentList.size() > 0){ for (SysDepartment department : departmentList) { if(department.getParentId() != null && department.getParentId() < 0){ @@ -387,7 +400,12 @@ public class CoreTreeService implements ICoreTreeService { LOGGER.info("【{}】包含子集:{},步长:{}", parent.getBean().getClass().getName(), parent.getChildList().size(), step); }else if(bean instanceof SysDepartment){ SysDepartment department = (SysDepartment) bean; - List departmentList = departmentRDao.findByProperty("parentId", department.getId()); + + StringBuffer depHQL = new StringBuffer(); + HqlPack.getNumEqualPack(department.getId(),"parentId",depHQL); + HqlPack.getOrderByPack(new Object[]{2}, new String[]{"departmentSort"}, depHQL); + List departmentList = departmentRDao.findByHqlWhere(depHQL.toString()); + if(departmentList != null && departmentList.size() > 0){ for (SysDepartment dep : departmentList) { treeModel = new CommonTreeModel();