diff --git a/build.gradle b/build.gradle index 3b0210c7..1d88744c 100644 --- a/build.gradle +++ b/build.gradle @@ -150,8 +150,8 @@ subprojects { } clean { - delete 'dist' //删除前端自动生成的资源目录 - delete 'bin' //删除 eclipse 编译的 bin 目录 + //delete 'dist' //删除前端自动生成的资源目录 + //delete 'bin' //删除 eclipse 编译的 bin 目录 delete 'build' //删除 gradle 构建目录 } diff --git a/erm.frontend/package.json b/erm.frontend/package.json index e18e498e..7d71f093 100644 --- a/erm.frontend/package.json +++ b/erm.frontend/package.json @@ -1,6 +1,6 @@ { "name": "erm.frontend", - "version": "8.1.46", + "version": "8.1.47", "description": "", "private": false, "keywords": [], @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.308", + "platform-core": "8.1.312", "quasar": "2.15.4", "tailwindcss": "3.4.4", "vue": "3.4.31", diff --git a/erm.frontend/util-components-generator.cjs b/erm.frontend/util-components-generator.cjs index 55d46e44..820fc63d 100644 --- a/erm.frontend/util-components-generator.cjs +++ b/erm.frontend/util-components-generator.cjs @@ -1,36 +1,6 @@ const fs = require('fs'); const Json5 =require('json5'); -const packageJsonObject =JSON.parse(fs.readFileSync('./package.json').toString()); - -/** - * 特殊处理, 用于解决 @maxgraph/core 不能正常使用的问题, 会出现以下错误: - * ERROR in ./node_modules/.pnpm/@maxgraph+core@0.12.0/node_modules/@maxgraph/core/dist/index.js 174:0-24 - * Module not found: Error: Can't resolve './types' in 'io.sc.platform.core.frontend/node_modules/.pnpm/@maxgraph+core@0.12.0/node_modules/@maxgraph/core/dist' - * Did you mean 'types.js'? - * BREAKING CHANGE: The request './types' failed to resolve only because it was resolved as fully specified - * (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"'). - * The extension in the request is mandatory for it to be fully specified. - * Add the extension to the request. - * - * 解决方案: - * 1. 删除 node_modules/@maxgraph/core/package.json 文件中 [ "type" : "module" ] 属性 - * 2. 删除 node_modules/.pnpm/@maxgraph+core@xxx/package.json 文件中 [ "type" : "module" ] 属性 - */ -let path ='./node_modules/@maxgraph/core/package.json'; -if(fs.existsSync(path)){ - const packageJson =JSON.parse(fs.readFileSync(path).toString()); - delete packageJson['type']; - fs.writeFileSync(path, JSON.stringify(packageJson, null, ' ')); -} - -path ='./node_modules/.pnpm/@maxgraph+core@' + packageJsonObject['dependencies']['@maxgraph/core'] + '/node_modules/@maxgraph/core/package.json'; -if(fs.existsSync(path)){ - const packageJson =JSON.parse(fs.readFileSync(path).toString()); - delete packageJson['type']; - fs.writeFileSync(path, JSON.stringify(packageJson, null, ' ')); -} - /** * 用于自动生成前端组件 * 通过 src/routes/routes.json 文件构建 src/components/index.ts 文件 @@ -78,20 +48,3 @@ function generateComonents(route){ } } } - -/** - * 判断一个文件是否存在 - * @param {*} file 文件路径 - * @returns 文件是否存在 - */ -function isFileExisted(file) { - return new Promise((resolve, reject) => { - fs.access(file, (err) => { - if (err) { - reject(false); - } else { - resolve(true); - } - }); - }) -} diff --git a/erm.frontend/webpack.config.common.cjs b/erm.frontend/webpack.config.common.cjs index a76104a9..29d61265 100644 --- a/erm.frontend/webpack.config.common.cjs +++ b/erm.frontend/webpack.config.common.cjs @@ -87,6 +87,21 @@ module.exports = { } ] }, + + // 解决 @maxgraph/core 的问题, 避免出现以下错误 + // ERROR in ./node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist/index.js 175:0-24 + // Module not found: Error: Can't resolve './types' in '/Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/io.sc.platform.core.frontend/node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist' + // Did you mean 'types.js'? + // BREAKING CHANGE: The request './types' failed to resolve only because it was resolved as fully specified + // (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"'). + // The extension in the request is mandatory for it to be fully specified. + { + test: /\.js$/, + include: /node_modules\/@maxgraph\/core/, + resolve:{ + fullySpecified: false, + } + }, ], }, diff --git a/erm/src/main/java/erm/kpi/service/impl/LibServiceImpl.java b/erm/src/main/java/erm/kpi/service/impl/LibServiceImpl.java index 9ea3aeb5..0cd4bb5d 100644 --- a/erm/src/main/java/erm/kpi/service/impl/LibServiceImpl.java +++ b/erm/src/main/java/erm/kpi/service/impl/LibServiceImpl.java @@ -86,7 +86,7 @@ public class LibServiceImpl extends DaoServiceImpl { - fs.access(file, (err) => { - if (err) { - reject(false); - } else { - resolve(true); - } - }); - }) -} diff --git a/io.sc.engine.mv.frontend/webpack.config.common.cjs b/io.sc.engine.mv.frontend/webpack.config.common.cjs index a76104a9..29d61265 100644 --- a/io.sc.engine.mv.frontend/webpack.config.common.cjs +++ b/io.sc.engine.mv.frontend/webpack.config.common.cjs @@ -87,6 +87,21 @@ module.exports = { } ] }, + + // 解决 @maxgraph/core 的问题, 避免出现以下错误 + // ERROR in ./node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist/index.js 175:0-24 + // Module not found: Error: Can't resolve './types' in '/Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/io.sc.platform.core.frontend/node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist' + // Did you mean 'types.js'? + // BREAKING CHANGE: The request './types' failed to resolve only because it was resolved as fully specified + // (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"'). + // The extension in the request is mandatory for it to be fully specified. + { + test: /\.js$/, + include: /node_modules\/@maxgraph\/core/, + resolve:{ + fullySpecified: false, + } + }, ], }, diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/CoeBinomialHistoryWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/CoeBinomialHistoryWebController.java index d8fbdaeb..13f6e076 100644 --- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/CoeBinomialHistoryWebController.java +++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/CoeBinomialHistoryWebController.java @@ -25,6 +25,7 @@ public class CoeBinomialHistoryWebController extends RestCrudController data(HttpServletRequest request, HttpServletResponse response, @RequestParam("modelId") String modelId, @@ -32,7 +33,7 @@ public class CoeBinomialHistoryWebController extends RestCrudController cb =new CriteriaBuilder(); + CriteriaBuilder cb =new CriteriaBuilder<>(); queryParameter.addCriteria(cb.and( cb.equals("modelId",modelId), cb.equals("validateDate",validateDate) diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/CoeChiSquareHistoryWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/CoeChiSquareHistoryWebController.java index 1902d2a9..1facd953 100644 --- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/CoeChiSquareHistoryWebController.java +++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/CoeChiSquareHistoryWebController.java @@ -25,6 +25,7 @@ public class CoeChiSquareHistoryWebController extends RestCrudController data(HttpServletRequest request, HttpServletResponse response, @RequestParam("modelId") String modelId, @@ -32,7 +33,7 @@ public class CoeChiSquareHistoryWebController extends RestCrudController cb =new CriteriaBuilder(); + CriteriaBuilder cb =new CriteriaBuilder<>(); queryParameter.addCriteria(cb.and( cb.equals("modelId",modelId), cb.equals("validateDate",validateDate) diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/GeneralSampleHistoryWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/GeneralSampleHistoryWebController.java index e1b3bf7d..2aa7ca24 100644 --- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/GeneralSampleHistoryWebController.java +++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/GeneralSampleHistoryWebController.java @@ -27,6 +27,7 @@ import javax.servlet.http.HttpServletResponse; */ @RestController @RequestMapping("/api/mv/viewer/sample") +@SuppressWarnings("unchecked") public class GeneralSampleHistoryWebController extends RestCrudController { @GetMapping("data") public Page data(HttpServletRequest request, @@ -36,7 +37,7 @@ public class GeneralSampleHistoryWebController extends RestCrudController cb =new CriteriaBuilder(); + CriteriaBuilder cb =new CriteriaBuilder<>(); queryParameter.addCriteria(cb.and( cb.equals("modelId",modelId), cb.equals("validateDate",validateDate) diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScCapHistoryWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScCapHistoryWebController.java index 26ea2384..46f3ebe5 100644 --- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScCapHistoryWebController.java +++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScCapHistoryWebController.java @@ -47,6 +47,7 @@ public class ScCapHistoryWebController extends RestCrudController data(HttpServletRequest request, HttpServletResponse response, @RequestParam("modelId") String modelId, diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScKsHistoryWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScKsHistoryWebController.java index c3e5d6af..57c60a6e 100644 --- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScKsHistoryWebController.java +++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScKsHistoryWebController.java @@ -45,6 +45,7 @@ public class ScKsHistoryWebController extends RestCrudController data(HttpServletRequest request, HttpServletResponse response, @RequestParam("modelId") String modelId, @@ -52,7 +53,7 @@ public class ScKsHistoryWebController extends RestCrudController cb =new CriteriaBuilder(); + CriteriaBuilder cb =new CriteriaBuilder<>(); queryParameter.addCriteria(cb.and( cb.equals("modelId",modelId), cb.equals("validateDate",validateDate) diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScRocHistoryWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScRocHistoryWebController.java index 0c78c73e..2787cd08 100644 --- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScRocHistoryWebController.java +++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScRocHistoryWebController.java @@ -44,6 +44,7 @@ public class ScRocHistoryWebController extends RestCrudController data(HttpServletRequest request, HttpServletResponse response, @RequestParam("modelId") String modelId, @@ -51,7 +52,7 @@ public class ScRocHistoryWebController extends RestCrudController cb =new CriteriaBuilder(); + CriteriaBuilder cb =new CriteriaBuilder<>(); queryParameter.addCriteria(cb.and( cb.equals("modelId",modelId), cb.equals("validateDate",validateDate) diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/StPsiHistoryWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/StPsiHistoryWebController.java index 6ebf650f..6932a899 100644 --- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/StPsiHistoryWebController.java +++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/StPsiHistoryWebController.java @@ -43,6 +43,7 @@ public class StPsiHistoryWebController extends RestCrudController data(HttpServletRequest request, HttpServletResponse response, @RequestParam("modelId") String modelId, @@ -50,7 +51,7 @@ public class StPsiHistoryWebController extends RestCrudController cb =new CriteriaBuilder(); + CriteriaBuilder cb =new CriteriaBuilder<>(); queryParameter.addCriteria(cb.and( cb.equals("modelId",modelId), cb.equals("validateDate",validateDate) diff --git a/io.sc.engine.rule.client.spring/src/main/java/io/sc/engine/rule/client/spring/service/impl/LocalLoaderImpl.java b/io.sc.engine.rule.client.spring/src/main/java/io/sc/engine/rule/client/spring/service/impl/LocalLoaderImpl.java index 00c3c3b6..862f8b9c 100644 --- a/io.sc.engine.rule.client.spring/src/main/java/io/sc/engine/rule/client/spring/service/impl/LocalLoaderImpl.java +++ b/io.sc.engine.rule.client.spring/src/main/java/io/sc/engine/rule/client/spring/service/impl/LocalLoaderImpl.java @@ -68,8 +68,8 @@ public class LocalLoaderImpl implements LocalLoader{ return null; } - @SuppressWarnings("all") @Override + @SuppressWarnings("unchecked") public List getAllReleasableResourceAbstract() throws Exception { Object bean =applicationContext.getBean("reResourceService"); if(bean!=null) { diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/util/JacksonObjectMapper.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/util/JacksonObjectMapper.java index 76b84a2f..b1279827 100644 --- a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/util/JacksonObjectMapper.java +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/util/JacksonObjectMapper.java @@ -10,6 +10,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; public class JacksonObjectMapper { + @SuppressWarnings("deprecation") public static ObjectMapper getDefaultObjectMapper(){ ObjectMapper result =new ObjectMapper(); result.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/util/ObjectUtil.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/util/ObjectUtil.java index 1e7cf31d..f672a7f9 100644 --- a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/util/ObjectUtil.java +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/util/ObjectUtil.java @@ -21,7 +21,7 @@ public class ObjectUtil { * * @param 泛型类型 */ - @SuppressWarnings("all") + @SuppressWarnings("unchecked") public static T clone(T obj) throws ClassNotFoundException,IOException{ T cloneObj = null; ObjectOutputStream oos = null; diff --git a/io.sc.engine.rule.frontend/package.json b/io.sc.engine.rule.frontend/package.json index db9ce26d..f9e80e28 100644 --- a/io.sc.engine.rule.frontend/package.json +++ b/io.sc.engine.rule.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.engine.rule.frontend", - "version": "8.1.46", + "version": "8.1.47", "description": "", "private": false, "keywords": [], @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.308", + "platform-core": "8.1.312", "quasar": "2.15.4", "tailwindcss": "3.4.4", "vue": "3.4.31", diff --git a/io.sc.engine.rule.frontend/src/menus/menus.json b/io.sc.engine.rule.frontend/src/menus/menus.json index 4481651c..ff5f2d5a 100644 --- a/io.sc.engine.rule.frontend/src/menus/menus.json +++ b/io.sc.engine.rule.frontend/src/menus/menus.json @@ -30,7 +30,7 @@ /*决策引擎/特征库管理*/ {"type":"ROUTE", "order":500, "parentId":"menu.engine.rule", "id":"menu.engine.rule.lib", "titleI18nKey":"menu.engine.rule.lib", "icon":"bi-folder2", "routeName":"route.engine.rule.lib"}, /*决策引擎/函数库*/ - {"type":"ROUTE", "order":600, "parentId":"menu.engine.rule", "id":"menu.engine.rule.function", "titleI18nKey":"menu.engine.rule.function", "icon":"bi-folder2", "routeName":"route.engine.rule.function"}, + {"type":"ROUTE", "order":600, "parentId":"menu.engine.rule", "id":"menu.engine.rule.function", "titleI18nKey":"menu.engine.rule.function", "icon":"sym_o_function", "routeName":"route.engine.rule.function"}, /*决策引擎/测试用例管理*/ {"type":"ROUTE", "order":700, "parentId":"menu.engine.rule", "id":"menu.engine.rule.testcase", "titleI18nKey":"menu.engine.rule.testcase", "icon":"bi-suitcase-lg", "routeName":"route.engine.rule.testcase"}, /*决策引擎/数据迁移*/ diff --git a/io.sc.engine.rule.frontend/src/views/lib/IndicatorGrid.vue b/io.sc.engine.rule.frontend/src/views/lib/IndicatorGrid.vue index 6f5405ca..ac6e360a 100644 --- a/io.sc.engine.rule.frontend/src/views/lib/IndicatorGrid.vue +++ b/io.sc.engine.rule.frontend/src/views/lib/IndicatorGrid.vue @@ -3,6 +3,7 @@ { - fs.access(file, (err) => { - if (err) { - reject(false); - } else { - resolve(true); - } - }); - }) -} diff --git a/io.sc.engine.rule.frontend/webpack.config.common.cjs b/io.sc.engine.rule.frontend/webpack.config.common.cjs index a76104a9..29d61265 100644 --- a/io.sc.engine.rule.frontend/webpack.config.common.cjs +++ b/io.sc.engine.rule.frontend/webpack.config.common.cjs @@ -87,6 +87,21 @@ module.exports = { } ] }, + + // 解决 @maxgraph/core 的问题, 避免出现以下错误 + // ERROR in ./node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist/index.js 175:0-24 + // Module not found: Error: Can't resolve './types' in '/Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/io.sc.platform.core.frontend/node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist' + // Did you mean 'types.js'? + // BREAKING CHANGE: The request './types' failed to resolve only because it was resolved as fully specified + // (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"'). + // The extension in the request is mandatory for it to be fully specified. + { + test: /\.js$/, + include: /node_modules\/@maxgraph\/core/, + resolve:{ + fullySpecified: false, + } + }, ], }, diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/service/impl/ParameterAndValueTypeServiceImpl.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/service/impl/ParameterAndValueTypeServiceImpl.java index 4b1aa507..c5bf1459 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/service/impl/ParameterAndValueTypeServiceImpl.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/service/impl/ParameterAndValueTypeServiceImpl.java @@ -42,20 +42,20 @@ public class ParameterAndValueTypeServiceImpl implements ParameterAndValueTypeSe @Autowired private MessageSource messageSource; static { - valueTypeAndMessages.add(new KeyValue("java.lang.Boolean","java.lang.Boolean")); - valueTypeAndMessages.add(new KeyValue("java.lang.Long","java.lang.Long")); - valueTypeAndMessages.add(new KeyValue("java.lang.Float","java.lang.Float")); - valueTypeAndMessages.add(new KeyValue("Float","java.lang.Float")); - valueTypeAndMessages.add(new KeyValue("java.math.BigDecimal","java.math.BigDecimal")); - valueTypeAndMessages.add(new KeyValue("java.lang.String","java.lang.String")); - valueTypeAndMessages.add(new KeyValue("java.util.Date","java.util.Date")); - valueTypeAndMessages.add(new KeyValue("io.sc.engine.rule.core.classes.ResourceAbstract","io.sc.engine.rule.core.classes.ResourceAbstract")); - valueTypeAndMessages.add(new KeyValue("io.sc.engine.rule.core.classes.RuleResult","io.sc.engine.rule.core.classes.RuleResult")); - valueTypeAndMessages.add(new KeyValue("io.sc.engine.rule.core.classes.SingleRuleResult","io.sc.engine.rule.core.classes.SingleRuleResult")); - valueTypeAndMessages.add(new KeyValue("List","java.lang.List")); - valueTypeAndMessages.add(new KeyValue("java.lang.List","java.lang.List")); - valueTypeAndMessages.add(new KeyValue("Map","java.lang.Map")); - valueTypeAndMessages.add(new KeyValue("java.lang.Map","java.lang.Map")); + valueTypeAndMessages.add(new KeyValue("java.lang.Boolean","java.lang.Boolean")); + valueTypeAndMessages.add(new KeyValue("java.lang.Long","java.lang.Long")); + valueTypeAndMessages.add(new KeyValue("java.lang.Float","java.lang.Float")); + valueTypeAndMessages.add(new KeyValue("Float","java.lang.Float")); + valueTypeAndMessages.add(new KeyValue("java.math.BigDecimal","java.math.BigDecimal")); + valueTypeAndMessages.add(new KeyValue("java.lang.String","java.lang.String")); + valueTypeAndMessages.add(new KeyValue("java.util.Date","java.util.Date")); + valueTypeAndMessages.add(new KeyValue("io.sc.engine.rule.core.classes.ResourceAbstract","io.sc.engine.rule.core.classes.ResourceAbstract")); + valueTypeAndMessages.add(new KeyValue("io.sc.engine.rule.core.classes.RuleResult","io.sc.engine.rule.core.classes.RuleResult")); + valueTypeAndMessages.add(new KeyValue("io.sc.engine.rule.core.classes.SingleRuleResult","io.sc.engine.rule.core.classes.SingleRuleResult")); + valueTypeAndMessages.add(new KeyValue("List","java.lang.List")); + valueTypeAndMessages.add(new KeyValue("java.lang.List","java.lang.List")); + valueTypeAndMessages.add(new KeyValue("Map","java.lang.Map")); + valueTypeAndMessages.add(new KeyValue("java.lang.Map","java.lang.Map")); } @Override diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/dictionary/service/impl/DictionaryServiceImpl.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/dictionary/service/impl/DictionaryServiceImpl.java index 5b553ea9..9603be61 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/dictionary/service/impl/DictionaryServiceImpl.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/dictionary/service/impl/DictionaryServiceImpl.java @@ -156,7 +156,7 @@ public class DictionaryServiceImpl extends DaoServiceImpl implements EnumItemService{ @@ -22,18 +23,21 @@ public class EnumItemServiceImpl extends DaoServiceImpl items =dictionaryEntity.getItems(); - if(items!=null && items.size()>0) { - for(EnumItemEntity item : items) { - if(item.getValue().equals(entity.getValue()) || item.getTitle().equals(entity.getTitle())) { - throw new EnumItemEntityAlreadyExistsException(); + Optional optional =enumDictionaryRepository.findById(dictionaryId); + if(optional.isPresent()){ + EnumDictionaryEntity dictionaryEntity =optional.get(); + if(dictionaryEntity!=null) { + List items =dictionaryEntity.getItems(); + if(items!=null && items.size()>0) { + for(EnumItemEntity item : items) { + if(item.getValue().equals(entity.getValue()) || item.getTitle().equals(entity.getTitle())) { + throw new EnumItemEntityAlreadyExistsException(); + } } } } } - + Integer nextOrder =repository.getNextOrder(entity.getDictionary().getId()); if(nextOrder!=null) { entity.setOrder(nextOrder); @@ -52,14 +56,17 @@ public class EnumItemServiceImpl extends DaoServiceImpl items =dictionaryEntity.getItems(); - if(items!=null && items.size()>0) { - for(EnumItemEntity item : items) { - if(!item.getId().equals(entity.getId())) { - if(item.getValue().equals(entity.getValue()) || item.getTitle().equals(entity.getTitle())) { - throw new EnumItemEntityAlreadyExistsException(); + Optional optional =enumDictionaryRepository.findById(dictionaryId); + if(optional.isPresent()) { + EnumDictionaryEntity dictionaryEntity = optional.get(); + if (dictionaryEntity != null) { + List items = dictionaryEntity.getItems(); + if (items != null && items.size() > 0) { + for (EnumItemEntity item : items) { + if (!item.getId().equals(entity.getId())) { + if (item.getValue().equals(entity.getValue()) || item.getTitle().equals(entity.getTitle())) { + throw new EnumItemEntityAlreadyExistsException(); + } } } } diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/DictionaryEntityEventHandler.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/DictionaryEntityEventHandler.java index de819cf2..62aeed15 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/DictionaryEntityEventHandler.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/DictionaryEntityEventHandler.java @@ -68,7 +68,7 @@ public class DictionaryEntityEventHandler extends AbstractJpaEntityPersistentEve if(entity!=null) { DictionaryEntity parent =entity.getParent(); if(parent!=null) { - DictionaryEntity parentEntity =dictionaryService.getRepository().getOne(parent.getId()); + DictionaryEntity parentEntity =dictionaryService.findById(parent.getId()); if(parentEntity!=null) { if(log.isDebugEnabled()) {log.debug("更新 [父数据字典] 最后修改日期");} parentEntity.setLastModifyDate(new Date()); diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/IndicatorEntityEventHandler.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/IndicatorEntityEventHandler.java index 7a1330e0..6cbfb9e2 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/IndicatorEntityEventHandler.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/IndicatorEntityEventHandler.java @@ -61,7 +61,7 @@ public class IndicatorEntityEventHandler extends AbstractJpaEntityPersistentEven if(entity!=null) { LibEntity libEntity =entity.getLib(); if(libEntity!=null) { - libEntity =libService.getRepository().getOne(libEntity.getId()); + libEntity =libService.findById(libEntity.getId()); } if(libEntity!=null) { libEntity.setLastModifyDate(new Date()); diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/IndicatorProcessorEntityEventHandler.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/IndicatorProcessorEntityEventHandler.java index 5a78722a..c5d4ddce 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/IndicatorProcessorEntityEventHandler.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/IndicatorProcessorEntityEventHandler.java @@ -44,7 +44,7 @@ public class IndicatorProcessorEntityEventHandler extends AbstractJpaEntityPersi if(entity!=null) { IndicatorEntity indicatorEntity =entity.getIndicator(); if(indicatorEntity!=null) { - indicatorEntity =indicatorService.getRepository().getOne(indicatorEntity.getId()); + indicatorEntity =indicatorService.findById(indicatorEntity.getId()); } if(indicatorEntity!=null) { indicatorEntity.setLastModifyDate(new Date()); diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/IndicatorValidatorEntityEventHandler.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/IndicatorValidatorEntityEventHandler.java index 16964d6d..bef1d26b 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/IndicatorValidatorEntityEventHandler.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/IndicatorValidatorEntityEventHandler.java @@ -44,7 +44,7 @@ public class IndicatorValidatorEntityEventHandler extends AbstractJpaEntityPersi if(entity!=null) { IndicatorEntity indicatorEntity =entity.getIndicator(); if(indicatorEntity!=null) { - indicatorEntity =indicatorService.getRepository().getOne(indicatorEntity.getId()); + indicatorEntity =indicatorService.findById(indicatorEntity.getId()); } if(indicatorEntity!=null) { indicatorEntity.setLastModifyDate(new Date()); diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/LibEntityEventHandler.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/LibEntityEventHandler.java index cecb4a9e..82eb5849 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/LibEntityEventHandler.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/LibEntityEventHandler.java @@ -80,7 +80,7 @@ public class LibEntityEventHandler extends AbstractJpaEntityPersistentEventHandl if(entity!=null) { LibEntity parent =entity.getParent(); if(parent!=null) { - LibEntity parentEntity =libService.getRepository().getOne(parent.getId()); + LibEntity parentEntity =libService.findById(parent.getId()); if(parentEntity!=null) { parentEntity.setLastModifyDate(new Date()); libService.getRepository().save(parentEntity); diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ModelEntityEventHandler.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ModelEntityEventHandler.java index 7f3f796f..74b2f865 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ModelEntityEventHandler.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ModelEntityEventHandler.java @@ -46,7 +46,7 @@ public class ModelEntityEventHandler extends AbstractJpaEntityPersistentEventHan if(entity!=null) { ModelEntity parent =entity.getParent(); if(parent!=null) { - ModelEntity parentEntity =modelService.getRepository().getOne(parent.getId()); + ModelEntity parentEntity =modelService.findById(parent.getId()); if(parentEntity!=null) { parentEntity.setLastModifyDate(new Date()); modelService.getRepository().save(parentEntity); @@ -54,7 +54,7 @@ public class ModelEntityEventHandler extends AbstractJpaEntityPersistentEventHan }else { ResourceEntity resource =entity.getResource(); if(resource!=null) { - ResourceEntity resourceEntity =resourceService.getRepository().getOne(resource.getId()); + ResourceEntity resourceEntity =resourceService.findById(resource.getId()); resourceEntity.setLastModifyDate(new Date()); resourceService.getRepository().save(resourceEntity); } diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ParameterEntityEventHandler.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ParameterEntityEventHandler.java index 26c7bacb..93374984 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ParameterEntityEventHandler.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ParameterEntityEventHandler.java @@ -59,7 +59,7 @@ public class ParameterEntityEventHandler extends AbstractJpaEntityPersistentEven if(entity!=null) { ModelEntity parameterEntity =entity.getModel(); if(parameterEntity!=null) { - parameterEntity =modelService.getRepository().getOne(parameterEntity.getId()); + parameterEntity =modelService.findById(parameterEntity.getId()); } if(parameterEntity!=null) { parameterEntity.setLastModifyDate(new Date()); diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ParameterProcessorEntityEventHandler.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ParameterProcessorEntityEventHandler.java index 38d9471c..12a0978b 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ParameterProcessorEntityEventHandler.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ParameterProcessorEntityEventHandler.java @@ -44,7 +44,7 @@ public class ParameterProcessorEntityEventHandler extends AbstractJpaEntityPersi if(entity!=null) { ParameterEntity parameterEntity =entity.getParameter(); if(parameterEntity!=null) { - parameterEntity =parameterService.getRepository().getOne(parameterEntity.getId()); + parameterEntity =parameterService.findById(parameterEntity.getId()); } if(parameterEntity!=null) { parameterEntity.setLastModifyDate(new Date()); diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ParameterValidatorEntityEventHandler.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ParameterValidatorEntityEventHandler.java index da677b97..4cdb7031 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ParameterValidatorEntityEventHandler.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ParameterValidatorEntityEventHandler.java @@ -44,7 +44,7 @@ public class ParameterValidatorEntityEventHandler extends AbstractJpaEntityPersi if(entity!=null) { ParameterEntity parameterEntity =entity.getParameter(); if(parameterEntity!=null) { - parameterEntity =parameterService.getRepository().getOne(parameterEntity.getId()); + parameterEntity =parameterService.findById(parameterEntity.getId()); } if(parameterEntity!=null) { parameterEntity.setLastModifyDate(new Date()); diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ScoreCardVarEntityEventHandler.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ScoreCardVarEntityEventHandler.java index 27720274..0d243cd8 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ScoreCardVarEntityEventHandler.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/ScoreCardVarEntityEventHandler.java @@ -52,7 +52,7 @@ public class ScoreCardVarEntityEventHandler extends AbstractJpaEntityPersistentE if(entity!=null) { ResourceEntity resourceEntity =entity.getResource(); if(resourceEntity!=null) { - resourceEntity =resourceService.getRepository().getOne(resourceEntity.getId()); + resourceEntity =resourceService.findById(resourceEntity.getId()); } if(resourceEntity!=null) { resourceEntity.setLastModifyDate(new Date()); diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/UserDefinedJavaClassFieldEntityEventHandler.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/UserDefinedJavaClassFieldEntityEventHandler.java index facf84a7..af8ae6ca 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/UserDefinedJavaClassFieldEntityEventHandler.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/jpa/listener/handler/UserDefinedJavaClassFieldEntityEventHandler.java @@ -78,7 +78,7 @@ public class UserDefinedJavaClassFieldEntityEventHandler extends AbstractJpaEnti if(entity!=null) { DictionaryEntity dictionaryEntityEntity =entity.getDictionary(); if(dictionaryEntityEntity!=null) { - dictionaryEntityEntity =dictionaryService.getRepository().getOne(dictionaryEntityEntity.getId()); + dictionaryEntityEntity =dictionaryService.findById(dictionaryEntityEntity.getId()); } if(dictionaryEntityEntity!=null) { dictionaryEntityEntity.setLastModifyDate(new Date()); diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/service/impl/IndicatorProcessorServiceImpl.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/service/impl/IndicatorProcessorServiceImpl.java index 41f6cfad..d825a1ca 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/service/impl/IndicatorProcessorServiceImpl.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/service/impl/IndicatorProcessorServiceImpl.java @@ -134,7 +134,7 @@ public class IndicatorProcessorServiceImpl extends DaoServiceImpl mapping =request.getSqlParameterValueMap(); String replacedSql = ExpressionReplacer.replace(sql, mapping); - return jdbcTemplate.query(replacedSql, new Object[] {}, new ResultSetExtractor() { + return jdbcTemplate.query(replacedSql, new ResultSetExtractor() { @Override public SqlQueryResult extractData(ResultSet rs) throws SQLException, DataAccessException { return SqlQueryResult.from(rs); } - }); + },new Object[] {}); } } return null; diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/service/impl/IndicatorServiceImpl.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/service/impl/IndicatorServiceImpl.java index 916581f0..cb6e53eb 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/service/impl/IndicatorServiceImpl.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/lib/service/impl/IndicatorServiceImpl.java @@ -277,7 +277,7 @@ public class IndicatorServiceImpl extends DaoServiceImpl lines =IOUtils.readLines(new ByteArrayInputStream(csvContent.getBytes("UTF-8")), "UTF-8"); if(lines!=null && lines.size()>0) { @@ -361,12 +361,12 @@ public class ParameterProcessorServiceImpl if(StringUtils.hasText(sql)) { Map mapping =request.getSqlParameterValueMap(); String replacedSql =ExpressionReplacer.replace(sql, mapping); - return jdbcTemplate.query(replacedSql, new Object[] {}, new ResultSetExtractor() { + return jdbcTemplate.query(replacedSql, new ResultSetExtractor() { @Override public SqlQueryResult extractData(ResultSet rs) throws SQLException, DataAccessException { return SqlQueryResult.from(rs); } - }); + },new Object[] {}); } } return null; diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/service/impl/ParameterServiceImpl.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/service/impl/ParameterServiceImpl.java index fd62a630..476e7f7d 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/service/impl/ParameterServiceImpl.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/service/impl/ParameterServiceImpl.java @@ -255,7 +255,7 @@ public class ParameterServiceImpl extends DaoServiceImpl0) { //如果存在 资源-角色关系表中存在某个角色,表示该角色已经配置了资源访问权限,对于该角色新建的资源,需要也赋予响应的权限,否则会出现 //当前用户新建的资源无法查看到的问题 diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/testcase/service/impl/TestCaseServiceImpl.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/testcase/service/impl/TestCaseServiceImpl.java index 8636b8fe..ecc9df2d 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/testcase/service/impl/TestCaseServiceImpl.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/testcase/service/impl/TestCaseServiceImpl.java @@ -45,6 +45,7 @@ import io.sc.engine.rule.server.testcase.support.CellStyleBuilder; import io.sc.engine.rule.server.testcase.wrapper.Option; import io.sc.engine.rule.server.testcase.wrapper.TestCaseParameterWrapper; import io.sc.engine.rule.server.testcase.wrapper.TestCaseWrapper; +import io.sc.platform.core.Environment; import io.sc.platform.orm.service.impl.DaoServiceImpl; import io.sc.platform.orm.service.support.CriteriaBuilder; import io.sc.platform.orm.service.support.QueryParameter; @@ -89,12 +90,12 @@ public class TestCaseServiceImpl extends DaoServiceImpl findByOwnerId(String ownerId,QueryParameter queryParameter) throws Exception { - CriteriaBuilder cb =new CriteriaBuilder(); + CriteriaBuilder cb =new CriteriaBuilder<>(); queryParameter.addCriteria(cb.and( cb.equals("ownerId",ownerId) )); - //queryParameter.addCriterias(new CriteriaBuilder().equals("ownerId",ownerId).getCriteria()); return this.query(queryParameter); } @@ -118,7 +119,7 @@ public class TestCaseServiceImpl extends DaoServiceImpl { options.push({ value: define.id, label: define.name }); } } - console.log(factorDefineOptionsRef.value); factorDefineOptionsRef.value = options; } }); diff --git a/io.sc.engine.st.frontend/src/views/IndepFactor/IndepFactor.vue b/io.sc.engine.st.frontend/src/views/IndepFactor/IndepFactor.vue index a3b7c37a..aa982c15 100644 --- a/io.sc.engine.st.frontend/src/views/IndepFactor/IndepFactor.vue +++ b/io.sc.engine.st.frontend/src/views/IndepFactor/IndepFactor.vue @@ -154,7 +154,6 @@ }, ], }; - console.log(echartsOptionRef); } " > diff --git a/io.sc.engine.st.frontend/src/views/IndepFactor/IndepFactorDefine.vue b/io.sc.engine.st.frontend/src/views/IndepFactor/IndepFactorDefine.vue index 6ef569e0..2c4fd86d 100644 --- a/io.sc.engine.st.frontend/src/views/IndepFactor/IndepFactorDefine.vue +++ b/io.sc.engine.st.frontend/src/views/IndepFactor/IndepFactorDefine.vue @@ -249,7 +249,6 @@ const findAllWithoutById = (id) => { options.push({ value: define.id, label: define.name }); } } - console.log(factorDefineOptionsRef.value); factorDefineOptionsRef.value = options; } }); diff --git a/io.sc.engine.st.frontend/src/views/Scenario/ScenarioFactorDefine.vue b/io.sc.engine.st.frontend/src/views/Scenario/ScenarioFactorDefine.vue index 185ee7dc..33273c82 100644 --- a/io.sc.engine.st.frontend/src/views/Scenario/ScenarioFactorDefine.vue +++ b/io.sc.engine.st.frontend/src/views/Scenario/ScenarioFactorDefine.vue @@ -212,7 +212,6 @@ const findAllWithoutById = (id) => { options.push({ value: define.id, label: define.name }); } } - console.log(factorDefineOptionsRef.value); factorDefineOptionsRef.value = options; } }); diff --git a/io.sc.engine.st.frontend/util-components-generator.cjs b/io.sc.engine.st.frontend/util-components-generator.cjs index 55d46e44..820fc63d 100644 --- a/io.sc.engine.st.frontend/util-components-generator.cjs +++ b/io.sc.engine.st.frontend/util-components-generator.cjs @@ -1,36 +1,6 @@ const fs = require('fs'); const Json5 =require('json5'); -const packageJsonObject =JSON.parse(fs.readFileSync('./package.json').toString()); - -/** - * 特殊处理, 用于解决 @maxgraph/core 不能正常使用的问题, 会出现以下错误: - * ERROR in ./node_modules/.pnpm/@maxgraph+core@0.12.0/node_modules/@maxgraph/core/dist/index.js 174:0-24 - * Module not found: Error: Can't resolve './types' in 'io.sc.platform.core.frontend/node_modules/.pnpm/@maxgraph+core@0.12.0/node_modules/@maxgraph/core/dist' - * Did you mean 'types.js'? - * BREAKING CHANGE: The request './types' failed to resolve only because it was resolved as fully specified - * (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"'). - * The extension in the request is mandatory for it to be fully specified. - * Add the extension to the request. - * - * 解决方案: - * 1. 删除 node_modules/@maxgraph/core/package.json 文件中 [ "type" : "module" ] 属性 - * 2. 删除 node_modules/.pnpm/@maxgraph+core@xxx/package.json 文件中 [ "type" : "module" ] 属性 - */ -let path ='./node_modules/@maxgraph/core/package.json'; -if(fs.existsSync(path)){ - const packageJson =JSON.parse(fs.readFileSync(path).toString()); - delete packageJson['type']; - fs.writeFileSync(path, JSON.stringify(packageJson, null, ' ')); -} - -path ='./node_modules/.pnpm/@maxgraph+core@' + packageJsonObject['dependencies']['@maxgraph/core'] + '/node_modules/@maxgraph/core/package.json'; -if(fs.existsSync(path)){ - const packageJson =JSON.parse(fs.readFileSync(path).toString()); - delete packageJson['type']; - fs.writeFileSync(path, JSON.stringify(packageJson, null, ' ')); -} - /** * 用于自动生成前端组件 * 通过 src/routes/routes.json 文件构建 src/components/index.ts 文件 @@ -78,20 +48,3 @@ function generateComonents(route){ } } } - -/** - * 判断一个文件是否存在 - * @param {*} file 文件路径 - * @returns 文件是否存在 - */ -function isFileExisted(file) { - return new Promise((resolve, reject) => { - fs.access(file, (err) => { - if (err) { - reject(false); - } else { - resolve(true); - } - }); - }) -} diff --git a/io.sc.engine.st.frontend/webpack.config.common.cjs b/io.sc.engine.st.frontend/webpack.config.common.cjs index a76104a9..29d61265 100644 --- a/io.sc.engine.st.frontend/webpack.config.common.cjs +++ b/io.sc.engine.st.frontend/webpack.config.common.cjs @@ -87,6 +87,21 @@ module.exports = { } ] }, + + // 解决 @maxgraph/core 的问题, 避免出现以下错误 + // ERROR in ./node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist/index.js 175:0-24 + // Module not found: Error: Can't resolve './types' in '/Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/io.sc.platform.core.frontend/node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist' + // Did you mean 'types.js'? + // BREAKING CHANGE: The request './types' failed to resolve only because it was resolved as fully specified + // (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"'). + // The extension in the request is mandatory for it to be fully specified. + { + test: /\.js$/, + include: /node_modules\/@maxgraph\/core/, + resolve:{ + fullySpecified: false, + } + }, ], }, diff --git a/io.sc.platform.core.frontend/package.json b/io.sc.platform.core.frontend/package.json index f9ee2551..6c5bd32e 100644 --- a/io.sc.platform.core.frontend/package.json +++ b/io.sc.platform.core.frontend/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.1.308", + "version": "8.1.312", "description": "前端核心包,用于快速构建前端的脚手架", "//main": "库的主文件", "main": "dist/platform-core.js", diff --git a/io.sc.platform.core.frontend/src/platform/components/graph/WGraph.vue b/io.sc.platform.core.frontend/src/platform/components/graph/WGraph.vue index b4bd8b8e..0c12ba26 100644 --- a/io.sc.platform.core.frontend/src/platform/components/graph/WGraph.vue +++ b/io.sc.platform.core.frontend/src/platform/components/graph/WGraph.vue @@ -27,11 +27,11 @@ - + @@ -15,6 +15,4 @@ import ExpansionMenuItem from './ExpansionMenuItem.vue'; import IconMenuItem from './IconMenuItem.vue'; import { SessionManager } from '@/platform'; - -const menus = SessionManager.getSession().menus; diff --git a/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue b/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue index 57690666..3d510f43 100644 --- a/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue +++ b/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue @@ -86,8 +86,8 @@
-
{{ session.user?.userName }}
-
{{ session.user?.defaultRoleName }}
+
{{ SessionManager.getSession().user.userName }}
+
{{ SessionManager.getSession().user.defaultRoleName }}
@@ -135,12 +135,14 @@ - - - {{ t('changeRole') }} - - - + {{ t('logout') }} @@ -151,18 +153,13 @@ - - + diff --git a/io.sc.platform.core.frontend/src/platform/plugin/manager/ApplicationInitializer.ts b/io.sc.platform.core.frontend/src/platform/plugin/manager/ApplicationInitializer.ts index 5faf0ea4..db58570e 100644 --- a/io.sc.platform.core.frontend/src/platform/plugin/manager/ApplicationInitializer.ts +++ b/io.sc.platform.core.frontend/src/platform/plugin/manager/ApplicationInitializer.ts @@ -62,7 +62,7 @@ class ApplicationInitializer { // 构建路由 SessionManager.setRoutes(userSession.routes); RouterManager.setLocalRoutes(parameter.localRoutes); - RouterManager.buildRoutes(toRaw(userSession.routes)); + RouterManager.buildRoutes(userSession.routes); // 加载远程入口 RemoteEntryManager.loadRemoteEntries(parameter.callback); diff --git a/io.sc.platform.core.frontend/src/platform/plugin/manager/SessionManager.ts b/io.sc.platform.core.frontend/src/platform/plugin/manager/SessionManager.ts index 0ef8a687..d8272dc7 100644 --- a/io.sc.platform.core.frontend/src/platform/plugin/manager/SessionManager.ts +++ b/io.sc.platform.core.frontend/src/platform/plugin/manager/SessionManager.ts @@ -1,3 +1,4 @@ +import { reactive } from 'vue'; import type { UserSessionType, UserType, MenuItemType, FrontEndRouteType } from '@/platform/types'; import { PConst } from '@/platform/PConst'; import { Environment } from '@/platform/plugin/environment'; @@ -9,12 +10,12 @@ import { axios } from '@/platform/plugin'; class SessionManager { static #lastRequestDatetime = new Date().getTime(); - static #session: UserSessionType = { + static #session: UserSessionType = reactive({ user: {}, menus: [], routes: [], remoteEntries: new Map(), - }; + }); /** * 获取会话是否超时 @@ -62,6 +63,14 @@ class SessionManager { return Environment.isMultiCorporationMode() && SessionManager.getUser()?.corporationCode === '_PRIMARY_'; } + /** + * 获取菜单 + * @returns 菜单 + */ + public static getMenus() { + return SessionManager.#session.menus; + } + /** * 设置菜单 * @param menus 菜单 diff --git a/io.sc.platform.core.frontend/src/platform/plugin/manager/TagViewManager.ts b/io.sc.platform.core.frontend/src/platform/plugin/manager/TagViewManager.ts index ad942d25..a0a1cb7b 100644 --- a/io.sc.platform.core.frontend/src/platform/plugin/manager/TagViewManager.ts +++ b/io.sc.platform.core.frontend/src/platform/plugin/manager/TagViewManager.ts @@ -14,7 +14,6 @@ const gr = Environment.getGlobalReactive(); * TagView 管理器类 */ class TagViewManager { - static #updated = false; static #DEFAULT_JSON = '{"version":"-1","tagVeiws":[],"breadcrumbs":[]}'; static #tagViewsAndBreadcrumbs = reactive({ version: '' + Environment.getPlatformCoreVersion(), @@ -107,19 +106,16 @@ class TagViewManager { } private static update(storage: any) { - if (!TagViewManager.#updated) { - const tagViews = []; - if (storage.tagViews && storage.tagViews.length > 0) { - for (const tagView of storage.tagViews) { - if (RouterManager.getRouteByName(tagView.routeName)) { - tagViews.push(tagView); - } + const tagViews = []; + if (storage.tagViews && storage.tagViews.length > 0) { + for (const tagView of storage.tagViews) { + if (RouterManager.getRouteByName(tagView.routeName)) { + tagViews.push(tagView); } } - storage.tagViews = tagViews; - TagViewManager.#tagViewsAndBreadcrumbs.tagViews = tagViews; - TagViewManager.#updated = true; } + storage.tagViews = tagViews; + TagViewManager.#tagViewsAndBreadcrumbs.tagViews = tagViews; } private static createTagViews(storage: any): TagViewType[] { diff --git a/io.sc.platform.core.frontend/src/platform/types/UserType.ts b/io.sc.platform.core.frontend/src/platform/types/UserType.ts index 9ba206af..fd3e6d0c 100644 --- a/io.sc.platform.core.frontend/src/platform/types/UserType.ts +++ b/io.sc.platform.core.frontend/src/platform/types/UserType.ts @@ -1,4 +1,5 @@ export type UserType = { + userId?: string; loginName?: string; userName?: string; defaultAppId?: string; diff --git a/io.sc.platform.core.frontend/src/platform/views/LoginDialog.vue b/io.sc.platform.core.frontend/src/platform/views/LoginDialog.vue index 65bc7faa..fb7363f9 100644 --- a/io.sc.platform.core.frontend/src/platform/views/LoginDialog.vue +++ b/io.sc.platform.core.frontend/src/platform/views/LoginDialog.vue @@ -56,17 +56,10 @@ diff --git a/io.sc.platform.developer.frontend/util-components-generator.cjs b/io.sc.platform.developer.frontend/util-components-generator.cjs index 55d46e44..820fc63d 100644 --- a/io.sc.platform.developer.frontend/util-components-generator.cjs +++ b/io.sc.platform.developer.frontend/util-components-generator.cjs @@ -1,36 +1,6 @@ const fs = require('fs'); const Json5 =require('json5'); -const packageJsonObject =JSON.parse(fs.readFileSync('./package.json').toString()); - -/** - * 特殊处理, 用于解决 @maxgraph/core 不能正常使用的问题, 会出现以下错误: - * ERROR in ./node_modules/.pnpm/@maxgraph+core@0.12.0/node_modules/@maxgraph/core/dist/index.js 174:0-24 - * Module not found: Error: Can't resolve './types' in 'io.sc.platform.core.frontend/node_modules/.pnpm/@maxgraph+core@0.12.0/node_modules/@maxgraph/core/dist' - * Did you mean 'types.js'? - * BREAKING CHANGE: The request './types' failed to resolve only because it was resolved as fully specified - * (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"'). - * The extension in the request is mandatory for it to be fully specified. - * Add the extension to the request. - * - * 解决方案: - * 1. 删除 node_modules/@maxgraph/core/package.json 文件中 [ "type" : "module" ] 属性 - * 2. 删除 node_modules/.pnpm/@maxgraph+core@xxx/package.json 文件中 [ "type" : "module" ] 属性 - */ -let path ='./node_modules/@maxgraph/core/package.json'; -if(fs.existsSync(path)){ - const packageJson =JSON.parse(fs.readFileSync(path).toString()); - delete packageJson['type']; - fs.writeFileSync(path, JSON.stringify(packageJson, null, ' ')); -} - -path ='./node_modules/.pnpm/@maxgraph+core@' + packageJsonObject['dependencies']['@maxgraph/core'] + '/node_modules/@maxgraph/core/package.json'; -if(fs.existsSync(path)){ - const packageJson =JSON.parse(fs.readFileSync(path).toString()); - delete packageJson['type']; - fs.writeFileSync(path, JSON.stringify(packageJson, null, ' ')); -} - /** * 用于自动生成前端组件 * 通过 src/routes/routes.json 文件构建 src/components/index.ts 文件 @@ -78,20 +48,3 @@ function generateComonents(route){ } } } - -/** - * 判断一个文件是否存在 - * @param {*} file 文件路径 - * @returns 文件是否存在 - */ -function isFileExisted(file) { - return new Promise((resolve, reject) => { - fs.access(file, (err) => { - if (err) { - reject(false); - } else { - resolve(true); - } - }); - }) -} diff --git a/io.sc.platform.developer.frontend/webpack.config.common.cjs b/io.sc.platform.developer.frontend/webpack.config.common.cjs index a76104a9..29d61265 100644 --- a/io.sc.platform.developer.frontend/webpack.config.common.cjs +++ b/io.sc.platform.developer.frontend/webpack.config.common.cjs @@ -87,6 +87,21 @@ module.exports = { } ] }, + + // 解决 @maxgraph/core 的问题, 避免出现以下错误 + // ERROR in ./node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist/index.js 175:0-24 + // Module not found: Error: Can't resolve './types' in '/Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/io.sc.platform.core.frontend/node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist' + // Did you mean 'types.js'? + // BREAKING CHANGE: The request './types' failed to resolve only because it was resolved as fully specified + // (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"'). + // The extension in the request is mandatory for it to be fully specified. + { + test: /\.js$/, + include: /node_modules\/@maxgraph\/core/, + resolve:{ + fullySpecified: false, + } + }, ], }, diff --git a/io.sc.platform.developer/src/main/java/io/sc/platform/developer/controller/springboot/SpringbootRequestMappingWebController.java b/io.sc.platform.developer/src/main/java/io/sc/platform/developer/controller/springboot/SpringbootRequestMappingWebController.java index a4581658..5712e878 100644 --- a/io.sc.platform.developer/src/main/java/io/sc/platform/developer/controller/springboot/SpringbootRequestMappingWebController.java +++ b/io.sc.platform.developer/src/main/java/io/sc/platform/developer/controller/springboot/SpringbootRequestMappingWebController.java @@ -29,6 +29,7 @@ public class SpringbootRequestMappingWebController { @GetMapping("dispatcherServletMappingDescriptions") @ResponseBody + @SuppressWarnings("unchecked") public Page dispatcherServletMappingDescriptions(QueryParameter queryParameter){ List result =new ArrayList<>(); ApplicationMappings applicationMappings =mappingsEndpoint.mappings(); @@ -69,6 +70,7 @@ public class SpringbootRequestMappingWebController { @GetMapping("filterRegistrationMappingDescriptions") @ResponseBody + @SuppressWarnings("unchecked") public Page filterRegistrationMappingDescriptions(QueryParameter queryParameter){ List result =new ArrayList<>(); ApplicationMappings applicationMappings =mappingsEndpoint.mappings(); @@ -97,6 +99,7 @@ public class SpringbootRequestMappingWebController { @GetMapping("servletRegistrationMappingDescriptions") @ResponseBody + @SuppressWarnings("unchecked") public Page servletRegistrationMappingDescriptions(QueryParameter queryParameter){ List result =new ArrayList<>(); ApplicationMappings applicationMappings =mappingsEndpoint.mappings(); diff --git a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/AgentServiceImpl.java b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/AgentServiceImpl.java index fab425fd..77238922 100644 --- a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/AgentServiceImpl.java +++ b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/AgentServiceImpl.java @@ -58,7 +58,7 @@ public class AgentServiceImpl extends DaoServiceImpl\n" + " \n" + ""; - @Autowired private ProcessEntityRepository repository; + @Autowired private ProcessEntityService processEntityService; @Override public BpmnModelWrapper getModelJson(String id) throws Exception { if(StringUtils.hasText(id)){ - ProcessEntity entity =repository.getOne(id); + ProcessEntity entity =processEntityService.findById(id); if(entity!=null){ BpmnModel model = BpmnConverterUtil.xml2BpmnModel(entity.getXml()); @@ -57,14 +57,14 @@ public class FlowableModelerServiceImpl implements FlowableModelerService { String jsonXml =values.get("json_xml"); if(StringUtils.hasText(id)){ - ProcessEntity entity =repository.getOne(id); + ProcessEntity entity =processEntityService.findById(id); if(entity!=null){ //将修改后的流程定义转成 xml 进行存储 entity.setXml(getModifiedBpmnModelXml(entity,jsonXml)); entity.setKey(key); entity.setName(name); entity.setDescription(description); - repository.save(entity); + processEntityService.getRepository().save(entity); } } } diff --git a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/ProcessEntityServiceImpl.java b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/ProcessEntityServiceImpl.java index 553f0590..aba1d616 100644 --- a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/ProcessEntityServiceImpl.java +++ b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/ProcessEntityServiceImpl.java @@ -116,7 +116,7 @@ public class ProcessEntityServiceImpl extends DaoServiceImpl - + diff --git a/io.sc.platform.gradle/templates/pgp/setup/build.gradle.txt b/io.sc.platform.gradle/templates/pgp/setup/build.gradle.txt index 3b0210c7..1d88744c 100644 --- a/io.sc.platform.gradle/templates/pgp/setup/build.gradle.txt +++ b/io.sc.platform.gradle/templates/pgp/setup/build.gradle.txt @@ -150,8 +150,8 @@ subprojects { } clean { - delete 'dist' //删除前端自动生成的资源目录 - delete 'bin' //删除 eclipse 编译的 bin 目录 + //delete 'dist' //删除前端自动生成的资源目录 + //delete 'bin' //删除 eclipse 编译的 bin 目录 delete 'build' //删除 gradle 构建目录 } diff --git a/io.sc.platform.gradle/templates/pgp/setup/gradle.properties b/io.sc.platform.gradle/templates/pgp/setup/gradle.properties index c9918961..25668094 100644 --- a/io.sc.platform.gradle/templates/pgp/setup/gradle.properties +++ b/io.sc.platform.gradle/templates/pgp/setup/gradle.properties @@ -38,7 +38,7 @@ application_version=1.0.0 platform_group=io.sc platform_version=8.1.47 platform_plugin_version=8.1.47 -platform_core_frontend_version=8.1.308 +platform_core_frontend_version=8.1.312 ########################################################### # dependencies version diff --git a/io.sc.platform.lcdp.frontend/package.json b/io.sc.platform.lcdp.frontend/package.json index 282db269..6bc4f5c5 100644 --- a/io.sc.platform.lcdp.frontend/package.json +++ b/io.sc.platform.lcdp.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.lcdp.frontend", - "version": "8.1.46", + "version": "8.1.47", "description": "", "private": false, "keywords": [], @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.308", + "platform-core": "8.1.312", "quasar": "2.15.4", "tailwindcss": "3.4.4", "vue": "3.4.31", diff --git a/io.sc.platform.lcdp.frontend/util-components-generator.cjs b/io.sc.platform.lcdp.frontend/util-components-generator.cjs index 55d46e44..820fc63d 100644 --- a/io.sc.platform.lcdp.frontend/util-components-generator.cjs +++ b/io.sc.platform.lcdp.frontend/util-components-generator.cjs @@ -1,36 +1,6 @@ const fs = require('fs'); const Json5 =require('json5'); -const packageJsonObject =JSON.parse(fs.readFileSync('./package.json').toString()); - -/** - * 特殊处理, 用于解决 @maxgraph/core 不能正常使用的问题, 会出现以下错误: - * ERROR in ./node_modules/.pnpm/@maxgraph+core@0.12.0/node_modules/@maxgraph/core/dist/index.js 174:0-24 - * Module not found: Error: Can't resolve './types' in 'io.sc.platform.core.frontend/node_modules/.pnpm/@maxgraph+core@0.12.0/node_modules/@maxgraph/core/dist' - * Did you mean 'types.js'? - * BREAKING CHANGE: The request './types' failed to resolve only because it was resolved as fully specified - * (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"'). - * The extension in the request is mandatory for it to be fully specified. - * Add the extension to the request. - * - * 解决方案: - * 1. 删除 node_modules/@maxgraph/core/package.json 文件中 [ "type" : "module" ] 属性 - * 2. 删除 node_modules/.pnpm/@maxgraph+core@xxx/package.json 文件中 [ "type" : "module" ] 属性 - */ -let path ='./node_modules/@maxgraph/core/package.json'; -if(fs.existsSync(path)){ - const packageJson =JSON.parse(fs.readFileSync(path).toString()); - delete packageJson['type']; - fs.writeFileSync(path, JSON.stringify(packageJson, null, ' ')); -} - -path ='./node_modules/.pnpm/@maxgraph+core@' + packageJsonObject['dependencies']['@maxgraph/core'] + '/node_modules/@maxgraph/core/package.json'; -if(fs.existsSync(path)){ - const packageJson =JSON.parse(fs.readFileSync(path).toString()); - delete packageJson['type']; - fs.writeFileSync(path, JSON.stringify(packageJson, null, ' ')); -} - /** * 用于自动生成前端组件 * 通过 src/routes/routes.json 文件构建 src/components/index.ts 文件 @@ -78,20 +48,3 @@ function generateComonents(route){ } } } - -/** - * 判断一个文件是否存在 - * @param {*} file 文件路径 - * @returns 文件是否存在 - */ -function isFileExisted(file) { - return new Promise((resolve, reject) => { - fs.access(file, (err) => { - if (err) { - reject(false); - } else { - resolve(true); - } - }); - }) -} diff --git a/io.sc.platform.lcdp.frontend/webpack.config.common.cjs b/io.sc.platform.lcdp.frontend/webpack.config.common.cjs index a76104a9..29d61265 100644 --- a/io.sc.platform.lcdp.frontend/webpack.config.common.cjs +++ b/io.sc.platform.lcdp.frontend/webpack.config.common.cjs @@ -87,6 +87,21 @@ module.exports = { } ] }, + + // 解决 @maxgraph/core 的问题, 避免出现以下错误 + // ERROR in ./node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist/index.js 175:0-24 + // Module not found: Error: Can't resolve './types' in '/Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/io.sc.platform.core.frontend/node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist' + // Did you mean 'types.js'? + // BREAKING CHANGE: The request './types' failed to resolve only because it was resolved as fully specified + // (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"'). + // The extension in the request is mandatory for it to be fully specified. + { + test: /\.js$/, + include: /node_modules\/@maxgraph\/core/, + resolve:{ + fullySpecified: false, + } + }, ], }, diff --git a/io.sc.platform.mvc.frontend/package.json b/io.sc.platform.mvc.frontend/package.json index 828c8feb..f922aae7 100644 --- a/io.sc.platform.mvc.frontend/package.json +++ b/io.sc.platform.mvc.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.mvc.frontend", - "version": "8.1.46", + "version": "8.1.47", "description": "", "private": false, "keywords": [], @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.308", + "platform-core": "8.1.312", "quasar": "2.15.4", "tailwindcss": "3.4.4", "vue": "3.4.31", diff --git a/io.sc.platform.mvc.frontend/util-components-generator.cjs b/io.sc.platform.mvc.frontend/util-components-generator.cjs index 55d46e44..820fc63d 100644 --- a/io.sc.platform.mvc.frontend/util-components-generator.cjs +++ b/io.sc.platform.mvc.frontend/util-components-generator.cjs @@ -1,36 +1,6 @@ const fs = require('fs'); const Json5 =require('json5'); -const packageJsonObject =JSON.parse(fs.readFileSync('./package.json').toString()); - -/** - * 特殊处理, 用于解决 @maxgraph/core 不能正常使用的问题, 会出现以下错误: - * ERROR in ./node_modules/.pnpm/@maxgraph+core@0.12.0/node_modules/@maxgraph/core/dist/index.js 174:0-24 - * Module not found: Error: Can't resolve './types' in 'io.sc.platform.core.frontend/node_modules/.pnpm/@maxgraph+core@0.12.0/node_modules/@maxgraph/core/dist' - * Did you mean 'types.js'? - * BREAKING CHANGE: The request './types' failed to resolve only because it was resolved as fully specified - * (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"'). - * The extension in the request is mandatory for it to be fully specified. - * Add the extension to the request. - * - * 解决方案: - * 1. 删除 node_modules/@maxgraph/core/package.json 文件中 [ "type" : "module" ] 属性 - * 2. 删除 node_modules/.pnpm/@maxgraph+core@xxx/package.json 文件中 [ "type" : "module" ] 属性 - */ -let path ='./node_modules/@maxgraph/core/package.json'; -if(fs.existsSync(path)){ - const packageJson =JSON.parse(fs.readFileSync(path).toString()); - delete packageJson['type']; - fs.writeFileSync(path, JSON.stringify(packageJson, null, ' ')); -} - -path ='./node_modules/.pnpm/@maxgraph+core@' + packageJsonObject['dependencies']['@maxgraph/core'] + '/node_modules/@maxgraph/core/package.json'; -if(fs.existsSync(path)){ - const packageJson =JSON.parse(fs.readFileSync(path).toString()); - delete packageJson['type']; - fs.writeFileSync(path, JSON.stringify(packageJson, null, ' ')); -} - /** * 用于自动生成前端组件 * 通过 src/routes/routes.json 文件构建 src/components/index.ts 文件 @@ -78,20 +48,3 @@ function generateComonents(route){ } } } - -/** - * 判断一个文件是否存在 - * @param {*} file 文件路径 - * @returns 文件是否存在 - */ -function isFileExisted(file) { - return new Promise((resolve, reject) => { - fs.access(file, (err) => { - if (err) { - reject(false); - } else { - resolve(true); - } - }); - }) -} diff --git a/io.sc.platform.mvc.frontend/webpack.config.common.cjs b/io.sc.platform.mvc.frontend/webpack.config.common.cjs index a76104a9..29d61265 100644 --- a/io.sc.platform.mvc.frontend/webpack.config.common.cjs +++ b/io.sc.platform.mvc.frontend/webpack.config.common.cjs @@ -87,6 +87,21 @@ module.exports = { } ] }, + + // 解决 @maxgraph/core 的问题, 避免出现以下错误 + // ERROR in ./node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist/index.js 175:0-24 + // Module not found: Error: Can't resolve './types' in '/Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/io.sc.platform.core.frontend/node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist' + // Did you mean 'types.js'? + // BREAKING CHANGE: The request './types' failed to resolve only because it was resolved as fully specified + // (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"'). + // The extension in the request is mandatory for it to be fully specified. + { + test: /\.js$/, + include: /node_modules\/@maxgraph\/core/, + resolve:{ + fullySpecified: false, + } + }, ], }, diff --git a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java index 00ac79e3..86c56f6c 100644 --- a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java +++ b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java @@ -125,37 +125,32 @@ public abstract class RestCrudController)updatedEntity).toVo(); + } + return null; + } + /** * 更新多个实体 * @param request Http 请求对象 * @param response Http 响应对象 - * @param entitys 实体对象集合 + * @param entities 实体对象集合 * @return 更新后的实体 VO 对象 * @throws Exception 违例 */ @AuditLog(action=AuditLogAction.UPDATE) @PutMapping("updates") @ResponseBody - public List updates(HttpServletRequest request,HttpServletResponse response,@RequestBody List entitys) throws Exception{ - Map map = new HashMap<>(); - List list = new ArrayList<>(); - if (entitys!=null && entitys.size() > 0) { - for(E entity: entitys) { - ID id = service.getRepository().getId(entity); - map.put(id, entity); - } - list = service.update(map); - } + public List updates(HttpServletRequest request,HttpServletResponse response,@RequestBody List entities) throws Exception{ + Collections.reverse(entities); + List list =service.update(entities); return EntityVoUtil.toVo(list); } - protected V update(HttpServletRequest request,HttpServletResponse response,@PathVariable(name="id")ID id,@RequestBody @Valid E entity) throws Exception{ - E updatedEntity =service.update(id,entity); - if(updatedEntity instanceof BaseEntity){ - return ((BaseEntity)updatedEntity).toVo(); - } - return null; - } + /** * 通过唯一主键查询实体对象 diff --git a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/support/FileDownloader.java b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/support/FileDownloader.java index ae73a69a..bd41166b 100644 --- a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/support/FileDownloader.java +++ b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/support/FileDownloader.java @@ -1,5 +1,6 @@ package io.sc.platform.mvc.support; +import io.sc.platform.core.Environment; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.core.io.Resource; @@ -29,7 +30,7 @@ public class FileDownloader { // 设置附件名称(通过浏览器直接下载时,可正常保存中文名称) response.setHeader("Content-Disposition", "attachment; filename=" + new String(name.getBytes("UTF-8"), "ISO8859-1")); // 设置附件名称(通过 axios 下载时,可正常保存中文名称) - response.setHeader("Content-Disposition-Url-Encode", "attachment; filename=" + URLEncoder.encode(name)); + response.setHeader("Content-Disposition-Url-Encode", "attachment; filename=" + URLEncoder.encode(name, Environment.DEFAULT_URL_ENCODE_NAME)); } BufferedInputStream bis = null; BufferedOutputStream bos = null; diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/converter/types/DesensitizeStringWrapperTypeDescriptor.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/converter/types/DesensitizeStringWrapperTypeDescriptor.java index 58b35834..9067599f 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/converter/types/DesensitizeStringWrapperTypeDescriptor.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/converter/types/DesensitizeStringWrapperTypeDescriptor.java @@ -31,6 +31,7 @@ public class DesensitizeStringWrapperTypeDescriptor extends AbstractTypeDescript } @Override + @SuppressWarnings("unchecked") public X unwrap(DesensitizeStringWrapper value, Class type, WrapperOptions options) { if(desensitizeFieldKey!=null){ } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/DesensitizedEntity.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/DesensitizedEntity.java new file mode 100644 index 00000000..3b0cbd0a --- /dev/null +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/DesensitizedEntity.java @@ -0,0 +1,4 @@ +package io.sc.platform.orm.entity; + +public interface DesensitizedEntity { +} diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/repository/DaoRepository.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/repository/DaoRepository.java index a0954c66..88f0bb45 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/repository/DaoRepository.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/repository/DaoRepository.java @@ -30,6 +30,7 @@ public interface DaoRepository extends JpaRepository< public S save(S entity,boolean isSendEvent); public List saveAll(Iterable entities, boolean isSendEvent); public void delete(E entity,boolean isSendEvent); - public void deleteInBatch(Iterable entities,boolean isSendEvent); + public void deleteAllInBatch(Iterable entities,boolean isSendEvent); + public void deleteAllByIdInBatch(Iterable ids,boolean isSendEvent); public void deleteAllInBatch(boolean isSendEvent); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/repository/impl/DaoRepositoryImpl.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/repository/impl/DaoRepositoryImpl.java index 7bebbae6..1c65ce36 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/repository/impl/DaoRepositoryImpl.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/repository/impl/DaoRepositoryImpl.java @@ -14,17 +14,23 @@ import org.springframework.util.Assert; import org.springframework.util.StringUtils; import javax.persistence.EntityManager; +import javax.persistence.Query; import javax.persistence.metamodel.ManagedType; import javax.persistence.metamodel.SingularAttribute; import java.io.Serializable; import java.util.ArrayList; +import java.util.Collection; import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; +import java.util.stream.StreamSupport; import static org.springframework.data.jpa.repository.query.QueryUtils.*; public class DaoRepositoryImpl extends SimpleJpaRepository implements DaoRepository { private JpaEntityInformation jpaEntityInformation; private EntityManager entityManager; + private ApplicationContext applicationContext; public DaoRepositoryImpl(Class domainClass, EntityManager entityManager) { super(domainClass, entityManager); @@ -34,6 +40,7 @@ public class DaoRepositoryImpl extends SimpleJpaRepos super(jpaEntityInformation, entityManager); this.jpaEntityInformation =jpaEntityInformation; this.entityManager =entityManager; + this.applicationContext =Environment.getInstance().getApplicationContext(); } @Override @@ -99,18 +106,22 @@ public class DaoRepositoryImpl extends SimpleJpaRepos Assert.notNull(entity, "Entity must not be null."); if (jpaEntityInformation.isNew(entity)) { entityManager.persist(entity); - applicationContext().publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.AFTER_ADD,null, entity)); + applicationContext.publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.AFTER_ADD,null, entity)); return entity; } else if("".equals(getId(entity))){//当单一主键为空字符串时,也认为需要新增 setId(entity,null); entityManager.persist(entity); - applicationContext().publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.AFTER_ADD,null, entity)); + applicationContext.publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.AFTER_ADD,null, entity)); return entity; }else { - E oldEntity = this.getReferenceById(getId(entity)); - applicationContext().publishEvent(new JpaEntityPersistentEvent(entity.getClass(), JpaEntityPersistentEventType.BEFORE_UPDATE, oldEntity, entity)); - S result = entityManager.merge(entity); - return result; + Optional optional =this.findById(getId(entity)); + if(optional.isPresent()){ + E oldEntity =optional.get(); + applicationContext.publishEvent(new JpaEntityPersistentEvent(entity.getClass(), JpaEntityPersistentEventType.BEFORE_UPDATE, oldEntity, entity)); + S result = entityManager.merge(entity); + return result; + } + return entity; } } @@ -119,18 +130,22 @@ public class DaoRepositoryImpl extends SimpleJpaRepos public S save(S entity, boolean isSendEvent) { if (jpaEntityInformation.isNew(entity)) { entityManager.persist(entity); - if(isSendEvent) {applicationContext().publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.AFTER_ADD,null, entity));} + if(isSendEvent) {applicationContext.publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.AFTER_ADD,null, entity));} return entity; } else if("".equals(getId(entity))){//当单一主键为空字符串时,也认为需要新增 setId(entity,null); entityManager.persist(entity); - if(isSendEvent) {applicationContext().publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.AFTER_ADD,null, entity));} + if(isSendEvent) {applicationContext.publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.AFTER_ADD,null, entity));} return entity; }else { - E oldEntity =this.getReferenceById(getId(entity)); - if(isSendEvent) {applicationContext().publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.BEFORE_UPDATE,oldEntity, entity));} - S result =entityManager.merge(entity); - return result; + Optional optional =this.findById(getId(entity)); + if(optional.isPresent()){ + E oldEntity =optional.get(); + if(isSendEvent) {applicationContext.publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.BEFORE_UPDATE,oldEntity, entity));} + S result = entityManager.merge(entity); + return result; + } + return entity; } } @@ -155,7 +170,7 @@ public class DaoRepositoryImpl extends SimpleJpaRepos @Transactional public void delete(E entity) { Assert.notNull(entity, "The entity must not be null!"); - applicationContext().publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.BEFORE_DELETE,entity, null)); + applicationContext.publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.BEFORE_DELETE,entity, null)); entityManager.remove(entityManager.contains(entity) ? entity : entityManager.merge(entity)); } @@ -164,49 +179,52 @@ public class DaoRepositoryImpl extends SimpleJpaRepos public void delete(E entity,boolean isSendEvent) { Assert.notNull(entity, "The entity must not be null!"); if(isSendEvent) { - applicationContext().publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.BEFORE_DELETE,entity, null)); + applicationContext.publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.BEFORE_DELETE,entity, null)); } entityManager.remove(entityManager.contains(entity) ? entity : entityManager.merge(entity)); } @Override - @Transactional - public void deleteInBatch(Iterable entities) { - Assert.notNull(entities, "The given Iterable of entities not be null!"); - + public void deleteAllInBatch(Iterable entities, boolean isSendEvent) { + Assert.notNull(entities, "Entities must not be null!"); if (!entities.iterator().hasNext()) { return; } E entity =entities.iterator().next(); - applicationContext().publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.BEFORE_DELETE,entities, null)); - applyAndBind(getQueryString(DELETE_ALL_QUERY_STRING, jpaEntityInformation.getEntityName()), entities, entityManager) - .executeUpdate(); + if(isSendEvent) { + applicationContext.publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.BEFORE_DELETE,entities, null)); + } + applyAndBind(getQueryString(DELETE_ALL_QUERY_STRING, jpaEntityInformation.getEntityName()), entities, entityManager).executeUpdate(); } @Override - @Transactional - public void deleteInBatch(Iterable entities,boolean isSendEvent) { - Assert.notNull(entities, "The given Iterable of entities not be null!"); - - if (!entities.iterator().hasNext()) { + public void deleteAllByIdInBatch(Iterable ids, boolean isSendEvent) { + Assert.notNull(ids, "Ids must not be null!"); + if (!ids.iterator().hasNext()) { return; } - E entity =entities.iterator().next(); - if(isSendEvent) { - applicationContext().publishEvent(new JpaEntityPersistentEvent(entity.getClass(),JpaEntityPersistentEventType.BEFORE_DELETE,entities, null)); + if (jpaEntityInformation.hasCompositeId()) { + List entities = new ArrayList<>(); + // generate entity (proxies) without accessing the database. + ids.forEach(id -> entities.add(getReferenceById(id))); + deleteAllInBatch(entities,isSendEvent); + } else { + String queryString = String.format(DELETE_ALL_QUERY_BY_ID_STRING, jpaEntityInformation.getEntityName(),jpaEntityInformation.getIdAttribute().getName()); + Query query = entityManager.createQuery(queryString); + /** + * Some JPA providers require {@code ids} to be a {@link Collection} so we must convert if it's not already. + */ + if (Collection.class.isInstance(ids)) { + query.setParameter("ids", ids); + } else { + Collection idsCollection = StreamSupport.stream(ids.spliterator(), false).collect(Collectors.toCollection(ArrayList::new)); + query.setParameter("ids", idsCollection); + } + if(isSendEvent) { + applicationContext.publishEvent(new JpaEntityPersistentEvent(jpaEntityInformation.getJavaType(), JpaEntityPersistentEventType.BEFORE_DELETE_ALL, null, null)); + } + query.executeUpdate(); } - applyAndBind(getQueryString(DELETE_ALL_QUERY_STRING, jpaEntityInformation.getEntityName()), entities, entityManager) - .executeUpdate(); - } - - @Override - @Transactional - public void deleteAllInBatch() { - String entityName =jpaEntityInformation.getEntityName(); - Assert.hasText(entityName, "Entity name must not be null or empty!"); - applicationContext().publishEvent(new JpaEntityPersistentEvent(jpaEntityInformation.getJavaType(),JpaEntityPersistentEventType.BEFORE_DELETE_ALL,null, null)); - String sql =String.format("delete from %s x", entityName); - entityManager.createQuery(sql).executeUpdate(); } @Override @@ -215,13 +233,9 @@ public class DaoRepositoryImpl extends SimpleJpaRepos String entityName =jpaEntityInformation.getEntityName(); Assert.hasText(entityName, "Entity name must not be null or empty!"); if(isSendEvent) { - applicationContext().publishEvent(new JpaEntityPersistentEvent(jpaEntityInformation.getJavaType(),JpaEntityPersistentEventType.BEFORE_DELETE_ALL,null, null)); + applicationContext.publishEvent(new JpaEntityPersistentEvent(jpaEntityInformation.getJavaType(),JpaEntityPersistentEventType.BEFORE_DELETE_ALL,null, null)); } String sql =String.format("delete from %s x", entityName); entityManager.createQuery(sql).executeUpdate(); } - - private ApplicationContext applicationContext(){ - return Environment.getInstance().getApplicationContext(); - } } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/DaoService.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/DaoService.java index 8125649b..fe9996fd 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/DaoService.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/DaoService.java @@ -33,7 +33,7 @@ public interface DaoService update(Map entities) throws Exception; + public List update(List entities) throws Exception; public List getDefaultValues() throws Exception; public void resetDefaultValues() throws Exception; diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/impl/DaoServiceImpl.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/impl/DaoServiceImpl.java index 9580b3af..6569e5fc 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/impl/DaoServiceImpl.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/impl/DaoServiceImpl.java @@ -2,6 +2,7 @@ package io.sc.platform.orm.service.impl; import io.sc.platform.core.Environment; import io.sc.platform.orm.entity.CorporationAuditorEntity; +import io.sc.platform.orm.entity.DesensitizedEntity; import io.sc.platform.orm.entity.support.JpaEntityPersistentEvent; import io.sc.platform.orm.entity.support.JpaEntityPersistentEventType; import io.sc.platform.orm.repository.DaoRepository; @@ -136,12 +137,15 @@ public abstract class DaoServiceImpl> singularAttributes =managedTypeAttributes.getSingularAttributes(); if(singularAttributes!=null && !singularAttributes.isEmpty()){ + boolean isDesensitized =DesensitizedEntity.class.isAssignableFrom(oldEntity.getClass()); for(String fieldName : singularAttributes.keySet()){ Object value =newEntityWrapper.getPropertyValue(fieldName); if(value!=null) { - if(desensitizerAuthorizerService.authorize(oldEntity.getClass().getName(),fieldName)){ - if (value.toString().contains("***")) { - continue; + if(isDesensitized) { + if (desensitizerAuthorizerService.authorize(oldEntity.getClass().getName(), fieldName)) { + if (value.toString().contains("***")) { + continue; + } } } } @@ -225,7 +229,7 @@ public abstract class DaoServiceImpl update(Map entities) throws Exception { - List updated =new ArrayList<>(); - if(entities!=null && !entities.isEmpty()) { - for (Map.Entry entry : entities.entrySet()) { - updated.add(this.update(entry.getKey(),entry.getValue())); - } + public List update(List entities) throws Exception { + if(entities==null || entities.isEmpty()) { + return Collections.emptyList(); } - return updated; + List updateds =new ArrayList<>(); + for(E entity : entities){ + updateds.add(this.update(repository.getId(entity),entity)); + } + return updateds; } @Override @@ -334,6 +340,7 @@ public abstract class DaoServiceImpl buildSpecification(QueryParameter queryParameter) { return (root, query, criteriaBuilder) -> { if(queryParameter==null){ diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/CriteriaBuilder.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/CriteriaBuilder.java index 54640540..c2086dfe 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/CriteriaBuilder.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/CriteriaBuilder.java @@ -11,6 +11,7 @@ import java.util.Arrays; import java.util.List; public class CriteriaBuilder { + @SuppressWarnings("unchecked") public Criteria and(Criteria... criterias){ if(criterias!=null && criterias.length>0) { And condition = new And(); @@ -20,6 +21,7 @@ public class CriteriaBuilder { return new None(); } + @SuppressWarnings("unchecked") public Criteria or(Criteria... criterias){ if(criterias!=null && criterias.length>0) { Or condition = new Or<>(); @@ -29,6 +31,7 @@ public class CriteriaBuilder { return new None(); } + @SuppressWarnings("unchecked") public Criteria not(Criteria criteria){ if(criteria!=null) { Not condition = new Not<>(); @@ -40,6 +43,7 @@ public class CriteriaBuilder { return new None(); } + @SuppressWarnings("unchecked") public Criteria equals(String fieldName,String value){ if(StringUtils.hasText(fieldName) && value!=null){ Equals condition =new Equals<>(); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/DefaultQueryResultSorter.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/DefaultQueryResultSorter.java index 24f3ae70..edaf4c9d 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/DefaultQueryResultSorter.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/DefaultQueryResultSorter.java @@ -22,6 +22,7 @@ public class DefaultQueryResultSorter implements QueryResultSorter{ } @Override + @SuppressWarnings("unchecked") public int compare(T o1, T o2) { int direction =isAscending?1:-1; if(o1!=null && o2==null){ diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/QueryResult.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/QueryResult.java index 69aaf51b..6150bd42 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/QueryResult.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/QueryResult.java @@ -31,6 +31,7 @@ public class QueryResult { return page(list,queryParameter, new DefaultQueryResultSorter()); } + @SuppressWarnings("unchecked") public static Page page(List list, QueryParameter queryParameter, QueryResultSorter sorter){ if(list==null && list.isEmpty()){ return emptyPage(); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/And.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/And.java index 98d96bc0..ce25e09d 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/And.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/And.java @@ -14,6 +14,7 @@ import java.util.Map; public class And extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { List predicates =new ArrayList<>(); for(Criteria _criteria : criteria){ @@ -25,6 +26,7 @@ public class And extends Criteria { } @Override + @SuppressWarnings("unchecked") public Condition getCondition(Map> typeMapping) { List conditions =new ArrayList<>(); for(Criteria _criteria : criteria){ diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Between.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Between.java index 230d754f..f902a7f0 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Between.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Between.java @@ -14,6 +14,7 @@ public class Between extends Criteria { protected String end; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(start) && !StringUtils.hasText(end)){ throw new IllegalArgumentException("[" + operator + "] need a [start] or [end] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/BetweenInclusive.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/BetweenInclusive.java index 153786e0..3fa0ed28 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/BetweenInclusive.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/BetweenInclusive.java @@ -10,6 +10,7 @@ import java.util.Map; public class BetweenInclusive extends Between { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(start) && !StringUtils.hasText(end)){ throw new IllegalArgumentException("[" + operator + "] need a [start] or [end] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java index 7aa03eef..4d2062b9 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java @@ -13,6 +13,7 @@ public class Contains extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/ContainsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/ContainsField.java index 1b8e3795..8df8f411 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/ContainsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/ContainsField.java @@ -11,7 +11,9 @@ import java.util.Map; public class ContainsField extends Criteria { protected String value; + @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java index a5e045a0..9f2e7d53 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java @@ -11,6 +11,7 @@ import java.util.Map; public class EndWith extends Criteria { protected String value; + @Override public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWithField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWithField.java index ef1d7520..49686808 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWithField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWithField.java @@ -15,6 +15,7 @@ public class EndWithField extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java index 424c8e41..bc2087df 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java @@ -14,6 +14,7 @@ public class Equals extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EqualsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EqualsField.java index f7d5d925..6a9ce3e8 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EqualsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EqualsField.java @@ -13,6 +13,7 @@ public class EqualsField extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java index 4f5163de..d24db912 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java @@ -13,6 +13,7 @@ public class GreaterOrEquals extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEqualsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEqualsField.java index d41fafa9..15bc5839 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEqualsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEqualsField.java @@ -13,6 +13,7 @@ public class GreaterOrEqualsField extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java index eaf745bf..608d6b98 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java @@ -14,6 +14,7 @@ public class GreaterThan extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThanField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThanField.java index 6d975618..e9135a97 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThanField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThanField.java @@ -13,6 +13,7 @@ public class GreaterThanField extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IBetween.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IBetween.java index 29c7d9eb..65aa9411 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IBetween.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IBetween.java @@ -15,6 +15,7 @@ public class IBetween extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IBetweenInclusive.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IBetweenInclusive.java index f878999d..bdeee2f2 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IBetweenInclusive.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IBetweenInclusive.java @@ -13,6 +13,7 @@ import java.util.Map; public class IBetweenInclusive extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContains.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContains.java index 688356d6..f5859009 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContains.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContains.java @@ -12,6 +12,7 @@ import java.util.Map; public class IContains extends Contains { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContainsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContainsField.java index b6e94646..b8c41252 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContainsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContainsField.java @@ -11,6 +11,7 @@ import java.util.Map; public class IContainsField extends ContainsField { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEndWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEndWith.java index 84019beb..a03024a6 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEndWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEndWith.java @@ -11,6 +11,7 @@ import java.util.Map; public class IEndWith extends EndWith { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEndWithField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEndWithField.java index 4cd67834..5e1d0148 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEndWithField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEndWithField.java @@ -13,6 +13,7 @@ import java.util.Map; public class IEndWithField extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEquals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEquals.java index 0f52afeb..fd039e62 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEquals.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEquals.java @@ -12,6 +12,7 @@ import java.util.Map; public class IEquals extends Equals { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEqualsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEqualsField.java index 4c8deb23..31ca9b62 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEqualsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEqualsField.java @@ -11,6 +11,7 @@ import java.util.Map; public class IEqualsField extends EqualsField { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotContains.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotContains.java index e5eb7d35..7b9fe579 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotContains.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotContains.java @@ -13,6 +13,7 @@ import java.util.Map; public class INotContains extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotContainsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotContainsField.java index a874d2a5..f5c6a98c 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotContainsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotContainsField.java @@ -13,6 +13,7 @@ import java.util.Map; public class INotContainsField extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEndWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEndWith.java index 1c3f6cc3..525828d4 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEndWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEndWith.java @@ -13,6 +13,7 @@ import java.util.Map; public class INotEndWith extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEndWithField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEndWithField.java index 0967143a..40d41108 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEndWithField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEndWithField.java @@ -13,6 +13,7 @@ import java.util.Map; public class INotEndWithField extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEquals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEquals.java index f1e6a128..a83d7af7 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEquals.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEquals.java @@ -13,6 +13,7 @@ import java.util.Map; public class INotEquals extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEqualsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEqualsField.java index 34c715b1..fe5b74af 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEqualsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotEqualsField.java @@ -13,6 +13,7 @@ import java.util.Map; public class INotEqualsField extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotStartWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotStartWith.java index c8e224e4..4e689f40 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotStartWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotStartWith.java @@ -13,6 +13,7 @@ import java.util.Map; public class INotStartWith extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotStartWithField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotStartWithField.java index ace8c4a4..2532ce4b 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotStartWithField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/INotStartWithField.java @@ -13,6 +13,7 @@ import java.util.Map; public class INotStartWithField extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IStartWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IStartWith.java index 86cb0a29..7d5a81e6 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IStartWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IStartWith.java @@ -13,6 +13,7 @@ import java.util.Map; public class IStartWith extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IStartWithField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IStartWithField.java index 9853f416..36b0e0aa 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IStartWithField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IStartWithField.java @@ -13,6 +13,7 @@ import java.util.Map; public class IStartWithField extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java index 3e228ea2..6350e3b3 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java @@ -15,6 +15,7 @@ public class InSet extends Criteria { protected String[] value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(value==null || value.length<=0){ throw new IllegalArgumentException("[" + operator + "] need a [start] or [end] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsBlank.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsBlank.java index 28c3155a..186e575d 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsBlank.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsBlank.java @@ -13,6 +13,7 @@ import java.util.Map; public class IsBlank extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { return builder.isEmpty(root.get(fieldName)); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNotNull.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNotNull.java index 0f3b8d09..4dc348b2 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNotNull.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNotNull.java @@ -13,6 +13,7 @@ import java.util.Map; public class IsNotNull extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { return root.get(fieldName).isNotNull(); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNull.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNull.java index 433aefaa..282061c4 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNull.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNull.java @@ -13,6 +13,7 @@ import java.util.Map; public class IsNull extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { return root.get(fieldName).isNull(); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEquals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEquals.java index 547a4ca8..5fc3ada9 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEquals.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEquals.java @@ -13,6 +13,7 @@ public class LessOrEquals extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEqualsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEqualsField.java index 370a7753..cb18bbe1 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEqualsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEqualsField.java @@ -13,6 +13,7 @@ public class LessOrEqualsField extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThan.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThan.java index d347d409..20405035 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThan.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThan.java @@ -13,6 +13,7 @@ public class LessThan extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThanField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThanField.java index 4a6552b4..4d2b2da5 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThanField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThanField.java @@ -13,6 +13,7 @@ public class LessThanField extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Not.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Not.java index fe1ae0c4..df9f9a3a 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Not.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Not.java @@ -15,6 +15,7 @@ import java.util.Map; public class Not extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { List predicates =new ArrayList<>(); for(Criteria _criteria : criteria){ diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotBlank.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotBlank.java index e01aaeb7..efceec91 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotBlank.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotBlank.java @@ -13,6 +13,7 @@ import java.util.Map; public class NotBlank extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { return builder.isNotEmpty(root.get(fieldName)); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContains.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContains.java index af896dee..11093e94 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContains.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContains.java @@ -11,7 +11,9 @@ import java.util.Map; public class NotContains extends Criteria { protected String value; + @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContainsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContainsField.java index e1f70a85..55233b3d 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContainsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContainsField.java @@ -11,7 +11,9 @@ import java.util.Map; public class NotContainsField extends Criteria { protected String value; + @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWith.java index ba10194d..af2da7ae 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWith.java @@ -11,7 +11,9 @@ import java.util.Map; public class NotEndWith extends Criteria { protected String value; + @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWithField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWithField.java index fef0f70d..b7415373 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWithField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWithField.java @@ -15,6 +15,7 @@ public class NotEndWithField extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEquals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEquals.java index 10c26747..52b138fa 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEquals.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEquals.java @@ -13,6 +13,7 @@ public class NotEquals extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEqualsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEqualsField.java index 40be014f..1448b07d 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEqualsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEqualsField.java @@ -13,6 +13,7 @@ public class NotEqualsField extends Criteria { protected String value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotInSet.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotInSet.java index 55f6ffa1..800fdaa2 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotInSet.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotInSet.java @@ -15,11 +15,12 @@ public class NotInSet extends Criteria { protected String[] value; @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(value==null || value.length<=0){ throw new IllegalArgumentException("[" + operator + "] need a [start] or [end] value"); } - return root.get(fieldName).in(value).not(); + return root.get(fieldName).in((Object[])value).not(); } @Override diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWith.java index 60bc81ef..00e74719 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWith.java @@ -11,7 +11,9 @@ import java.util.Map; public class NotStartWith extends Criteria { protected String value; + @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWithField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWithField.java index f000e61b..cce53ba5 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWithField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWithField.java @@ -13,6 +13,7 @@ import java.util.Map; public class NotStartWithField extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Or.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Or.java index 4a464272..ebc53876 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Or.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Or.java @@ -15,6 +15,7 @@ import java.util.Map; public class Or extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { List predicates =new ArrayList<>(); for(Criteria _criteria : criteria){ diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWith.java index 4c4224c1..491933d4 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWith.java @@ -11,7 +11,9 @@ import java.util.Map; public class StartWith extends Criteria { protected String value; + @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWithField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWithField.java index 487e2f50..43aa27ed 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWithField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWithField.java @@ -13,6 +13,7 @@ import java.util.Map; public class StartWithField extends Criteria { @Override + @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { throw new OperatorTypeNotSupportedException("[" + operator + "] NOT supported"); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoUtil.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoUtil.java index e20996d7..45fc6a65 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoUtil.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoUtil.java @@ -48,6 +48,7 @@ public class EntityVoUtil { * @param 实体类型 * @param 值类型 */ + @SuppressWarnings("unchecked") public static Page toVo(Page page){ if(page!=null && !page.getContent().isEmpty()) { List entities =page.getContent(); @@ -83,6 +84,7 @@ public class EntityVoUtil { * @param 实体类型 * @param 值类型 */ + @SuppressWarnings("unchecked") public static List toVo(List entities){ if(entities!=null && !entities.isEmpty()) { List list =new ArrayList<>(entities.size()); diff --git a/io.sc.platform.scheduler.manager.frontend/package.json b/io.sc.platform.scheduler.manager.frontend/package.json index db7e4a28..f6e281d5 100644 --- a/io.sc.platform.scheduler.manager.frontend/package.json +++ b/io.sc.platform.scheduler.manager.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.scheduler.manager.frontend", - "version": "8.1.46", + "version": "8.1.47", "description": "", "private": false, "keywords": [], @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.308", + "platform-core": "8.1.312", "quasar": "2.15.4", "tailwindcss": "3.4.4", "vue": "3.4.31", diff --git a/io.sc.platform.scheduler.manager.frontend/util-components-generator.cjs b/io.sc.platform.scheduler.manager.frontend/util-components-generator.cjs index 55d46e44..820fc63d 100644 --- a/io.sc.platform.scheduler.manager.frontend/util-components-generator.cjs +++ b/io.sc.platform.scheduler.manager.frontend/util-components-generator.cjs @@ -1,36 +1,6 @@ const fs = require('fs'); const Json5 =require('json5'); -const packageJsonObject =JSON.parse(fs.readFileSync('./package.json').toString()); - -/** - * 特殊处理, 用于解决 @maxgraph/core 不能正常使用的问题, 会出现以下错误: - * ERROR in ./node_modules/.pnpm/@maxgraph+core@0.12.0/node_modules/@maxgraph/core/dist/index.js 174:0-24 - * Module not found: Error: Can't resolve './types' in 'io.sc.platform.core.frontend/node_modules/.pnpm/@maxgraph+core@0.12.0/node_modules/@maxgraph/core/dist' - * Did you mean 'types.js'? - * BREAKING CHANGE: The request './types' failed to resolve only because it was resolved as fully specified - * (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"'). - * The extension in the request is mandatory for it to be fully specified. - * Add the extension to the request. - * - * 解决方案: - * 1. 删除 node_modules/@maxgraph/core/package.json 文件中 [ "type" : "module" ] 属性 - * 2. 删除 node_modules/.pnpm/@maxgraph+core@xxx/package.json 文件中 [ "type" : "module" ] 属性 - */ -let path ='./node_modules/@maxgraph/core/package.json'; -if(fs.existsSync(path)){ - const packageJson =JSON.parse(fs.readFileSync(path).toString()); - delete packageJson['type']; - fs.writeFileSync(path, JSON.stringify(packageJson, null, ' ')); -} - -path ='./node_modules/.pnpm/@maxgraph+core@' + packageJsonObject['dependencies']['@maxgraph/core'] + '/node_modules/@maxgraph/core/package.json'; -if(fs.existsSync(path)){ - const packageJson =JSON.parse(fs.readFileSync(path).toString()); - delete packageJson['type']; - fs.writeFileSync(path, JSON.stringify(packageJson, null, ' ')); -} - /** * 用于自动生成前端组件 * 通过 src/routes/routes.json 文件构建 src/components/index.ts 文件 @@ -78,20 +48,3 @@ function generateComonents(route){ } } } - -/** - * 判断一个文件是否存在 - * @param {*} file 文件路径 - * @returns 文件是否存在 - */ -function isFileExisted(file) { - return new Promise((resolve, reject) => { - fs.access(file, (err) => { - if (err) { - reject(false); - } else { - resolve(true); - } - }); - }) -} diff --git a/io.sc.platform.scheduler.manager.frontend/webpack.config.common.cjs b/io.sc.platform.scheduler.manager.frontend/webpack.config.common.cjs index a76104a9..29d61265 100644 --- a/io.sc.platform.scheduler.manager.frontend/webpack.config.common.cjs +++ b/io.sc.platform.scheduler.manager.frontend/webpack.config.common.cjs @@ -87,6 +87,21 @@ module.exports = { } ] }, + + // 解决 @maxgraph/core 的问题, 避免出现以下错误 + // ERROR in ./node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist/index.js 175:0-24 + // Module not found: Error: Can't resolve './types' in '/Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/io.sc.platform.core.frontend/node_modules/.pnpm/@maxgraph+core@0.13.0/node_modules/@maxgraph/core/dist' + // Did you mean 'types.js'? + // BREAKING CHANGE: The request './types' failed to resolve only because it was resolved as fully specified + // (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"'). + // The extension in the request is mandatory for it to be fully specified. + { + test: /\.js$/, + include: /node_modules\/@maxgraph\/core/, + resolve:{ + fullySpecified: false, + } + }, ], }, diff --git a/io.sc.platform.security/src/main/java/io/sc/platform/security/controller/AuthenticationWebController.java b/io.sc.platform.security/src/main/java/io/sc/platform/security/controller/AuthenticationWebController.java index 90f019ce..13bfb1a6 100644 --- a/io.sc.platform.security/src/main/java/io/sc/platform/security/controller/AuthenticationWebController.java +++ b/io.sc.platform.security/src/main/java/io/sc/platform/security/controller/AuthenticationWebController.java @@ -15,4 +15,6 @@ public class AuthenticationWebController { public void isAuthenticated(){ } + + } diff --git a/io.sc.platform.security/src/main/java/io/sc/platform/security/controller/ChangeRoleWebController.java b/io.sc.platform.security/src/main/java/io/sc/platform/security/controller/ChangeRoleWebController.java new file mode 100644 index 00000000..385257d6 --- /dev/null +++ b/io.sc.platform.security/src/main/java/io/sc/platform/security/controller/ChangeRoleWebController.java @@ -0,0 +1,34 @@ +package io.sc.platform.security.controller; + +import io.sc.platform.security.service.ChangeRoleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.security.Principal; +import java.util.Map; + +/** + * 切换角色控制器 + */ +@RestController +@RequestMapping("/api/security") +public class ChangeRoleWebController { + @Autowired ChangeRoleService changeRoleService; + /** + * 修改当前登录用户的默认角色 + * @param parameters 请求参数 + * @param principal 当前登录用户的登录凭证信息对象 + * @throws Exception 违例 + */ + @PostMapping("changDefaultRole") + public String changDefaultRole(@RequestBody Map parameters, Principal principal) throws Exception{ + if(parameters!=null && !parameters.isEmpty()){ + String roleId =parameters.get("roleId"); + return changeRoleService.changDefaultRole(principal.getName(),roleId); + } + return null; + } +} diff --git a/io.sc.platform.security/src/main/java/io/sc/platform/security/service/ChangeRoleService.java b/io.sc.platform.security/src/main/java/io/sc/platform/security/service/ChangeRoleService.java new file mode 100644 index 00000000..6a14d03c --- /dev/null +++ b/io.sc.platform.security/src/main/java/io/sc/platform/security/service/ChangeRoleService.java @@ -0,0 +1,12 @@ +package io.sc.platform.security.service; + +public interface ChangeRoleService { + /** + * 修改当前登录用户的默认角色 + * @param userId 当前登录用户ID + * @param roleId 新角色ID + * @return 新的访问令牌 + * @throws Exception 违例 + */ + public String changDefaultRole(String userId, String roleId) throws Exception; +} diff --git a/io.sc.platform.security/src/main/java/io/sc/platform/security/service/impl/ChangeRoleServiceImpl.java b/io.sc.platform.security/src/main/java/io/sc/platform/security/service/impl/ChangeRoleServiceImpl.java new file mode 100644 index 00000000..d4768bdf --- /dev/null +++ b/io.sc.platform.security/src/main/java/io/sc/platform/security/service/impl/ChangeRoleServiceImpl.java @@ -0,0 +1,51 @@ +package io.sc.platform.security.service.impl; + +import io.sc.platform.security.jwt.JwtEncoderUtil; +import io.sc.platform.security.service.ChangeRoleService; +import io.sc.platform.security.service.support.Role; +import io.sc.platform.security.service.support.User; +import io.sc.platform.security.util.SecurityUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.ResultSetExtractor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service("io.sc.platform.security.service.impl.ChangeRoleServiceImpl") +public class ChangeRoleServiceImpl implements ChangeRoleService { + private static final String userQuery ="select * from SYS_USER where ID_=?"; + private static final ResultSetExtractor userExtractor =User.getResultSetExtractor(); + private static final String updateUserDefaultRole ="update SYS_USER set DEFAULT_ROLE_ID_=? where ID_=?"; + + private static final String roleQuery ="select * from SYS_ROLE where ID_=?"; + private static final ResultSetExtractor roleExtractor =Role.getResultSetExtractor(); + + @Autowired private JdbcTemplate jdbcTemplate; + + @Override + @Transactional + public String changDefaultRole(String userId, String roleId) throws Exception { + User user =findUserById(userId); + if(user!=null) { + Role role =findRoleById(roleId); + if(role!=null) { + updateUserDefaultRoleId(user.getId(),role.getId()); + SecurityUtil.changeDefaultRole(role.getId(), role.getCode(), role.getName()); + return JwtEncoderUtil.encodeJwtToken(SecurityUtil.getAuthentication()); + } + } + return null; + } + + private User findUserById(String userId){ + return jdbcTemplate.query(userQuery, userExtractor, userId); + } + + private void updateUserDefaultRoleId(String userId,String roleId){ + jdbcTemplate.update(updateUserDefaultRole,userId,roleId); + } + + private Role findRoleById(String roleId){ + return jdbcTemplate.query(roleQuery, roleExtractor, roleId); + } +} diff --git a/io.sc.platform.security/src/main/java/io/sc/platform/security/util/SecurityUtil.java b/io.sc.platform.security/src/main/java/io/sc/platform/security/util/SecurityUtil.java index c3b35a3a..e35c15f7 100644 --- a/io.sc.platform.security/src/main/java/io/sc/platform/security/util/SecurityUtil.java +++ b/io.sc.platform.security/src/main/java/io/sc/platform/security/util/SecurityUtil.java @@ -438,6 +438,18 @@ public class SecurityUtil { return null; } + /** + * 获取 Spring Security Context 中存储的 Authentication 对象 + * @return Spring Security Context 中存储的 Authentication 对象 + */ + public static Authentication getAuthentication(){ + SecurityContext context =SecurityContextHolder.getContext(); + if(context!=null){ + return context.getAuthentication(); + } + return null; + } + /** * 获取当前用户拥有的角色集合 * @return 当前用户拥有的角色集合 diff --git a/io.sc.platform.system.frontend/package.json b/io.sc.platform.system.frontend/package.json index 0812dc2c..235008a1 100644 --- a/io.sc.platform.system.frontend/package.json +++ b/io.sc.platform.system.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.system.frontend", - "version": "8.1.46", + "version": "8.1.47", "description": "", "private": false, "keywords": [], @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.308", + "platform-core": "8.1.312", "quasar": "2.15.4", "tailwindcss": "3.4.4", "vue": "3.4.31", diff --git a/io.sc.platform.system.frontend/src/i18n/messages.json b/io.sc.platform.system.frontend/src/i18n/messages.json index f77a038c..11904929 100644 --- a/io.sc.platform.system.frontend/src/i18n/messages.json +++ b/io.sc.platform.system.frontend/src/i18n/messages.json @@ -60,7 +60,7 @@ "system.shared.selectMenu.grid.title": "Menu Tree", "system.shared.selectMenu.grid.toolbar.save.tip":"Are you sure to update menus?", - "system.shared.importMenuPlugin.dialog.title": "Import Menu Plugins", + "system.shared.importMenuPlugin.dialog.title": "Import Menus", "system.application.grid.title":"Application List", diff --git a/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json b/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json index cec1b8e7..85827663 100644 --- a/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json +++ b/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json @@ -59,7 +59,7 @@ "system.shared.selectMenu.grid.title": "菜單树", "system.shared.selectMenu.grid.toolbar.save.tip":"您确定要更新菜單吗?", - "system.shared.importMenuPlugin.dialog.title": "導入菜單插件", + "system.shared.importMenuPlugin.dialog.title": "導入菜單", "system.application.grid.title":"應用列表", diff --git a/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json b/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json index 5675ff8c..01acca24 100644 --- a/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json +++ b/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json @@ -59,7 +59,7 @@ "system.shared.selectMenu.grid.title": "菜单树", "system.shared.selectMenu.grid.toolbar.save.tip":"您确定要更新菜单吗?", - "system.shared.importMenuPlugin.dialog.title": "导入菜单插件", + "system.shared.importMenuPlugin.dialog.title": "导入菜单", "system.application.grid.title":"应用列表", diff --git a/io.sc.platform.system.frontend/src/views/menu/ImportMenuPluginDialog.vue b/io.sc.platform.system.frontend/src/views/menu/ImportMenuPluginDialog.vue index a162985e..1eae4141 100644 --- a/io.sc.platform.system.frontend/src/views/menu/ImportMenuPluginDialog.vue +++ b/io.sc.platform.system.frontend/src/views/menu/ImportMenuPluginDialog.vue @@ -3,123 +3,74 @@ ref="dialogRef" :title="$t('system.shared.importMenuPlugin.dialog.title')" width="800px" - height="500px" :can-maximize="false" :buttons="[ { label: $t('confirm'), click: () => { - const ids = Tools.extractProperties(gridRef.getSelectedRows(), 'id'); - emit('afterSelected', ids, dialogRef); + const ids = Tools.extractProperties(gridRef.getTickedRows(), 'id'); + axios.post(Environment.apiContextPath('api/system/menu/importMenuPlugins'), ids).then((response) => { + emit('afterImported'); + close(); + }); }, }, ]" > -
- -
+ }, + { width: 80, name: 'type', label: $t('type'), sortable: false, format: Formater.menuType() }, + ]" + > diff --git a/io.sc.platform.system.frontend/src/views/menu/Menu.vue b/io.sc.platform.system.frontend/src/views/menu/Menu.vue index e79d99e3..cdea7c98 100644 --- a/io.sc.platform.system.frontend/src/views/menu/Menu.vue +++ b/io.sc.platform.system.frontend/src/views/menu/Menu.vue @@ -9,12 +9,11 @@ selection="multiple" :checkbox-selection="true" :tree="true" + :draggable="true" :tree-icon=" (row) => { if (row.type === 'SEPARATOR') { return { name: 'bi-dash-lg' }; - } else if (row.type === 'ROUTE_ACTION') { - return { name: 'sym_o_crop_16_9' }; } else { return { name: row.icon }; } @@ -72,8 +71,6 @@ }, { width: 80, name: 'type', label: $t('type'), sortable: false, format: Formater.menuType() }, { width: 80, name: 'order', label: $t('order'), align: 'right', sortable: false }, - { width: 100, name: 'lastModifier', label: $t('lastModifier'), sortable: false }, - { width: 100, name: 'lastModifyDate', label: $t('lastModifyDate'), sortable: false, format: Formater.dateOnly() }, { width: 80, name: 'enable', label: $t('status'), sortable: false, format: Formater.enableTag() }, ]" :editor="{ @@ -84,7 +81,17 @@ colsNum: 1, fields: [ // { name: 'parent', label: $t('parent'), type: 'text' }, - { name: 'type', label: $t('type'), type: 'select', required: true, options: Options.enum(MenuTypeEnum, false), defaultValue: 'GROUP' }, + { + name: 'type', + label: $t('type'), + type: 'select', + required: true, + options: Options.enum(MenuTypeEnum, false), + defaultValue: 'GROUP', + readOnlyIf: () => { + return true; + }, + }, { name: 'titleI18nKey', label: $t('system.menu.grid.entity.titleI18nKey'), type: 'text', required: true }, { name: 'icon', label: $t('icon'), type: 'text' }, { name: 'enable', label: $t('enable'), type: 'checkbox', defaultValue: true }, @@ -119,6 +126,7 @@ type: 'code-mirror', rows: 3, lang: 'json', + toolbar: false, showIf: (arg) => { return arg.form.getFieldValue('type') === 'ROUTE'; }, @@ -246,7 +254,7 @@ - +