diff --git a/config/dev/mysql.yml b/config/dev/mysql.yml index c8f06a3..9238c9f 100644 --- a/config/dev/mysql.yml +++ b/config/dev/mysql.yml @@ -3,7 +3,7 @@ spring: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:13306/sz_admin_test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true username: root - password: Yanfa2023@ + password: 123456 hikari: #连接池名 pool-name: HikariCP diff --git a/config/local/mysql.yml b/config/local/mysql.yml index e0bf6bc..3f603b3 100644 --- a/config/local/mysql.yml +++ b/config/local/mysql.yml @@ -1,7 +1,7 @@ spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://127.0.0.1:3306/sz_admin_preview?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true + url: jdbc:mysql://127.0.0.1:13306/sz_admin_preview?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true username: root password: 123456 hikari: diff --git a/config/preview/mysql.yml b/config/preview/mysql.yml index c8f06a3..9238c9f 100644 --- a/config/preview/mysql.yml +++ b/config/preview/mysql.yml @@ -3,7 +3,7 @@ spring: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:13306/sz_admin_test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true username: root - password: Yanfa2023@ + password: 123456 hikari: #连接池名 pool-name: HikariCP diff --git a/config/prod/mysql.yml b/config/prod/mysql.yml index c8f06a3..9238c9f 100644 --- a/config/prod/mysql.yml +++ b/config/prod/mysql.yml @@ -3,7 +3,7 @@ spring: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:13306/sz_admin_test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true username: root - password: Yanfa2023@ + password: 123456 hikari: #连接池名 pool-name: HikariCP diff --git a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/controller/DataModelController.java b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/controller/DataModelController.java new file mode 100644 index 0000000..eca1a0e --- /dev/null +++ b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/controller/DataModelController.java @@ -0,0 +1,49 @@ +package com.sz.admin.monitor.controller; + + +import com.sz.admin.monitor.pojo.dto.dataModel.DataModelDTO; +import com.sz.admin.monitor.pojo.que.dataModel.DataModelQue; +import com.sz.admin.monitor.service.impl.DataModelServiceImpl; +import com.sz.core.common.entity.ApiResult; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author xq + * @description: + * @date 2026/3/14 12:35 + */ +@Slf4j +@RestController +@RequestMapping("/data/model") +public class DataModelController { + @Autowired + private DataModelServiceImpl dataModelService; + + @PostMapping("/getModelData") + public ApiResult getModelData(@RequestBody DataModelQue que) { + return dataModelService.getModelData(que); + } + + /** + * 保存或者更新数据模型 + * + * @param dataModelDTO + * @return + */ + @PostMapping("/saveOrUpdate/modelData") + public ApiResult saveOrUpdateModelData( + @RequestBody DataModelDTO dataModelDTO, + HttpServletRequest request, + HttpServletResponse response) { + return dataModelService.saveOrUpdateModelData(dataModelDTO, request, response); + } + + @GetMapping("/test") + public ApiResult test() { + return ApiResult.success(dataModelService.getList()); + } +} diff --git a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/controller/FileController.java b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/controller/FileController.java index c7ce9cf..471f8b8 100644 --- a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/controller/FileController.java +++ b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/controller/FileController.java @@ -47,11 +47,13 @@ public class FileController { } @GetMapping("/getFile") + @SaIgnore public ApiResult getFile(@RequestParam("id") String id) { return fileService.getFile(id); } @PostMapping("/saveFile") + @SaIgnore public ApiResult saveFile(@RequestParam("file") MultipartFile file) { return fileService.saveFile(file); } diff --git a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/dto/dataModel/ModelContentDTO.java b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/dto/dataModel/ModelContentDTO.java index b90fd47..5b51957 100644 --- a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/dto/dataModel/ModelContentDTO.java +++ b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/dto/dataModel/ModelContentDTO.java @@ -29,6 +29,11 @@ public class ModelContentDTO { */ private String id; + /** + * 图形位置 + */ + private Integer modelIndex=99; + /** * 模型名称 */ diff --git a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/dto/dataModel/UserModelContentDTO.java b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/dto/dataModel/UserModelContentDTO.java index bc6805f..2a70ad2 100644 --- a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/dto/dataModel/UserModelContentDTO.java +++ b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/dto/dataModel/UserModelContentDTO.java @@ -1,11 +1,14 @@ package com.sz.admin.monitor.pojo.dto.dataModel; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.Date; + /** * @author xq * @description: @@ -32,4 +35,12 @@ public class UserModelContentDTO { * 模型内容 */ private String modelContentId; + /** + * 添加时间 + */ + private Date addTime; + /** + * 修改时间 + */ + private Date updateTime; } diff --git a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/CanvasCfgDO.java b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/CanvasCfgDO.java index c2ebd42..c808adc 100644 --- a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/CanvasCfgDO.java +++ b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/CanvasCfgDO.java @@ -2,6 +2,8 @@ package com.sz.admin.monitor.pojo.po; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.Table; import com.sz.admin.monitor.pojo.dto.dataModel.CanvasCfgDTO; import io.swagger.v3.oas.annotations.media.Schema; @@ -16,7 +18,7 @@ import lombok.NoArgsConstructor; * @author xq * @date 2026/1/29 11:32 */ -@Table("ry_model_content") +@Table("ry_canvas_cfg") @Schema(description = "画布配置数据对象") @Data @Builder @@ -26,6 +28,7 @@ public class CanvasCfgDO { /** * 面板id */ + @Id(keyType = KeyType.Generator, value = "uuid") @Schema(description = "面板id") private String id; diff --git a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/GridCfgDO.java b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/GridCfgDO.java index a98d300..3dce2f1 100644 --- a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/GridCfgDO.java +++ b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/GridCfgDO.java @@ -1,6 +1,8 @@ package com.sz.admin.monitor.pojo.po; import cn.hutool.core.bean.BeanUtil; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.Table; import com.sz.admin.monitor.pojo.dto.dataModel.GridCfgDTO; import io.swagger.v3.oas.annotations.media.Schema; @@ -25,31 +27,32 @@ public class GridCfgDO { /** * 网格id */ + @Id(keyType = KeyType.Generator, value = "uuid") @Schema(description = "主键ID") private String id; /** * 用户id */ - @Schema(description = "主键ID") + @Schema(description = "用户id") private String userId; /** * 网格是否启用 */ - @Schema(description = "主键ID") + @Schema(description = "网格是否启用") private Boolean enabled; /** * 对齐 */ - @Schema(description = "主键ID") + @Schema(description = "对齐") private Boolean align; /** * 大小 */ - @Schema(description = "主键ID") + @Schema(description = "大小") private Integer size; /** diff --git a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/ModelContentDO.java b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/ModelContentDO.java index 6866130..42542c2 100644 --- a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/ModelContentDO.java +++ b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/ModelContentDO.java @@ -3,6 +3,8 @@ package com.sz.admin.monitor.pojo.po; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.Table; import com.sz.admin.monitor.pojo.dto.dataModel.ModelContentDTO; import io.swagger.v3.oas.annotations.media.Schema; @@ -28,9 +30,16 @@ public class ModelContentDO { /** * 模型id */ + @Id(keyType = KeyType.Generator, value = "uuid") @Schema(description = "模型id") private String id; + /** + * 索引 + */ + @Schema(description = "模型索引") + private Integer modelIndex=99; + /** * 模型名称 */ @@ -104,6 +113,7 @@ public class ModelContentDO { private String events; public static final String ID = "id"; + public static final String MODEL_INDEX = "model_index"; public static final String TITLE = "title"; public static final String TYPE = "type"; public static final String BINFO = "binfo"; diff --git a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/UserModelContentDO.java b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/UserModelContentDO.java index e0e0f28..7a4b8b3 100644 --- a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/UserModelContentDO.java +++ b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/pojo/po/UserModelContentDO.java @@ -1,5 +1,7 @@ package com.sz.admin.monitor.pojo.po; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.Table; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; @@ -8,6 +10,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; +import java.util.Date; /** 用户模型中间表 * @description: @@ -22,8 +25,9 @@ import java.io.Serializable; @AllArgsConstructor public class UserModelContentDO implements Serializable { /** - * 表id + * id */ + @Id(keyType = KeyType.Generator, value = "uuid") @Schema(description = "主键ID") private String id; /** @@ -41,6 +45,16 @@ public class UserModelContentDO implements Serializable { */ @Schema(description = "模型内容") private String modelContentId; + /** + * 添加时间 + */ + @Schema(description = "添加时间") + private Date addTime; + /** + * 修改时间 + */ + @Schema(description = "修改时间") + private Date updateTime; public static final String ID="id"; public static final String USER_ID="user_id"; diff --git a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/CanvasCfgServiceImpl.java b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/CanvasCfgServiceImpl.java index 4bebe64..c3bda89 100644 --- a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/CanvasCfgServiceImpl.java +++ b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/CanvasCfgServiceImpl.java @@ -31,8 +31,9 @@ public class CanvasCfgServiceImpl extends ServiceImpl() diff --git a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/DataModelServiceImpl.java b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/DataModelServiceImpl.java index 41a1afb..e6c86b2 100644 --- a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/DataModelServiceImpl.java +++ b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/DataModelServiceImpl.java @@ -58,7 +58,7 @@ public class DataModelServiceImpl { QueryWrapper queryWrapper = QueryWrapper.create() .from(CanvasCfgDO.class) - .where(CanvasCfgDO.USER_ID, que.getUserId()) + .eq(CanvasCfgDO.USER_ID, que.getUserId()) .limit(1); // 获取画板数据 @@ -76,7 +76,7 @@ public class DataModelServiceImpl { // 获取网格数据 GridCfgDO gridCfgDO = gridCfgService.getOne(QueryWrapper.create() .from(GridCfgDO.class) - .where(GridCfgDO.USER_ID, que.getUserId()) + .eq(GridCfgDO.USER_ID, que.getUserId()) .limit(1) ); // GridCfgDO gridCfgDO = gridCfgService.getOne(new QueryWrapper() @@ -91,8 +91,8 @@ public class DataModelServiceImpl { //中间表 List userModelList = userModelContentService.list(QueryWrapper.create() .from(UserModelContentDO.class) - .where(UserModelContentDO.USER_ID, userId) - .limit(1) + .eq(UserModelContentDO.USER_ID, userId) + .eq(UserModelContentDO.MENU_TYPE, que.getMenuType()) ); // List userModelList = userModelContentService.list(new QueryWrapper() // .eq(UserModelContentDO.USER_ID, userId) @@ -114,7 +114,13 @@ public class DataModelServiceImpl { .map(item -> item.getModelContentId()) .collect(Collectors.toList()); - List modelContentDOS = modelContentService.listByIds(collect); + List modelContentDOS = modelContentService.list(QueryWrapper.create() + .from(ModelContentDO.class) + .in(ModelContentDO.ID, collect) + .orderBy(ModelContentDO.MODEL_INDEX, true) + ); + +// List modelContentDOS = modelContentService.listByIds(collect); for (ModelContentDO modelContentDO : modelContentDOS) { objects.add(ModelContentDO.doConvertDTO(modelContentDO)); } @@ -175,8 +181,12 @@ public class DataModelServiceImpl { throw new IllegalArgumentException("传值错误"); CanvasCfgDTO canvasCfg = dataModelDTO.getCanvasCfg(); GridCfgDTO gridCfg = dataModelDTO.getGridCfg(); - List json = dataModelDTO.getJson(); - + List json=new ArrayList<>(); + for (int i = 0; i < dataModelDTO.getJson().size(); i++) { + ModelContentDTO modelContentDTO = dataModelDTO.getJson().get(i); + modelContentDTO.setModelIndex(i); + json.add(modelContentDTO); + } //保存、更新面板 canvasCfg.setUserId(userId); canvasCfgService.saveOrUpdateCanvas(canvasCfg); @@ -191,7 +201,7 @@ public class DataModelServiceImpl { //获取中间表 List list = userModelContentService.list(QueryWrapper.create() .from(UserModelContentDO.class) - .where(UserModelContentDO.USER_ID, userId) //先写死 + .eq(UserModelContentDO.USER_ID, userId) //先写死 .eq(UserModelContentDO.MENU_TYPE, dataModelDTO.getMenuType()) ); // List list = userModelContentService.list(new QueryWrapper() @@ -207,13 +217,8 @@ public class DataModelServiceImpl { userModelContentService.remove(QueryWrapper.create() .from(UserModelContentDO.class) - .where(UserModelContentDO.USER_ID, userId) + .eq(UserModelContentDO.USER_ID, userId) .eq(UserModelContentDO.MENU_TYPE, dataModelDTO.getMenuType())); - - -// userModelContentService.remove(new QueryWrapper() -// .eq(UserModelContentDO.USER_ID, userId) //先写死 -// .eq(UserModelContentDO.MENU_TYPE, dataModelDTO.getMenuType())); return ApiResult.success(); } diff --git a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/GridCfgServiceImpl.java b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/GridCfgServiceImpl.java index 676b023..106f25a 100644 --- a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/GridCfgServiceImpl.java +++ b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/GridCfgServiceImpl.java @@ -30,7 +30,7 @@ public class GridCfgServiceImpl extends ServiceImpl im QueryWrapper queryWrapper = QueryWrapper.create() .from(GridCfgDO.class) - .where(GridCfgDO.USER_ID, gridCfgDO.getUserId()) + .eq(GridCfgDO.USER_ID, gridCfgDO.getUserId()) .limit(1); GridCfgDO one = getOne(queryWrapper); diff --git a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/ModelContentServiceImpl.java b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/ModelContentServiceImpl.java index dc74c20..93a052c 100644 --- a/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/ModelContentServiceImpl.java +++ b/sz-service/sz-service-admin/src/main/java/com/sz/admin/monitor/service/impl/ModelContentServiceImpl.java @@ -53,21 +53,13 @@ public class ModelContentServiceImpl extends ServiceImpl doList = userModelContentService.list(queryWrapper); - -// List doList = userModelContentService.list(new QueryWrapper() -// .eq(UserModelContentDO.MODEL_CONTENT_ID, modelContentDO.getId()) -// .eq(UserModelContentDO.MENU_TYPE, menuType) -// .orderByDesc(UserModelContentDO.ID) -// .last("limit 1") -// ); - if (CollectionUtil.isEmpty(doList)) modelContentDO.setId(null); else diff --git a/sz-service/sz-service-admin/src/main/resources/db/changelog/sql/dev_0.0.1_xq.sql b/sz-service/sz-service-admin/src/main/resources/db/changelog/sql/dev_0.0.1_xq.sql index 254623b..67cb88e 100644 --- a/sz-service/sz-service-admin/src/main/resources/db/changelog/sql/dev_0.0.1_xq.sql +++ b/sz-service/sz-service-admin/src/main/resources/db/changelog/sql/dev_0.0.1_xq.sql @@ -7,22 +7,27 @@ create table ry_user_model_content ) comment '用户模型关系'; +-- auto-generated definition create table ry_model_content ( - id varchar(32) not null comment '模型id' + id varchar(32) not null comment '模型id' primary key, - title varchar(32) null comment '模型名称', - type varchar(32) null comment '模型类型', + title varchar(32) null comment '模型名称', + type varchar(32) null comment '模型类型', binfo varchar(128) null comment '位置(json)', resize tinyint(1) null comment '调整大小(bool)', - rotate tinyint(1) null comment '锁定(bool)', + rotate tinyint(1) null comment '旋转', + `lock` tinyint(1) null comment '锁定', active tinyint(1) null comment '动作(bool)', hide tinyint(1) null comment '隐藏(bool)', props varchar(128) null comment '属性(json)', tag varchar(128) null comment 'vue组件名称', common_animations varchar(128) null comment '动画(json)', - events varchar(128) null comment '事件' -) comment '模型内容'; + events varchar(128) null comment '事件', + `index` int null comment '索引' +) + comment '模型内容'; + create table ry_canvas_cfg ( diff --git a/sz-service/sz-service-admin/src/main/resources/lib/win/HCNetSDKCom/HCGeneralCfgMgr.dll b/sz-service/sz-service-admin/src/main/resources/lib/win/HCNetSDKCom/HCGeneralCfgMgr.dll index 75e98ff..502b9ce 100644 Binary files a/sz-service/sz-service-admin/src/main/resources/lib/win/HCNetSDKCom/HCGeneralCfgMgr.dll and b/sz-service/sz-service-admin/src/main/resources/lib/win/HCNetSDKCom/HCGeneralCfgMgr.dll differ