From 3670774f2ba43c075a475ef4fb46ac9e349bb082 Mon Sep 17 00:00:00 2001 From: liriming <1343021927@qq.com> Date: 星期一, 23 九月 2024 08:35:37 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dto/FileGroupDTO.java | 21 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/modbus/service/impl/ChannelModbusTagServiceImpl.java | 63 -- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcda/service/impl/ChannelOPCDATagServiceImpl.java | 4 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/FileMenuServiceImpl.java | 61 ++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/MpkFileServiceImpl.java | 164 ++----- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleRecordServiceImpl.java | 4 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectPackageHistoryModelDao.java | 2 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectPackageHistoryDao.java | 2 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/FileGroupServiceImpl.java | 54 ++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/MpkFileDao.java | 2 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/FileMenuEntity.java | 34 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/SettingSelectServiceImpl.java | 18 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/entity/HttpApiEntity.java | 11 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/GeneratorCodeHistoryDao.java | 2 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java | 8 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/FileGroupDao.java | 16 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/controller/admin/StScheduleModelController.java | 8 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/ModelMethodEntity.java | 6 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/IconServiceImpl.java | 58 ++ iailab-module-model/iailab-module-model-biz/src/main/resources/application.yml | 21 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcua/service/impl/ChannelOPCUATagServiceImpl.java | 4 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/IconDao.java | 25 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/FileMenuController.java | 54 ++ iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/vo/HttpTokenRespVO.java | 44 - iailab-module-data/iailab-module-data-biz/db/mysql/tenant.sql | 22 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/controller/package-info.java | 1 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/SettingSelectDao.java | 2 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/vo/IconPageReqVO.java | 22 + iailab-module-model/iailab-module-model-biz/db/mysql.sql | 34 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectModelDao.java | 2 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/FileGroupEntity.java | 39 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/SettingSelectEntity.java | 5 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ModelMethodServiceImpl.java | 28 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectDao.java | 2 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/FileGroupController.java | 54 ++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/IconService.java | 27 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dto/FileMenuDTO.java | 24 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/IconController.java | 74 +++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/FileGroupService.java | 24 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/IconEntity.java | 39 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/MpkFileEntity.java | 1 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MpkFileController.java | 2 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/ModelMethodService.java | 6 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/MethodSettingEntity.java | 5 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/SettingSelectService.java | 4 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/controller/admin/HttpTagController.java | 2 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/FileMenuService.java | 24 + iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/FileMenuDao.java | 16 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/controller/admin/DaPointController.java | 12 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ModelMethodDao.java | 2 iailab-module-model/iailab-module-model-biz/pom.xml | 103 ++-- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/entity/HttpTokenEntity.java | 12 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/MethodSettingDao.java | 2 53 files changed, 965 insertions(+), 311 deletions(-) diff --git a/iailab-module-data/iailab-module-data-biz/db/mysql/tenant.sql b/iailab-module-data/iailab-module-data-biz/db/mysql/tenant.sql index 9ef32c6..660929d 100644 --- a/iailab-module-data/iailab-module-data-biz/db/mysql/tenant.sql +++ b/iailab-module-data/iailab-module-data-biz/db/mysql/tenant.sql @@ -196,14 +196,15 @@ INSERT INTO `t_da_sequence_num` (`id`, `code`, `name`, `sequence_num`, `prefix`) VALUES ('2', 'POINT_C', '计算点编码', 100000, 'C'); CREATE TABLE `t_http_api` ( - `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'ID', - `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '编码', - `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称', - `url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'URL', - `method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '请求方法', - `param` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '参数', - `descp` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述', - `status` int NULL DEFAULT NULL COMMENT '状态', + `id` varchar(36) NOT NULL COMMENT 'ID', + `code` varchar(32) NOT NULL COMMENT '编码', + `name` varchar(32) NOT NULL COMMENT '名称', + `url` varchar(100) NOT NULL COMMENT 'URL', + `method` varchar(10) NULL DEFAULT NULL COMMENT '请求方法', + `param` varchar(200) NULL DEFAULT NULL COMMENT '参数', + `descp` varchar(100) NULL DEFAULT NULL COMMENT '描述', + `is_auth` tinyint(1) NOT NULL COMMENT '是否认证', + `auth_url` varchar(36) NULL DEFAULT NULL COMMENT '认证地址', `creator` VARCHAR(64) COMMENT '创建人' , `create_time` DATETIME COMMENT '创建时间' , `updater` VARCHAR(64) COMMENT '修改人' , @@ -212,20 +213,19 @@ UNIQUE KEY `uk_code` (`code`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'Api接口' ROW_FORMAT = DYNAMIC; - CREATE TABLE `t_http_token` ( `id` varchar(36) NOT NULL COMMENT 'ID', - `api_id` varchar(36) NOT NULL COMMENT '接口ID', `login_url` varchar(200) DEFAULT NULL COMMENT '登录地址', `client_id` varchar(100) DEFAULT NULL COMMENT 'ClientId', `client_secret` varchar(100) DEFAULT NULL COMMENT 'ClientSecret', `username` varchar(50) DEFAULT NULL COMMENT '用户名', `password` varchar(50) DEFAULT NULL COMMENT '密码', + `refresh_freq` varchar(10) DEFAULT NULL COMMENT '刷新频率', `token` varchar(2000) DEFAULT NULL COMMENT 'token', `expire_time` datetime DEFAULT NULL COMMENT '过期时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, - UNIQUE KEY `uk_api_id` (`api_id`) USING BTREE + UNIQUE KEY `uk_login_url` (`login_url`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='接口Token'; CREATE TABLE `t_http_tag` ( diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/controller/admin/HttpTagController.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/controller/admin/HttpTagController.java index 07b08cc..c014183 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/controller/admin/HttpTagController.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/controller/admin/HttpTagController.java @@ -54,7 +54,7 @@ @PreAuthorize("@ss.hasPermission('data:channel-http:create')") @PostMapping("/create") - public CommonResult<Boolean> add(@RequestBody HttpTagEntity httpTagEntity){ + public CommonResult<Boolean> create(@RequestBody HttpTagEntity httpTagEntity){ httpTagEntity.setId(UUID.randomUUID().toString()); httpTagEntity.setCreateTime(new Date()); tagService.add(httpTagEntity); diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/entity/HttpApiEntity.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/entity/HttpApiEntity.java index d31bcc3..f9727ad 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/entity/HttpApiEntity.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/entity/HttpApiEntity.java @@ -10,7 +10,7 @@ import java.util.Date; @Data -@TableName("T_HTTP_API") +@TableName("t_http_api") public class HttpApiEntity implements Serializable { private static final long serialVersionUID = 1L; @@ -52,9 +52,14 @@ private String descp; /** - * 状态 + * 是否认证 */ - private Integer status; + private Boolean isAuth; + + /** + * 认证地址 + */ + private String authUrl; /** * 创建人 diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/entity/HttpTokenEntity.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/entity/HttpTokenEntity.java index d3f4b69..13877c0 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/entity/HttpTokenEntity.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/entity/HttpTokenEntity.java @@ -22,12 +22,7 @@ private String id; /** - * 接口ID - */ - private String apiId; - - /** - * 登录地址 + * 认证地址 */ private String loginUrl; @@ -52,6 +47,11 @@ private String password; /** + * 刷新频率 + */ + private String refreshFreq; + + /** * token */ private String token; diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/vo/HttpTokenRespVO.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/vo/HttpTokenRespVO.java index 5208b18..79506b4 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/vo/HttpTokenRespVO.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/vo/HttpTokenRespVO.java @@ -21,48 +21,36 @@ @ExcelProperty("ID") private String id; - @Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("") + @Schema(description = "接口ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @ExcelProperty("接口ID") private String apiId; - @Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("") + @Schema(description = "登录地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @ExcelProperty("登录地址") private String loginUrl; - @Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("") + @Schema(description = "ClientId", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @ExcelProperty("ClientId") private String clientId; - @Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("") + @Schema(description = "ClientSecret", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @ExcelProperty("ClientSecret") private String clientSecret; - @Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("") + @Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @ExcelProperty("用户名") private String username; - @Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("") + @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @ExcelProperty("密码") private String password; - @Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("") + @Schema(description = "token", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @ExcelProperty("token") private String token; - @Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("") - private String prvsetName; - - @Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("") - private String projectName; - - @Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("") - private String platform; - - @Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @ExcelProperty("") + @Schema(description = "过期时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @ExcelProperty("过期时间") private Date expireTime; @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/modbus/service/impl/ChannelModbusTagServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/modbus/service/impl/ChannelModbusTagServiceImpl.java index 17c6c64..7e80908 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/modbus/service/impl/ChannelModbusTagServiceImpl.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/modbus/service/impl/ChannelModbusTagServiceImpl.java @@ -82,67 +82,4 @@ baseMapper.delete(new QueryWrapper<ChannelModBusTagEntity>().eq("device", name)); } -// /** -// * 导入Tag -// * -// * @param device -// * @param file -// * @throws Exception -// */ -// @Override -// @Transactional(rollbackFor = Exception.class) -// public void importTag(String device, MultipartFile file) throws Exception { -// try { -// String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); -// String fileName = UUID.randomUUID().toString() + suffix; -// String path = uploadDir + fileName; -// file.transferTo(new File(path)); -// -// XSSFWorkbook hssfWorkbook = new XSSFWorkbook(new FileInputStream(path)); -// XSSFSheet sheet = hssfWorkbook.getSheetAt(0); -// int lastRowNum = sheet.getLastRowNum(); -// log.info("最后一行:" + lastRowNum); -// int lastCellNum = 6; -// List<ChannelModBusTagEntity> dangerList = new ArrayList<>(); -// for (int i = 1; i <= lastRowNum; i++) { -// XSSFRow row = sheet.getRow(i); -// for (int j = row.getFirstCellNum(); j < lastCellNum; j++) { -// row.getCell(j).setCellType(CellType.STRING); -// } -// ChannelModBusTagEntity tagEntity = new ChannelModBusTagEntity(); -// tagEntity.setId(UUID.randomUUID().toString()); -// tagEntity.setTagName(row.getCell(1).getStringCellValue()); -// tagEntity.setDataType(row.getCell(2).getStringCellValue()); -// tagEntity.setEnabled(true); -// tagEntity.setFormat(""); -// tagEntity.setDevice(device); -// tagEntity.setSamplingRate(0); -// row.getCell(4).setCellType(CellType.STRING); -// System.out.println(row.getCell(3).getStringCellValue()); -// if(row.getCell(3).getStringCellValue().equals("1")){ -// tagEntity.setAddress(String.format("1%04d",Integer.parseInt(row.getCell(4).getStringCellValue()))); -// }else if(row.getCell(3).getStringCellValue().equals("3")){ -// tagEntity.setAddress(String.format("4%04d",Integer.parseInt(row.getCell(4).getStringCellValue()))); -// } -// tagEntity.setTagDesc(row.getCell(5).getStringCellValue()); -// dangerList.add(tagEntity); -// } -// if (CollectionUtils.isEmpty(dangerList)) { -// return; -// } -// //getBaseMapper().insertList(dangerList); -// dangerList.forEach(item -> { -// try { -// getBaseMapper().insert(item); -// } catch (Exception ex) { -// log.warn("插入异常:" + item.getTagName()); -// } -// }); -// } catch (Exception ex) { -// ex.printStackTrace(); -// log.warn("导入失败!"); -// throw ex; -// } -// } - } diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcda/service/impl/ChannelOPCDATagServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcda/service/impl/ChannelOPCDATagServiceImpl.java index e74c9dc..875faec 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcda/service/impl/ChannelOPCDATagServiceImpl.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcda/service/impl/ChannelOPCDATagServiceImpl.java @@ -1,5 +1,6 @@ package com.iailab.module.data.channel.opcda.service.impl; +import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -17,7 +18,6 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; @@ -92,7 +92,7 @@ } @Override - @Transactional(rollbackFor = Exception.class) + @DSTransactional(rollbackFor = Exception.class) public void importTag(String serverId, MultipartFile file) throws Exception { try { String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcua/service/impl/ChannelOPCUATagServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcua/service/impl/ChannelOPCUATagServiceImpl.java index 0e0f9f0..97562b0 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcua/service/impl/ChannelOPCUATagServiceImpl.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcua/service/impl/ChannelOPCUATagServiceImpl.java @@ -1,5 +1,6 @@ package com.iailab.module.data.channel.opcua.service.impl; +import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -17,7 +18,6 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; @@ -93,7 +93,7 @@ } @Override - @Transactional(rollbackFor = Exception.class) + @DSTransactional(rollbackFor = Exception.class) public void importTag(String device, MultipartFile file) throws Exception { try { String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/controller/admin/DaPointController.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/controller/admin/DaPointController.java index abb0093..a0fecc4 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/controller/admin/DaPointController.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/controller/admin/DaPointController.java @@ -10,6 +10,7 @@ import com.iailab.module.data.point.vo.DaPointRespVO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -37,12 +38,14 @@ @Resource private DaPointService daPointService; + @PreAuthorize("@ss.hasPermission('data:point:query')") @GetMapping("page") public CommonResult<PageResult<DaPointRespVO>> page(@Valid DaPointPageReqVO reqVO){ PageResult<DaPointEntity> page = daPointService.queryPage(reqVO); return success(BeanUtils.toBean(page, DaPointRespVO.class)); } + @PreAuthorize("@ss.hasPermission('data:point:query')") @GetMapping("/list") @Operation(summary = "列表") public CommonResult<List<DaPointDTO>> list(@Valid @RequestParam Map<String, Object> params) { @@ -50,32 +53,37 @@ return success(list); } + @PreAuthorize("@ss.hasPermission('data:point:query')") @GetMapping("/info/{id}") public CommonResult<DaPointDTO> info(@PathVariable("id") String id){ DaPointDTO info= daPointService.info(id); return success(info); } + @PreAuthorize("@ss.hasPermission('data:point:create')") @PostMapping("/add") - public CommonResult<Boolean> add(@RequestBody DaPointDTO daPointDTO){ + public CommonResult<Boolean> create(@RequestBody DaPointDTO daPointDTO){ String id = UUID.randomUUID().toString(); daPointDTO.setId(id); daPointService.add(daPointDTO); return success(true); } + @PreAuthorize("@ss.hasPermission('data:point:update')") @PutMapping("/update") public CommonResult<Boolean> update(@RequestBody DaPointDTO daPointDTO) { daPointService.update(daPointDTO); return success(true); } + @PreAuthorize("@ss.hasPermission('data:point:delete')") @DeleteMapping("/delete") public CommonResult<Boolean> delete(String[] ids) { daPointService.delete(ids); return success(true); } + @PreAuthorize("@ss.hasPermission('data:point:query')") @GetMapping("pointNo") public CommonResult<List<DaPointDTO>> getpoint(@RequestParam Map<String, Object> params){ List<DaPointDTO> list = daPointService.list(params); @@ -83,6 +91,7 @@ return new CommonResult<List<DaPointDTO>>().setData(list); } + @PreAuthorize("@ss.hasPermission('data:point:update')") @PutMapping("/enable") @Operation(summary = "启用") @Transactional @@ -91,6 +100,7 @@ return success(true); } + @PreAuthorize("@ss.hasPermission('data:point:update')") @PutMapping("/disable") @Operation(summary = "禁用") @Transactional diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/controller/package-info.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/controller/package-info.java new file mode 100644 index 0000000..fb2bddc --- /dev/null +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/controller/package-info.java @@ -0,0 +1 @@ +package com.iailab.module.data.point.controller; \ No newline at end of file diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java index b410b7f..44402c3 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/service/impl/DaPointServiceImpl.java @@ -1,6 +1,7 @@ package com.iailab.module.data.point.service.impl; import com.alibaba.fastjson.JSONArray; +import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.iailab.framework.common.pojo.PageResult; @@ -20,7 +21,6 @@ import com.iailab.module.data.point.vo.DaPointPageReqVO; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; @@ -90,7 +90,7 @@ } @Override - @Transactional(rollbackFor = Exception.class) + @DSTransactional(rollbackFor = Exception.class) public void add(DaPointDTO dataPoint) { DaPointEntity daPointEntity = ConvertUtils.sourceToTarget(dataPoint, DaPointEntity.class); daPointEntity.setId(UUID.randomUUID().toString()); @@ -113,7 +113,7 @@ } @Override - @Transactional(rollbackFor = Exception.class) + @DSTransactional(rollbackFor = Exception.class) public void update(DaPointDTO dataPoint) { DaPointEntity daPointEntity = ConvertUtils.sourceToTarget(dataPoint, DaPointEntity.class); daPointEntity.setUpdateTime(new Date()); @@ -130,7 +130,7 @@ } @Override - @Transactional(rollbackFor = Exception.class) + @DSTransactional(rollbackFor = Exception.class) public void delete(String[] ids) { daPointDao.deleteBatchIds(Arrays.asList(ids)); daMeasurePointService.deleteByPoint(ids); diff --git a/iailab-module-model/iailab-module-model-biz/db/mysql.sql b/iailab-module-model/iailab-module-model-biz/db/mysql.sql index 39e7d53..b7c46e2 100644 --- a/iailab-module-model/iailab-module-model-biz/db/mysql.sql +++ b/iailab-module-model/iailab-module-model-biz/db/mysql.sql @@ -493,9 +493,10 @@ `data_length` int NULL DEFAULT 1 COMMENT '输入个数', `model` int NULL DEFAULT 0 COMMENT '是否有model(0:否,1:是)', `result_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '结果key', + `sort` integer, PRIMARY KEY (`id`, `mpk_file_id`) USING BTREE, INDEX `id`(`id` ASC) USING BTREE, - INDEX `del_method`(`mpk_file_id` ASC) USING BTREE, + INDEX `idx_method`(`mpk_file_id` ASC) USING BTREE, CONSTRAINT `del_method` FOREIGN KEY (`mpk_file_id`) REFERENCES `t_mpk_file` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; @@ -513,6 +514,7 @@ `value_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '参数类型', `max` int NULL DEFAULT NULL COMMENT '最大值', `min` int NULL DEFAULT NULL COMMENT '最小值', + `sort` integer, PRIMARY KEY (`id`, `method_id`) USING BTREE, INDEX `del_setting`(`method_id` ASC) USING BTREE, INDEX `id`(`id` ASC) USING BTREE, @@ -529,6 +531,7 @@ `setting_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '参数id', `select_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'key', `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称', + `sort` integer, PRIMARY KEY (`id`, `setting_id`) USING BTREE, INDEX `del_select`(`setting_id` ASC) USING BTREE, CONSTRAINT `del_select` FOREIGN KEY (`setting_id`) REFERENCES `t_mpk_method_setting` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT @@ -596,4 +599,31 @@ PRIMARY KEY (`id`, `project_id`) USING BTREE, INDEX `del_package_model`(`project_id` ASC) USING BTREE, CONSTRAINT `del_package_model` FOREIGN KEY (`project_id`) REFERENCES `t_mpk_project` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '打包历史模型关联表' ROW_FORMAT = Dynamic; \ No newline at end of file +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '打包历史模型关联表' ROW_FORMAT = Dynamic; + + +DROP TABLE IF EXISTS `t_mpk_icon`; +CREATE TABLE `t_mpk_icon` ( + `id` varchar(36) NOT NULL COMMENT 'id', + `icon_name` varchar(36) NOT NULL COMMENT '图标名称', + `icon_desc` varchar(36) DEFAULT NULL COMMENT '图标描述', + `sort` integer DEFAULT NULL COMMENT '排序', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'MDK平台图标' ROW_FORMAT = Dynamic; + +DROP TABLE IF EXISTS `t_mpk_file_menu`; +CREATE TABLE `t_mpk_file_menu` ( + `id` varchar(36) NOT NULL COMMENT 'id', + `name` varchar(36) NOT NULL COMMENT '名称', + `sort` integer DEFAULT NULL COMMENT '排序', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '模型文件菜单' ROW_FORMAT = Dynamic; + +DROP TABLE IF EXISTS `t_mpk_file_group`; +CREATE TABLE `t_mpk_file_group` ( + `id` varchar(36) NOT NULL COMMENT 'id', + `menu_id` varchar(36) NOT NULL COMMENT '菜单', + `name` varchar(36) NOT NULL COMMENT '名称', + `sort` integer DEFAULT NULL COMMENT '排序', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '模型文件分组' ROW_FORMAT = Dynamic; \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/pom.xml b/iailab-module-model/iailab-module-model-biz/pom.xml index 6395271..50222a5 100644 --- a/iailab-module-model/iailab-module-model-biz/pom.xml +++ b/iailab-module-model/iailab-module-model-biz/pom.xml @@ -22,32 +22,59 @@ </properties> <dependencies> - <dependency> <groupId>com.iailab</groupId> <artifactId>iailab-common-env</artifactId> </dependency> + <dependency> + <groupId>com.iailab</groupId> + <artifactId>iailab-module-data-api</artifactId> + <version>${revision}</version> + </dependency> + <!-- 依赖服务 --> <dependency> <groupId>com.iailab</groupId> - <artifactId>iailab-common</artifactId> + <artifactId>iailab-module-infra-api</artifactId> + <version>${revision}</version> </dependency> <dependency> <groupId>com.iailab</groupId> - <artifactId>iailab-common-mybatis</artifactId> + <artifactId>iailab-module-system-api</artifactId> + <version>${revision}</version> + </dependency> + + <!-- 业务组件 --> + <dependency> + <groupId>com.iailab</groupId> + <artifactId>iailab-common-biz-data-permission</artifactId> </dependency> <dependency> <groupId>com.iailab</groupId> - <artifactId>iailab-common-redis</artifactId> + <artifactId>iailab-common-biz-tenant</artifactId> </dependency> <dependency> <groupId>com.iailab</groupId> - <artifactId>iailab-common-excel</artifactId> + <artifactId>iailab-common-biz-ip</artifactId> </dependency> + <dependency> + <groupId>com.iailab</groupId> + <artifactId>iailab-module-model-api</artifactId> + <version>${revision}</version> + </dependency> + + <!-- Web 相关 --> <dependency> <groupId>com.iailab</groupId> <artifactId>iailab-common-security</artifactId> </dependency> + + <!-- DB 相关 --> + <dependency> + <groupId>com.iailab</groupId> + <artifactId>iailab-common-mybatis</artifactId> + </dependency> + <!-- RPC 远程调用相关 --> <dependency> <groupId>com.iailab</groupId> @@ -62,45 +89,30 @@ <groupId>com.iailab</groupId> <artifactId>iailab-common-biz-data-permission</artifactId> </dependency> + + <!-- Test 测试相关 --> <dependency> <groupId>com.iailab</groupId> - <artifactId>iailab-common-biz-tenant</artifactId> - <version>${revision}</version> - </dependency> - <dependency> - <groupId>com.iailab</groupId> - <artifactId>iailab-module-model-api</artifactId> - <version>${revision}</version> - </dependency> - <dependency> - <groupId>com.iailab</groupId> - <artifactId>iailab-module-data-api</artifactId> - <version>${revision}</version> - </dependency> - <dependency> - <groupId>com.iailab</groupId> - <artifactId>iailab-module-infra-api</artifactId> - <version>${revision}</version> - </dependency> - <dependency> - <groupId>org.springframework.cloud</groupId> - <artifactId>spring-cloud-loadbalancer</artifactId> + <artifactId>iailab-common-test</artifactId> + <scope>test</scope> </dependency> - <!-- nacos 客户端 --> + <!-- 工具类相关 --> + <dependency> + <groupId>com.iailab</groupId> + <artifactId>iailab-common-excel</artifactId> + </dependency> + + <!-- Registry 注册中心相关 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> - <!-- nacos 配置中心 --> + + <!-- Config 配置中心相关 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> - </dependency> - <dependency> - <groupId>org.quartz-scheduler</groupId> - <artifactId>quartz</artifactId> - <version>2.3.2</version> </dependency> <!-- 引用POI --> @@ -108,26 +120,6 @@ <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.1</version> - </dependency> - - <dependency> - <groupId>org.jetbrains</groupId> - <artifactId>annotations</artifactId> - <version>17.0.0</version> - <scope>compile</scope> - </dependency> - - <dependency> - <groupId>com.iailab</groupId> - <artifactId>iailab-module-data-biz</artifactId> - <version>0.0.1</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.junit.jupiter</groupId> - <artifactId>junit-jupiter</artifactId> - <scope>test</scope> </dependency> <!-- 引用MDK --> @@ -140,11 +132,6 @@ <groupId>com.iail</groupId> <artifactId>MDK</artifactId> <version>${mdk.version}</version> - </dependency> - <dependency> - <groupId>com.iail</groupId> - <artifactId>IAILMDK</artifactId> - <version>0.94.9</version> </dependency> <!-- MPK --> diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/controller/admin/StScheduleModelController.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/controller/admin/StScheduleModelController.java index 64f4f83..ced1d63 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/controller/admin/StScheduleModelController.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/controller/admin/StScheduleModelController.java @@ -59,7 +59,7 @@ @GetMapping("/get") @Operation(summary = "获得详情") @PreAuthorize("@ss.hasPermission('sche:model:query')") - public CommonResult<StScheduleModelRespVO> get(@RequestParam("id") String id){ + public CommonResult<StScheduleModelRespVO> get(@RequestParam("id") String id) { StScheduleModelEntity data = stScheduleModelService.get(id); StScheduleModelRespVO result = BeanUtils.toBean(data, StScheduleModelRespVO.class); List<StScheduleModelParamEntity> paramList = stScheduleModelParamService.getByModelId(data.getId()); @@ -72,7 +72,7 @@ @PostMapping("/create") @Operation(summary = "创建模型") @PreAuthorize("@ss.hasPermission('sche:model:create')") - public CommonResult<Boolean> save(@Valid @RequestBody StScheduleModelSaveReqVO reqVO){ + public CommonResult<Boolean> save(@Valid @RequestBody StScheduleModelSaveReqVO reqVO) { Long count = stScheduleModelService.check(reqVO); if (count > 0) { return error(999, "名称或编号重复"); @@ -84,7 +84,7 @@ @PutMapping("/update") @Operation(summary = "更新模型") @PreAuthorize("@ss.hasPermission('sche:model:update')") - public CommonResult<Boolean> update(@Valid @RequestBody StScheduleModelSaveReqVO reqVO){ + public CommonResult<Boolean> update(@Valid @RequestBody StScheduleModelSaveReqVO reqVO) { Long count = stScheduleModelService.check(reqVO); if (count > 0) { return error(999, "名称或编号重复"); @@ -96,7 +96,7 @@ @DeleteMapping("/delete") @Operation(summary = "删除模型") @PreAuthorize("@ss.hasPermission('sche:model:delete')") - public CommonResult<Boolean> delete(@RequestParam("id") String id){ + public CommonResult<Boolean> delete(@RequestParam("id") String id) { stScheduleModelService.delete(id); return success(true); } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleRecordServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleRecordServiceImpl.java index dd1bcd5..ac33fbc 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleRecordServiceImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StScheduleRecordServiceImpl.java @@ -1,5 +1,6 @@ package com.iailab.module.model.mcs.sche.service.impl; +import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.impl.BaseServiceImpl; import com.iailab.module.model.mcs.sche.dao.StScheduleRecordDao; @@ -10,7 +11,6 @@ import com.iailab.module.model.mdk.vo.ScheduleResultVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.UUID; @@ -33,7 +33,7 @@ } @Override - @Transactional(rollbackFor = Exception.class) + @DSTransactional(rollbackFor = Exception.class) public void create(ScheduleResultVO resultVO) { StScheduleRecordEntity entity = new StScheduleRecordEntity(); entity.setId(UUID.randomUUID().toString()); diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/FileGroupController.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/FileGroupController.java new file mode 100644 index 0000000..db9d1e1 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/FileGroupController.java @@ -0,0 +1,54 @@ +package com.iailab.module.model.mpk.controller.admin; + +import com.iailab.framework.common.pojo.CommonResult; +import com.iailab.module.model.mpk.dto.FileGroupDTO; +import com.iailab.module.model.mpk.entity.FileGroupEntity; +import com.iailab.module.model.mpk.service.FileGroupService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +import static com.iailab.framework.common.pojo.CommonResult.success; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +@Tag(name = "模型服务 - 模型文件分组管理") +@RestController +@RequestMapping("/model/mpk/group") +public class FileGroupController { + @Autowired + private FileGroupService fileGroupService; + + @GetMapping("/list") + @Operation(summary = "获得列表") + public CommonResult<List<FileGroupDTO>> list(@RequestParam("menuId") String menuId) { + List<FileGroupDTO> list = fileGroupService.list(menuId); + return success(list); + } + + @PostMapping("/create") + public CommonResult<Boolean> create(@Valid @RequestBody FileGroupEntity entity) { + fileGroupService.create(entity); + return success(true); + } + + @PostMapping("/update") + public CommonResult<Boolean> update(@Valid @RequestBody FileGroupEntity entity) { + fileGroupService.update(entity); + return success(true); + } + + @DeleteMapping("/delete") + public CommonResult<Boolean> delete(@RequestParam("id") String id) { + fileGroupService.deleteById(id); + return success(true); + } + +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/FileMenuController.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/FileMenuController.java new file mode 100644 index 0000000..f46d255 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/FileMenuController.java @@ -0,0 +1,54 @@ +package com.iailab.module.model.mpk.controller.admin; + +import com.iailab.framework.common.pojo.CommonResult; +import com.iailab.module.model.mpk.dto.FileMenuDTO; +import com.iailab.module.model.mpk.entity.FileMenuEntity; +import com.iailab.module.model.mpk.service.FileMenuService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +import static com.iailab.framework.common.pojo.CommonResult.success; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +@Tag(name = "模型服务 - 模型文件菜单管理") +@RestController +@RequestMapping("/model/mpk/menu") +public class FileMenuController { + + @Autowired + private FileMenuService fileMenuService; + + @GetMapping("/list") + @Operation(summary = "获得列表") + public CommonResult<List<FileMenuDTO>> list() { + List<FileMenuDTO> list = fileMenuService.list(); + return success(list); + } + + @PostMapping("/create") + public CommonResult<Boolean> create(@Valid @RequestBody FileMenuEntity entity) { + fileMenuService.create(entity); + return success(true); + } + + @PostMapping("/update") + public CommonResult<Boolean> update(@Valid @RequestBody FileMenuEntity entity) { + fileMenuService.update(entity); + return success(true); + } + + @DeleteMapping("/delete") + public CommonResult<Boolean> delete(@RequestParam("id") String id) { + fileMenuService.deleteById(id); + return success(true); + } +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/IconController.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/IconController.java new file mode 100644 index 0000000..368329d --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/IconController.java @@ -0,0 +1,74 @@ +package com.iailab.module.model.mpk.controller.admin; + +import com.iailab.framework.common.page.PageData; +import com.iailab.framework.common.pojo.CommonResult; +import com.iailab.framework.common.pojo.PageResult; +import com.iailab.framework.common.util.object.BeanUtils; +import com.iailab.module.model.mpk.entity.IconEntity; +import com.iailab.module.model.mpk.service.IconService; +import com.iailab.module.model.mpk.vo.IconPageReqVO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +import java.util.List; + +import static com.iailab.framework.common.pojo.CommonResult.success; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +@Tag(name = "模型服务 - MDK菜单图标管理") +@RestController +@RequestMapping("/model/mpk/icon") +public class IconController { + + @Autowired + private IconService iconService; + + @GetMapping("/page") + @Operation(summary = "获得分页") + public CommonResult<PageResult<IconEntity>> page(@Valid IconPageReqVO reqVO) { + PageResult<IconEntity> page = iconService.page(reqVO); + return success(BeanUtils.toBean(page, IconEntity.class)); + } + + @GetMapping("/list") + @Operation(summary = "获得列表") + public CommonResult<List<IconEntity>> list() { + List<IconEntity> list = iconService.list(); + return success(list); + } + + @GetMapping("/get") + @Operation(summary = "获得详情") + public CommonResult<IconEntity> get(@RequestParam("id") String id) { + IconEntity data = iconService.get(id); + return success(data); + } + + @PostMapping("/create") + @Operation(summary = "创建") + public CommonResult<Boolean> save(@Valid @RequestBody IconEntity entity) { + iconService.create(entity); + return success(true); + } + + @PutMapping("/update") + @Operation(summary = "更新") + public CommonResult<Boolean> update(@Valid @RequestBody IconEntity entity) { + iconService.update(entity); + return success(true); + } + + @DeleteMapping("/delete") + public CommonResult<Boolean> delete(@RequestParam("id") String id) { + iconService.delete(id); + return success(true); + } +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MpkFileController.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MpkFileController.java index f6fcaea..f172db5 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MpkFileController.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MpkFileController.java @@ -34,7 +34,6 @@ @PreAuthorize("@ss.hasPermission('mpk:file:query')") public CommonResult<PageData<MpkFileDTO>> page(@RequestParam Map<String, Object> params) { PageData<MpkFileDTO> page = mpkFileService.page(params); - return success(page); } @@ -42,7 +41,6 @@ @GetMapping("{id}") public CommonResult<MpkFileDTO> info(@PathVariable("id") String id) { MpkFileDTO schedule = mpkFileService.get(id); - return success(schedule); } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/FileGroupDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/FileGroupDao.java new file mode 100644 index 0000000..13d487f --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/FileGroupDao.java @@ -0,0 +1,16 @@ +package com.iailab.module.model.mpk.dao; + +import com.iailab.framework.mybatis.core.mapper.BaseMapperX; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; +import com.iailab.module.model.mpk.entity.FileGroupEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +@TenantDS +@Mapper +public interface FileGroupDao extends BaseMapperX<FileGroupEntity> { +} diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/FileMenuDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/FileMenuDao.java new file mode 100644 index 0000000..df30254 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/FileMenuDao.java @@ -0,0 +1,16 @@ +package com.iailab.module.model.mpk.dao; + +import com.iailab.framework.mybatis.core.mapper.BaseMapperX; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; +import com.iailab.module.model.mpk.entity.FileMenuEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +@TenantDS +@Mapper +public interface FileMenuDao extends BaseMapperX<FileMenuEntity> { +} diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/GeneratorCodeHistoryDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/GeneratorCodeHistoryDao.java index 806b573..a1265e1 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/GeneratorCodeHistoryDao.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/GeneratorCodeHistoryDao.java @@ -1,6 +1,7 @@ package com.iailab.module.model.mpk.dao; import com.iailab.framework.common.dao.BaseDao; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mpk.entity.GeneratorCodeHistoryEntity; import org.apache.ibatis.annotations.Mapper; @@ -9,6 +10,7 @@ * @author: dzd * @date: 2024/8/20 11:49 **/ +@TenantDS @Mapper public interface GeneratorCodeHistoryDao extends BaseDao<GeneratorCodeHistoryEntity> { diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/IconDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/IconDao.java new file mode 100644 index 0000000..92517b1 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/IconDao.java @@ -0,0 +1,25 @@ +package com.iailab.module.model.mpk.dao; + +import com.iailab.framework.common.pojo.PageResult; +import com.iailab.framework.mybatis.core.mapper.BaseMapperX; +import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; +import com.iailab.module.model.mpk.entity.IconEntity; +import com.iailab.module.model.mpk.vo.IconPageReqVO; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +@TenantDS +@Mapper +public interface IconDao extends BaseMapperX<IconEntity> { + + default PageResult<IconEntity> selectPage(IconPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX<IconEntity>() + .likeIfPresent(IconEntity::getIconName, reqVO.getIconName()) + .orderByDesc(IconEntity::getSort)); + } +} diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/MethodSettingDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/MethodSettingDao.java index 69421f8..ac5ae65 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/MethodSettingDao.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/MethodSettingDao.java @@ -1,6 +1,7 @@ package com.iailab.module.model.mpk.dao; import com.iailab.framework.common.dao.BaseDao; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mpk.entity.MethodSettingEntity; import org.apache.ibatis.annotations.Mapper; @@ -9,6 +10,7 @@ * @author: dzd * @date: 2024/9/14 15:11 **/ +@TenantDS @Mapper public interface MethodSettingDao extends BaseDao<MethodSettingEntity> { } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ModelMethodDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ModelMethodDao.java index 8e096fe..a5e8a15 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ModelMethodDao.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ModelMethodDao.java @@ -1,6 +1,7 @@ package com.iailab.module.model.mpk.dao; import com.iailab.framework.common.dao.BaseDao; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mpk.entity.ModelMethodEntity; import org.apache.ibatis.annotations.Mapper; @@ -9,6 +10,7 @@ * @author: dzd * @date: 2024/9/9 10:55 **/ +@TenantDS @Mapper public interface ModelMethodDao extends BaseDao<ModelMethodEntity> { } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/MpkFileDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/MpkFileDao.java index 793f50b..356721a 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/MpkFileDao.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/MpkFileDao.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.iailab.framework.common.dao.BaseDao; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mpk.dto.MpkFileDTO; import com.iailab.module.model.mpk.dto.ProjectDTO; import com.iailab.module.model.mpk.entity.MpkFileEntity; @@ -19,6 +20,7 @@ * @Description * @createTime 2024年08月14日 */ +@TenantDS @Mapper public interface MpkFileDao extends BaseDao<MpkFileEntity> { MpkFileDTO get(String id); diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectDao.java index 7e2b698..672f35a 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectDao.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectDao.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.iailab.framework.common.dao.BaseDao; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mpk.dto.ProjectDTO; import com.iailab.module.model.mpk.entity.ProjectEntity; import org.apache.ibatis.annotations.Mapper; @@ -14,6 +15,7 @@ * @author: dzd * @date: 2024/8/22 14:41 **/ +@TenantDS @Mapper public interface ProjectDao extends BaseDao<ProjectEntity> { diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectModelDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectModelDao.java index 145b864..ca8ee15 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectModelDao.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectModelDao.java @@ -1,6 +1,7 @@ package com.iailab.module.model.mpk.dao; import com.iailab.framework.common.dao.BaseDao; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mpk.entity.ProjectModelEntity; import org.apache.ibatis.annotations.Mapper; @@ -9,6 +10,7 @@ * @author: dzd * @date: 2024/8/22 14:41 **/ +@TenantDS @Mapper public interface ProjectModelDao extends BaseDao<ProjectModelEntity> { diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectPackageHistoryDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectPackageHistoryDao.java index d9abf60..da476ae 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectPackageHistoryDao.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectPackageHistoryDao.java @@ -1,6 +1,7 @@ package com.iailab.module.model.mpk.dao; import com.iailab.framework.common.dao.BaseDao; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mpk.entity.ProjectPackageHistoryEntity; import org.apache.ibatis.annotations.Mapper; @@ -10,6 +11,7 @@ * @author Dzd * @since 1.0.0 2024-08-22 */ +@TenantDS @Mapper public interface ProjectPackageHistoryDao extends BaseDao<ProjectPackageHistoryEntity> { diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectPackageHistoryModelDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectPackageHistoryModelDao.java index 35cc692..0dce94b 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectPackageHistoryModelDao.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/ProjectPackageHistoryModelDao.java @@ -1,6 +1,7 @@ package com.iailab.module.model.mpk.dao; import com.iailab.framework.common.dao.BaseDao; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mpk.entity.ProjectPackageHistoryModelEntity; import org.apache.ibatis.annotations.Mapper; @@ -9,6 +10,7 @@ * @author: dzd * @date: 2024/8/22 14:41 **/ +@TenantDS @Mapper public interface ProjectPackageHistoryModelDao extends BaseDao<ProjectPackageHistoryModelEntity> { diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/SettingSelectDao.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/SettingSelectDao.java index 731ce69..e054f73 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/SettingSelectDao.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dao/SettingSelectDao.java @@ -1,6 +1,7 @@ package com.iailab.module.model.mpk.dao; import com.iailab.framework.common.dao.BaseDao; +import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mpk.entity.SettingSelectEntity; import org.apache.ibatis.annotations.Mapper; @@ -9,6 +10,7 @@ * @author: dzd * @date: 2024/9/14 15:11 **/ +@TenantDS @Mapper public interface SettingSelectDao extends BaseDao<SettingSelectEntity> { } diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dto/FileGroupDTO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dto/FileGroupDTO.java new file mode 100644 index 0000000..a8dbe96 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dto/FileGroupDTO.java @@ -0,0 +1,21 @@ +package com.iailab.module.model.mpk.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +@Data +public class FileGroupDTO implements Serializable { + private static final long serialVersionUID = 1L; + + private String menuId; + + private String name; + + private Integer sort; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dto/FileMenuDTO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dto/FileMenuDTO.java new file mode 100644 index 0000000..64e85b0 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/dto/FileMenuDTO.java @@ -0,0 +1,24 @@ +package com.iailab.module.model.mpk.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +@Data +public class FileMenuDTO implements Serializable { + private static final long serialVersionUID = 1L; + + private String id; + + private String name; + + private Integer sort; + + private List<FileGroupDTO> groups; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/FileGroupEntity.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/FileGroupEntity.java new file mode 100644 index 0000000..669a6a6 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/FileGroupEntity.java @@ -0,0 +1,39 @@ +package com.iailab.module.model.mpk.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +@Data +@TableName("t_mpk_file_group") +public class FileGroupEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId + private String id; + + /** + * 菜单 + */ + private String menuId; + + /** + * 名称 + */ + private String name; + + /** + * 排序 + */ + private Integer sort; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/FileMenuEntity.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/FileMenuEntity.java new file mode 100644 index 0000000..257c7dd --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/FileMenuEntity.java @@ -0,0 +1,34 @@ +package com.iailab.module.model.mpk.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +@Data +@TableName("t_mpk_file_menu") +public class FileMenuEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId + private String id; + + /** + * 名称 + */ + private String name; + + /** + * 排序 + */ + private Integer sort; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/IconEntity.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/IconEntity.java new file mode 100644 index 0000000..0840115 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/IconEntity.java @@ -0,0 +1,39 @@ +package com.iailab.module.model.mpk.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +@Data +@TableName("t_mpk_icon") +public class IconEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId + private String id; + + /** + * 图标名称 + */ + private String iconName; + + /** + * 图标描述 + */ + private String iconDesc; + + /** + * 排序 + */ + private Integer sort; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/MethodSettingEntity.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/MethodSettingEntity.java index 2a7b1e6..b72792d 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/MethodSettingEntity.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/MethodSettingEntity.java @@ -61,4 +61,9 @@ * 最小值 */ private Integer min; + + /** + * 排序 + */ + private Integer sort; } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/ModelMethodEntity.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/ModelMethodEntity.java index 5b9b24d..ac73b78 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/ModelMethodEntity.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/ModelMethodEntity.java @@ -43,8 +43,14 @@ * 是否有model(0:否,1:是) */ private Integer model; + /** * 结果key */ private String resultKey; + + /** + * 排序 + */ + private Integer sort; } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/MpkFileEntity.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/MpkFileEntity.java index 29a1770..fbc0454 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/MpkFileEntity.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/MpkFileEntity.java @@ -19,6 +19,7 @@ @Data @TableName("t_mpk_file") public class MpkFileEntity implements Serializable { + private static final long serialVersionUID = 1L; /** * id diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/SettingSelectEntity.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/SettingSelectEntity.java index e636a46..4c8f8d4 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/SettingSelectEntity.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/entity/SettingSelectEntity.java @@ -35,4 +35,9 @@ * 名称 */ private String name; + + /** + * 排序 + */ + private Integer sort; } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/FileGroupService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/FileGroupService.java new file mode 100644 index 0000000..a15cbae --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/FileGroupService.java @@ -0,0 +1,24 @@ +package com.iailab.module.model.mpk.service; + +import com.iailab.module.model.mpk.dto.FileGroupDTO; +import com.iailab.module.model.mpk.entity.FileGroupEntity; + +import java.util.List; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +public interface FileGroupService { + + List<FileGroupDTO> list(String menuId); + + FileGroupEntity get(String id); + + void create(FileGroupEntity fileMenuEntity); + + void update(FileGroupEntity fileMenuEntity); + + void deleteById(String id); +} diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/FileMenuService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/FileMenuService.java new file mode 100644 index 0000000..fd02bd2 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/FileMenuService.java @@ -0,0 +1,24 @@ +package com.iailab.module.model.mpk.service; + +import com.iailab.module.model.mpk.dto.FileMenuDTO; +import com.iailab.module.model.mpk.entity.FileMenuEntity; + +import java.util.List; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +public interface FileMenuService { + + List<FileMenuDTO> list(); + + FileMenuEntity get(String id); + + void create(FileMenuEntity fileMenuEntity); + + void update(FileMenuEntity fileMenuEntity); + + void deleteById(String id); +} diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/IconService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/IconService.java new file mode 100644 index 0000000..53a6783 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/IconService.java @@ -0,0 +1,27 @@ +package com.iailab.module.model.mpk.service; + +import com.iailab.framework.common.pojo.PageResult; +import com.iailab.module.model.mpk.entity.IconEntity; +import com.iailab.module.model.mpk.vo.IconPageReqVO; + +import java.util.List; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +public interface IconService { + + PageResult<IconEntity> page(IconPageReqVO reqVO); + + List<IconEntity> list(); + + void create(IconEntity entity); + + void update(IconEntity entity); + + IconEntity get(String id); + + void delete(String id); +} diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/ModelMethodService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/ModelMethodService.java index db5616d..4a37fde 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/ModelMethodService.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/ModelMethodService.java @@ -1,8 +1,10 @@ package com.iailab.module.model.mpk.service; import com.iailab.framework.common.service.BaseService; +import com.iailab.module.model.mpk.dto.ModelMethodDTO; import com.iailab.module.model.mpk.entity.ModelMethodEntity; +import java.util.List; import java.util.Map; /** @@ -13,4 +15,8 @@ public interface ModelMethodService extends BaseService<ModelMethodEntity> { void deleteByMap(Map<String, Object> map); + + void insertList(List<ModelMethodDTO> list, String fileId); + + void deleteModelMethod(String mpkId); } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/SettingSelectService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/SettingSelectService.java index d29955b..acdcc5a 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/SettingSelectService.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/SettingSelectService.java @@ -1,8 +1,10 @@ package com.iailab.module.model.mpk.service; import com.iailab.framework.common.service.BaseService; +import com.iailab.module.model.mpk.dto.MethodSettingDTO; import com.iailab.module.model.mpk.entity.SettingSelectEntity; +import java.util.List; import java.util.Map; /** @@ -13,4 +15,6 @@ public interface SettingSelectService extends BaseService<SettingSelectEntity> { void deleteByMap(Map<String, Object> map); + + void insertList(List<MethodSettingDTO> list, String settingId); } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/FileGroupServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/FileGroupServiceImpl.java new file mode 100644 index 0000000..4d9045f --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/FileGroupServiceImpl.java @@ -0,0 +1,54 @@ +package com.iailab.module.model.mpk.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.iailab.framework.common.util.object.ConvertUtils; +import com.iailab.module.model.mpk.dao.FileGroupDao; +import com.iailab.module.model.mpk.dto.FileGroupDTO; +import com.iailab.module.model.mpk.entity.FileGroupEntity; +import com.iailab.module.model.mpk.service.FileGroupService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +@Slf4j +@Service +public class FileGroupServiceImpl implements FileGroupService { + + @Resource + private FileGroupDao fileGroupDao; + + @Override + public List<FileGroupDTO> list(String menuId) { + QueryWrapper<FileGroupEntity> wrapper = new QueryWrapper<>(); + wrapper.eq("menu_id", menuId) + .orderByAsc("sort"); + return ConvertUtils.sourceToTarget(fileGroupDao.selectList(wrapper), FileGroupDTO.class); + } + + @Override + public FileGroupEntity get(String id) { + return fileGroupDao.selectById(id); + } + + @Override + public void create(FileGroupEntity fileMenuEntity) { + fileGroupDao.insert(fileMenuEntity); + } + + @Override + public void update(FileGroupEntity fileMenuEntity) { + fileGroupDao.updateById(fileMenuEntity); + } + + @Override + public void deleteById(String id) { + fileGroupDao.deleteById(id); + } +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/FileMenuServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/FileMenuServiceImpl.java new file mode 100644 index 0000000..aeb8c59 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/FileMenuServiceImpl.java @@ -0,0 +1,61 @@ +package com.iailab.module.model.mpk.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.iailab.framework.common.util.object.ConvertUtils; +import com.iailab.module.model.mpk.dao.FileMenuDao; +import com.iailab.module.model.mpk.dto.FileMenuDTO; +import com.iailab.module.model.mpk.entity.FileMenuEntity; +import com.iailab.module.model.mpk.service.FileGroupService; +import com.iailab.module.model.mpk.service.FileMenuService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +@Slf4j +@Service +public class FileMenuServiceImpl implements FileMenuService { + + @Resource + private FileMenuDao fileMenuDao; + + @Resource + private FileGroupService fileGroupService; + + @Override + public List<FileMenuDTO> list() { + QueryWrapper<FileMenuEntity> wrapper = new QueryWrapper<>(); + wrapper.orderByAsc("sort"); + List<FileMenuDTO> list = ConvertUtils.sourceToTarget(fileMenuDao.selectList(wrapper), FileMenuDTO.class); + list.forEach(item -> { + fileGroupService.list(item.getId()); + }); + return list; + } + + @Override + public FileMenuEntity get(String id) { + return fileMenuDao.selectById(id); + } + + @Override + public void create(FileMenuEntity fileMenuEntity) { + fileMenuDao.insert(fileMenuEntity); + } + + @Override + public void update(FileMenuEntity fileMenuEntity) { + fileMenuDao.updateById(fileMenuEntity); + } + + @Override + public void deleteById(String id) { + fileMenuDao.deleteById(id); + } +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/IconServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/IconServiceImpl.java new file mode 100644 index 0000000..ecf0d74 --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/IconServiceImpl.java @@ -0,0 +1,58 @@ +package com.iailab.module.model.mpk.service.impl; + +import com.iailab.framework.common.pojo.PageResult; +import com.iailab.module.model.mpk.dao.IconDao; +import com.iailab.module.model.mpk.entity.IconEntity; +import com.iailab.module.model.mpk.service.IconService; +import com.iailab.module.model.mpk.vo.IconPageReqVO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.UUID; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +@Slf4j +@Service +public class IconServiceImpl implements IconService { + + @Autowired + private IconDao iconDao; + + @Override + public PageResult<IconEntity> page(IconPageReqVO reqVO) { + return iconDao.selectPage(reqVO); + } + + @Override + public List<IconEntity> list() { + return iconDao.selectList(null); + } + + @Override + public void create(IconEntity entity) { + entity.setId(UUID.randomUUID().toString()); + iconDao.insert(entity); + } + + @Override + public void update(IconEntity entity) { + iconDao.updateById(entity); + } + + @Override + public IconEntity get(String id) { + return iconDao.selectById(id); + } + + @Override + public void delete(String id) { + iconDao.deleteById(id); + } + +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ModelMethodServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ModelMethodServiceImpl.java index d4f4038..2579ca4 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ModelMethodServiceImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/ModelMethodServiceImpl.java @@ -2,14 +2,21 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.iailab.framework.common.service.impl.BaseServiceImpl; +import com.iailab.framework.common.util.object.ConvertUtils; import com.iailab.module.model.mpk.dao.ModelMethodDao; +import com.iailab.module.model.mpk.dto.ModelMethodDTO; import com.iailab.module.model.mpk.entity.ModelMethodEntity; import com.iailab.module.model.mpk.service.ModelMethodService; +import com.iailab.module.model.mpk.service.SettingSelectService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.UUID; /** * @description: @@ -20,6 +27,8 @@ @Service public class ModelMethodServiceImpl extends BaseServiceImpl<ModelMethodDao, ModelMethodEntity> implements ModelMethodService { + @Autowired + private SettingSelectService settingSelectService; @Override public void deleteByMap(Map<String, Object> map) { @@ -34,4 +43,23 @@ return wrapper; } + + @Override + public void insertList(List<ModelMethodDTO> list, String fileId) { + for (int i = 0; i < list.size(); i++) { + ModelMethodEntity entity = ConvertUtils.sourceToTarget(list.get(i), ModelMethodEntity.class); + entity.setId(UUID.randomUUID().toString()); + entity.setMpkFileId(fileId); + entity.setSort(i); + baseDao.insert(entity); + settingSelectService.insertList(list.get(i).getMethodSettings(), entity.getId()); + } + } + + @Override + public void deleteModelMethod(String mpkId) { + Map<String,Object> map = new HashMap<>(); + map.put("mpk_file_id", mpkId); + baseDao.deleteByMap(map); + } } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/MpkFileServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/MpkFileServiceImpl.java index 6ef8959..97193fc 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/MpkFileServiceImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/MpkFileServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.RuntimeUtil; import cn.hutool.core.util.ZipUtil; import com.alibaba.fastjson.JSON; +import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.iailab.framework.common.page.PageData; @@ -31,7 +32,6 @@ import org.springframework.util.CollectionUtils; import org.springframework.web.multipart.MultipartFile; -import javax.annotation.PostConstruct; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; @@ -52,16 +52,13 @@ @Autowired private GeneratorCodeHistoryService generatorCodeHistoryService; - @Autowired - private ProjectModelService projectModelService; + @Autowired private ProjectPackageHistoryService projectPackageHistoryService; + @Autowired private ModelMethodService modelMethodService; - @Autowired - private MethodSettingService methodSettingService; - @Autowired - private SettingSelectService settingSelectService; + @Autowired private ProjectPackageHistoryModelService projectPackageHistoryModelService; @@ -93,7 +90,7 @@ return ConvertUtils.sourceToTarget(entityList, MpkFileDTO.class); } - private QueryWrapper<MpkFileEntity> getWrapper(Map<String, Object> params){ + private QueryWrapper<MpkFileEntity> getWrapper(Map<String, Object> params) { String pyName = (String) params.get("pyName"); String pyType = (String) params.get("pyType"); String remark = (String) params.get("remark"); @@ -113,86 +110,29 @@ } @Override - @Transactional(rollbackFor = Exception.class) + @DSTransactional(rollbackFor = Exception.class) public void save(MpkFileDTO dto) { MpkFileEntity entity = ConvertUtils.sourceToTarget(dto, MpkFileEntity.class); - String mpkId = UUID.randomUUID().toString(); - entity.setId(mpkId); + entity.setId(UUID.randomUUID().toString()); entity.setCreator(SecurityFrameworkUtils.getLoginUserId()); entity.setCreateDate(new Date()); insert(entity); - - // 添加模型方法 - insertModelMethod(dto.getModelMethods(),mpkId); + modelMethodService.insertList(dto.getModelMethods(), entity.getId()); } @Override - @Transactional(rollbackFor = Exception.class) + @DSTransactional(rollbackFor = Exception.class) public void update(MpkFileDTO dto) { MpkFileEntity entity = ConvertUtils.sourceToTarget(dto, MpkFileEntity.class); entity.setUpdater(SecurityFrameworkUtils.getLoginUserId()); entity.setUpdateDate(new Date()); updateById(entity); - - String mpkId = dto.getId(); - // 删除模型方法 会级联删除setting和select - deleteModelMethod(mpkId); - - // 添加模型方法 - insertModelMethod(dto.getModelMethods(),mpkId); - } - - private void insertModelMethod(List<ModelMethodDTO> modelMethods, String mpkId) { - List<MethodSettingDTO> methodSettingList = new ArrayList<>(); - if (!CollectionUtils.isEmpty(modelMethods)) { - modelMethods.forEach(e -> { - String methodId = UUID.randomUUID().toString(); - e.setId(methodId); - e.setMpkFileId(mpkId); - - e.getMethodSettings().forEach(s -> { - s.setId(UUID.randomUUID().toString()); - s.setMethodId(methodId); - methodSettingList.add(s); - }); - - }); - modelMethodService.insertBatch(ConvertUtils.sourceToTarget(modelMethods, ModelMethodEntity.class)); - - //添加setting - insertMethodSetting(methodSettingList); - } - } - - private void insertMethodSetting(List<MethodSettingDTO> methodSettings) { - List<SettingSelectEntity> settingSelectList = new ArrayList<>(); - if (!CollectionUtils.isEmpty(methodSettings)) { - methodSettings.forEach(e -> { - String settingId = UUID.randomUUID().toString(); - e.setId(settingId); - - e.getSettingSelects().forEach(s -> { - s.setId(UUID.randomUUID().toString()); - s.setSettingId(settingId); - settingSelectList.add(ConvertUtils.sourceToTarget(s,SettingSelectEntity.class)); - }); - - }); - methodSettingService.insertBatch(ConvertUtils.sourceToTarget(methodSettings, MethodSettingEntity.class)); - - //添加select - settingSelectService.insertBatch(settingSelectList); - } - } - - private void deleteModelMethod(String mpkId) { - Map<String,Object> map = new HashMap<>(); - map.put("mpkFileId", mpkId); - modelMethodService.deleteByMap(map); + modelMethodService.deleteModelMethod(entity.getId()); + modelMethodService.insertList(dto.getModelMethods(), entity.getId()); } @Override - @Transactional(rollbackFor = Exception.class) + @DSTransactional(rollbackFor = Exception.class) public void delete(String id) { //删除源文件 @@ -206,8 +146,8 @@ } //删除备份文件 - Map<String,Object> map1 = new HashMap<>(); - map1.put("mdkId",id); + Map<String, Object> map1 = new HashMap<>(); + map1.put("mdkId", id); List<GeneratorCodeHistoryDTO> list = generatorCodeHistoryService.list(map1); list.forEach(e -> { File file = new File(e.getFilePath()); @@ -219,18 +159,6 @@ //删除 会级联删除掉关联表 deleteById(id); - - //删除生成历史 -// generatorCodeHistoryService.deleteByMap(map1); - - //删除关联项目 -// Map<String,Object> map = new HashMap<>(); -// map.put("modelId",id); -// projectModelService.deleteByMap(map); - - //删除模型方法 -// deleteModelMethod(id); - } @Override @@ -278,13 +206,13 @@ } @Override - @Transactional(rollbackFor = Exception.class) - public byte[] packageModel(List<String> ids,String projectId,String projectName,String zipFileName,String log,String version) throws IOException, InterruptedException { + @DSTransactional(rollbackFor = Exception.class) + public byte[] packageModel(List<String> ids, String projectId, String projectName, String zipFileName, String log, String version) throws IOException, InterruptedException { List<MpkFileDTO> entities = baseDao.selectByIds(ids); //模板数据 Map<String, Object> map = new HashMap<>(); - map.put("entities",entities); + map.put("entities", entities); VelocityContext context = new VelocityContext(map); //临时文件夹 @@ -301,17 +229,17 @@ //生成menu.xml文件 Map<String, Map<String, List<MpkFileDTO>>> collect = entities.stream().collect(Collectors.groupingBy(MpkFileDTO::getMenuName, Collectors.groupingBy(e -> StringUtils.isNotBlank(e.getGroupName()) ? e.getGroupName() : "default_group"))); Map<String, Object> map1 = new HashMap<>(); - map1.put("collects",collect); + map1.put("collects", collect); File xmlFile = new File(dirPath.getAbsolutePath() + File.separator + "menu.xml"); - GenUtils.drawTemplate("menu.xml.vm",new VelocityContext(map1),xmlFile); + GenUtils.drawTemplate("menu.xml.vm", new VelocityContext(map1), xmlFile); //生成cpp文件 File cppFile = new File(dirPath.getAbsolutePath() + File.separator + UUID.randomUUID() + ".cpp"); - GenUtils.drawTemplate("pkg.cpp.vm",context,cppFile); + GenUtils.drawTemplate("pkg.cpp.vm", context, cppFile); //生成Jni.cpp文件 File jniCppFile = new File(dirPath.getAbsolutePath() + File.separator + UUID.randomUUID() + "Jni.cpp"); - GenUtils.drawTemplate("pkg.Jni.cpp.vm",context,jniCppFile); + GenUtils.drawTemplate("pkg.Jni.cpp.vm", context, jniCppFile); //生成dll文件 String dllSavePath = dirPath.getAbsolutePath() + File.separator + "IAIL.MDK.Mid.Windows.dll"; @@ -328,35 +256,35 @@ for (MpkFileDTO entity : entities) { //封装模板数据 Map<String, Object> data = new HashMap<>(); - data.put("pkgName",entity.getPkgName()); - data.put("modelMethods",entity.getModelMethods()); - data.put("pyName",entity.getPyName()); - data.put("pyModule",entity.getPyModule()); + data.put("pkgName", entity.getPkgName()); + data.put("modelMethods", entity.getModelMethods()); + data.put("pyName", entity.getPyName()); + data.put("pyModule", entity.getPyModule()); VelocityContext dataContext = new VelocityContext(data); //生成java文件 File javaFile = new File(dirPath.getAbsolutePath() + File.separator + "IAILMDK" + File.separator + entity.getPkgName().replace(".", File.separator) + File.separator + entity.getPyName() + ".java"); - GenUtils.drawTemplate("abstract.java.vm",dataContext,javaFile); + GenUtils.drawTemplate("abstract.java.vm", dataContext, javaFile); javaFilePaths.add(javaFile.getAbsolutePath()); //生成Impl.java文件 File implJavaFile = new File(dirPath.getAbsolutePath() + File.separator + "IAILMDK" + File.separator + entity.getPkgName().replace(".", File.separator) + File.separator + MdkConstant.IMPL + File.separator + entity.getPyName() + "Impl.java"); - GenUtils.drawTemplate("impl.java.vm",dataContext,implJavaFile); + GenUtils.drawTemplate("impl.java.vm", dataContext, implJavaFile); javaFilePaths.add(implJavaFile.getAbsolutePath()); // 添加python源文件 - String pyFilePath = dirPath.getAbsolutePath() + File.separator + "py" + File.separator + entity.getPyName() + ".pyd"; + String pyFilePath = dirPath.getAbsolutePath() + File.separator + "py" + File.separator + entity.getPyName() + ".pyd"; FileUtil.mkParentDirs(pyFilePath); - FileUtil.copy(entity.getFilePath(),pyFilePath,true); + FileUtil.copy(entity.getFilePath(), pyFilePath, true); } //utils + env java文件 File utilsJavaFile = new File(dirPath.getAbsolutePath() + File.separator + "IAILMDK" + File.separator + "utils" + File.separator + "AlgsUtils.java"); FileUtil.mkParentDirs(utilsJavaFile); - FileUtil.copy("bak/AlgsUtils.java",utilsJavaFile.getAbsolutePath(),true); + FileUtil.copy("bak/AlgsUtils.java", utilsJavaFile.getAbsolutePath(), true); javaFilePaths.add(utilsJavaFile.getAbsolutePath()); File envJavaFile = new File(dirPath.getAbsolutePath() + File.separator + "IAILMDK" + File.separator + "common" + File.separator + "Environment.java"); FileUtil.mkParentDirs(envJavaFile); - FileUtil.copy("bak/Environment.java",envJavaFile.getAbsolutePath(),true); + FileUtil.copy("bak/Environment.java", envJavaFile.getAbsolutePath(), true); javaFilePaths.add(envJavaFile.getAbsolutePath()); // 生成class文件 createClassFile(javaFilePaths); @@ -375,10 +303,10 @@ dto.setModelNames(entities.stream().map(MpkFileDTO::getPyName).collect(Collectors.joining(","))); dto.setCreateTime(new Date()); // 生成更新日志 - createLog(projectId,projectName,dirPath.getAbsolutePath(),dto,version); + createLog(projectId, projectName, dirPath.getAbsolutePath(), dto, version); // 打zip包 String zipPath = mpkBakFilePath + File.separator + zipFileName; - ZipUtil.zip(dirPath.getAbsolutePath(),zipPath); + ZipUtil.zip(dirPath.getAbsolutePath(), zipPath); byte[] bytes = FileUtil.readBytes(zipPath); // 记录打包日志 dto.setFilePath(zipPath); @@ -409,7 +337,7 @@ } @Override - public Map<String,String> savePyFile(MultipartFile file) throws IOException { + public Map<String, String> savePyFile(MultipartFile file) throws IOException { File dir = new File(mpkBakFilePath); if (!dir.exists()) { dir.mkdirs(); @@ -420,32 +348,32 @@ // 保存 file.transferTo(saveFile); - Map<String,String> result = new HashMap<>(2); - result.put("filePath",saveFile.getAbsolutePath()); + Map<String, String> result = new HashMap<>(2); + result.put("filePath", saveFile.getAbsolutePath()); result.put("fileName", fileName); return result; } - private void createLog(String projectId,String projectName,String dirPath,ProjectPackageHistoryDTO dto,String version) throws IOException { - Map<String,Object> map = new HashMap<>(); - map.put("projectId",projectId); + private void createLog(String projectId, String projectName, String dirPath, ProjectPackageHistoryDTO dto, String version) throws IOException { + Map<String, Object> map = new HashMap<>(); + map.put("projectId", projectId); List<ProjectPackageHistoryDTO> list = projectPackageHistoryService.list(map); list.add(dto); // 按照日期分组再排序 HashMap<String, List<ProjectPackageHistoryDTO>> dataMap = list.stream().collect( Collectors.groupingBy(e -> DateUtils.format(e.getCreateTime(), DateUtils.DATE_PATTERN_POINT), - LinkedHashMap::new, - Collectors.collectingAndThen(Collectors.toList(), e -> e.stream().sorted(Comparator.comparing(ProjectPackageHistoryDTO::getCreateTime)).collect(Collectors.toList())))); + LinkedHashMap::new, + Collectors.collectingAndThen(Collectors.toList(), e -> e.stream().sorted(Comparator.comparing(ProjectPackageHistoryDTO::getCreateTime)).collect(Collectors.toList())))); Map<String, Object> data = new HashMap<>(); - data.put("dataMap",dataMap); - data.put("projectName",projectName); - data.put("version",version); - data.put("now",DateUtils.format(new Date(),DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)); + data.put("dataMap", dataMap); + data.put("projectName", projectName); + data.put("version", version); + data.put("now", DateUtils.format(new Date(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)); File logFile = new File(dirPath + File.separator + "更新日志.txt"); - GenUtils.drawTemplate("log.txt.vm",data,logFile); + GenUtils.drawTemplate("log.txt.vm", data, logFile); } private void pkgJar(String dirPath) throws InterruptedException { diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/SettingSelectServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/SettingSelectServiceImpl.java index 1bfba31..21c6180 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/SettingSelectServiceImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/service/impl/SettingSelectServiceImpl.java @@ -2,14 +2,19 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.iailab.framework.common.service.impl.BaseServiceImpl; +import com.iailab.framework.common.util.object.ConvertUtils; import com.iailab.module.model.mpk.dao.SettingSelectDao; +import com.iailab.module.model.mpk.dto.MethodSettingDTO; +import com.iailab.module.model.mpk.entity.ModelMethodEntity; import com.iailab.module.model.mpk.entity.SettingSelectEntity; import com.iailab.module.model.mpk.service.SettingSelectService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import java.util.List; import java.util.Map; +import java.util.UUID; /** * @description: @@ -34,4 +39,17 @@ return wrapper; } + + @Override + public void insertList(List<MethodSettingDTO> list, String settingId) { + List<SettingSelectEntity> entityList = ConvertUtils.sourceToTarget(list, SettingSelectEntity.class); + for(int i = 0; i < entityList.size(); i++){ + SettingSelectEntity entity = entityList.get(i); + entity.setId(UUID.randomUUID().toString()); + entity.setSettingId(settingId); + entity.setSort(i); + baseDao.insert(entity); + } + + } } \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/vo/IconPageReqVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/vo/IconPageReqVO.java new file mode 100644 index 0000000..c3202ac --- /dev/null +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/vo/IconPageReqVO.java @@ -0,0 +1,22 @@ +package com.iailab.module.model.mpk.vo; + +import com.iailab.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +/** + * @author PanZhibao + * @Description + * @createTime 2024年09月22日 + */ +@Schema(description = "模型服务 - MDK菜单图标分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class IconPageReqVO extends PageParam { + + @Schema(description = "图标名称,模糊匹配", example = "") + private String iconName; +} \ No newline at end of file diff --git a/iailab-module-model/iailab-module-model-biz/src/main/resources/application.yml b/iailab-module-model/iailab-module-model-biz/src/main/resources/application.yml index 983a693..0c290c1 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/resources/application.yml +++ b/iailab-module-model/iailab-module-model-biz/src/main/resources/application.yml @@ -1,3 +1,4 @@ +--- #################### 注册中心 + 配置中心相关配置 #################### spring: application: name: model-server @@ -11,12 +12,12 @@ username: @nacos.username@ password: @nacos.password@ discovery: # 【配置中心】配置项 - namespace: test + namespace: @profiles.active@ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP metadata: version: @nacos.metadata.version@ # 服务实例的版本号,可用于灰度发布 config: # 【注册中心】配置项 - namespace: test + namespace: @profiles.active@ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP main: @@ -157,8 +158,8 @@ admin-ui: url: # Admin 管理后台 UI 的地址 swagger: - title: 数据采集 - description: 数据采集 + title: 模型管理 + description: 模型管理 version: ${iailab.info.version} base-package: ${iailab.info.base-package} tenant: # 多租户相关配置项 @@ -201,6 +202,18 @@ - t_st_schedule_suggest - t_st_schedule_record - t_st_schedule_record_detail + - t_mpk_file + - t_mpk_generator_code_history + - t_mpk_method_setting + - t_mpk_model_method + - t_mpk_project + - t_mpk_project_model + - t_mpk_project_package_history + - t_mpk_project_package_history_model + - t_mpk_setting_select + - t_mpk_icon + - t_mpk_file_menu + - t_mpk_file_group app: app-key: model app-secret: 85b0df7edc3df3611913df34ed695011 -- Gitblit v1.9.3