From 283c4a5bb626e8f8d52ff9387ecab1316993c53c Mon Sep 17 00:00:00 2001 From: MaxKey Date: Fri, 24 Dec 2021 19:11:40 +0800 Subject: [PATCH] mybatis-jpa-extra-2.7 --- .../org/maxkey/pretty/impl/JsonPretty.java | 10 ++- .../org/maxkey/pretty/impl/SqlPretty.java | 26 +++--- .../java/org/maxkey/constants/Boolean.java | 6 +- .../maxkey/constants/ConstantsDatabase.java | 10 +-- .../maxkey/constants/ConstantsEntryType.java | 17 ++-- .../maxkey/constants/ConstantsLoginType.java | 33 +++++--- .../constants/ConstantsOperateAction.java | 14 ++-- .../constants/ConstantsOperateMessage.java | 12 +-- .../constants/ConstantsPasswordSetType.java | 10 +-- .../constants/ConstantsPersistence.java | 6 +- .../constants/ConstantsPlatformRole.java | 6 +- .../maxkey/constants/ConstantsProtocols.java | 30 +++---- .../org/maxkey/constants/ConstantsStatus.java | 30 +++---- .../constants/ConstantsTimeInterval.java | 16 ++-- .../org/maxkey/constants/ContentType.java | 28 +++---- ...xtra-2.6.jar => mybatis-jpa-extra-2.7.jar} | Bin 81781 -> 81814 bytes ...tis-jpa-extra-spring-boot-starter-2.7.jar} | Bin 19989 -> 20014 bytes .../jpa/test/FormBasedDetailsServiceTest.java | 2 +- .../authz/endpoint/AuthorizeBaseEndpoint.java | 17 ++-- .../authz/endpoint/OnlineTicketEndpoint.java | 2 +- .../cas/endpoint/ticket/CasConstants.java | 78 +++++++++--------- .../apps/contorller/AdaptersController.java | 2 +- .../contorller/ApplicationsController.java | 2 +- .../web/contorller/AccountsController.java | 2 +- .../web/contorller/GroupMemberController.java | 2 +- .../contorller/GroupPrivilegesController.java | 2 +- .../web/contorller/NoticesController.java | 2 +- .../contorller/OrganizationsController.java | 4 +- .../web/contorller/ResourcesController.java | 2 +- .../web/contorller/RoleMemberController.java | 2 +- .../contorller/SocialsProviderController.java | 2 +- .../web/contorller/UserAdjointController.java | 2 +- .../web/contorller/UserInfoController.java | 6 +- 33 files changed, 198 insertions(+), 185 deletions(-) rename maxkey-lib/{mybatis-jpa-extra-2.6.jar => mybatis-jpa-extra-2.7.jar} (81%) rename maxkey-lib/{mybatis-jpa-extra-spring-boot-starter-2.6.jar => mybatis-jpa-extra-spring-boot-starter-2.7.jar} (72%) diff --git a/maxkey-common/src/main/java/org/maxkey/pretty/impl/JsonPretty.java b/maxkey-common/src/main/java/org/maxkey/pretty/impl/JsonPretty.java index e050d47f6..de99e1f93 100644 --- a/maxkey-common/src/main/java/org/maxkey/pretty/impl/JsonPretty.java +++ b/maxkey-common/src/main/java/org/maxkey/pretty/impl/JsonPretty.java @@ -40,9 +40,11 @@ public class JsonPretty implements Pretty{ * @return String */ public String jacksonFormat(Object bean){ - String prettyJson=""; + String prettyJson = ""; try { - prettyJson= (new ObjectMapper()).writerWithDefaultPrettyPrinter().writeValueAsString(bean); + prettyJson = (new ObjectMapper()) + .writerWithDefaultPrettyPrinter() + .writeValueAsString(bean); } catch (JsonGenerationException e) { e.printStackTrace(); } catch (JsonMappingException e) { @@ -59,7 +61,9 @@ public class JsonPretty implements Pretty{ * @return String */ public String format(Object bean){ - Gson gson = new GsonBuilder().setPrettyPrinting().create(); + Gson gson = new GsonBuilder() + .setPrettyPrinting() + .create(); String json = gson.toJson(bean); return json; } diff --git a/maxkey-common/src/main/java/org/maxkey/pretty/impl/SqlPretty.java b/maxkey-common/src/main/java/org/maxkey/pretty/impl/SqlPretty.java index 73d75d56f..84617492e 100644 --- a/maxkey-common/src/main/java/org/maxkey/pretty/impl/SqlPretty.java +++ b/maxkey-common/src/main/java/org/maxkey/pretty/impl/SqlPretty.java @@ -26,13 +26,17 @@ import java.util.StringTokenizer; import org.maxkey.pretty.Pretty; public class SqlPretty implements Pretty{ - public static final String WHITESPACE = " \n\r\f\t"; - private static final Set BEGIN_CLAUSES = new HashSet(); - private static final Set END_CLAUSES = new HashSet(); - private static final Set LOGICAL = new HashSet(); - private static final Set QUANTIFIERS = new HashSet(); - private static final Set DML = new HashSet(); - private static final Set MISC = new HashSet(); + + public static final String WHITESPACE = " \n\r\f\t"; + private static final Set BEGIN_CLAUSES = new HashSet(); + private static final Set END_CLAUSES = new HashSet(); + private static final Set LOGICAL = new HashSet(); + private static final Set QUANTIFIERS = new HashSet(); + private static final Set DML = new HashSet(); + private static final Set MISC = new HashSet(); + private static final String INDENT_STRING = " "; + //mhshi modify + private static final String INITIAL = "";//System.lineSeparator() + INDENT_STRING; static { BEGIN_CLAUSES.add( "left" ); @@ -72,10 +76,6 @@ public class SqlPretty implements Pretty{ MISC.add( "on" ); } - private static final String INDENT_STRING = " "; - //mhshi modify - private static final String INITIAL = "";//System.lineSeparator() + INDENT_STRING; - public SqlPretty() { } @@ -95,8 +95,8 @@ public class SqlPretty implements Pretty{ boolean afterInsert; int inFunction; int parensSinceSelect; - private LinkedList parenCounts = new LinkedList(); - private LinkedList afterByOrFromOrSelects = new LinkedList(); + private LinkedList parenCounts = new LinkedList(); + private LinkedList afterByOrFromOrSelects = new LinkedList(); //mhshi modify int indent = 0;//1; diff --git a/maxkey-core/src/main/java/org/maxkey/constants/Boolean.java b/maxkey-core/src/main/java/org/maxkey/constants/Boolean.java index 80eba979b..e30c2bec9 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/Boolean.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/Boolean.java @@ -25,11 +25,11 @@ package org.maxkey.constants; */ public class Boolean { - public static final int FALSE = 0; + public static final int FALSE = 0; - public static final int TRUE = 1; + public static final int TRUE = 1; - private int value = FALSE; + private int value = FALSE; public Boolean() { diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsDatabase.java b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsDatabase.java index 1c40a942c..4b52e28f8 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsDatabase.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsDatabase.java @@ -21,15 +21,15 @@ import org.maxkey.configuration.ApplicationConfig; public class ConstantsDatabase { - public static String MYSQL = "MySQL"; + public static String MYSQL = "MySQL"; - public static String POSTGRESQL = "PostgreSQL"; + public static String POSTGRESQL = "PostgreSQL"; - public static String ORACLE = "Oracle"; + public static String ORACLE = "Oracle"; - public static String MSSQLSERVER = "SQL Server"; + public static String MSSQLSERVER = "SQL Server"; - public static String DB2 = "db2"; + public static String DB2 = "db2"; public static boolean compare(String databaseProduct) { if(databaseProduct.equalsIgnoreCase(ApplicationConfig.databaseProduct)) { diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsEntryType.java b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsEntryType.java index 69d7d0914..4fa9b9cf9 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsEntryType.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsEntryType.java @@ -19,11 +19,16 @@ package org.maxkey.constants; public class ConstantsEntryType { - public static int USERINFO_TYPE = 1; - public static int ORG_TYPE = 2; - public static int GROUP_TYPE = 3; - public static int PASSWORD_TYPE = 4; - public static int RESOURCES_TYPE = 5; - public static int PERMISSIONS_TYPE = 6; + public static int USERINFO_TYPE = 1; + + public static int ORGANIZATION_TYPE = 2; + + public static int GROUP_TYPE = 3; + + public static int PASSWORD_TYPE = 4; + + public static int RESOURCES_TYPE = 5; + + public static int PERMISSIONS_TYPE = 6; } diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsLoginType.java b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsLoginType.java index c0fae461e..2a7dc9ada 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsLoginType.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsLoginType.java @@ -19,19 +19,28 @@ package org.maxkey.constants; public class ConstantsLoginType { - public static final String LOCAL = "Local Login"; - public static final String BASIC = "Basic"; - public static final String SOCIALSIGNON = "Social Sign On"; - public static final String REMEBER_ME = "RemeberMe"; - public static final String DESKTOP = "Desktop"; - public static final String KERBEROS = "Kerberos"; - public static final String SAMLTRUST = "SAML v2.0 Trust"; - public static final String MSADTRUST = "MS AD Trust"; - public static final String CAS = "CAS"; - public static final String WSFEDERATION = "WsFederation"; + public static final String LOCAL = "Local Login"; + + public static final String BASIC = "Basic"; + + public static final String SOCIALSIGNON = "Social Sign On"; + + public static final String REMEBER_ME = "RemeberMe"; + + public static final String DESKTOP = "Desktop"; + + public static final String KERBEROS = "Kerberos"; + + public static final String SAMLTRUST = "SAML v2.0 Trust"; + + public static final String MSADTRUST = "MS AD Trust"; + + public static final String CAS = "CAS"; + + public static final String WSFEDERATION = "WsFederation"; - public static final String JWT = "Jwt"; + public static final String JWT = "Jwt"; - public static final String HTTPHEADER = "HttpHeader"; + public static final String HTTPHEADER = "HttpHeader"; } diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsOperateAction.java b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsOperateAction.java index 75a994ece..1a274aca1 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsOperateAction.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsOperateAction.java @@ -19,18 +19,18 @@ package org.maxkey.constants; public final class ConstantsOperateAction { - public static final int CREATE_ACTION = 1; + public static final int CREATE_ACTION = 1; - public static final int DELETE_ACTION = 2; + public static final int DELETE_ACTION = 2; - public static final int UPDATE_ACTION = 3; + public static final int UPDATE_ACTION = 3; - public static final int CHANGE_PASSWORD_ACTION = 4; + public static final int CHANGE_PASSWORD_ACTION = 4; - public static final int ADD_MEMBER_ACTION = 5; + public static final int ADD_MEMBER_ACTION = 5; - public static final int DELETE_MEMBER_ACTION = 6; + public static final int DELETE_MEMBER_ACTION = 6; - public static final int VIEW_ACTION = 7; + public static final int VIEW_ACTION = 7; } diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsOperateMessage.java b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsOperateMessage.java index d97641b9f..ebd6c141e 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsOperateMessage.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsOperateMessage.java @@ -19,13 +19,13 @@ package org.maxkey.constants; public final class ConstantsOperateMessage { - public static final String INSERT_SUCCESS = "message.action.insert.success"; - public static final String INSERT_ERROR = "message.action.insert.error"; + public static final String INSERT_SUCCESS = "message.action.insert.success"; + public static final String INSERT_ERROR = "message.action.insert.error"; - public static final String UPDATE_SUCCESS = "message.action.update.success"; - public static final String UPDATE_ERROR = "message.action.update.error"; + public static final String UPDATE_SUCCESS = "message.action.update.success"; + public static final String UPDATE_ERROR = "message.action.update.error"; - public static final String DELETE_SUCCESS = "message.action.delete.success"; - public static final String DELETE_ERROR = "message.action.delete.error"; + public static final String DELETE_SUCCESS = "message.action.delete.success"; + public static final String DELETE_ERROR = "message.action.delete.error"; } diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsPasswordSetType.java b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsPasswordSetType.java index 9bb709ea1..f99aae2dd 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsPasswordSetType.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsPasswordSetType.java @@ -24,12 +24,12 @@ package org.maxkey.constants; */ public final class ConstantsPasswordSetType { - public static final int PASSWORD_NORMAL = 0; + public static final int PASSWORD_NORMAL = 0; - public static final int INITIAL_PASSWORD = 1; + public static final int INITIAL_PASSWORD = 1; - public static final int MANAGER_CHANGED_PASSWORD = 2; - - public static final int PASSWORD_EXPIRED = 3; + public static final int PASSWORD_EXPIRED = 3; + + public static final int MANAGER_CHANGED_PASSWORD = 2; } diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsPersistence.java b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsPersistence.java index 3a40a943b..959b95388 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsPersistence.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsPersistence.java @@ -24,10 +24,10 @@ package org.maxkey.constants; */ public final class ConstantsPersistence { - public static final int INMEMORY = 0; + public static final int INMEMORY = 0; - public static final int JDBC = 1; + public static final int JDBC = 1; - public static final int REDIS = 2; + public static final int REDIS = 2; } diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsPlatformRole.java b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsPlatformRole.java index ea5b30bdb..92c37a3a5 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsPlatformRole.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsPlatformRole.java @@ -19,9 +19,9 @@ package org.maxkey.constants; public final class ConstantsPlatformRole { - public static final String PLATFORM_ADMIN = "PLATFORM_ADMIN"; + public static final String PLATFORM_ADMIN = "PLATFORM_ADMIN"; - public static final String TANANT_ADMIN = "TANANT_ADMIN"; + public static final String TANANT_ADMIN = "TANANT_ADMIN"; - public static final String ORDINARY_USER = "ORDINARY_USER"; + public static final String ORDINARY_USER = "ORDINARY_USER"; } diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsProtocols.java b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsProtocols.java index 6e471d204..1d8c2cbf4 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsProtocols.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsProtocols.java @@ -24,26 +24,26 @@ package org.maxkey.constants; */ public final class ConstantsProtocols { - public static final String BASIC = "Basic"; + public static final String BASIC = "Basic"; - public static final String EXTEND_API = "Extend_API"; + public static final String EXTEND_API = "Extend_API"; - public static final String FORMBASED = "Form_Based"; + public static final String FORMBASED = "Form_Based"; - public static final String TOKENBASED = "Token_Based"; - - // OAuth - public static final String OAUTH20 = "OAuth_v2.0"; - - public static final String OAUTH21 = "OAuth_v2.1"; + public static final String TOKENBASED = "Token_Based"; // SAML - public static final String SAML20 = "SAML_v2.0"; - - public static final String OPEN_ID_CONNECT10 = "OpenID_Connect_v1.0"; - - public static final String CAS = "CAS"; + public static final String SAML20 = "SAML_v2.0"; - public static final String JWT = "JWT"; + public static final String CAS = "CAS"; + + public static final String JWT = "JWT"; + + // OAuth + public static final String OAUTH20 = "OAuth_v2.0"; + + public static final String OAUTH21 = "OAuth_v2.1"; + + public static final String OPEN_ID_CONNECT10 = "OpenID_Connect_v1.0"; } diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsStatus.java b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsStatus.java index 4151f80f7..1359b5d18 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsStatus.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsStatus.java @@ -19,34 +19,34 @@ package org.maxkey.constants; public final class ConstantsStatus { - public static final int ACTIVE = 1; + public static final int ACTIVE = 1; - public static final int INACTIVE = 2; + public static final int INACTIVE = 2; - public static final int ENABLED = 3; + public static final int ENABLED = 3; - public static final int DISABLED = 4; + public static final int DISABLED = 4; - public static final int LOCK = 5; + public static final int LOCK = 5; - public static final int UNLOCK = 6; + public static final int UNLOCK = 6; - public static final int INVALID = 7; + public static final int INVALID = 7; - public static final int EXPIRED = 8; + public static final int EXPIRED = 8; - public static final int DELETE = 9; + public static final int DELETE = 9; - public static final int VALIDATED = 10; + public static final int VALIDATED = 10; - public static final int START = 11; + public static final int START = 11; - public static final int STOP = 12; + public static final int STOP = 12; - public static final int APPLY = 13; + public static final int APPLY = 13; - public static final int APPROVED = 14; + public static final int APPROVED = 14; - public static final int QUITED = 15; + public static final int QUITED = 15; } diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsTimeInterval.java b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsTimeInterval.java index f142b2a07..1cf90d0b7 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsTimeInterval.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsTimeInterval.java @@ -19,22 +19,22 @@ package org.maxkey.constants; public final class ConstantsTimeInterval { - public static final Integer ONE_MINUTE = 60; // 1 minutes + public static final Integer ONE_MINUTE = 60; // 1 minutes - public static final Integer ONE_HOUR = 60 * 60; // 1 hour + public static final Integer ONE_HOUR = 60 * 60; // 1 hour - public static final Integer ONE_DAY = 60 * 60 * 24; // 1 day + public static final Integer ONE_DAY = 60 * 60 * 24; // 1 day - public static final Integer ONE_WEEK = ONE_DAY * 7; // 1 week + public static final Integer ONE_WEEK = ONE_DAY * 7; // 1 week - public static final Integer TWO_WEEK = ONE_DAY * 14; // 2 week + public static final Integer TWO_WEEK = ONE_DAY * 14; // 2 week - public static final Integer ONE_MONTH = ONE_DAY * 30; // 1 month + public static final Integer ONE_MONTH = ONE_DAY * 30; // 1 month - public static final Integer TWO_MONTH = ONE_DAY * 60; // 2 month + public static final Integer TWO_MONTH = ONE_DAY * 60; // 2 month /** * The number of seconds in one year (= 60 * 60 * 24 * 365). */ - public static final Integer ONE_YEAR = 60 * 60 * 24 * 365; + public static final Integer ONE_YEAR = 60 * 60 * 24 * 365; } diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ContentType.java b/maxkey-core/src/main/java/org/maxkey/constants/ContentType.java index a95376610..72c31cb5b 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ContentType.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ContentType.java @@ -19,32 +19,30 @@ package org.maxkey.constants; public class ContentType { - public static final String TEXT_PLAIN = "text/plain"; + public static final String TEXT_PLAIN = "text/plain"; - public static final String TEXT_PLAIN_UTF8 = "text/plain;charset=UTF-8"; + public static final String TEXT_PLAIN_UTF8 = "text/plain;charset=UTF-8"; - public static final String TEXT_XML = "text/xml"; + public static final String TEXT_XML = "text/xml"; - public static final String TEXT_XML_UTF8 = "text/xml;charset=UTF-8"; + public static final String TEXT_XML_UTF8 = "text/xml;charset=UTF-8"; - public static final String APPLICATION_JSON = "application/json"; + public static final String APPLICATION_JSON = "application/json"; - public static final String APPLICATION_JSON_UTF8 = "application/json;charset=UTF-8"; + public static final String APPLICATION_JSON_UTF8 = "application/json;charset=UTF-8"; - public static final String APPLICATION_JWT = "application/jwt"; + public static final String APPLICATION_JWT = "application/jwt"; - public static final String APPLICATION_JWT_UTF8 = "application/jwt;charset=UTF-8"; + public static final String APPLICATION_JWT_UTF8 = "application/jwt;charset=UTF-8"; - public static final String APPLICATION_XML = "application/xml"; + public static final String APPLICATION_XML = "application/xml"; - public static final String APPLICATION_XML_UTF8 = "application/xml;charset=UTF-8"; + public static final String APPLICATION_XML_UTF8 = "application/xml;charset=UTF-8"; - public static final String IMAGE_GIF = "image/gif"; + public static final String IMAGE_GIF = "image/gif"; - public static final String IMAGE_JPEG = "image/jpeg"; + public static final String IMAGE_JPEG = "image/jpeg"; - public static final String IMAGE_PNG = "image/png"; - - + public static final String IMAGE_PNG = "image/png"; } diff --git a/maxkey-lib/mybatis-jpa-extra-2.6.jar b/maxkey-lib/mybatis-jpa-extra-2.7.jar similarity index 81% rename from maxkey-lib/mybatis-jpa-extra-2.6.jar rename to maxkey-lib/mybatis-jpa-extra-2.7.jar index 17b0569db69da84cc82da591b40f1ccbf02d1cfb..ab3d87f68e325afc1a8e754bb3413ff240a346b2 100644 GIT binary patch delta 9436 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 E1Nf09wEzGB delta 9387 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 diff --git a/maxkey-lib/mybatis-jpa-extra-spring-boot-starter-2.6.jar b/maxkey-lib/mybatis-jpa-extra-spring-boot-starter-2.7.jar similarity index 72% rename from maxkey-lib/mybatis-jpa-extra-spring-boot-starter-2.6.jar rename to maxkey-lib/mybatis-jpa-extra-spring-boot-starter-2.7.jar index 56723d433346cda33e532a03f6ad71ace814d448..0ec187801bb6ee5195daf9f7e1da9a86640274b7 100644 GIT binary patch delta 3503 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 new TreeSet<>(Comparator.comparing(o -> o.getId()))), ArrayList::new)); - if(organizationsService.batchInsert(orgsList)) { + if(organizationsService.insertBatch(orgsList)) { new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS), null, MessageType.success, OperateType.add, MessageScope.DB); }else { new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_ERROR), MessageType.error); diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/ResourcesController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/ResourcesController.java index 6de51371e..c0c0323c2 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/ResourcesController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/ResourcesController.java @@ -144,7 +144,7 @@ public class ResourcesController { public Message delete(@ModelAttribute("resource") Resources resource) { _logger.debug("-delete resource :" + resource); - if (resourcesService.batchDelete(resource.getId())) { + if (resourcesService.deleteBatch(resource.getId())) { return new Message(WebContext.getI18nValue(ConstantsOperateMessage.DELETE_SUCCESS),MessageType.success); } else { diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/RoleMemberController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/RoleMemberController.java index ff14119cf..de56accaf 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/RoleMemberController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/RoleMemberController.java @@ -144,7 +144,7 @@ public class RoleMemberController { return new Message("传入参数为空",MessageType.error); } - if(roleMemberService.batchDelete(roleMember.getId())) { + if(roleMemberService.deleteBatch(roleMember.getId())) { return new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.info); } return new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_ERROR),MessageType.error); diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/SocialsProviderController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/SocialsProviderController.java index 1d8f1dc77..ba24d1a3e 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/SocialsProviderController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/SocialsProviderController.java @@ -133,7 +133,7 @@ public class SocialsProviderController { public Message delete(@ModelAttribute("socialsProvider") SocialsProvider socialsProvider) { _logger.debug("-delete socialsProvider :" + socialsProvider); - if (socialsProviderService.batchDelete(socialsProvider.getId())) { + if (socialsProviderService.deleteBatch(socialsProvider.getId())) { return new Message(WebContext.getI18nValue(ConstantsOperateMessage.DELETE_SUCCESS),MessageType.success); } else { diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserAdjointController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserAdjointController.java index ab4b81c4e..74d114275 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserAdjointController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserAdjointController.java @@ -136,7 +136,7 @@ public class UserAdjointController { public Message delete(@ModelAttribute("userInfoAdjoint") UserInfoAdjoint userInfoAdjoint) { _logger.debug("-delete group :" + userInfoAdjoint); - if (userInfoAdjointService.batchDelete(userInfoAdjoint.getId())) { + if (userInfoAdjointService.deleteBatch(userInfoAdjoint.getId())) { return new Message(WebContext.getI18nValue(ConstantsOperateMessage.DELETE_SUCCESS),MessageType.success); } else { return new Message(WebContext.getI18nValue(ConstantsOperateMessage.DELETE_SUCCESS),MessageType.error); diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserInfoController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserInfoController.java index 5dcde105b..d20fc4bad 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserInfoController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserInfoController.java @@ -217,7 +217,7 @@ public class UserInfoController { @RequestMapping(value="/batchDelete") public Message batchDeleteUsers(@RequestParam("id")String id) { _logger.debug(id); - if(userInfoService.batchDelete(StringUtils.string2List(id, ","))) { + if(userInfoService.deleteBatch(StringUtils.string2List(id, ","))) { return new Message(WebContext.getI18nValue(ConstantsOperateMessage.DELETE_SUCCESS),MessageType.success); } else { @@ -235,7 +235,7 @@ public class UserInfoController { @RequestMapping(value="/delete") public Message deleteUsersById(@RequestParam("id") String id) { _logger.debug(id); - if(userInfoService.batchDelete(id)) { + if(userInfoService.deleteBatch(id)) { //provisioningPrepare.prepare(userInfo, OPERATEACTION.DELETE_ACTION); return new Message(WebContext.getI18nValue(ConstantsOperateMessage.DELETE_SUCCESS),MessageType.success); } else { @@ -313,7 +313,7 @@ public class UserInfoController { // 数据去重 if(!CollectionUtils.isEmpty(userInfoList)){ userInfoList = userInfoList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getUsername()))), ArrayList::new)); - if( userInfoService.batchInsert(userInfoList)) { + if( userInfoService.insertBatch(userInfoList)) { new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS), null, MessageType.success, OperateType.add, MessageScope.DB); }else { new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_ERROR), MessageType.error);