From 7405bf575f28c44a6d122b09ab4fef25783aca34 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Fri, 26 Oct 2018 13:01:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=20=20=20?= =?UTF-8?q?=20=20=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E8=A1=A8=E8=BE=BE?= =?UTF-8?q?=E5=BC=8F=20=20=20=20=20=E5=8A=9F=E8=83=BD=E5=AE=8C=E6=88=90=20?= =?UTF-8?q?=20=20=20=20=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=E5=8A=9F=E8=83=BD=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 权限 用户管理 功能完成 用户登录 功能完成 --- .../core/api/iservice/base/ISysUserService.java | 85 ++++ .../core/api/iservice/busi/IOrganizeService.java | 14 +- .../core/api/iservice/busi/ISysMenuService.java | 6 +- .../core/api/iservice/busi/ISysRoleService.java | 6 +- .../iservice/busi/ITaskTimeExpressionService.java | 50 +++ .../iservice/busi/ITaskTimeRecordingService.java | 48 +++ .../core/api/iservice/busi/ITaskTimeService.java | 56 +++ .../apiservice/controller/DemoAuthController.java | 2 - .../apiservice/controller/base/AuthController.java | 91 +++++ .../apiservice/controller/busi/EnumController.java | 22 +- .../controller/busi/OrganizeController.java | 133 +++++-- .../controller/busi/SysMenuController.java | 120 ++++-- .../controller/busi/SysRoleController.java | 106 +++-- .../controller/busi/SysUserController.java | 165 ++++++++ .../controller/busi/TaskTimeController.java | 184 +++++++++ .../busi/TaskTimeExpressionController.java | 146 +++++++ .../i3plus/core/apiservice/dao/ISysMenuDao.java | 19 - .../core/apiservice/dao/IUserPermissionDao.java | 44 ++ .../core/apiservice/daoimpl/ISysMenuDaoImpl.java | 38 -- .../apiservice/daoimpl/UserPermissionDaoImpl.java | 70 ++++ .../serviceimpl/base/SystemLoginService.java | 9 +- .../serviceimpl/busi/CoreTreeServiceImpl.java | 2 +- .../serviceimpl/busi/OrganizeServiceImpl.java | 43 +- .../serviceimpl/busi/SysMenuServiceImpl.java | 60 +-- .../serviceimpl/busi/SysRoleServiceImpl.java | 36 +- .../serviceimpl/busi/SysUserServiceImpl.java | 441 +++++++++++++++++++++ .../busi/TaskTimeExpressionServiceImpl.java | 62 +++ .../busi/TaskTimeRecordingServiceImpl.java | 61 +++ .../serviceimpl/busi/TaskTimeServiceImpl.java | 71 ++++ 29 files changed, 1956 insertions(+), 234 deletions(-) create mode 100644 modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/ISysUserService.java create mode 100644 modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITaskTimeExpressionService.java create mode 100644 modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITaskTimeRecordingService.java create mode 100644 modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITaskTimeService.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/TaskTimeController.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/TaskTimeExpressionController.java delete mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/ISysMenuDao.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/IUserPermissionDao.java delete mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/ISysMenuDaoImpl.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/UserPermissionDaoImpl.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserServiceImpl.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TaskTimeExpressionServiceImpl.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TaskTimeRecordingServiceImpl.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TaskTimeServiceImpl.java diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/ISysUserService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/ISysUserService.java new file mode 100644 index 0000000..d7cd5ea --- /dev/null +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/ISysUserService.java @@ -0,0 +1,85 @@ +package cn.estsh.i3plus.core.api.iservice.base; + +import cn.estsh.i3plus.pojo.base.shirotoken.UserToken; +import cn.estsh.i3plus.pojo.model.flatform.UserModel; +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.i3plus.pojo.platform.bean.SysUser; + +import java.util.List; + +/** + * @Description : 用户服务 + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-25 16:21 + * @Modify : + **/ +public interface ISysUserService { + + /** + * 用户登录 + * @param loginName 登录名 + * @param password 登录密码 + * @param languageCode 界面语言 + * @return + */ + SessionUser queryUserLogin(String loginName, String password, String languageCode); + + /** + * 修改权限状态 + * @param id 修改权限状态 + * @param status 状态 + * @param user 当前会话用户 + * @return + */ + void updateSysUserStatus(String id, int status, SessionUser user); + + /** + * 修改用户信息 + * @param model 封装的用户对象 + * @param user 当前会话用户 + */ + SysUser updateSysUserModel(UserModel model, SessionUser user); + + /** + * 新建用户信息 + * @param model 用户封装对象 + * @param user 当前会话用户 + */ + SysUser insertSysUserModel(UserModel model,SessionUser user); + + /** + * 根据Key 删除数据 + * @param id + * @return + */ + void deleteSysUserById(String id); + + /** + * 查询所有数据 + * @return + */ + List findSysUserAll(); + + /** + * 根据id 数据 + * @param id + * @return + */ + SysUser getSysUserById(String id); + + /** + * 根据登录名称 获取用户信息 + * @param loginName + * @return + */ + SysUser getSysUserByLoginName(String loginName); + + /** + * 封装用户详细信息 + * @param user + * @return + */ + SysUser getSysUserInfo(SysUser user); + +} diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/IOrganizeService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/IOrganizeService.java index cfaabfd..ad90f85 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/IOrganizeService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/IOrganizeService.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.core.api.iservice.busi; import cn.estsh.i3plus.pojo.platform.bean.Organize; +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -21,11 +22,18 @@ public interface IOrganizeService { void updateOrganize(Organize organize); /** + * 修改 组织状态 + * @param id 组织ID + * @param status 组织状态 + * @param user 当前会话用户 + */ + void updateOrganizeStatus(String id, int status, SessionUser user); + + /** * 根据Key 删除数据 * @param id - * @param modifyUser 当前用户名称 */ - void deleteOrganizeById(long id,String modifyUser); + void deleteOrganizeById(String id); /** * 新增数据 @@ -45,5 +53,5 @@ public interface IOrganizeService { * @param id * @return */ - Organize getOrganizeById(long id); + Organize getOrganizeById(String id); } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java index e0cf07f..e3da491 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java @@ -29,14 +29,14 @@ public interface ISysMenuService { * @param user 当前会话用户 * @return */ - void updateSysMenuStatus(long id, int status, SessionUser user); + void updateSysMenuStatus(String id, int status, SessionUser user); /** * 根据Key 删除数据 * @param id * @return */ - void deleteSysMenuById(long id); + void deleteSysMenuById(String id); /** * 新增数据 @@ -59,7 +59,7 @@ public interface ISysMenuService { * @param id * @return */ - SysMenu getSysMenuById(long id); + SysMenu getSysMenuById(String id); diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java index 1857945..73fe09d 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java @@ -29,13 +29,13 @@ public interface ISysRoleService { * @param user 当前用户会话 * @return */ - void updateSysRoleStatus(long id, int status, SessionUser user); + void updateSysRoleStatus(String id, int status, SessionUser user); /** * 根据Key 删除数据 * @param id */ - void deleteSysRoleById(long id); + void deleteSysRoleById(String id); /** * 新增数据 @@ -58,5 +58,5 @@ public interface ISysRoleService { * @param id * @return */ - SysRole getSysRoleById(long id); + SysRole getSysRoleById(String id); } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITaskTimeExpressionService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITaskTimeExpressionService.java new file mode 100644 index 0000000..154b09e --- /dev/null +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITaskTimeExpressionService.java @@ -0,0 +1,50 @@ +package cn.estsh.i3plus.core.api.iservice.busi; + +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.i3plus.pojo.platform.bean.SysRole; +import cn.estsh.i3plus.pojo.platform.bean.TaskTimeExpression; + +import java.util.List; + +/** + * @Description : 定时任务表达式业务接口 + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-22 16:58:43.771 + * @Modify : + **/ +public interface ITaskTimeExpressionService { + + /** + * 修改数据 + * @param taskTimeExpression + */ + void updateTaskTimeExpression(TaskTimeExpression taskTimeExpression); + + /** + * 根据Key 删除数据 + * @param id + */ + void deleteTaskTimeExpressionById(String id); + + /** + * 新增数据 + * @param taskTimeExpression + * @return + */ + TaskTimeExpression insertTaskTimeExpression(TaskTimeExpression taskTimeExpression); + + /** + * 查询所有数据 + * @return + */ + List findTaskTimeExpressionAll(); + + /** + * 根据ID 查询任务表达式 + * @param id + * @return + */ + TaskTimeExpression getTaskTimeExpressionById(String id); + +} diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITaskTimeRecordingService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITaskTimeRecordingService.java new file mode 100644 index 0000000..9f7a93e --- /dev/null +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITaskTimeRecordingService.java @@ -0,0 +1,48 @@ +package cn.estsh.i3plus.core.api.iservice.busi; + +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.i3plus.pojo.platform.bean.TaskTimeRecording; + +import java.util.List; + +/** + * @Description : 定时任务执行记录业务接口 + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-22 16:58:44.005 + * @Modify : + **/ +public interface ITaskTimeRecordingService { + + /** + * 修改数据 + * @param taskTimeRecording + */ + void updateTaskTimedRecording(TaskTimeRecording taskTimeRecording); + + /** + * 根据Key 删除数据 + * @param id + */ + void deleteTaskTimedRecordingById(String id); + + /** + * 新增数据 + * @param taskTimeRecording + * @return + */ + TaskTimeRecording insertTaskTimedRecording(TaskTimeRecording taskTimeRecording); + + /** + * 查询所有数据 + * @return + */ + List findTaskTimedRecordingAll(); + + /** + * 根据id 数据 + * @param id + * @return + */ + TaskTimeRecording getTaskTimedRecordingById(String id); +} diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITaskTimeService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITaskTimeService.java new file mode 100644 index 0000000..e25cfd7 --- /dev/null +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITaskTimeService.java @@ -0,0 +1,56 @@ +package cn.estsh.i3plus.core.api.iservice.busi; + +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.i3plus.pojo.platform.bean.TaskTime; + +import java.util.List; + +/** + * @Description : 定时任务业务接口 + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-22 16:58:43.968 + * @Modify : + **/ +public interface ITaskTimeService { + + /** + * 修改数据 + * @param taskTime + */ + void updateTaskTimed(TaskTime taskTime); + + /** + * 修改任务状态 + * @param id 任务ID + * @param status 任务状态 + * @param user 当前会话用户 + */ + void updateTaskTimedStatus(String id, int status, SessionUser user); + + /** + * 根据Key 删除数据 + * @param id + */ + void deleteTaskTimedById(String id); + + /** + * 新增数据 + * @param taskTime + * @return + */ + TaskTime insertTaskTimed(TaskTime taskTime); + + /** + * 查询所有数据 + * @return + */ + List findTaskTimedAll(); + + /** + * 根据id 数据 + * @param id + * @return + */ + TaskTime getTaskTimedById(String id); +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoAuthController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoAuthController.java index 853f73c..978a0cb 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoAuthController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoAuthController.java @@ -44,7 +44,6 @@ public class DemoAuthController { SessionUser sUser = systemLoginService.queryUserLogin(loginName,loginPwd,languageCode); LOGGER.info("会员登陆:{}",sUser); AuthUtil.setSessionObject("languageCode",languageCode); - return new ResultBean(true,""); } catch (ImppBusiException e) { return new ResultBean(false,e.getErrorDetail() + ",so:" + e.getErrorSolution()); @@ -61,7 +60,6 @@ public class DemoAuthController { LOGGER.info("用户退出..."); try { AuthUtil.logout(); - return new ResultBean(true,""); } catch (ImppBusiException e) { return new ResultBean(false,e.getErrorDetail() + ",so:" + e.getErrorSolution()); 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 new file mode 100644 index 0000000..5197e0b --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java @@ -0,0 +1,91 @@ +package cn.estsh.i3plus.core.apiservice.controller.base; + +import cn.estsh.i3plus.core.api.iservice.base.ISysUserService; +import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService; +import cn.estsh.i3plus.core.apiservice.controller.DemoAuthController; +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.util.ImppRedis; +import cn.estsh.impp.framework.boot.util.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @Description : 用户权限服务 + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-25 21:01 + * @Modify : + **/ +@RestController +@RequestMapping("/auth") +@Api(description="用户所有权限操作服务") +public class AuthController { + + public static final Logger LOGGER = LoggerFactory.getLogger(DemoAuthController.class); + + @Autowired + private ISystemLoginService systemLoginService; + + @Autowired + private ISysUserService userService; + + + @GetMapping(value="/login") + @ApiOperation(value="登陆",notes="登陆") + public ResultBean login(String loginName, String loginPwd, String languageCode){ + LOGGER.info("用户登陆 loginName:{} loginPwd:{} languageCode:{}",loginName,loginPwd,languageCode); + try { + SessionUser sUser = userService.queryUserLogin(loginName,loginPwd,languageCode); + LOGGER.info("会员登陆:{}",sUser); + AuthUtil.setSessionObject("languageCode",languageCode); + return new ResultBean(true,""); + } catch (ImppBusiException e) { + return new ResultBean(false,e.getErrorDetail() + ",so:" + e.getErrorSolution()); + } + } + + /** + * + * @return + */ + @GetMapping(value="/logout") + @ApiOperation(value="登出",notes="登出") + public ResultBean logout(){ + LOGGER.info("用户退出..."); + try { + AuthUtil.logout(); + return new ResultBean(true,""); + } catch (ImppBusiException e) { + return new ResultBean(false,e.getErrorDetail() + ",so:" + e.getErrorSolution()); + } + } + + /** + * + * @return + */ + @GetMapping(value="/getUserInfo") + @ApiOperation(value="获取登录用户信息",notes="获取当前登录用户详细信息") + public ResultBean getUserInfo(){ + LOGGER.info("获取用户信息...lang:{}",AuthUtil.getSessionAttribute("languageCode")); + try { + SessionUser sUser = AuthUtil.getSessionUser(); + LOGGER.info("用户:{}",sUser); + return new ResultBean(true,"",sUser); + } catch (ImppBusiException e) { + return new ResultBean(false,e.getErrorDetail() + ",so:" + e.getErrorSolution()); + } + } + + +} 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 b9fb493..6fc772e 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 @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RestController; import java.util.Arrays; /** - * @Description : + * @Description : 系统对外枚举服务 * @Reference : * @Author : wei.peng * @Date : 2018-10-22 15:58 @@ -44,5 +44,25 @@ public class EnumController { Arrays.asList(ImppEnumUtil.ORGANIZE_YTPE.values())); } + @GetMapping("/task-method-type") + @ApiOperation(value = "任务类型", notes = "查询全部任务类型功能") + public ResultBean getTaskMethodType(){ + return new ResultBean(true, "操作成功", + Arrays.asList(ImppEnumUtil.TASK_METHOD_TYPE.values())); + } + + @GetMapping("/user-type") + @ApiOperation(value = "用户类型", notes = "查询全部用户类型功能") + public ResultBean getUserType(){ + return new ResultBean(true, "操作成功", + Arrays.asList(CommonEnumUtil.USER_TYPE.values())); + } + + @GetMapping("/user-status") + @ApiOperation(value = "用户状态", notes = "查询全部用户状态功能") + public ResultBean getUserStatus(){ + return new ResultBean(true, "操作成功", + Arrays.asList(CommonEnumUtil.USER_STATUS.values())); + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/OrganizeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/OrganizeController.java index 9b7ba5e..1603b77 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/OrganizeController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/OrganizeController.java @@ -1,9 +1,14 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.IOrganizeService; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.Organize; -import cn.estsh.i3plus.pojo.platform.bean.SysUser; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +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; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; @@ -14,63 +19,139 @@ import org.springframework.web.bind.annotation.*; import java.util.List; /** - * @Description : 组织对外接口 + * @Description : 组织对外接口 * @Reference : * @Author : wei.peng * @Date : 2018-10-22 16:58:42.972 * @Modify : **/ @RestController -@RequestMapping("/organize") +@RequestMapping("/organize") @Api(description = "组织") public class OrganizeController { public static final Logger LOGGER = LoggerFactory.getLogger(OrganizeController.class); - public static SysUser USER; - - static { - USER =new SysUser(); - USER.setEmployeeNameRdd("中国移动"); - USER.setId(10086L); - } - - @Autowired private IOrganizeService organizeService; @PostMapping(value = "/insert") @ApiOperation(value = "新增组织", notes = "组织") public ResultBean insertOrganize(Organize organize) { - organizeService.insertOrganize(organize); - return new ResultBean(true, "操作成功", organize); + ; + try { + //条件验证 + ValidatorBean.beginValid(organize) + .notNull("name", organize.getName()) + .notNull("organizeTypeId", organize.getOrganizeTypeId()); + + //新增初始化 + ConvertBean.modelInitialize(organize, AuthUtil.getSessionUser()); + + organize = organizeService.insertOrganize(organize); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(organize); + } 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 = "/update") @ApiOperation(value = "修改组织", notes = "组织") public ResultBean updateOrganize(Organize organize) { - organizeService.updateOrganize(organize); - return new ResultBean(true, "操作成功", organize); + try { + // 数据校验 + ValidatorBean.beginValid(organize) + .notNull("id", organize.getId()) + .notNull("name", organize.getName()) + .notNull("organizeTypeId", organize.getOrganizeTypeId()); + + ConvertBean.modelUpdate(organize, AuthUtil.getSessionUser()); + + organizeService.updateOrganize(organize); + 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()); + } } @DeleteMapping(value = "/delete") @ApiOperation(value = "删除组织", notes = "删除组织") - public ResultBean deleteOrganize(Long id) { - organizeService.deleteOrganizeById(id,USER.getEmployeeNameRdd()); - return new ResultBean(true, "操作成功"); + public ResultBean deleteOrganize(String id) { + try { + // 数据校验 + ValidatorBean.checkNotNull(id, "组织id 不能为空"); + + organizeService.deleteOrganizeById(id); + 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()); + } } - @GetMapping(value = "/findOrganizeAll") + @GetMapping(value = "/list") @ApiOperation(value = "查询Organize", notes = "查询所有组织") public ResultBean findOrganizeAll() { - List list = organizeService.findOrganizeAll(); - return new ResultBean(true, "操作成功", list); + try { + List list = organizeService.findOrganizeAll(); + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultList(list); + } 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()); + } } - @GetMapping(value = "/getOrganize/{id}") + @GetMapping(value = "/get/{id}") @ApiOperation(value = "查询组织", notes = "查询根据ID查询组织") - public ResultBean getByOrganizeId(@PathVariable("id") long id) { - Organize organize = organizeService.getOrganizeById(id); - return new ResultBean(true, "操作成功", organize); + public ResultBean getByOrganizeId(@PathVariable("id") String id) { + try { + // 数据校验 + ValidatorBean.checkNotNull(id, "角色id 不能为空"); + + Organize organize = organizeService.getOrganizeById(id); + + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultObject(organize); + } 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()); + } + } + + @PutMapping(value = "/status") + @ApiOperation(value = "修改权限状态", notes = "根据ID修改权限状态") + public ResultBean updateStatus(String id, int status) { + try { + // 数据校验 + ValidatorBean.checkNotNull(id, "角色id 不能为空"); + ValidatorBean.checkNotZero(status, "角色状态不能为空"); + + organizeService.updateOrganizeStatus(id, status, AuthUtil.getSessionUser()); + return new ResultBean(true); + } catch (ImppBusiException busExcep) { + LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); + return ResultBean.fail(busExcep.getErrorShow()); + } catch (Exception e) { + LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); + return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); + } } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java index f91d072..164362c 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java @@ -1,13 +1,14 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysMenuService; - import cn.estsh.i3plus.pojo.platform.bean.SessionUser; + import cn.estsh.i3plus.platform.common.convert.ConvertBean; + import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysMenu; - import cn.estsh.i3plus.pojo.platform.bean.SysUser; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; 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; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; @@ -36,62 +37,113 @@ public class SysMenuController { @PostMapping(value = "/insert") @ApiOperation(value = "新增系统功能", notes = "系统功能") - public ResultBean insertSysMenu(SysMenu sysMenu) { + public ResultBean insertSysMenu(SysMenu menu) { try { - SysMenu menu = sysMenuService.insertSysMenu(sysMenu); - return new ResultBean(true,menu); - } catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); - }catch(Exception e){ - LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); + //条件验证 + ValidatorBean.beginValid(menu) + .notNull("name", menu.getName()) + .notNull("menuTypeId", menu.getMenuTypeId()); + + //新增初始化 + ConvertBean.modelInitialize(menu, AuthUtil.getSessionUser()); + + menu = sysMenuService.insertSysMenu(menu); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(menu); + } 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 = "/update") @ApiOperation(value = "修改系统功能", notes = "系统功能") public ResultBean updateSysMenu(SysMenu sysMenu) { - if(null == sysMenu || null == sysMenu.getId()){ - return new ResultBean(false, "操作失败","对象id不能为空为空"); + try { + // 数据校验 + ValidatorBean.beginValid(sysMenu) + .notNull("id", sysMenu.getId()) + .notNull("menuTypeId", sysMenu.getMenuTypeId()) + .notNull("name", sysMenu.getName()); + + ConvertBean.modelUpdate(sysMenu, AuthUtil.getSessionUser()); + + sysMenuService.updateSysMenu(sysMenu); + 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()); } - sysMenuService.updateSysMenu(sysMenu); - return new ResultBean(true, "操作成功", sysMenu); } @DeleteMapping(value = "/delete") @ApiOperation(value = "删除系统功能", notes = "删除系统功能") - public ResultBean deleteSysMenu(long id) { + public ResultBean deleteSysMenu(String id) { try { + // 数据校验 + ValidatorBean.checkNotNull(id, "系统功能id 不能为空"); + sysMenuService.deleteSysMenuById(id); - return new ResultBean(true); - } catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); + 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.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); + } catch (Exception e) { + LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); + return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } } - @GetMapping(value = "/findSysMenuAll") - @ApiOperation(value = "查询SysMenu", notes = "查询所有系统功能") - public ResultBean findSysMenuAll() { - List list = sysMenuService.findSysMenuAll(); - return new ResultBean(true, "操作成功", list); + @GetMapping(value = "/list") + @ApiOperation(value = "查询所有系统功能", notes = "查询所有系统功能") + public ResultBean findAll() { + try { + List list = sysMenuService.findSysMenuAll(); + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultList(list); + } 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()); + } } - @GetMapping(value = "/getSysMenu/{id}") + @GetMapping(value = "/get/{id}") @ApiOperation(value = "查询系统功能", notes = "查询根据ID查询系统功能") - public ResultBean getBySysMenuId(@PathVariable("id") long id) { - SysMenu sysMenu = sysMenuService.getSysMenuById(id); - return new ResultBean(true, "操作成功", sysMenu); + public ResultBean getById(@PathVariable("id") String id) { + try { + // 数据校验 + ValidatorBean.checkNotNull(id, "功能id 不能为空"); + + SysMenu sysMenu = sysMenuService.getSysMenuById(id); + + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultObject(sysMenu); + } 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()); + } + } - @PutMapping(value = "/updateStatus") - @ApiOperation(value = "修改权限状态", notes = "根据ID修改权限状态") - public ResultBean updateStatus(long id,int status) { + @PutMapping(value = "/status") + @ApiOperation(value = "修改系统功能状态", notes = "根据ID修改系统功能状态") + public ResultBean updateStatus(String id,int status) { try { + // 数据校验 + ValidatorBean.checkNotNull(id, "功能id 不能为空"); + ValidatorBean.checkNotZero(status, "功能状态不能为空"); + sysMenuService.updateSysMenuStatus(id,status,AuthUtil.getSessionUser()); return new ResultBean(true); } catch(ImppBusiException busExcep){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java index 6c96749..737a707 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java @@ -1,13 +1,15 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SysRole; -import cn.estsh.i3plus.pojo.platform.bean.SysUser; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; 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; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; @@ -37,51 +39,109 @@ public class SysRoleController { @PostMapping(value = "/insert") @ApiOperation(value = "新增系统角色", notes = "系统角色") - public ResultBean insertSysRole(SysRole sysRole) { + public ResultBean insertSysRole(SysRole role) { try { - SysRole role = sysRoleService.insertSysRole(sysRole); - return new ResultBean(true, role); + //条件验证 + ValidatorBean.beginValid(role) + .notNull("name", role.getName()); + + //新增初始化 + ConvertBean.modelInitialize(role, AuthUtil.getSessionUser()); + + role = sysRoleService.insertSysRole(role); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(role); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep.getErrorShow()).build(); } catch (Exception e) { - LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); - return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); + return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } } @PutMapping(value = "/update") @ApiOperation(value = "修改系统角色", notes = "系统角色") - public ResultBean updateSysRole(SysRole sysRole) { - sysRoleService.updateSysRole(sysRole); - return new ResultBean(true, "操作成功", sysRole); + public ResultBean updateSysRole(SysRole role) { + try { + // 数据校验 + ValidatorBean.beginValid(role) + .notNull("id", role.getId()) + .notNull("name", role.getName()); + + ConvertBean.modelUpdate(role, AuthUtil.getSessionUser()); + + sysRoleService.updateSysRole(role); + 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()); + } } @DeleteMapping(value = "/delete") @ApiOperation(value = "删除系统角色", notes = "删除系统角色") - public ResultBean deleteSysRole(long id) { - sysRoleService.deleteSysRoleById(id); - return new ResultBean(true, "操作成功"); + public ResultBean deleteSysRole(String id) { + try { + // 数据校验 + ValidatorBean.checkNotNull(id, "角色id 不能为空"); + + sysRoleService.deleteSysRoleById(id); + 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()); + } } - @GetMapping(value = "/findSysRoleAll") + @GetMapping(value = "/list") @ApiOperation(value = "查询SysRole", notes = "查询所有系统角色") - public ResultBean findSysRoleAll() { - List list = sysRoleService.findSysRoleAll(); - return new ResultBean(true, "操作成功", list); + public ResultBean findAll() { + try { + List list = sysRoleService.findSysRoleAll(); + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultList(list); + } 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()); + } } - @GetMapping(value = "/getSysRole/{id}") + @GetMapping(value = "/get/{id}") @ApiOperation(value = "查询系统角色", notes = "查询根据ID查询系统角色") - public ResultBean getBySysRoleId(@PathVariable("id") long id) { - SysRole sysRole = sysRoleService.getSysRoleById(id); - return new ResultBean(true, "操作成功", sysRole); + public ResultBean getById(@PathVariable("id") String id) { + try { + // 数据校验 + ValidatorBean.checkNotNull(id, "角色id 不能为空"); + + SysRole role = sysRoleService.getSysRoleById(id); + + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultObject(role); + } 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()); + } } - @PutMapping(value = "/updateStatus") + @PutMapping(value = "/status") @ApiOperation(value = "修改权限状态", notes = "根据ID修改权限状态") - public ResultBean updateStatus(long id, int status) { + public ResultBean updateStatus(String id, int status) { try { + // 数据校验 + ValidatorBean.checkNotNull(id, "角色id 不能为空"); + ValidatorBean.checkNotZero(status, "角色状态不能为空"); sysRoleService.updateSysRoleStatus(id, status, AuthUtil.getSessionUser()); return new ResultBean(true); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java new file mode 100644 index 0000000..6e1e466 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java @@ -0,0 +1,165 @@ +package cn.estsh.i3plus.core.apiservice.controller.busi; + +import cn.estsh.i3plus.core.api.iservice.base.ISysUserService; +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.model.flatform.UserModel; +import cn.estsh.i3plus.pojo.platform.bean.SysRole; +import cn.estsh.i3plus.pojo.platform.bean.SysUser; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +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; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @Description : 系统用户操作服务 + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-25 21:46 + * @Modify : + **/ +@RestController +@RequestMapping("/user") +@Api(description = "系统用户服务") +public class SysUserController { + + public static final Logger LOGGER = LoggerFactory.getLogger(TaskTimeController.class); + + @Autowired + private ISysUserService sysUserService; + + + @PostMapping(value = "/insert") + @ApiOperation(value = "新增用户", notes = "新增系统用户") + public ResultBean insertSysUser(UserModel model) { + try { + // 用户基础信息校验 + ValidatorBean.beginValid(model); + + ValidatorBean.beginValid(model.getUser()) + .notNull("userLoginName",model.getUser().getUserLoginName()) + .notNull("userLoginPassword",model.getUser().getUserLoginPassword()) + .notNull("userEmpNo",model.getUser().getUserEmpNo()) + .notNull("userEmail",model.getUser().getUserEmail()); + + ValidatorBean.beginValid(model.getRole()) + .notNull("id",model.getRole().getId()); + + ValidatorBean.beginValid(model.getDepartment()) + .notNull("id",model.getDepartment().id); + + ValidatorBean.beginValid(model.getPosition()) + .notNull("id",model.getPosition().getId()); + + + model.getUser().setUserTypeId(CommonEnumUtil.USER_TYPE.USER.getValue()); + model.getUser().setDepartmentId(model.getDepartment().getId()); + model.getUser().setRoleId(model.getRole().getId()); + model.getUser().setPositionId(model.getPosition().getId()); + + ConvertBean.modelInitialize(model.getUser(), AuthUtil.getSessionUser()); + + SysUser user = sysUserService.insertSysUserModel(model, AuthUtil.getSessionUser()); + + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultObject(user); + } 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()); + } + } + + @PutMapping(value = "/update") + @ApiOperation(value = "修改用户", notes = "修改用户信息") + public ResultBean updateSysUser(UserModel model) { + try { + // 用户基础信息校验 + ValidatorBean.beginValid(model); + + ValidatorBean.beginValid(model.getUser()) + .notNull("id",model.getUser().getId()) + .notNull("userLoginName",model.getUser().getUserLoginName()) + .notNull("userLoginPassword",model.getUser().getUserLoginPassword()) + .notNull("userEmpNo",model.getUser().getUserEmpNo()) + .notNull("userEmail",model.getUser().getUserEmail()); + + ValidatorBean.beginValid(model.getRole()) + .notNull("id",model.getRole().getId()); + + ValidatorBean.beginValid(model.getDepartment()) + .notNull("id",model.getDepartment().id); + + ValidatorBean.beginValid(model.getPosition()) + .notNull("id",model.getPosition().getId()); + + + model.getUser().setUserTypeId(CommonEnumUtil.USER_TYPE.USER.getValue()); + model.getUser().setDepartmentId(model.getDepartment().getId()); + model.getUser().setRoleId(model.getRole().getId()); + model.getUser().setPositionId(model.getPosition().getId()); + + ConvertBean.modelUpdate(model.getUser(), AuthUtil.getSessionUser()); + + sysUserService.updateSysUserModel(model, AuthUtil.getSessionUser()); + + 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()); + } + } + + @GetMapping(value = "/list") + @ApiOperation(value = "查询所有用户", notes = "查询所有系统用户") + public ResultBean findAll() { + try { + List list = sysUserService.findSysUserAll(); + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultList(list); + } 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()); + } + } + + @DeleteMapping(value = "/delete") + @ApiOperation(value = "删除定时任务", notes = "删除定时任务") + public ResultBean delete(String id) { + try { + // 数据校验 + ValidatorBean.checkNotNull(id, "用户id 不能为空"); + + sysUserService.deleteSysUserById(id); + 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/controller/busi/TaskTimeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/TaskTimeController.java new file mode 100644 index 0000000..7de0a3c --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/TaskTimeController.java @@ -0,0 +1,184 @@ +package cn.estsh.i3plus.core.apiservice.controller.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ITaskTimeExpressionService; +import cn.estsh.i3plus.core.api.iservice.busi.ITaskTimeService; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.*; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +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; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @Description : 定时任务服务 + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-22 16:58:43.982 + * @Modify : + **/ +@RestController +@RequestMapping("/task-time") +@Api(description = "定时任务服务") +public class TaskTimeController { + + public static final Logger LOGGER = LoggerFactory.getLogger(TaskTimeController.class); + + @Autowired + private ITaskTimeService taskTimedService; + + @Autowired + private ITaskTimeExpressionService taskTimeExpressionService; + + @PostMapping(value = "/insert") + @ApiOperation(value = "新增定时任务", notes = "定时任务") + public ResultBean insertTaskTimed(TaskTime taskTime) { + try { + // 数据校验 + ValidatorBean.beginValid(taskTime) + .notNull("timeId", taskTime.getTimeId()) + .notNull("name", taskTime.getName()) + .notNull("taskDescription", taskTime.getTaskDescription()); + + TaskTimeExpression taskTimeExpression = taskTimeExpressionService.getTaskTimeExpressionById(taskTime.getTimeId().toString()); + ValidatorBean.beginValid(taskTimeExpression); + + taskTime.setRedTimeName(taskTimeExpression.getName()); + taskTime.setRedTimeExpression(taskTimeExpression.getTimeExpression()); + + ConvertBean.modelInitialize(taskTime, AuthUtil.getSessionUser()); + + taskTime = taskTimedService.insertTaskTimed(taskTime); + + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultObject(taskTime); + } 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()); + } + } + + @PutMapping(value = "/update") + @ApiOperation(value = "修改定时任务", notes = "定时任务") + public ResultBean updateTaskTimed(TaskTime taskTime) { + try { + // 数据校验 + ValidatorBean.beginValid(taskTime) + .notNull("id", taskTime.getId()) + .notNull("timeId", taskTime.getTimeId()) + .notNull("name", taskTime.getName()) + .notNull("taskDescription", taskTime.getTaskDescription()); + + TaskTimeExpression taskTimeExpression = taskTimeExpressionService.getTaskTimeExpressionById(taskTime.getTimeId().toString()); + + // 数据真实性校验 + ValidatorBean.beginValid(taskTimeExpression); + + // 数据冗余 + taskTime.setRedTimeName(taskTimeExpression.getName()); + taskTime.setRedTimeExpression(taskTimeExpression.getTimeExpression()); + + ConvertBean.modelUpdate(taskTime, AuthUtil.getSessionUser()); + + taskTimedService.updateTaskTimed(taskTime); + + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultObject(taskTime); + } 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()); + } + } + + @DeleteMapping(value = "/delete") + @ApiOperation(value = "删除定时任务", notes = "删除定时任务") + public ResultBean deleteTaskTimed(String id) { + try { + // 数据校验 + ValidatorBean.checkNotNull(id, "定时任务id 不能为空"); + + taskTimedService.deleteTaskTimedById(id); + 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()); + } + } + + @GetMapping(value = "/list") + @ApiOperation(value = "查询TaskTimed", notes = "查询所有定时任务") + public ResultBean findTaskTimedAll() { + try { + List list = taskTimedService.findTaskTimedAll(); + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultList(list); + } 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()); + } + } + + @GetMapping(value = "/get/{id}") + @ApiOperation(value = "查询定时任务", notes = "查询根据ID查询定时任务") + public ResultBean getByTaskTimedId(@PathVariable("id") String id) { + try { + // 数据校验 + ValidatorBean.checkNotNull(id, "定时任务id 不能为空"); + + TaskTime taskTime = taskTimedService.getTaskTimedById(id); + + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultObject(taskTime); + } 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()); + } + } + + @PutMapping(value = "/status") + @ApiOperation(value = "修改定时任务状态", notes = "根据ID修改定时任务状态") + public ResultBean updateStatus(String id,int status) { + try { + // 数据校验 + ValidatorBean.checkNotNull(id, "功能id 不能为空"); + ValidatorBean.checkNotZero(status, "功能状态不能为空"); + + taskTimedService.updateTaskTimedStatus(id,status,AuthUtil.getSessionUser()); + return new ResultBean(true); + } catch(ImppBusiException busExcep){ + LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); + return ResultBean.fail(busExcep.getErrorShow()); + }catch(Exception e){ + LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}",e.getMessage(),e); + return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); + } + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/TaskTimeExpressionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/TaskTimeExpressionController.java new file mode 100644 index 0000000..dc2815d --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/TaskTimeExpressionController.java @@ -0,0 +1,146 @@ +package cn.estsh.i3plus.core.apiservice.controller.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ITaskTimeExpressionService; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.TaskTimeExpression; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +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; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @Description : 系统时间表达式 服务 + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-22 16:58:43.838 + * @Modify : + **/ +@RestController +@RequestMapping("/sys-time-expression") +@Api(description = "系统时间表达式") +public class TaskTimeExpressionController { + + public static final Logger LOGGER = LoggerFactory.getLogger(TaskTimeExpressionController.class); + + @Autowired + private ITaskTimeExpressionService taskTimeExpressionService; + + @PostMapping(value = "/insert") + @ApiOperation(value = "新增系统时间表达式", notes = "系统时间表达式") + public ResultBean insertTaskTimeExpression(TaskTimeExpression timeExpression) { + try { + // 数据校验 + ValidatorBean.beginValid(timeExpression) + .notNull("name", timeExpression.getName()) + .notNull("timeExpression", timeExpression.getTimeExpression()) + .notNull("timeDescription", timeExpression.getTimeDescription()); + + ConvertBean.modelInitialize(timeExpression, AuthUtil.getSessionUser()); + + timeExpression = taskTimeExpressionService.insertTaskTimeExpression(timeExpression); + + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultObject(timeExpression); + } 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()); + } + } + + @PutMapping(value = "/update") + @ApiOperation(value = "修改系统时间表达式", notes = "系统时间表达式") + public ResultBean updateTaskTimeExpression(TaskTimeExpression timeExpression) { + try { + // 数据校验 + ValidatorBean.beginValid(timeExpression) + .notNull("id", timeExpression.getId()) + .notNull("name", timeExpression.getName()) + .notNull("timeExpression", timeExpression.getTimeExpression()) + .notNull("timeDescription", timeExpression.getTimeDescription()); + + ConvertBean.modelInitialize(timeExpression, AuthUtil.getSessionUser()); + + taskTimeExpressionService.updateTaskTimeExpression(timeExpression); + + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultObject(timeExpression); + } 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()); + } + } + + @DeleteMapping(value = "/delete") + @ApiOperation(value = "删除系统时间表达式", notes = "删除系统时间表达式") + public ResultBean deleteTaskTimeExpression(String id) { + try { + // 数据校验 + ValidatorBean.checkNotNull(id, "时间表达式id 不能为空"); + + taskTimeExpressionService.deleteTaskTimeExpressionById(id); + 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()); + } + } + + @GetMapping(value = "/list") + @ApiOperation(value = "查询时间表达式所有", notes = "查询所有系统时间表达式") + public ResultBean findTaskTimeExpressionAll() { + try { + List list = taskTimeExpressionService.findTaskTimeExpressionAll(); + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultList(list); + } 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()); + } + } + + @GetMapping(value = "/get/{id}") + @ApiOperation(value = "查询系统时间表达式", notes = "查询根据ID查询系统时间表达式") + public ResultBean getByTaskTimeExpressionId(@PathVariable("id") String id) { + try { + // 数据校验 + ValidatorBean.checkNotNull(id, "定时任务id 不能为空"); + + TaskTimeExpression taskTimeExpression = taskTimeExpressionService.getTaskTimeExpressionById(id); + + return ResultBean.success("操作成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultObject(taskTimeExpression); + } 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/dao/ISysMenuDao.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/ISysMenuDao.java deleted file mode 100644 index 7f1d98d..0000000 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/ISysMenuDao.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.estsh.i3plus.core.apiservice.dao; - -import cn.estsh.i3plus.pojo.platform.bean.SysMenu; -import org.springframework.data.jpa.repository.Query; -import org.springframework.data.repository.CrudRepository; -import org.springframework.data.repository.query.Param; - -/** - * @Description : - * @Reference : - * @Author : wei.peng - * @Date : 2018-10-22 23:54 - * @Modify : - **/ -public interface ISysMenuDao { - - @Query("select count(id ) SysMenu sm where sm.parentId = :parentId") - long queryCountByParentId(@Param("id") long parentId); -} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/IUserPermissionDao.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/IUserPermissionDao.java new file mode 100644 index 0000000..17e1b59 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/dao/IUserPermissionDao.java @@ -0,0 +1,44 @@ +package cn.estsh.i3plus.core.apiservice.dao; + +import cn.estsh.i3plus.pojo.platform.bean.*; + +import java.util.List; + +/** + * @Description : 用户权限 + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-25 20:24 + * @Modify : + **/ +public interface IUserPermissionDao { + + /** + * 查询用户所有部门 + * @param user + * @return + */ + List findDepartmentByUser(SysUser user); + + /** + * 查询用户所有角色 + * @param user + * @return + */ + List findSysRoleByUser(SysUser user); + + /** + * 查询用户所有功能权限 + * @param user + * @return + */ + List findSysMenuByUser(SysUser user); + + /** + * 查询用户所有岗位 + * @param user + * @return + */ + List findPositionByUser(SysUser user); + +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/ISysMenuDaoImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/ISysMenuDaoImpl.java deleted file mode 100644 index 877fd28..0000000 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/ISysMenuDaoImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.estsh.i3plus.core.apiservice.daoimpl; - -import cn.estsh.i3plus.core.apiservice.dao.ISysMenuDao; -import cn.estsh.i3plus.pojo.platform.bean.SysMenu; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import javax.persistence.EntityManager; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.ParameterExpression; - -/** - * @Description : - * @Reference : - * @Author : wei.peng - * @Date : 2018-10-22 23:55 - * @Modify : - **/ -@Service -public class ISysMenuDaoImpl implements ISysMenuDao { - - public static final Logger LOGGER = LoggerFactory.getLogger(ISysMenuDaoImpl.class); - - @Autowired - private EntityManager entityManager; - - @Override - public long queryCountByParentId(long parentId) { - LOGGER.info(" Parent Id :{}",parentId); - String hql = "select count(id) from SysMenu as sm where parentId =:parentId"; - - return (long)entityManager.createQuery(hql) - .setParameter("parentId",parentId).getSingleResult(); - } -} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/UserPermissionDaoImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/UserPermissionDaoImpl.java new file mode 100644 index 0000000..f494ff0 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/daoimpl/UserPermissionDaoImpl.java @@ -0,0 +1,70 @@ +package cn.estsh.i3plus.core.apiservice.daoimpl; + +import cn.estsh.i3plus.core.apiservice.dao.IUserPermissionDao; +import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.CoreTreeServiceImpl; +import cn.estsh.i3plus.pojo.platform.bean.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.persistence.EntityManager; +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-25 20:32 + * @Modify : + **/ +@Service +public class UserPermissionDaoImpl implements IUserPermissionDao { + + public static final Logger LOGGER = LoggerFactory.getLogger(UserPermissionDaoImpl.class); + + @Autowired + private EntityManager entityManager; + + + @Override + public List findDepartmentByUser(SysUser user) { + LOGGER.info(" 查询用户所有部门 user id:{}", user.getId()); + String hql = "select d from RefUserDepartment as rud " + + " left join Department as d on d.id = rud.departmentId " + + " where rud.userId =:userId"; + return entityManager.createQuery(hql).setParameter("userId",user.getId()).getResultList(); + } + + @Override + public List findSysRoleByUser(SysUser user) { + LOGGER.info(" 查询用户所有角色 user id:{}", user.getId()); + + String hql = "select sr from RefUserRole as rur " + + " left join SysRole as sr on sr.id = rur.roleId " + + " where rur.userId =:userId"; + //hql = "select rur from RefUserRole as rur,SysRole as where rur.userId =:userId and sr.id = rur.roleId"; + return entityManager.createQuery(hql).setParameter("userId",user.getId()).getResultList(); + } + + @Override + public List findSysMenuByUser(SysUser user) { + LOGGER.info(" 查询用户所有菜单 user id:{}", user.getId()); + String hql = "select sm from RefUserRole as rur " + + " left join RefRoleMenu as rrm on rrm.roleId = rur.roleId" + + " left join SysMenu as sm on sm.id = rrm.menuId" + + " where rur.userId =:userId"; + return entityManager.createQuery(hql).setParameter("userId",user.getId()).getResultList(); + } + + @Override + public List findPositionByUser(SysUser user) { + LOGGER.info(" 查询用户所有岗位 user id:{}", user.getId()); + String hql = "select p from RefUserPosition as rup " + + " left join Position as p on p.id = rup.positionId" + + " where rup.userId =:userId"; + return entityManager.createQuery(hql).setParameter("userId",user.getId()).getResultList(); + } + + +} 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 93d0a52..0e9523a 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 @@ -11,6 +11,7 @@ import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository; 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 org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -83,7 +84,7 @@ public class SystemLoginService implements ISystemLoginService { * @return */ public SysUser getUserLoginInfo(String loginName,String pwd){ - SysUser user = sysUserRDao.getByProperty("loginName",loginName); + SysUser user = sysUserRDao.getByProperty("userLoginName",loginName); if(user == null){ //用户不存在 throw ImppExceptionBuilder.newInstance() @@ -122,10 +123,10 @@ public class SystemLoginService implements ISystemLoginService { private SessionUser packSessionUser(SysUser user,String userType, String languageCode) { SessionUser sessionUser = new SessionUser(); sessionUser.setLanguageCode(languageCode); - sessionUser.setSiteCode(user.getFactoryCode()); - sessionUser.setUserName(user.getEmployeeNameRdd()); +// sessionUser.setSiteCode(user.getFactoryCode()); + sessionUser.setUserName(user.getName()); sessionUser.setUserType(userType); - sessionUser.setUserCode(user.getEmployeeCodeRdd()); + sessionUser.setUserCode(user.getUserInfo().getLanguageCode()); return sessionUser; } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeServiceImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeServiceImpl.java index bb3b4fd..b8e4fa1 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeServiceImpl.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeServiceImpl.java @@ -49,7 +49,7 @@ public class CoreTreeServiceImpl implements ICoreTreeService { } } - LOGGER.info("【{}】包含子集:{},步长:{}",parent.getName(),childDepList.size(),step); + LOGGER.info("【{}】包含子集:{},步长:{}",parent.getDepartmentName(),childDepList.size(),step); parent.setChildList(childDepList); } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/OrganizeServiceImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/OrganizeServiceImpl.java index e6ff5fb..d1954d5 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/OrganizeServiceImpl.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/OrganizeServiceImpl.java @@ -1,9 +1,13 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.IOrganizeService; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.Organize; +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.repository.OrganizeRepository; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -24,39 +28,54 @@ public class OrganizeServiceImpl implements IOrganizeService { public static final Logger LOGGER = LoggerFactory.getLogger(OrganizeServiceImpl.class); @Autowired - private OrganizeRepository organizeRepository; + private OrganizeRepository organizeRDao; @Override public void updateOrganize(Organize organize) { LOGGER.info("组织 ORGANIZE :{}", organize); - organizeRepository.update(organize); + organizeRDao.update(organize); } @Override - public void deleteOrganizeById(long id,String modifyUser) { + public void updateOrganizeStatus(String id, int status, SessionUser user) { + LOGGER.info("组织 ORGANIZE id:{} status:{} user:{}", id,status,user); + Organize organize = organizeRDao.getById(Long.parseLong(id)); + organize.setOrganizeStatus(status); + organize.setModifyUser(user.getUserName()); + organizeRDao.update(organize); + } + + @Override + public void deleteOrganizeById(String id) { LOGGER.info("组织 ORGANIZE Key:{}", id); - //TODO 记录平台用户操作日志 - organizeRepository.deleteById(id); + long count = organizeRDao.findByPropertyCount("parentId", Long.parseLong(id)); + if (count >= 1) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("该数据有子集") + .setErrorSolution("请先删除子集在操作") + .build(); + } + organizeRDao.deleteById(Long.parseLong(id)); } + @Override public Organize insertOrganize(Organize organize) { LOGGER.info("组织 ORGANIZE :{}", organize); - if(null != organize.getOrganizationTypeId()){ - organize.setOrganizationTypeName(ImppEnumUtil.ORGANIZE_YTPE.valueOfCode(organize.getOrganizationTypeId())); - } - return organizeRepository.insert(organize); + return organizeRDao.insert(organize); } @Override public List findOrganizeAll() { LOGGER.info("组织 ORGANIZE find All"); - return organizeRepository.findAll(); + return organizeRDao.findAll(); } @Override - public Organize getOrganizeById(long id) { + public Organize getOrganizeById(String id) { LOGGER.info("组织 ORGANIZE find id:{}", id); - return organizeRepository.getOne(id); + return organizeRDao.getOne(Long.parseLong(id)); } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuServiceImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuServiceImpl.java index c58aa85..44874ca 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuServiceImpl.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuServiceImpl.java @@ -1,14 +1,12 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysMenuService; -import cn.estsh.i3plus.core.apiservice.dao.ISysMenuDao; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SysMenu; import cn.estsh.i3plus.pojo.platform.repository.SysMenuRepository; 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 org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -29,85 +27,61 @@ public class SysMenuServiceImpl implements ISysMenuService { public static final Logger LOGGER = LoggerFactory.getLogger(SysMenuServiceImpl.class); @Autowired - private SysMenuRepository sysMenuRepository; - - @Autowired - private ISysMenuDao iSysMenuDao; + private SysMenuRepository sysMenuRDao; @Override public void updateSysMenu(SysMenu sysMenu) { LOGGER.info("系统功能 SYS_MENU :{}", sysMenu); - if(sysMenu != null){ - sysMenuRepository.update(sysMenu); - } - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) - .setErrorDetail("数据不存在") - .setErrorSolution("请重新操作") - .build(); + sysMenuRDao.update(sysMenu); } @Override - public void updateSysMenuStatus(long id, int status, SessionUser user) { + public void updateSysMenuStatus(String id, int status, SessionUser user) { LOGGER.info("系统功能 SYS_MENU id:{} status:{} user:{}", id,status,user); - SysMenu menu = sysMenuRepository.getById(id); - if(null != menu){ - menu.setMenuStatus(status); - menu.setModifyUser(user.getUserName()); - sysMenuRepository.update(menu); - }else{ - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) - .setErrorDetail("数据不存在") - .setErrorSolution("请重新操作") - .build(); - } + SysMenu menu = sysMenuRDao.getById(Long.parseLong(id)); + menu.setMenuStatus(status); + menu.setModifyUser(user.getUserName()); + sysMenuRDao.update(menu); } @Override - public void deleteSysMenuById(long id) { + public void deleteSysMenuById(String id) { LOGGER.info("系统功能 SYS_MENU Key:{}", id); - //TODO 记录平台用户操作日志 - long count = iSysMenuDao.queryCountByParentId(id); + long count = sysMenuRDao.findByPropertyCount("parentId",Long.parseLong(id)); if(count >= 1){ throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode()) .setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()) - .setErrorDetail("数据存在子集") - .setErrorSolution("请删除子集在操作") + .setErrorDetail("该数据有子集") + .setErrorSolution("请先删除子集在操作") .build(); } - sysMenuRepository.deleteById(id); + sysMenuRDao.deleteById(Long.parseLong(id)); } @Override public SysMenu insertSysMenu(SysMenu sysMenu) { LOGGER.info("系统功能 SYS_MENU :{}", sysMenu); - if(null != sysMenu.getMenuTypeId()){ - sysMenu.setRedMenuTypeName(CommonEnumUtil.METHOD_LEVEL.valueOf(sysMenu.getMenuTypeId())); - } if(0 != sysMenu.getParentId()){ - SysMenu parent = sysMenuRepository.getById(sysMenu.getParentId()); + SysMenu parent = sysMenuRDao.getById(sysMenu.getParentId()); if(null != parent){ sysMenu.setRedParentName(parent.getName()); } } - return sysMenuRepository.insert(sysMenu); + return sysMenuRDao.insert(sysMenu); } @Override public List findSysMenuAll() { LOGGER.info("系统功能 SYS_MENU find All"); - return sysMenuRepository.findAll(); + return sysMenuRDao.findAll(); } @Override - public SysMenu getSysMenuById(long id) { + public SysMenu getSysMenuById(String id) { LOGGER.info("系统功能 SYS_MENU find id:{}", id); - return sysMenuRepository.getOne(id); + return sysMenuRDao.getOne(Long.parseLong(id)); } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleServiceImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleServiceImpl.java index f8ad156..9885db9 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleServiceImpl.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleServiceImpl.java @@ -27,54 +27,46 @@ public class SysRoleServiceImpl implements ISysRoleService { public static final Logger LOGGER = LoggerFactory.getLogger(SysRoleServiceImpl.class); @Autowired - private SysRoleRepository sysRoleRepository; + private SysRoleRepository sysRoleRDao; @Override public void updateSysRole(SysRole sysRole) { LOGGER.info("系统角色 SYS_ROLE :{}", sysRole); - sysRoleRepository.update(sysRole); + sysRoleRDao.update(sysRole); } @Override - public void updateSysRoleStatus(long id, int status, SessionUser user) { + public void updateSysRoleStatus(String id, int status, SessionUser user) { LOGGER.info("系统角色 SYS_MENU id:{} status:{} user:{}", id,status,user); - SysRole role = sysRoleRepository.getById(id); - if(null != role){ - role.setRoleStatus(status); - role.setModifyUser(user.getUserName()); - sysRoleRepository.update(role); - }else { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) - .setErrorDetail("数据不存在") - .setErrorSolution("请重新操作") - .build(); - } + SysRole role = sysRoleRDao.getById(Long.parseLong(id)); + role.setRoleStatus(status); + role.setModifyUser(user.getUserName()); + sysRoleRDao.update(role); + } @Override - public void deleteSysRoleById(long id) { + public void deleteSysRoleById(String id) { LOGGER.info("系统角色 SYS_ROLE Key:{}", id); - sysRoleRepository.deleteById(id); + sysRoleRDao.deleteById(Long.parseLong(id)); } @Override public SysRole insertSysRole(SysRole sysRole) { LOGGER.info("系统角色 SYS_ROLE :{}", sysRole); - return sysRoleRepository.insert(sysRole); + return sysRoleRDao.insert(sysRole); } @Override public List findSysRoleAll() { LOGGER.info("系统角色 SYS_ROLE find All"); - return sysRoleRepository.findAll(); + return sysRoleRDao.findAll(); } @Override - public SysRole getSysRoleById(long id) { + public SysRole getSysRoleById(String id) { LOGGER.info("系统角色 SYS_ROLE find id:{}", id); - return sysRoleRepository.getOne(id); + return sysRoleRDao.getOne(Long.parseLong(id)); } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserServiceImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserServiceImpl.java new file mode 100644 index 0000000..a3f6c0b --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserServiceImpl.java @@ -0,0 +1,441 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.core.api.iservice.base.ISysUserService; +import cn.estsh.i3plus.core.apiservice.dao.IUserPermissionDao; +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; +import cn.estsh.i3plus.pojo.model.flatform.UserModel; +import cn.estsh.i3plus.pojo.platform.bean.*; +import cn.estsh.i3plus.pojo.platform.repository.*; +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 org.apache.commons.lang3.StringUtils; +import org.apache.shiro.authc.AuthenticationToken; +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; + +/** + * @Description : 平台用户业务 + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-25 17:45 + * @Modify : + **/ +@Service +public class SysUserServiceImpl implements ISysUserService { + + public static final Logger LOGGER = LoggerFactory.getLogger(SysUserServiceImpl.class); + + @Autowired + private SysUserRepository sysUserRDao; + + @Autowired + private SysUserInfoRepository sysUserInfoRDao; + + @Autowired + private IUserPermissionDao userPermissionDao; + + @Autowired + private OrganizeRepository organizeRDao; + + @Autowired + private SysRoleRepository sysRoleRDao; + + @Autowired + private DepartmentRepository departmentRDao; + + @Autowired + private PositionRepository positionRDao; + + @Autowired + private RefUserRoleRepository refUserRoleRDao; + + @Autowired + private RefUserDepartmentRepository refUserDepartmentRDao; + + @Autowired + private RefUserPositionRepository refUserPositionRDao; + + @Override + public SessionUser queryUserLogin(String loginName, String password, String languageCode) { + LOGGER.info("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode); + SysUser user = getSysUserByLoginName(loginName); + AuthenticationToken token = null; + + if (user == null) { + //用户不存在 + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode()) + .setErrorCode(ImppExceptionEnum.LOGIN_EXCEPTION.getCode()) + .setErrorDetail("用户不存在") + .setErrorSolution("重新登陆") + .build(); + } else if (!StringUtils.equals(user.getUserLoginPassword(), password)) { + //密码不符 + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode()) + .setErrorCode(ImppExceptionEnum.LOGIN_EXCEPTION.getCode()) + .setErrorDetail("登陆密码错误") + .setErrorSolution("重新输入") + .build(); + } + + switch (user.getUserTypeId()) { + case 2: + token = new AdminToken(loginName, password, languageCode); + break; + case 3: + token = new SaAdminToken(loginName, password, languageCode); + break; + default: + token = new UserToken(loginName, password, languageCode); + break; + } + SessionUser sessionUser = AuthUtil.login(token); + + user = getSysUserInfo(user); //设置用户详细信息 + packSessionUser(sessionUser, user, user.getUserTypeId(), languageCode); + AuthUtil.setSessionUser(sessionUser); + return sessionUser; + } + + + @Override + public void updateSysUserStatus(String id, int status, SessionUser user) { + LOGGER.info("平台用户 SYS_USER id:{} \t status:{} \t modifyUser:{}", id, status, user.getUserName()); + SysUser sysUser = sysUserRDao.getById(Long.parseLong(id)); + sysUser.setUserStatus(status); + sysUser.setModifyUser(user.getUserName()); + sysUserRDao.update(sysUser); + } + + @Override + public SysUser updateSysUserModel(UserModel model, SessionUser user) { + LOGGER.info("平台用户 SYS_USER model:{}", model); + LOGGER.info("平台用户 SYS_USER user:{}", user); + + // 数据真实性校验 + SysRole sysRole = sysRoleRDao.getById(model.getRole().id); + checkSysRole(sysRole); + Department dep = departmentRDao.getById(model.getDepartment().getId()); + checkDepartment(dep); + Position pos = positionRDao.getById(model.getPosition().getId()); + checkPosition(pos); + Organize organize = organizeRDao.getById(model.getDepartment().getOrganizeId()); + checkOrganize(organize); + + SysUser sysUser = model.getUser(); + + SysUser loginUser = getSysUserByLoginName(sysUser.getUserLoginName()); + // 判断是否修改登录名称 + if (null == loginUser || loginUser.getId().equals(sysUser.getId())) { + // 冗余部分信息 + sysUser.setRedDepartmentName(dep.getDepartmentName()); + sysUser.setRedRoleName(sysRole.getName()); + sysUser.setRedPositionName(pos.getPositionName()); + sysUser.setOrganizeId(organize.getId()); + sysUser.setRedOrganizeName(organize.getRedParentName()); + + if (!sysUser.getUserLoginPassword().isEmpty()) { + //TODO 密码加密 + } + + // 刷新用户角色关系信息 + refreshRefUserRole( model, sysUser); + + // 刷新用户部门关系信息 + refreshRefUserDepartment( model, sysUser); + + // 刷新用户岗位关系信息 + refreshRefUserPosition( model, sysUser); + + // 保存用户信息 + sysUserInfoRDao.save(model.getUserInfo()); + return sysUserRDao.save(sysUser); + } else { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode()) + .setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode()) + .setErrorDetail("用户名已存在") + .setErrorSolution("请重新输入用户名") + .build(); + } + } + + @Override + public SysUser insertSysUserModel(UserModel model, SessionUser user) { + LOGGER.info("平台用户 SYS_USER model:{}", model); + LOGGER.info("平台用户 SYS_USER user:{}", user); + + SysUser sysUser = model.getUser(); + SysUser loginUser = getSysUserByLoginName(sysUser.getUserLoginName()); + if (null == loginUser) { + sysUser = sysUserRDao.insert(sysUser); + model.getUserInfo().setUserId(sysUser.getId()); + model.setUser(sysUser); + return updateSysUserModel(model, user); + } else { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode()) + .setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode()) + .setErrorDetail("用户名已存在") + .setErrorSolution("请重新输入用户名") + .build(); + } + } + + @Override + public void deleteSysUserById(String id) { + LOGGER.info("平台用户 SYS_USER DELETE By id :{}", id); + sysUserRDao.updateByProperties("id", id, "isValid", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); +// //TODO 确认是否物理删除 + refUserRoleRDao.deleteByProperties("userId", Long.parseLong(id)); // 删除用户角色关系 + refUserDepartmentRDao.deleteByProperties("userId", Long.parseLong(id)); //删除用户部门关系 + refUserPositionRDao.deleteByProperties("userId", Long.parseLong(id)); //删除用户部门关系 + +// refUserRoleRDao.updateByProperties("userId",id,"isValid", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); +// refUserDepartmentRDao.updateByProperties("userId",id,"isValid", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); +// refUserPositionRDao.updateByProperties("userId",id,"isValid", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + } + + @Override + public List findSysUserAll() { + LOGGER.info("平台用户 SYS_USER find All"); + return sysUserRDao.findByProperty("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + } + + @Override + public SysUser getSysUserById(String id) { + LOGGER.info("平台用户 SYS_USER get By id :{}", id); + return sysUserRDao.getById(Long.parseLong(id)); + } + + @Override + public SysUser getSysUserByLoginName(String loginName) { + LOGGER.info("平台用户 SYS_USER find By Login Name :{}", loginName); + return sysUserRDao.getByProperty(new String[]{"userLoginName", "isValid"}, + new Object[]{loginName, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()}); + } + + /** + * 设置用户详细信息 + * + * @param user + * @return + */ + @Override + public SysUser getSysUserInfo(SysUser user) { + LOGGER.info("平台用户 SYS_USER user id :{}", user.getId()); + SysUserInfo userInfo = sysUserInfoRDao.getByProperty("userId", user.getId()); + Organize organize = organizeRDao.getById(user.getOrganizeId()); + + List departmentList = userPermissionDao.findDepartmentByUser(user); + List positionList = userPermissionDao.findPositionByUser(user); + List menuList = userPermissionDao.findSysMenuByUser(user); + List roleList = userPermissionDao.findSysRoleByUser(user); + + LOGGER.info("平台用户 SYS_USER userInfo :{}", userInfo); + LOGGER.info("平台用户 SYS_USER organize :{}", organize); + LOGGER.info("平台用户 SYS_USER departmentList size :{}", departmentList.size()); + LOGGER.info("平台用户 SYS_USER positionList size :{}", positionList.size()); + LOGGER.info("平台用户 SYS_USER menuList size :{}", menuList.size()); + LOGGER.info("平台用户 SYS_USER roleList size :{}", roleList.size()); + + user.setUserInfo(userInfo); + user.setOrganize(organize); + user.setDepartmentList(departmentList); + user.setMenuList(menuList); + user.setPositionList(positionList); + user.setRoleList(roleList); + + return user; + } + + + + + + + + + + + + /**************************************** 公共方法封装 ****************************************/ + + + + + /** + * 封装用户登陆信息 + * + * @param sessionUser 当前会话信息 + * @param user 当前登录用户 + * @param userType 用户类型 + * @param languageCode 用户选择的语言 + * @return + */ + public static SessionUser packSessionUser(SessionUser sessionUser, SysUser user, Integer userType, String languageCode) { + sessionUser.setLanguageCode(languageCode); + sessionUser.setUserName(user.getName()); + sessionUser.setUserType(CommonEnumUtil.USER_TYPE.valueOf(userType)); + sessionUser.setUserCode(user.getUserInfo().getLanguageCode()); + sessionUser.setRoleList(user.getRoleList()); + sessionUser.setDepartmentList(user.getDepartmentList()); + sessionUser.setPositionList(user.getPositionList()); + sessionUser.setOrganize(user.getOrganize()); + return sessionUser; + } + + /** + * 刷新用户 角色关系 + * @param model + * @param sysUser + */ + private void refreshRefUserRole( UserModel model, SysUser sysUser) { + // 用户角色操作 + refUserRoleRDao.deleteByProperties("userId", sysUser.getId()); // 删除用户角色关系 + if (null != model.getRoles() && model.getRoles().size() > 0) { //角色非空是操作 + + List refUserRoles = new ArrayList<>(); + StringBuffer roleNames = new StringBuffer(); + RefUserRole refUserRole = null; + + for (SysRole role : model.getRoles()) { + roleNames.append("," + role.getName()); + // 用户角色关系创建 + refUserRole = new RefUserRole(sysUser.getId(), role.getId(), role.getName()); + refUserRoles.add(refUserRole); + } + + refUserRoleRDao.saveAll(refUserRoles); + // 角色名称冗余 + model.getUserInfo().setRedRoleNames(roleNames.substring(1, roleNames.length())); + } + } + + /** + * 刷新用户部门关系 + * @param model + * @param sysUser + */ + private void refreshRefUserDepartment(UserModel model, SysUser sysUser) { + // 用户部门操作 + refUserDepartmentRDao.deleteByProperties("userId", sysUser.getId()); //删除用户部门关系 + if (null != model.getDepartments() && model.getDepartments().size() > 0) { + + List refUserDepartments = new ArrayList<>(); + StringBuffer departmentNames = new StringBuffer(); + RefUserDepartment refUserDepartment = null; + + for (Department department : model.getDepartments()) { + departmentNames.append("," + department.getDepartmentName()); + + // 用户部门关系创建 + refUserDepartment = new RefUserDepartment(sysUser.getId(), department.getId(), department.getDepartmentName()); + refUserDepartments.add(refUserDepartment); + } + + refUserDepartmentRDao.save(refUserDepartment); + // 部门名称冗余 + model.getUserInfo().setRedDepartmentNames(departmentNames.substring(1, departmentNames.length())); + } + } + + + /** + * 刷新用户岗位关系 + * @param model + * @param sysUser + */ + private void refreshRefUserPosition(UserModel model, SysUser sysUser) { + refUserPositionRDao.deleteByProperties("userId", sysUser.getId()); //删除用户部门关系 + if (null != model.getPositions() && model.getPositions().size() > 0) { + + List refUserPositions = new ArrayList<>(); + StringBuffer positionNames = new StringBuffer(); + RefUserPosition refUserPosition = null; + for (Position position : model.getPositions()) { + positionNames.append("," + position.getPositionName()); + + // 用户岗位关系创建 + refUserPosition = new RefUserPosition(sysUser.getId(), position.getId(), position.getPositionName()); + refUserPositions.add(refUserPosition); + } + + refUserPositionRDao.saveAll(refUserPositions); + // 岗位名称冗余 + model.getUserInfo().setRedPositionNames(positionNames.substring(1, positionNames.length())); + } + } + + + /** + * 部门真实性校验 + * @param department + */ + private void checkDepartment(Department department) { + if (null == department) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode()) + .setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode()) + .setErrorDetail("部门不存在") + .setErrorSolution("请重新输入部门信息") + .build(); + } + } + + /** + * 岗位真实性 校验 + * @param position + */ + private void checkPosition(Position position) { + if (null == position) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode()) + .setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode()) + .setErrorDetail("岗位不存在") + .setErrorSolution("请重新输入岗位信息") + .build(); + } + } + + /** + * 角色真实信息校验 + * @param sysRole + */ + private void checkSysRole(SysRole sysRole) { + if (null == sysRole) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode()) + .setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode()) + .setErrorDetail("角色不存在") + .setErrorSolution("请重新输入角色信息") + .build(); + } + } + + /** + * 组织真实性校验 + * @param organize + */ + private void checkOrganize(Organize organize) { + if (null == organize) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.IMPP.getCode()) + .setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode()) + .setErrorDetail("部门的组织不存在") + .setErrorSolution("请先完善组织信息") + .build(); + } + + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TaskTimeExpressionServiceImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TaskTimeExpressionServiceImpl.java new file mode 100644 index 0000000..8396f98 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TaskTimeExpressionServiceImpl.java @@ -0,0 +1,62 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ITaskTimeExpressionService; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysRole; +import cn.estsh.i3plus.pojo.platform.bean.TaskTimeExpression; +import cn.estsh.i3plus.pojo.platform.repository.TaskTimeExpressionRepository; +import cn.estsh.i3plus.pojo.platform.repository.TaskTimeRecordingRepository; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Description : 定时任务时间表达式 业务逻辑实现 + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-24 20:40 + * @Modify : + **/ +@Service +public class TaskTimeExpressionServiceImpl implements ITaskTimeExpressionService { + + public static final Logger LOGGER = LoggerFactory.getLogger(TaskTimeExpressionServiceImpl.class); + + @Autowired + private TaskTimeExpressionRepository taskTimeRecordingRDao; + + @Override + public void updateTaskTimeExpression(TaskTimeExpression taskTimeExpression) { + LOGGER.info("定时任务时间表达式 Task_TIME_EXPRESSION :{}", taskTimeExpression); + taskTimeRecordingRDao.update(taskTimeExpression); + } + + @Override + public void deleteTaskTimeExpressionById(String id) { + LOGGER.info("定时任务时间表达式 Task_TIME_EXPRESSION :{}", id); + taskTimeRecordingRDao.deleteById(Long.parseLong(id)); + } + + @Override + public TaskTimeExpression insertTaskTimeExpression(TaskTimeExpression taskTimeExpression) { + LOGGER.info("定时任务时间表达式 Task_TIME_EXPRESSION :{}", taskTimeExpression); + return taskTimeRecordingRDao.insert(taskTimeExpression); + } + + @Override + public List findTaskTimeExpressionAll() { + LOGGER.info("定时任务时间表达式 Task_TIME_EXPRESSION find All"); + return taskTimeRecordingRDao.findAll(); + } + + @Override + public TaskTimeExpression getTaskTimeExpressionById(String id) { + LOGGER.info("定时任务时间表达式 Task_TIME_EXPRESSION :{}" ,id); + return taskTimeRecordingRDao.getById(Long.parseLong(id)); + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TaskTimeRecordingServiceImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TaskTimeRecordingServiceImpl.java new file mode 100644 index 0000000..de60350 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TaskTimeRecordingServiceImpl.java @@ -0,0 +1,61 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ITaskTimeRecordingService; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.i3plus.pojo.platform.bean.TaskTimeRecording; +import cn.estsh.i3plus.pojo.platform.repository.TaskTimeRecordingRepository; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Description : 定时任务执行记录业务接口实现 + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-22 16:58:44.011 + * @Modify : + **/ +@Service +public class TaskTimeRecordingServiceImpl implements ITaskTimeRecordingService { + + public static final Logger LOGGER = LoggerFactory.getLogger(TaskTimeRecordingServiceImpl.class); + + @Autowired + private TaskTimeRecordingRepository taskTimeRecordingRDao; + + @Override + public void updateTaskTimedRecording(TaskTimeRecording taskTimeRecording) { + LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING :{}", taskTimeRecording); + taskTimeRecordingRDao.update(taskTimeRecording); + } + + @Override + public void deleteTaskTimedRecordingById(String id) { + LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING Key:{}", id); + taskTimeRecordingRDao.deleteById(Long.parseLong(id)); + } + + @Override + public TaskTimeRecording insertTaskTimedRecording(TaskTimeRecording taskTimeRecording) { + LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING :{}", taskTimeRecording); + return taskTimeRecordingRDao.insert(taskTimeRecording); + } + + @Override + public List findTaskTimedRecordingAll() { + LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING find All"); + return taskTimeRecordingRDao.findAll(); + } + + @Override + public TaskTimeRecording getTaskTimedRecordingById(String id) { + LOGGER.info("定时任务执行记录 TASK_TIMED_RECORDING find id:{}", id); + return taskTimeRecordingRDao.getOne(Long.parseLong(id)); + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TaskTimeServiceImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TaskTimeServiceImpl.java new file mode 100644 index 0000000..ac1df92 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TaskTimeServiceImpl.java @@ -0,0 +1,71 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ITaskTimeService; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.i3plus.pojo.platform.bean.SysMenu; +import cn.estsh.i3plus.pojo.platform.bean.TaskTime; +import cn.estsh.i3plus.pojo.platform.repository.TaskTimeRepository; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Description : 定时任务业务接口实现 + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-22 16:58:43.974 + * @Modify : + **/ +@Service +public class TaskTimeServiceImpl implements ITaskTimeService { + + public static final Logger LOGGER = LoggerFactory.getLogger(TaskTimeServiceImpl.class); + + @Autowired + private TaskTimeRepository taskTimeRDao; + + @Override + public void updateTaskTimed(TaskTime taskTime) { + LOGGER.info("定时任务 TASK_TIMED :{}", taskTime); + taskTimeRDao.update(taskTime); + } + + @Override + public void updateTaskTimedStatus(String id, int status, SessionUser user) { + LOGGER.info("定时任务 SYS_MENU id:{} status:{} user:{}", id,status,user); + TaskTime taskTime = taskTimeRDao.getById(Long.parseLong(id)); + taskTime.setTaskStatus(status); + taskTime.setModifyUser(user.getUserName()); + taskTimeRDao.update(taskTime); + } + + @Override + public void deleteTaskTimedById(String id) { + LOGGER.info("定时任务 TASK_TIMED Key:{}", id); + taskTimeRDao.deleteById(Long.parseLong(id)); + } + + @Override + public TaskTime insertTaskTimed(TaskTime taskTime) { + LOGGER.info("定时任务 TASK_TIMED :{}", taskTime); + return taskTimeRDao.insert(taskTime); + } + + @Override + public List findTaskTimedAll() { + LOGGER.info("定时任务 TASK_TIMED find All"); + return taskTimeRDao.findAll(); + } + + @Override + public TaskTime getTaskTimedById(String id) { + LOGGER.info("定时任务 TASK_TIMED find id:{}", id); + return taskTimeRDao.getOne(Long.parseLong(id)); + } +}