From d8bc8186df506f0723fced7c6f746e54e035e2df Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Thu, 22 Nov 2018 13:16:03 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiservice/controller/DemoMongoController.java | 10 ++++---- .../controller/DemoResourceController.java | 14 +++++------ .../controller/DemoTreeAndExceptionController.java | 4 ++-- .../controller/DemoUploadController.java | 2 +- .../apiservice/controller/base/AuthController.java | 2 +- .../controller/busi/SysConfigController.java | 12 +++++----- .../controller/busi/SysDepartmentController.java | 14 +++++------ .../controller/busi/SysDictionaryController.java | 18 +++++++------- .../controller/busi/SysFileController.java | 14 +++++------ .../busi/SysLocaleLanguageController.java | 18 +++++++------- .../busi/SysLocaleResourceController.java | 14 +++++------ .../controller/busi/SysLogExceptionController.java | 2 +- .../controller/busi/SysLogOperateController.java | 10 ++++---- .../controller/busi/SysLogSystemController.java | 10 ++++---- .../controller/busi/SysMenuController.java | 18 +++++++------- .../controller/busi/SysMessageController.java | 18 +++++++------- .../controller/busi/SysOrderNoRuleController.java | 10 ++++---- .../controller/busi/SysOrganizeController.java | 14 +++++------ .../controller/busi/SysPositionController.java | 14 +++++------ .../controller/busi/SysRoleController.java | 24 +++++++++---------- .../controller/busi/SysTaskTimeController.java | 20 ++++++++-------- .../busi/SysTaskTimeExpressionController.java | 14 +++++------ .../controller/busi/SysToolController.java | 18 +++++++------- .../controller/busi/SysToolTypeController.java | 14 +++++------ .../controller/busi/SysTreeController.java | 18 +++++++------- .../controller/busi/SysUserController.java | 20 ++++++++-------- .../controller/busi/SysUserInfoController.java | 24 +++++++++---------- .../serviceimpl/busi/SysUserService.java | 28 +++++++++++++--------- 28 files changed, 202 insertions(+), 196 deletions(-) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoMongoController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoMongoController.java index 8ecb7e0..d051389 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoMongoController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoMongoController.java @@ -41,7 +41,7 @@ public class DemoMongoController extends CoreBaseController{ return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()).build(); + return ResultBean.fail(busExcep).build(); }catch(Exception e){ LOGGER.error(e.getMessage(),e); return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -60,7 +60,7 @@ public class DemoMongoController extends CoreBaseController{ return ResultBean.success("删除日志成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()).build(); + return ResultBean.fail(busExcep).build(); }catch(Exception e){ return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } @@ -74,7 +74,7 @@ public class DemoMongoController extends CoreBaseController{ return ResultBean.success("操作成功").setResultList(logList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -93,7 +93,7 @@ public class DemoMongoController extends CoreBaseController{ return ResultBean.success("操作成功").setResultList(logList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -108,7 +108,7 @@ public class DemoMongoController extends CoreBaseController{ return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoResourceController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoResourceController.java index a72e85e..3016a5b 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoResourceController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoResourceController.java @@ -77,7 +77,7 @@ public class DemoResourceController extends CoreBaseController { return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()).build(); + return ResultBean.fail(busExcep).build(); }catch(Exception e){ LOGGER.error(e.getMessage(),e); return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -107,7 +107,7 @@ public class DemoResourceController extends CoreBaseController { return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()).build(); + return ResultBean.fail(busExcep).build(); }catch(Exception e){ return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } @@ -121,7 +121,7 @@ public class DemoResourceController extends CoreBaseController { return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -148,7 +148,7 @@ public class DemoResourceController extends CoreBaseController { .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -165,7 +165,7 @@ public class DemoResourceController extends CoreBaseController { .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -190,7 +190,7 @@ public class DemoResourceController extends CoreBaseController { .setResultObject(res); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -213,7 +213,7 @@ public class DemoResourceController extends CoreBaseController { return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoTreeAndExceptionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoTreeAndExceptionController.java index 1304de9..3f8b9f4 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoTreeAndExceptionController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoTreeAndExceptionController.java @@ -50,7 +50,7 @@ public class DemoTreeAndExceptionController extends CoreBaseController{ .setResultObject(department); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -90,7 +90,7 @@ public class DemoTreeAndExceptionController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ //业务异常 - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ //其他异常 return ImppExceptionBuilder.newInstance().buildExceptionResult(e); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoUploadController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoUploadController.java index 3c1915c..57161c3 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoUploadController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoUploadController.java @@ -62,7 +62,7 @@ public class DemoUploadController extends CoreBaseController{ return ResultBean.success("上传成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(dfsFile); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java index f0d91d0..67a8087 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java @@ -137,7 +137,7 @@ public class AuthController extends CoreBaseController { .setResultList(listTree); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java index 7b189be..430009c 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java @@ -59,7 +59,7 @@ public class SysConfigController extends CoreBaseController { return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -74,7 +74,7 @@ public class SysConfigController extends CoreBaseController { return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -102,7 +102,7 @@ public class SysConfigController extends CoreBaseController { return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -119,7 +119,7 @@ public class SysConfigController extends CoreBaseController { .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -139,7 +139,7 @@ public class SysConfigController extends CoreBaseController { } }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -156,7 +156,7 @@ public class SysConfigController extends CoreBaseController { .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDepartmentController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDepartmentController.java index d3f09ea..3603d7f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDepartmentController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDepartmentController.java @@ -64,7 +64,7 @@ public class SysDepartmentController extends CoreBaseController { return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -94,7 +94,7 @@ public class SysDepartmentController extends CoreBaseController { return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -112,7 +112,7 @@ public class SysDepartmentController extends CoreBaseController { return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -128,7 +128,7 @@ public class SysDepartmentController extends CoreBaseController { .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -150,7 +150,7 @@ public class SysDepartmentController extends CoreBaseController { .setResultObject(department); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -167,7 +167,7 @@ public class SysDepartmentController extends CoreBaseController { .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -191,7 +191,7 @@ public class SysDepartmentController extends CoreBaseController { .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java index 4315ad3..efd4fc1 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDictionaryController.java @@ -61,7 +61,7 @@ public class SysDictionaryController extends CoreBaseController{ return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -88,7 +88,7 @@ public class SysDictionaryController extends CoreBaseController{ return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -106,7 +106,7 @@ public class SysDictionaryController extends CoreBaseController{ return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -122,7 +122,7 @@ public class SysDictionaryController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -145,7 +145,7 @@ public class SysDictionaryController extends CoreBaseController{ } catch (ImppBusiException busExcep) { busExcep.printStackTrace(); LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { e.printStackTrace(); LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); @@ -162,7 +162,7 @@ public class SysDictionaryController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -177,7 +177,7 @@ public class SysDictionaryController extends CoreBaseController{ return ResultBean.success("查询成功").setListPager(sysDictionaryListPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -194,7 +194,7 @@ public class SysDictionaryController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -216,7 +216,7 @@ public class SysDictionaryController extends CoreBaseController{ return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java index 463b062..23d213c 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java @@ -70,7 +70,7 @@ public class SysFileController extends CoreBaseController{ return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -85,7 +85,7 @@ public class SysFileController extends CoreBaseController{ return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -102,7 +102,7 @@ public class SysFileController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -119,7 +119,7 @@ public class SysFileController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -134,7 +134,7 @@ public class SysFileController extends CoreBaseController{ return ResultBean.success("查询成功").setListPager(sysFileListPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -157,7 +157,7 @@ public class SysFileController extends CoreBaseController{ return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -207,7 +207,7 @@ public class SysFileController extends CoreBaseController{ return ResultBean.success("上传成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(fileDb); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java index d3e5206..66c03ab 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleLanguageController.java @@ -54,7 +54,7 @@ public class SysLocaleLanguageController extends CoreBaseController { sysLocaleLanguageService.insertSysLocaleLanguage(sysLocaleLanguage); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -73,7 +73,7 @@ public class SysLocaleLanguageController extends CoreBaseController { sysLocaleLanguageService.updateSysLocaleLanguage(sysLocaleLanguage); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -89,7 +89,7 @@ public class SysLocaleLanguageController extends CoreBaseController { sysLocaleLanguageService.deleteSysLocaleLanguageById(Long.parseLong(idStr)); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -102,7 +102,7 @@ public class SysLocaleLanguageController extends CoreBaseController { List sysLocaleLanguageList = sysLocaleLanguageService.listSysLocaleLanguage(); return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(sysLocaleLanguageList); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -115,7 +115,7 @@ public class SysLocaleLanguageController extends CoreBaseController { ListPager sysLocaleLanguageListPager = sysLocaleLanguageService.querySysLocaleLanguageByPager(sysLocaleLanguage,pager); return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(sysLocaleLanguageListPager); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -131,7 +131,7 @@ public class SysLocaleLanguageController extends CoreBaseController { sysLocaleLanguageService.updateSysLocaleLanguageDefaultById(Long.parseLong(idStr)); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -152,7 +152,7 @@ public class SysLocaleLanguageController extends CoreBaseController { sysLocaleLanguageService.deleteSysLocaleLanguageByIds(StringTool.getArrayLong(idsStr)); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -169,7 +169,7 @@ public class SysLocaleLanguageController extends CoreBaseController { sysLocaleLanguageService.updateSysLocaleLanguageStatusById(Long.parseLong(idStr),status); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -191,7 +191,7 @@ public class SysLocaleLanguageController extends CoreBaseController { sysLocaleLanguageService.updateSysLocaleLanguageStatusByIds(StringTool.getArrayLong(idsStr),status); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java index 1f7978a..c6ba0cf 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java @@ -67,7 +67,7 @@ public class SysLocaleResourceController extends CoreBaseController { redisRes.putHashMap(sysLocaleResource.getResourceKey(),resource,0); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -96,7 +96,7 @@ public class SysLocaleResourceController extends CoreBaseController { redisRes.putHashMap(sysLocaleResource.getResourceKey(),resource,0); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -112,7 +112,7 @@ public class SysLocaleResourceController extends CoreBaseController { sysLocaleResourceService.deleteSysLocaleResourceById(Long.parseLong(idStr)); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -125,7 +125,7 @@ public class SysLocaleResourceController extends CoreBaseController { List sysLocaleLanguageList = sysLocaleResourceService.listSysLocaleResource(); return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(sysLocaleLanguageList); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -138,7 +138,7 @@ public class SysLocaleResourceController extends CoreBaseController { ListPager sysLocaleLanguageListPager = sysLocaleResourceService.querySysLocaleResourceByPager(sysLocaleResource,pager); return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(sysLocaleLanguageListPager); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -159,7 +159,7 @@ public class SysLocaleResourceController extends CoreBaseController { sysLocaleResourceService.deleteSysLocaleResourceByIds(StringTool.getArrayLong(idsStr)); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -180,7 +180,7 @@ public class SysLocaleResourceController extends CoreBaseController { sysLocaleResourceService.insertSysLocaleResourceList(sysLocaleResourcesList); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogExceptionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogExceptionController.java index b8722ba..d1bb494 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogExceptionController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogExceptionController.java @@ -41,7 +41,7 @@ public class SysLogExceptionController { ListPager logExceptionList = sysLogExceptionService.querySysLogExceptionByPager(sysLogException, pager); return ResultBean.success("查询成功").setListPager(logExceptionList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogOperateController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogOperateController.java index 9caf6cc..d16a574 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogOperateController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogOperateController.java @@ -43,7 +43,7 @@ public class SysLogOperateController extends CoreBaseController { logOperateService.insertSysLogOperate(logOperate); return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -59,7 +59,7 @@ public class SysLogOperateController extends CoreBaseController { logOperateService.deleteSysLogOperateById(Long.parseLong(id)); return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -72,7 +72,7 @@ public class SysLogOperateController extends CoreBaseController { List logOperateList = logOperateService.listSysLogOperate(); return ResultBean.success("查询成功").setResultList(logOperateList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -93,7 +93,7 @@ public class SysLogOperateController extends CoreBaseController { .setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); } }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -106,7 +106,7 @@ public class SysLogOperateController extends CoreBaseController { ListPager logSystemList = logOperateService.querySysLogOperateByPager(logOperate, pager); return ResultBean.success("查询成功").setListPager(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogSystemController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogSystemController.java index 953468f..2941e13 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogSystemController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogSystemController.java @@ -43,7 +43,7 @@ public class SysLogSystemController extends CoreBaseController{ logSystemService.insertSysLogSystem(logSystem); return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -59,7 +59,7 @@ public class SysLogSystemController extends CoreBaseController{ logSystemService.deleteSysLogSystemById(Long.parseLong(id)); return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -72,7 +72,7 @@ public class SysLogSystemController extends CoreBaseController{ List logSystemList = logSystemService.listSysLogSystem(); return ResultBean.success("查询成功").setResultList(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -85,7 +85,7 @@ public class SysLogSystemController extends CoreBaseController{ SysLogSystem logSystem = logSystemService.getSysLogSystemById(Long.parseLong(id)); return ResultBean.success("查询成功").setResultObject(logSystem).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -104,7 +104,7 @@ public class SysLogSystemController extends CoreBaseController{ ListPager logSystemList = logSystemService.querySysLogSystemByPager(logSystem, pager); return ResultBean.success("查询成功").setListPager(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java index 0349226..a926a31 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 @@ -61,7 +61,7 @@ public class SysMenuController extends CoreBaseController { 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(); + return ResultBean.fail(busExcep).build(); } catch (Exception e) { return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } @@ -84,7 +84,7 @@ public class SysMenuController extends CoreBaseController { return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()).build(); + return ResultBean.fail(busExcep).build(); } catch (Exception e) { return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } @@ -101,7 +101,7 @@ public class SysMenuController extends CoreBaseController { return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -118,7 +118,7 @@ public class SysMenuController extends CoreBaseController { .setResultList(list); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -135,7 +135,7 @@ public class SysMenuController extends CoreBaseController { .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -156,7 +156,7 @@ public class SysMenuController extends CoreBaseController { .setResultObject(sysMenu); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -176,7 +176,7 @@ public class SysMenuController extends CoreBaseController { return new ResultBean(true); } catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -197,7 +197,7 @@ public class SysMenuController extends CoreBaseController { return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -221,7 +221,7 @@ public class SysMenuController extends CoreBaseController { .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java index 9d69e62..3760b9f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java @@ -68,7 +68,7 @@ public class SysMessageController extends CoreBaseController { return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -86,7 +86,7 @@ public class SysMessageController extends CoreBaseController { return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -110,7 +110,7 @@ public class SysMessageController extends CoreBaseController { return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -125,7 +125,7 @@ public class SysMessageController extends CoreBaseController { return ResultBean.success("查询成功").setResultList(sysMessageList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -144,7 +144,7 @@ public class SysMessageController extends CoreBaseController { } }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -159,7 +159,7 @@ public class SysMessageController extends CoreBaseController { return ResultBean.success("查询成功").setListPager(sysMessageListPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -177,7 +177,7 @@ public class SysMessageController extends CoreBaseController { // return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // }catch(ImppBusiException busExcep){ // LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); -// return ResultBean.fail(busExcep.getErrorShow()); +// return ResultBean.fail(busExcep); // }catch(Exception e){ // LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); // return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -201,7 +201,7 @@ public class SysMessageController extends CoreBaseController { return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -226,7 +226,7 @@ public class SysMessageController extends CoreBaseController { // return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); // }catch(ImppBusiException busExcep){ // LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); -// return ResultBean.fail(busExcep.getErrorShow()); +// return ResultBean.fail(busExcep); // }catch(Exception e){ // LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); // return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java index 31764fb..6f040fa 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java @@ -45,7 +45,7 @@ public class SysOrderNoRuleController { sysOrderNoRuleService.insertSysOrderNoRule(sysOrderNoRule); return ResultBean.success("操作成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -68,7 +68,7 @@ public class SysOrderNoRuleController { sysOrderNoRuleService.updateSysOrderNoRule(sysOrderNoRule); return ResultBean.success("操作成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -87,7 +87,7 @@ public class SysOrderNoRuleController { return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); } }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -102,7 +102,7 @@ public class SysOrderNoRuleController { sysOrderNoRuleService.deleteSysOrderNoRuleById(Long.parseLong(idStr)); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -123,7 +123,7 @@ public class SysOrderNoRuleController { } return ResultBean.success("查询成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java index d7b6ea2..8c80bbb 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java @@ -87,7 +87,7 @@ public class SysOrganizeController extends CoreBaseController{ return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()).build(); + return ResultBean.fail(busExcep).build(); } catch (Exception e) { return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } @@ -104,7 +104,7 @@ public class SysOrganizeController extends CoreBaseController{ return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -121,7 +121,7 @@ public class SysOrganizeController extends CoreBaseController{ .setResultList(list); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -138,7 +138,7 @@ public class SysOrganizeController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -159,7 +159,7 @@ public class SysOrganizeController extends CoreBaseController{ .setResultObject(organize); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { e.printStackTrace(); LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); @@ -179,7 +179,7 @@ public class SysOrganizeController extends CoreBaseController{ return new ResultBean(true); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -204,7 +204,7 @@ public class SysOrganizeController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java index bebc80d..7b419bf 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java @@ -63,7 +63,7 @@ public class SysPositionController extends CoreBaseController { .setResultObject(pos); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -93,7 +93,7 @@ public class SysPositionController extends CoreBaseController { return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -111,7 +111,7 @@ public class SysPositionController extends CoreBaseController { return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -127,7 +127,7 @@ public class SysPositionController extends CoreBaseController { .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -143,7 +143,7 @@ public class SysPositionController extends CoreBaseController { .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -165,7 +165,7 @@ public class SysPositionController extends CoreBaseController { .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -189,7 +189,7 @@ public class SysPositionController extends CoreBaseController { .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java index 2d06531..d14399b 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 @@ -60,7 +60,7 @@ public class SysRoleController extends CoreBaseController{ 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()).build(); + return ResultBean.fail(busExcep).build(); } catch (Exception e) { return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } @@ -81,7 +81,7 @@ public class SysRoleController extends CoreBaseController{ return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()).build(); + return ResultBean.fail(busExcep).build(); } catch (Exception e) { return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } @@ -98,7 +98,7 @@ public class SysRoleController extends CoreBaseController{ return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -115,7 +115,7 @@ public class SysRoleController extends CoreBaseController{ .setResultList(list); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -134,7 +134,7 @@ public class SysRoleController extends CoreBaseController{ .setResultList(list); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -151,7 +151,7 @@ public class SysRoleController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -172,7 +172,7 @@ public class SysRoleController extends CoreBaseController{ .setResultObject(role); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -191,7 +191,7 @@ public class SysRoleController extends CoreBaseController{ return new ResultBean(true); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -213,7 +213,7 @@ public class SysRoleController extends CoreBaseController{ return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -234,7 +234,7 @@ public class SysRoleController extends CoreBaseController{ return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -265,7 +265,7 @@ public class SysRoleController extends CoreBaseController{ return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -289,7 +289,7 @@ public class SysRoleController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskTimeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskTimeController.java index a1b12ad..7adb54f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskTimeController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskTimeController.java @@ -77,7 +77,7 @@ public class SysTaskTimeController extends CoreBaseController{ 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()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -115,7 +115,7 @@ public class SysTaskTimeController extends CoreBaseController{ 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()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -133,7 +133,7 @@ public class SysTaskTimeController extends CoreBaseController{ return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -150,7 +150,7 @@ public class SysTaskTimeController extends CoreBaseController{ .setResultList(list); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -171,7 +171,7 @@ public class SysTaskTimeController extends CoreBaseController{ .setResultObject(taskTime); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -190,7 +190,7 @@ public class SysTaskTimeController extends CoreBaseController{ return new ResultBean(true); } catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -205,7 +205,7 @@ public class SysTaskTimeController extends CoreBaseController{ return ResultBean.success("查询成功").setListPager(taskTimeListPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -228,7 +228,7 @@ public class SysTaskTimeController extends CoreBaseController{ return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -253,7 +253,7 @@ public class SysTaskTimeController extends CoreBaseController{ return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -271,7 +271,7 @@ public class SysTaskTimeController extends CoreBaseController{ return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskTimeExpressionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskTimeExpressionController.java index 93bb32e..5049f3a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskTimeExpressionController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTaskTimeExpressionController.java @@ -54,7 +54,7 @@ public class SysTaskTimeExpressionController extends CoreBaseController{ return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -76,7 +76,7 @@ public class SysTaskTimeExpressionController extends CoreBaseController{ return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -94,7 +94,7 @@ public class SysTaskTimeExpressionController extends CoreBaseController{ return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -111,7 +111,7 @@ public class SysTaskTimeExpressionController extends CoreBaseController{ .setResultList(list); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -132,7 +132,7 @@ public class SysTaskTimeExpressionController extends CoreBaseController{ .setResultObject(taskTimeExpression); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -147,7 +147,7 @@ public class SysTaskTimeExpressionController extends CoreBaseController{ return ResultBean.success("查询成功").setListPager(taskTimeExpressionListPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -170,7 +170,7 @@ public class SysTaskTimeExpressionController extends CoreBaseController{ return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysToolController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysToolController.java index 5098e47..d20aba2 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysToolController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysToolController.java @@ -65,7 +65,7 @@ public class SysToolController extends CoreBaseController{ return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -95,7 +95,7 @@ public class SysToolController extends CoreBaseController{ return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -112,7 +112,7 @@ public class SysToolController extends CoreBaseController{ return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -128,7 +128,7 @@ public class SysToolController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -153,7 +153,7 @@ public class SysToolController extends CoreBaseController{ } }catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -170,7 +170,7 @@ public class SysToolController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -185,7 +185,7 @@ public class SysToolController extends CoreBaseController{ return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -207,7 +207,7 @@ public class SysToolController extends CoreBaseController{ return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -229,7 +229,7 @@ public class SysToolController extends CoreBaseController{ return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysToolTypeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysToolTypeController.java index b165a84..93e00c3 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysToolTypeController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysToolTypeController.java @@ -58,7 +58,7 @@ public class SysToolTypeController extends CoreBaseController{ return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -82,7 +82,7 @@ public class SysToolTypeController extends CoreBaseController{ return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -99,7 +99,7 @@ public class SysToolTypeController extends CoreBaseController{ return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -115,7 +115,7 @@ public class SysToolTypeController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -140,7 +140,7 @@ public class SysToolTypeController extends CoreBaseController{ } }catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -157,7 +157,7 @@ public class SysToolTypeController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -179,7 +179,7 @@ public class SysToolTypeController extends CoreBaseController{ return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTreeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTreeController.java index 6e092c7..de029c9 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTreeController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysTreeController.java @@ -55,7 +55,7 @@ public class SysTreeController extends CoreBaseController { .setResultObject(position); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -74,7 +74,7 @@ public class SysTreeController extends CoreBaseController { .setResultList(positionList); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -92,7 +92,7 @@ public class SysTreeController extends CoreBaseController { .setResultObject(obj); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -110,7 +110,7 @@ public class SysTreeController extends CoreBaseController { .setResultList(resultList); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -128,7 +128,7 @@ public class SysTreeController extends CoreBaseController { .setResultObject(obj); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -146,7 +146,7 @@ public class SysTreeController extends CoreBaseController { .setResultList(resultList); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -165,7 +165,7 @@ public class SysTreeController extends CoreBaseController { .setResultObject(obj); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -183,7 +183,7 @@ public class SysTreeController extends CoreBaseController { .setResultList(resultList); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -201,7 +201,7 @@ public class SysTreeController extends CoreBaseController { .setResultList(resultList); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java index 7ee0268..6ff19e5 100644 --- 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 @@ -95,7 +95,7 @@ public class SysUserController extends CoreBaseController{ .setResultObject(user); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -163,7 +163,7 @@ public class SysUserController extends CoreBaseController{ .setResultObject(user); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -182,7 +182,7 @@ public class SysUserController extends CoreBaseController{ return new ResultBean(true); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -204,7 +204,7 @@ public class SysUserController extends CoreBaseController{ return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -225,7 +225,7 @@ public class SysUserController extends CoreBaseController{ return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -242,7 +242,7 @@ public class SysUserController extends CoreBaseController{ .setResultList(list); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -265,7 +265,7 @@ public class SysUserController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -283,7 +283,7 @@ public class SysUserController extends CoreBaseController{ return ResultBean.success().setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -308,7 +308,7 @@ public class SysUserController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -326,7 +326,7 @@ public class SysUserController extends CoreBaseController{ .setResultList(list); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java index 5360755..fb68c8a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java @@ -20,6 +20,7 @@ import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; +import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; @@ -67,13 +68,14 @@ public class SysUserInfoController extends CoreBaseController{ .notNull("name",userInfo.getName()) .notNull("userEmpNo",userInfo.getUserEmpNo()) .checkNotZero("departmentId",userInfo.getDepartmentId()) + .checkNotZero("departmentIdList",userInfo.getDepartmentIdList()) .checkNotZero("positionId",userInfo.getPositionId()); ConvertBean.modelInitialize(userInfo,user); SysUserInfo pos = sysUserInfoService.insertSysUserInfo(userInfo); sysUserInfoService.refreshRefUserDepartment(pos.getId(), - new Long[]{userInfo.getDepartmentId()}, + StringTool.getArrayLong(userInfo.getDepartmentIdList()), user.getUserName()); sysUserInfoService.refreshRefUserPosition(pos.getId(), @@ -86,11 +88,10 @@ public class SysUserInfoController extends CoreBaseController{ department.getOrganizeId(),user.getUserName()); } - return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) - .setResultObject(pos); + return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(pos); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -115,11 +116,10 @@ public class SysUserInfoController extends CoreBaseController{ //修改初始化 ConvertBean.modelUpdate(userInfo,user); - sysUserInfoService.updateSysUserInfo(userInfo); sysUserInfoService.refreshRefUserDepartment(userInfo.getId(), - new Long[]{userInfo.getDepartmentId()}, user.getUserName()); + StringTool.getArrayLong(userInfo.getDepartmentIdList()), user.getUserName()); sysUserInfoService.refreshRefUserPosition(userInfo.getId(), new Long[]{userInfo.getPositionId()}, user.getUserName()); @@ -133,7 +133,7 @@ public class SysUserInfoController extends CoreBaseController{ return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -151,7 +151,7 @@ public class SysUserInfoController extends CoreBaseController{ return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); } catch (Exception e) { LOGGER.error(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getDescription() + ":{}", e.getMessage(), e); return ResultBean.fail().setCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()); @@ -167,7 +167,7 @@ public class SysUserInfoController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -183,7 +183,7 @@ public class SysUserInfoController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -205,7 +205,7 @@ public class SysUserInfoController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); @@ -229,7 +229,7 @@ public class SysUserInfoController extends CoreBaseController{ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java index 1e63db5..bde87e0 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java @@ -324,20 +324,27 @@ public class SysUserService implements ISysUserService { LOGGER.debug("平台用户 SYS_USER user id :{}", user.getId()); SysUserInfo userInfo = sysUserInfoRDao.getById(user.getUserInfoId()); + if(userInfo == null){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.LOGIN_EXCEPTION.getCode()) + .setErrorDetail("用户信息不存在") + .setErrorSolution("请联系管理员") + .build(); + } + packSysUserRole(sessionUser,user); //封装用户角色信息 packSysUserMenu(sessionUser,user); //封装用户功能信息 - if(userInfo != null){ - packSysUserDepartment(sessionUser,userInfo); //封装用户部门信息 - packSysUserPosition(sessionUser,userInfo); //封装用户岗位信息 - packSysUserOrganize(sessionUser,userInfo); //封装用户组织信息 + packSysUserDepartment(sessionUser,userInfo); //封装用户部门信息 + packSysUserPosition(sessionUser,userInfo); //封装用户岗位信息 + packSysUserOrganize(sessionUser,userInfo); //封装用户组织信息 - userInfo.setUser(user); - sessionUser.setUserName(userInfo.getName()); - sessionUser.setUserCode(userInfo.getUserEmpNo()); - sessionUser.setUserId(userInfo.getId()); - sessionUser.setUserInfo(userInfo); - } + userInfo.setUser(user); + sessionUser.setUserName(userInfo.getName()); + sessionUser.setUserCode(userInfo.getUserEmpNo()); + sessionUser.setUserId(userInfo.getId()); + sessionUser.setUserInfo(userInfo); sessionUser.setUserType(CommonEnumUtil.USER_TYPE.valueOf(userType)); sessionUser.setLanguageCode(languageCode); @@ -418,7 +425,6 @@ public class SysUserService implements ISysUserService { userInfo.setPosition(sysPositionRDao.getById(userInfo.getPositionId())); }catch (Exception e){ LOGGER.error(" SysUser Peck Position information Error userId : {} Exception Message : {} " ,userInfo.getId(),e.getMessage()); - e.printStackTrace(); } } From 22f9126b2cea7a431a6267c09611a9aea667287e Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Thu, 22 Nov 2018 21:58:43 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=A1=AB=E5=85=85?= =?UTF-8?q?=E4=BF=A1=E6=81=AFBug=20=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/api/iservice/busi/ISysMessageService.java | 2 +- .../apiservice/controller/DemoCloudController.java | 4 +- .../apiservice/controller/base/AuthController.java | 2 +- .../controller/busi/SysConfigController.java | 18 ++--- .../controller/busi/SysFileController.java | 79 ++++++++++++++++++++- .../controller/busi/SysMessageController.java | 4 +- .../controller/busi/SysUserController.java | 63 ++++++++++++++-- .../controller/busi/SysUserInfoController.java | 1 + .../core/apiservice/mq/MailQueueReceiver.java | 5 +- .../serviceimpl/busi/SysMessageService.java | 2 +- .../serviceimpl/busi/SysUserService.java | 2 +- .../i3plus/core/apiservice/util/MailUtil.java | 2 +- .../src/main/resources/init/permission-test.xlsx | Bin 47201 -> 47208 bytes .../src/main/resources/init/permission.xlsx | Bin 40388 -> 40838 bytes .../serviceimpl/busi/TestExcelPermission.java | 8 +-- .../i3plus/core/apiservice/util/TestMailUtil.java | 2 +- 16 files changed, 158 insertions(+), 36 deletions(-) diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMessageService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMessageService.java index cb27dd6..9b7003e 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMessageService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMessageService.java @@ -86,5 +86,5 @@ public interface ISysMessageService { * @param sysMessage * @return */ - void sendSysMessage(SysMessage sysMessage); + void doSendSysMessage(SysMessage sysMessage); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java index 7ee4fcc..1c402d5 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoCloudController.java @@ -43,12 +43,12 @@ public class DemoCloudController { LOGGER.error("XXXX --> post调用出错:" + e.getMessage(),e); } try { - iCoreDemoCloud.testPut("testPut = " + test,"name"); +// iCoreDemoCloud.testPut("testPut = " + test,"name"); }catch (Exception e){ LOGGER.error("XXXX --> testPut调用出错:" + e.getMessage(),e); } try { - iCoreDemoCloud.testDelete(new Pager(),"delete = " + test); +// iCoreDemoCloud.testDelete(new Pager(),"delete = " + test); }catch (Exception e){ LOGGER.error("XXXX --> delete调用出错:" + e.getMessage(),e); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java index 67a8087..972af9b 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java @@ -70,7 +70,7 @@ public class AuthController extends CoreBaseController { }catch (AuthenticationException e) { return new ResultBean(false,e.getMessage()); }catch (ImppBusiException e) { - return new ResultBean(false,e.getErrorDetail() + ",so:" + e.getErrorSolution()); + return ResultBean.fail(e); }catch (Exception e){ return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java index d93d1bf..f8d9fa1 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java @@ -58,7 +58,7 @@ public class SysConfigController extends CoreBaseController { sysConfigService.insertSysConfig(sysConfig); return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -71,7 +71,7 @@ public class SysConfigController extends CoreBaseController { sysConfigService.deleteSysConfigById(Long.parseLong(id)); return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -97,7 +97,7 @@ public class SysConfigController extends CoreBaseController { sysConfigService.updateSysConfig(sysConfig); return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -112,7 +112,7 @@ public class SysConfigController extends CoreBaseController { .setResultList(sysConfigList) .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -130,7 +130,7 @@ public class SysConfigController extends CoreBaseController { return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); } }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -145,7 +145,7 @@ public class SysConfigController extends CoreBaseController { .setListPager(sysConfigListPager) .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -162,7 +162,7 @@ public class SysConfigController extends CoreBaseController { return ResultBean.success("查询成功").setResultObject(sysConfig).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -179,7 +179,7 @@ public class SysConfigController extends CoreBaseController { return ResultBean.success("查询成功").setResultList(sysConfig).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } @@ -191,7 +191,7 @@ public class SysConfigController extends CoreBaseController { // sysConfigService.update return null; }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep.getErrorShow()); + return ResultBean.fail(busExcep); }catch(Exception e){ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java index 23d213c..61cc61c 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java @@ -2,7 +2,6 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysDictionaryService; import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService; -import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.pojo.base.bean.ListPager; @@ -12,7 +11,6 @@ import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SysDictionary; import cn.estsh.i3plus.pojo.platform.bean.SysFile; -import cn.estsh.i3plus.pojo.platform.bean.SysMessage; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; @@ -27,11 +25,20 @@ import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.InputStreamResource; +import org.springframework.core.io.Resource; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.util.FileCopyUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.mvc.support.RedirectAttributes; -import java.io.IOException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.net.URLConnection; import java.util.List; /** @@ -201,6 +208,8 @@ public class SysFileController extends CoreBaseController{ sysFile.setFileOriginalName(file.getOriginalFilename()); sysFile.setFileTypeId(dictionary.getId()); sysFile.setFileTypeName(dictionary.getName()); + sysFile.setUserId(getSessionUser().getUserId()); + sysFile.setDownloadNum(0); SysFile fileDb = sysFileService.insertSysFile(sysFile); @@ -213,4 +222,68 @@ public class SysFileController extends CoreBaseController{ return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } } + + @GetMapping("/download/{id}") + @ApiOperation(value = "文件下载",notes = "文件下载") + public ResultBean singleDownload(@PathVariable("id")String id, HttpServletResponse response) { + try { + ValidatorBean.checkIsNumber(id,"文件ID不能为空"); + + SysFile sysFile = sysFileService.getSysFileById(Long.parseLong(id)); + if(sysFile == null){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("文件不存在") + .build(); + } + + InputStream fis = dfsClient.downFile(sysFile.getDfsGroupName(), sysFile.getDfsFileName()); + + if(fis == null){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("文件已过期") + .build(); + } + + response.setContentType("application/force-download");// 设置强制下载不打开 + response.addHeader("Content-Disposition", "attachment;fileName=" + sysFile.getFileOriginalName());// 设置文件名 + response.addHeader("Content-type", "application/octet-stream");// 设置文件名 + + BufferedInputStream bis = null; + try { + bis = new BufferedInputStream(fis); + OutputStream os = response.getOutputStream(); + byte[] buffer = new byte[1024]; + int i = bis.read(buffer); + while (i != -1) { + os.write(buffer, 0, i); + i = bis.read(buffer); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bis != null) { + try { + bis.close(); + fis.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + sysFile.setDownloadNum(sysFile.getDownloadNum() + 1); + return ResultBean.success("下载").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); + return ResultBean.fail(busExcep); + }catch(Exception e){ + LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); + return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + } + } + } \ No newline at end of file diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java index 98b42b1..7e7673e 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java @@ -60,11 +60,11 @@ public class SysMessageController extends CoreBaseController { sysMessage.setMessageSenderId(getSessionUser().getUserId()); sysMessage.setMessageSenderNameRdd(getSessionUser().getUserName()); sysMessage.setMessageSendTime(sdf.format(new Date())); - sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_CONTENT_TYPE.HTML.getValue()); + sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue()); ConvertBean.modelInitialize(sysMessage,getSessionUser()); - sysMessageService.sendSysMessage(sysMessage); + sysMessageService.doSendSysMessage(sysMessage); return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); 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 index 6ff19e5..fbfd4ca 100644 --- 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 @@ -1,5 +1,6 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; +import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService; import cn.estsh.i3plus.core.api.iservice.busi.ISysUserInfoService; import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; @@ -8,11 +9,9 @@ import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; -import cn.estsh.i3plus.pojo.platform.bean.SessionUser; -import cn.estsh.i3plus.pojo.platform.bean.SysRefUserRole; -import cn.estsh.i3plus.pojo.platform.bean.SysUser; -import cn.estsh.i3plus.pojo.platform.bean.SysUserInfo; +import cn.estsh.i3plus.pojo.platform.bean.*; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; @@ -22,6 +21,7 @@ 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.apache.commons.lang3.RandomStringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -49,6 +49,9 @@ public class SysUserController extends CoreBaseController{ @Autowired private ISysUserInfoService sysUserInfoService; + @Autowired + private ISysMessageService sysMessageService; + @PostMapping(value = "/insert") @ApiOperation(value = "新增用户", notes = "新增系统用户") public ResultBean insertSysUser(SysUser sysUser,String[] roleIds) { @@ -83,6 +86,8 @@ public class SysUserController extends CoreBaseController{ sysUser.setUserStatus(CommonEnumUtil.USER_STATUS.NORMAL.getValue()); sysUser.setDepartmentId(userInfo.getDepartmentId()); sysUser.setDepartmentNameRdd(userInfo.getDepartmentNameRdd()); + sysUser.setIsValid(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + sysUser.setUserLoginNum(0); ConvertBean.modelInitialize(sysUser,AuthUtil.getSessionUser()); SysUser user = sysUserService.insertSysUser(sysUser); @@ -146,6 +151,7 @@ public class SysUserController extends CoreBaseController{ user.setUserLoginPassword(md5); } + user.setUserInfoId(userInfo.getId()); user.setUserName(userInfo.getName()); user.setDepartmentId(userInfo.getDepartmentId()); user.setDepartmentNameRdd(userInfo.getDepartmentNameRdd()); @@ -272,9 +278,9 @@ public class SysUserController extends CoreBaseController{ } } - @DeleteMapping(value = "/delete") - @ApiOperation(value = "删除定时任务", notes = "删除定时任务") - public ResultBean delete(String id) { + @DeleteMapping(value = "/delete/{id}") + @ApiOperation(value = "删除账号", notes = "删除制定账号信息") + public ResultBean delete(@PathVariable("id") String id) { try { // 数据校验 ValidatorBean.checkNotNull(id, "用户id 不能为空"); @@ -333,4 +339,47 @@ public class SysUserController extends CoreBaseController{ } } + @DeleteMapping("/reset-pwd/{id}") + @ApiOperation(value = "密码重置",notes = "根据id重置用户密码") + public ResultBean updateResetPassword(@PathVariable String id){ + try { + SysUser user = sysUserService.getSysUserById(Long.parseLong(id)); + if(user != null){ + String password = RandomStringUtils.random(6, true, false); + user.setUserLoginPassword(EncryptTool.hexMD5(password)); + sysUserService.updateSysUser(user); + + String content = "系统提示:\n" + + "\t"+getSessionUser().getUserName()+"使用密码重置功能帮您重置了【"+user.getUserLoginName()+"】账号的密码," + + "新密码是:"+password+""; + + SysMessage message = new SysMessage(); + message.setMessageTitle("重置密码"); + message.setMessageContent(content); + message.setMessageType(ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue()); + message.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.TEXT.getValue()); + message.setMessageSenderId(getSessionUser().getUser().getId()); + message.setMessageSenderNameRdd(getSessionUser().getUserName()); + message.setMessageReceiversId(user.getId().toString()); + message.setMessageReceiversNameRdd(user.getUserName()); + + sysMessageService.doSendSysMessage(message); + + LOGGER.info("系统提示:{} 使用密码重置功能帮{}重置了{}账号的密码,新密码是:{}", + getSessionUser().getUserName(),user.getUserName(),user.getUserLoginName(),password); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }else{ + return ResultBean.success("操作失败") + .setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode()) + .setErrorMsg("用户不存在"); + } + } catch (ImppBusiException busExcep) { + LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); + return ResultBean.fail(busExcep); + } catch (Exception e) { + LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); + return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + } + } + } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java index fb68c8a..c886886 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java @@ -72,6 +72,7 @@ public class SysUserInfoController extends CoreBaseController{ .checkNotZero("positionId",userInfo.getPositionId()); ConvertBean.modelInitialize(userInfo,user); + userInfo.setUserInfoStatus(CommonEnumUtil.USER_STATUS.NORMAL.getValue()); SysUserInfo pos = sysUserInfoService.insertSysUserInfo(userInfo); sysUserInfoService.refreshRefUserDepartment(pos.getId(), diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java index b99b384..79ebe7f 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java @@ -13,6 +13,7 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -41,7 +42,7 @@ public class MailQueueReceiver { * @param channel * @param message */ - //@RabbitListener(queues = I3CoreQueueConfig.IMPP_MESSAGE_MAIL_QUEUE) +// @RabbitListener(queues = I3CoreQueueConfig.IMPP_MESSAGE_MAIL_QUEUE) public void processImppMail(SysMessage msg, Channel channel, Message message) { try { LOGGER.info("【MQ-IMPP_MESSAGE_MAIL_QUEUE】数据接收成功:{}",msg); @@ -71,7 +72,7 @@ public class MailQueueReceiver { // 发送邮件 mailUtil.setSubject(msg.getMessageTitle()); - mailUtil.setContentType(ImppEnumUtil.MESSAGE_CONTENT_TYPE.valueOfDescription(msg.getMessageContentType())); + mailUtil.setContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.valueOfDescription(msg.getMessageContentType())); mailUtil.setBody(msg.getMessageContent()); mailUtil.setTo(sysUser.getUserEmail()); mailUtil.send(); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java index 112b199..bbddcb7 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java @@ -117,7 +117,7 @@ public class SysMessageService implements ISysMessageService { } @Override - public void sendSysMessage(SysMessage sysMessage) { + public void doSendSysMessage(SysMessage sysMessage) { // 判断消息类型推送到对应的队列 if(ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue() == sysMessage.getMessageType().intValue()){ rabbitTemplate.convertAndSend(I3CoreQueueConfig.IMPP_MESSAGE_MAIL_QUEUE,sysMessage); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java index bde87e0..a6dafe0 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java @@ -327,7 +327,7 @@ public class SysUserService implements ISysUserService { if(userInfo == null){ throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.LOGIN_EXCEPTION.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) .setErrorDetail("用户信息不存在") .setErrorSolution("请联系管理员") .build(); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java index bdb0f88..15d75f0 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java @@ -202,7 +202,7 @@ public class MailUtil { MailUtil mail = new MailUtil(); mail.setTo("yunhao.wang@estsh.com"); mail.setSubject("中文"); - mail.setContentType(ImppEnumUtil.MESSAGE_CONTENT_TYPE.HTML.getDescription()); + mail.setContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getDescription()); mail.setBody("内容"); mail.send(); } diff --git a/modules/i3plus-core-apiservice/src/main/resources/init/permission-test.xlsx b/modules/i3plus-core-apiservice/src/main/resources/init/permission-test.xlsx index 7e9ae4d40b2d21dcd314c9a94281e09702191f7d..4b0df172d405b280239cb036bd7bd0ca335fc48a 100644 GIT binary patch delta 17794 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 z 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 delta 17834 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 diff --git a/modules/i3plus-core-apiservice/src/main/resources/init/permission.xlsx b/modules/i3plus-core-apiservice/src/main/resources/init/permission.xlsx index fc8065104c90125125bef2078ac89d0df2663de1..de22f2584ed6bb8e1d1f93fde164e7fc984128c1 100644 GIT binary patch delta 24410 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�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 delta 23955 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 Cq1}4` diff --git a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelPermission.java b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelPermission.java index 04f6020..dd6f15e 100644 --- a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelPermission.java +++ b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelPermission.java @@ -55,8 +55,6 @@ public class TestExcelPermission extends TestBase { @Autowired private SysRefRoleMenuRepository refRoleMenuRDao; - - @Test public void testInit() throws Exception { XSSFWorkbook workbook = getWorkbook(PATH_NAME); @@ -87,9 +85,6 @@ public class TestExcelPermission extends TestBase { } } - - - public List getRefUserRole(List users,List roles){ List result = new ArrayList<>(); if(users != null && roles != null){ @@ -175,6 +170,7 @@ public class TestExcelPermission extends TestBase { obj.setUserEmpNo(row.getCell(2).getStringCellValue()); obj.setUserLoginNum(0); obj.setIsValid(1); + obj.setUserInfoStatus(1); result.add(obj); } @@ -200,6 +196,8 @@ public class TestExcelPermission extends TestBase { role.setId(Long.parseLong(row.getCell(0).getStringCellValue())); role.setName(row.getCell(1).getStringCellValue()); role.setRoleDescription(row.getCell(2).getStringCellValue()); + role.setRoleStatus(1); + role.setIsValid(1); result.add(role); } diff --git a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestMailUtil.java b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestMailUtil.java index 0de9cef..a201dda 100644 --- a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestMailUtil.java +++ b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestMailUtil.java @@ -21,7 +21,7 @@ public class TestMailUtil extends TestBase { public void TestSendMail(){ mailUtil.setTo("yunhao.wang@estsh.com"); mailUtil.setSubject("中文"); - mailUtil.setContentType(ImppEnumUtil.MESSAGE_CONTENT_TYPE.HTML.getDescription()); + mailUtil.setContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getDescription()); mailUtil.setBody("内容"); mailUtil.send(); From 5cc176395d701e3ad7bf0778fcfa8ca8023f8687 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Thu, 22 Nov 2018 21:59:42 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=A1=AB=E5=85=85?= =?UTF-8?q?=E4=BF=A1=E6=81=AFBug=20=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties index 6b65524..4081bee 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties +++ b/modules/i3plus-core-apiservice/src/main/resources/application-dev.properties @@ -26,7 +26,7 @@ impp.web.cross = true #若无法连接注册中心,是否需要一直检测加入 impp.cluster.fetch=false #是否开启微服 -eureka.client.enabled=true +eureka.client.enabled=false #(参数配置)注册中心地址 -》 i3plus-ics,多个用逗号分隔 eureka.client.service-url.defaultZone:http://192.168.1.20:8000/eureka/,http://192.168.1.20:8001/eureka/ #区域(源码中包含defaultZone,所以默认使用defaultZone) From 53b0b8613081cfe0ba339fc45d1b0650910c1b58 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Fri, 23 Nov 2018 14:27:17 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/api/iservice/busi/ISysUserService.java | 38 +++++++- .../controller/busi/SysUserController.java | 12 +-- .../serviceimpl/busi/SysUserService.java | 105 ++++++++++++++++++++- .../src/main/resources/init/permission.xlsx | Bin 40838 -> 40942 bytes 4 files changed, 143 insertions(+), 12 deletions(-) diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java index 581380e..a1e5cb9 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java @@ -126,6 +126,20 @@ public interface ISysUserService { SysUser getSysUserByLoginName(String loginName); /** + * 根据手机号查询账号 + * @param email + * @return + */ + SysUser getSysUserByEmail(String email); + + /** + * 根据手机号查询账号 + * @param phone + * @return + */ + SysUser getSysUserByPhone(String phone); + + /** * 查出用户角色关系 * @param userId * @return @@ -138,5 +152,27 @@ public interface ISysUserService { * @param id * @return */ - boolean checkLoginName(String userLoginName,long id); + boolean checkSysUserLoginName(String userLoginName, long id); + + /** + * 判断邮箱是否存在 + * @param email + * @param id + * @return + */ + boolean checkSysUserEmail(String email,long id); + + /** + * 判断手机是否存在 + * @param phone + * @param id + * @return + */ + boolean checkSysUserPhone(String phone,long id); + + /** + * 用户唯一教研 + * @param user + */ + void checkSysUserOnly(SysUser user); } 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 index fbfd4ca..eb6915d 100644 --- 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 @@ -72,6 +72,9 @@ public class SysUserController extends CoreBaseController{ .build(); } + // 用户唯一校验 + sysUserService.checkSysUserOnly(sysUser); + SysUserInfo userInfo = sysUserInfoService.getSysUserInfoById(sysUser.getUserInfoId()); if(userInfo == null){ throw ImppExceptionBuilder.newInstance() @@ -126,13 +129,8 @@ public class SysUserController extends CoreBaseController{ .build(); } - if (sysUserService.checkLoginName(sysUser.getUserLoginName(), sysUser.getId())) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("用户名已存在") - .build(); - } + // 用户唯一校验 + sysUserService.checkSysUserOnly(sysUser); // 用户信息封装 SysUserInfo userInfo = sysUserService.getSysUserInfoById(sysUser.getUserInfoId()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java index a6dafe0..7fb2785 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java @@ -17,6 +17,7 @@ import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import io.swagger.annotations.ApiOperation; import org.apache.shiro.authc.AuthenticationException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -24,7 +25,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; -import java.util.HashSet; import java.util.List; /** @@ -73,6 +73,7 @@ public class SysUserService implements ISysUserService { private SysPositionRepository sysPositionRDao; @Override + @ApiOperation(value = "用户登录", notes = "用户登录功能实现") public SessionUser queryUserLogin(String loginName, String password, String languageCode) throws AuthenticationException { LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode); @@ -96,6 +97,7 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "修改账号", notes = "修改账号状态") public void updateSysUserStatus(Long id, int status, SessionUser user) { LOGGER.debug("平台用户 SYS_USER id:{} status:{} modifyUser:{}", id, status, user.getUserName()); SysUser sysUser = sysUserRDao.getById(id); @@ -105,6 +107,7 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "修改账号", notes = "批量修改账号状态") public void updateBatchSysUserStatus(Long[] ids, int status, SessionUser user) { LOGGER.debug("平台用户 SYS_USER DELETE By ids :{} status:{}, SessionUser :{}", ids,status,user); @@ -121,12 +124,14 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "修改账号", notes = "修改账号信息") public void updateSysUser(SysUser sysUser) throws Exception{ LOGGER.debug("平台用户 SYS_USER SysUser :{}", sysUser); sysUserRDao.save(sysUser); } @Override + @ApiOperation(value = "修改账号", notes = "修改账号登录密码") public void updateSysUserPassword(Long userId, String password, String newPwd) throws Exception { LOGGER.debug("平台用户 SYS_USER Override:{} password:{} newPwd:{}", userId,password,newPwd); SysUser user = sysUserRDao.getById(userId); @@ -154,6 +159,7 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "刷新账号", notes = "刷新账号登录信息") public void refreshUserLoginInformation(Long userId) { SysUser user = sysUserRDao.getById(userId); SysUserInfo userInfo = sysUserInfoRDao.getById(user.getUserInfoId()); @@ -168,6 +174,7 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "新增账号", notes = "新增账号信息") public SysUser insertSysUser(SysUser sysUser)throws Exception { LOGGER.debug("平台用户 SYS_USER SysUser:{}", sysUser); @@ -188,6 +195,7 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "新增账号", notes = "新增账号信息") public void refreshSysRefUserRole(SysUser sysUser, Long[] roleIds, String userName) { LOGGER.debug("平台用户 SYS_USER SysUser:{}", sysUser); LOGGER.debug("平台用户 SYS_USER String[] :{}", roleIds); @@ -230,6 +238,7 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "删除账号", notes = "删除账号信息,逻辑删除,账号关系业务物理删除") public void deleteSysUserById(Long id) { LOGGER.debug("平台用户 SYS_USER DELETE By id :{}", id); sysUserRDao.updateByProperties("id", id, "isValid", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); @@ -241,6 +250,7 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "删除账号", notes = "批量删除账号信息,逻辑删除,账号关系业务物理删除") public void deleteBatchSysUserById(Long[] ids,SessionUser user) { LOGGER.debug("平台用户 SYS_USER DELETE By ids :{}", ids); @@ -258,12 +268,14 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "账号查询", notes = "查询所有账号信息") public List list() { LOGGER.debug("平台用户 SYS_USER find All"); return sysUserRDao.findByProperty("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); } @Override + @ApiOperation(value = "账号分页查询", notes = "组合查询") public ListPager querySysUserByPager(SysUser user, Pager pager) { LOGGER.debug("系统用户 SysUser find user :{} page :{}", user, pager); @@ -274,17 +286,20 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "账号查询", notes = "根据ID 查询账号信息") public SysUser getSysUserById(Long id) { LOGGER.debug("平台用户 SYS_USER get By id :{}", id); return sysUserRDao.getById(id); } @Override + @ApiOperation(value = "用户查询", notes = "根据ID 查询用户信息") public SysUserInfo getSysUserInfoById(Long id) { return sysUserInfoRDao.getByProperty("id",id); } @Override + @ApiOperation(value = "账号查询", notes = "根据登录名查询用户信息") public SysUser getSysUserByLoginName(String loginName) { LOGGER.debug("平台用户 SYS_USER find By Login Name :{}", loginName); return sysUserRDao.getByProperty(new String[]{"userLoginName", "isValid"}, @@ -292,12 +307,28 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "账号查询", notes = "根据邮箱查询用户信息") + public SysUser getSysUserByEmail(String email) { + return sysUserRDao.getByProperty(new String[]{"userEmail", "isValid"}, + new Object[]{email, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()}); + } + + @Override + @ApiOperation(value = "账号查询", notes = "根据手机号查询用户信息") + public SysUser getSysUserByPhone(String phone) { + return sysUserRDao.getByProperty(new String[]{"userPhone", "isValid"}, + new Object[]{phone, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()}); + } + + @Override + @ApiOperation(value = "账号角色", notes = "根据账号ID查询账号角色关系") public List findSysRefUserRoleByUserId(Long userId) { return refUserRoleRDao.findByProperty("userId",userId); } @Override - public boolean checkLoginName(String userLoginName, long id) { + @ApiOperation(value = "检查-账号登录名", notes = "判断账号是否存在") + public boolean checkSysUserLoginName(String userLoginName, long id) { int count; if(id > 0){ StringBuffer sw = new StringBuffer(); @@ -311,6 +342,74 @@ public class SysUserService implements ISysUserService { return count <= 0 ; } + @Override + @ApiOperation(value = "检查-账号邮箱", notes = "判断邮箱是否存在") + public boolean checkSysUserEmail(String email, long id) { + int count; + if(id > 0){ + StringBuffer sw = new StringBuffer(); + HqlPack.getStringEqualPackOr(email,"userEmail",sw); + HqlPack.getNumNOEqualPack(id,"id",sw); + count = sysUserRDao.findByHqlWhereCount(sw.toString()); + + }else{ + count = sysUserRDao.findByPropertyCount("userEmail",email); + } + return count <= 0 ; + } + + @Override + @ApiOperation(value = "检查-账号手机", notes = "判断手机是否存在") + public boolean checkSysUserPhone(String phone, long id) { + int count; + if(id > 0){ + StringBuffer sw = new StringBuffer(); + HqlPack.getStringEqualPackOr(phone,"userPhone",sw); + HqlPack.getNumNOEqualPack(id,"id",sw); + count = sysUserRDao.findByHqlWhereCount(sw.toString()); + + }else{ + count = sysUserRDao.findByPropertyCount("userPhone",phone); + } + return count <= 0 ; + } + + @Override + @ApiOperation(value = "检查-账号唯一", notes = "账号唯一性校验") + public void checkSysUserOnly(SysUser user) { + if(user != null){ + // 登录名唯一教研 + if(checkSysUserLoginName(user.getUserLoginName(),user.getId())){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("用户名已存在") + .setErrorSolution("请重新输入用户名") + .build(); + } + + // 登录名唯一教研 + if(checkSysUserEmail(user.getUserEmail(),user.getId())){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("邮箱已存在") + .setErrorSolution("请重新输入邮箱") + .build(); + } + + // 登录名唯一教研 + if(checkSysUserPhone(user.getUserPhone(),user.getId())){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("手机号已存在") + .setErrorSolution("请重新输入手机号") + .build(); + } + } + } + /** * 封装用户登陆信息 * @@ -456,6 +555,4 @@ public class SysUserService implements ISysUserService { } } - - } diff --git a/modules/i3plus-core-apiservice/src/main/resources/init/permission.xlsx b/modules/i3plus-core-apiservice/src/main/resources/init/permission.xlsx index de22f2584ed6bb8e1d1f93fde164e7fc984128c1..19fd927027c639c3ac8091acd336c6513890dd32 100644 GIT binary patch delta 22518 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 e?pS`wRR<6VK%xPAK9i!~X@vR2Ccn delta 22422 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