diff --git a/ruoyi-site/ruoyi-h5/doc/h5_fonts.sql b/ruoyi-site/ruoyi-h5/doc/h5_fonts.sql
index 8845c141c..968a1287e 100644
--- a/ruoyi-site/ruoyi-h5/doc/h5_fonts.sql
+++ b/ruoyi-site/ruoyi-h5/doc/h5_fonts.sql
@@ -21,22 +21,24 @@ SET FOREIGN_KEY_CHECKS = 0;
-- Table structure for h5_font
-- ----------------------------
DROP TABLE IF EXISTS `h5_font`;
-CREATE TABLE `h5_font` (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- `source` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字体来源',
- `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字体名称',
- `font_family` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字体族名称(唯一标识)',
- `lang` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字体语言类型:zh-中文,en-英文',
- `alias` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字体别名',
- `authorization_id` bigint NULL DEFAULT NULL COMMENT '授权ID',
- `user_over_role` int NULL DEFAULT NULL COMMENT '用户角色',
- `sale_type` int NULL DEFAULT NULL COMMENT '销售类型',
- `create_time` bigint NOT NULL COMMENT '创建时间戳',
- `update_time` bigint NOT NULL COMMENT '更新时间戳',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uk_font_family`(`font_family`) USING BTREE COMMENT '字体族名称唯一索引',
- INDEX `idx_lang`(`lang`) USING BTREE COMMENT '语言类型索引',
- INDEX `idx_name`(`name`) USING BTREE COMMENT '字体名称索引'
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字体表' ROW_FORMAT = Dynamic;
+CREATE TABLE `h5_font`
+(
+ `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `source_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字体来源',
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字体名称',
+ `preview` json NOT NULL COMMENT '预览(JSON格式)',
+ `lang` varchar(10) NOT NULL COMMENT '字体语言类型:zh-中文,en-英文',
+ `alias` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字体别名',
+ `content` json NOT NULL COMMENT '字体内容(JSON格式)',
+ `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间戳',
+ `update_time` DATETIME ON UPDATE CURRENT_TIMESTAMP NULL COMMENT '更新时间戳',
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE INDEX `uk_name` (`name`) USING BTREE COMMENT '字体族名称唯一索引',
+ INDEX `idx_lang` (`lang`) USING BTREE COMMENT '语言类型索引',
+ INDEX `idx_name` (`name`) USING BTREE COMMENT '字体名称索引'
+) ENGINE = InnoDB
+ CHARACTER SET = utf8mb4
+ COLLATE = utf8mb4_general_ci COMMENT = '字体表'
+ ROW_FORMAT = Dynamic;
-SET FOREIGN_KEY_CHECKS = 1;
\ No newline at end of file
+SET FOREIGN_KEY_CHECKS = 1;
diff --git a/ruoyi-site/ruoyi-h5/doc/h5_form_submission.sql b/ruoyi-site/ruoyi-h5/doc/h5_form_submission.sql
index 5794cf159..d97a5e69b 100644
--- a/ruoyi-site/ruoyi-h5/doc/h5_form_submission.sql
+++ b/ruoyi-site/ruoyi-h5/doc/h5_form_submission.sql
@@ -1,13 +1,13 @@
CREATE TABLE `h5_form_submission`
(
- id bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- project_id bigint NOT NULL COMMENT 'H5Project的ID',
- ip_address bigint UNSIGNED DEFAULT NULL COMMENT '提交者IP地址',
- user_agent varchar(512) DEFAULT NULL COMMENT '用户代理信息',
- form_data JSON NOT NULL COMMENT '表单数据(JSON格式存储)',
- create_time bigint not null comment '创建时间戳',
- update_time bigint not null comment '更新时间戳',
+ id bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ project_id bigint NOT NULL COMMENT 'H5Project的ID',
+ ip_address bigint UNSIGNED DEFAULT NULL COMMENT '提交者IP地址',
+ user_agent varchar(512) DEFAULT NULL COMMENT '用户代理信息',
+ form_data JSON NOT NULL COMMENT '表单数据(JSON格式存储)',
+ `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间戳',
+ `update_time` DATETIME ON UPDATE CURRENT_TIMESTAMP NULL COMMENT '更新时间戳',
PRIMARY KEY (id),
KEY `idx_project_id` (project_id)
) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='表单提交记录表';
\ No newline at end of file
+ DEFAULT CHARSET = utf8mb4 COMMENT ='表单提交记录表';
diff --git a/ruoyi-site/ruoyi-h5/doc/h5_group.sql b/ruoyi-site/ruoyi-h5/doc/h5_group.sql
index eced48e08..6c90299cd 100644
--- a/ruoyi-site/ruoyi-h5/doc/h5_group.sql
+++ b/ruoyi-site/ruoyi-h5/doc/h5_group.sql
@@ -29,8 +29,8 @@ CREATE TABLE `h5_group`
`type` int NOT NULL COMMENT '分组类型:1-物料 2-用途 3-行业',
`sort` int NOT NULL DEFAULT 0 COMMENT '排序',
`status` int NOT NULL DEFAULT 1 COMMENT '状态:0-禁用 1-启用',
- `create_time` bigint NOT NULL COMMENT '创建时间戳',
- `update_time` bigint NULL DEFAULT NULL COMMENT '更新时间戳',
+ `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间戳',
+ `update_time` DATETIME ON UPDATE CURRENT_TIMESTAMP NULL COMMENT '更新时间戳',
INDEX `idx_parent_id` (`parent_id`) USING BTREE,
INDEX `idx_type` (`type`) USING BTREE
) ENGINE = InnoDB
@@ -43,34 +43,34 @@ CREATE TABLE `h5_group`
-- 插入默认分组数据
-- ----------------------------
INSERT INTO `h5_group`
-VALUES (1, '物料', 0, 1, 1, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
+VALUES (1, '物料', 0, 1, 1, 1, CURRENT_TIMESTAMP(), null);
INSERT INTO `h5_group`
-VALUES (2, '用途', 0, 2, 2, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
+VALUES (2, '用途', 0, 2, 2, 1, CURRENT_TIMESTAMP(), null);
INSERT INTO `h5_group`
-VALUES (3, '行业', 0, 3, 3, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
+VALUES (3, '行业', 0, 3, 3, 1, CURRENT_TIMESTAMP(), null);
-- ----------------------------
-- 插入二级分组数据 - 物料
-- ----------------------------
INSERT INTO `h5_group`
-VALUES (4, '长页', 1, 1, 1, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
+VALUES (4, '长页', 1, 1, 1, 1, CURRENT_TIMESTAMP(), null);
INSERT INTO `h5_group`
-VALUES (5, '翻页', 1, 1, 2, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
+VALUES (5, '翻页', 1, 1, 2, 1, CURRENT_TIMESTAMP(), null);
-- ----------------------------
-- 插入二级分组数据 - 用途
-- ----------------------------
INSERT INTO `h5_group`
-VALUES (6, '通用', 2, 2, 1, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
+VALUES (6, '通用', 2, 2, 1, 1, CURRENT_TIMESTAMP(), null);
INSERT INTO `h5_group`
-VALUES (7, '祝福问候', 2, 2, 2, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
+VALUES (7, '祝福问候', 2, 2, 2, 1, CURRENT_TIMESTAMP(), null);
-- ----------------------------
-- 插入二级分组数据 - 行业
-- ----------------------------
INSERT INTO `h5_group`
-VALUES (8, '金融', 3, 3, 1, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
+VALUES (8, '金融', 3, 3, 1, 1, CURRENT_TIMESTAMP(), null);
INSERT INTO `h5_group`
-VALUES (9, '医疗', 3, 3, 2, 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
+VALUES (9, '医疗', 3, 3, 2, 1, CURRENT_TIMESTAMP(), null);
SET FOREIGN_KEY_CHECKS = 1;
diff --git a/ruoyi-site/ruoyi-h5/doc/h5_project.sql b/ruoyi-site/ruoyi-h5/doc/h5_project.sql
index 48b606b1d..4262962f3 100644
--- a/ruoyi-site/ruoyi-h5/doc/h5_project.sql
+++ b/ruoyi-site/ruoyi-h5/doc/h5_project.sql
@@ -26,15 +26,16 @@ CREATE TABLE `h5_project`
`id` bigint PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`type` varchar(10) NOT NULL COMMENT '类型',
`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '标题',
- `content_updated_at` bigint NULL DEFAULT NULL COMMENT '内容更新时间戳',
- `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
- `preview_url` varchar(500) NULL DEFAULT NULL COMMENT '预览图URL',
- `preview_url_watermark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '水印预览图URL',
+ `content` json NOT NULL COMMENT '项目内容(JSON格式)',
+ `content_updated_at` bigint NULL COMMENT '内容更新时间戳',
+ `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '描述',
+ `preview_url` varchar(500) NULL COMMENT '预览图URL',
+ `preview_url_watermark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '水印预览图URL',
`preview_width` int NOT NULL COMMENT '预览图宽度',
`preview_height` int NOT NULL COMMENT '预览图高度',
`status` tinyint NOT NULL COMMENT '状态',
- `create_time` bigint NOT NULL COMMENT '创建时间戳',
- `update_time` bigint NULL DEFAULT NULL COMMENT '更新时间戳'
+ `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间戳',
+ `update_time` DATETIME ON UPDATE CURRENT_TIMESTAMP NULL COMMENT '更新时间戳'
) ENGINE = InnoDB
AUTO_INCREMENT = 1
CHARACTER SET = utf8mb4
diff --git a/ruoyi-site/ruoyi-h5/doc/h5_project_group.sql b/ruoyi-site/ruoyi-h5/doc/h5_project_group.sql
index 49e5d463d..99e0a3490 100644
--- a/ruoyi-site/ruoyi-h5/doc/h5_project_group.sql
+++ b/ruoyi-site/ruoyi-h5/doc/h5_project_group.sql
@@ -24,9 +24,9 @@ DROP TABLE IF EXISTS `h5_project_group`;
CREATE TABLE `h5_project_group`
(
`id` bigint PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
- `project_id` bigint NOT NULL COMMENT '项目ID',
- `group_id` bigint NOT NULL COMMENT '分组ID',
- `create_time` bigint NOT NULL COMMENT '创建时间戳',
+ `project_id` bigint NOT NULL COMMENT '项目ID',
+ `group_id` bigint NOT NULL COMMENT '分组ID',
+ `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间戳',
INDEX `idx_project_id` (`project_id`) USING BTREE,
INDEX `idx_group_id` (`group_id`) USING BTREE
) ENGINE = InnoDB
diff --git a/ruoyi-site/ruoyi-h5/doc/http/fonts.http b/ruoyi-site/ruoyi-h5/doc/http/fonts.http
index 724b31408..7ddc4f982 100644
--- a/ruoyi-site/ruoyi-h5/doc/http/fonts.http
+++ b/ruoyi-site/ruoyi-h5/doc/http/fonts.http
@@ -11,13 +11,11 @@ Content-Type: application/json
"url": "https://st0.dancf.com/csc/49/fonts/0/20200809-105104-c105.svg",
"width": 490,
"height": 80,
- "partial_video": "",
+ "partialVideo": "",
"video": "",
"hex": "",
"duration": 0
},
- "price": null,
- "items": [],
"content": {
"family": "Open Sans",
"alias": "Open Sans Bold",
@@ -26,13 +24,13 @@ Content-Type: application/json
"woff": "https://gd-filems.dancf.com/gaoding/editor/20240116-211715-jaeea.woff",
"ttf": "https://gd-filems.dancf.com/gaoding/editor/20240116-211715-kiige.ttf",
"lang": "en",
- "origin_file": {
+ "originFile": {
"size": 104120,
"url": "https://st0.dancf.com/csc/49/fonts/0/20200809-105059-cc06.ttf"
},
- "woff_size": 56092,
- "ttf_size": 92500,
- "meta_data": {
+ "woffSize": 56092,
+ "ttfSize": 92500,
+ "metaData": {
"ascent": 2189,
"descent": -600,
"emSize": 2048,
@@ -51,13 +49,11 @@ Content-Type: application/json
"xheight": 1118
}
},
- "content_id": null,
- "content_url": "https://gd-filems.dancf.com/xi19e5/xi19e5/0/32d51454-451e-4b80-a8b2-138fa5d185e750.json?auth_key=1763092800-10a7b6d1071b4787b7225660db3f71a1-0-8c6b2cbd6b9aae7a0943fd4190e16094",
"lang": "en",
"alias": "Open Sans Bold",
- "authorization_id": 26,
- "user_over_role": 0,
- "sale_type": 0,
+ "authorizationId": 26,
+ "userOverRole": 0,
+ "saleType": 0,
"createTime": 1602230400,
"updateTime": 1602230400
}
@@ -77,4 +73,4 @@ Content-Type: application/json
### 根据ID获取字体详情
GET http://localhost:19200/h5/font/1
-Accept: application/json
\ No newline at end of file
+Accept: application/json
diff --git a/ruoyi-site/ruoyi-h5/pom.xml b/ruoyi-site/ruoyi-h5/pom.xml
index a93f1264e..06871b8f4 100644
--- a/ruoyi-site/ruoyi-h5/pom.xml
+++ b/ruoyi-site/ruoyi-h5/pom.xml
@@ -83,12 +83,6 @@
org.apache.dubbo
dubbo-nacos-spring-boot-starter
-
-
-
- org.springframework.boot
- spring-boot-starter-data-mongodb
-
diff --git a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/FontController.java b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/FontController.java
index 1b5614414..2097d4ed7 100644
--- a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/FontController.java
+++ b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/FontController.java
@@ -2,7 +2,7 @@ package com.luban.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.luban.api.entity.Font;
-import com.luban.api.mongo.entity.FontContent;
+import com.luban.api.dto.FontDTO;
import com.luban.api.service.FontService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -24,8 +24,8 @@ public class FontController {
@Operation(summary = "批量上传字体")
@PostMapping("create")
- public Boolean create(@RequestBody List fontContents) {
- return fontService.batchSaveFonts(fontContents);
+ public Boolean create(@RequestBody List fontDTOS) {
+ return fontService.batchSaveFonts(fontDTOS);
}
@Operation(summary = "分页查询字体")
@@ -39,8 +39,8 @@ public class FontController {
@Operation(summary = "根据字体族名称列表查询字体")
@PostMapping("list")
- public List list(@RequestBody List fontFamilyNames) {
- List fontContents = fontService.listFontsByFamilyNames(fontFamilyNames);
+ public List list(@RequestBody List names) {
+ List fontContents = fontService.listFontsByNames(names);
if (fontContents == null) {
return new ArrayList<>();
}
@@ -49,7 +49,7 @@ public class FontController {
@Operation(summary = "根据ID获取字体详情")
@GetMapping("/{id}")
- public FontContent getFontById(@PathVariable Long id) {
+ public String getFontById(@PathVariable Long id) {
return fontService.getFontDetail(id);
}
-}
\ No newline at end of file
+}
diff --git a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/H5GroupController.java b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/H5GroupController.java
index b60abcd65..f343e0400 100644
--- a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/H5GroupController.java
+++ b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/H5GroupController.java
@@ -90,9 +90,6 @@ public class H5GroupController {
@Operation(summary = "创建H5分组")
@PostMapping
public boolean createH5Group(@RequestBody H5Group h5Group) {
- long currentTime = System.currentTimeMillis();
- h5Group.setCreateTime(currentTime);
- h5Group.setUpdateTime(currentTime);
return h5GroupService.save(h5Group);
}
@@ -107,7 +104,6 @@ public class H5GroupController {
@PutMapping("/{id}")
public boolean updateH5Group(@PathVariable Long id, @RequestBody H5Group h5Group) {
h5Group.setId(id);
- h5Group.setUpdateTime(System.currentTimeMillis());
return h5GroupService.updateById(h5Group);
}
diff --git a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/H5ProjectController.java b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/H5ProjectController.java
index 58b5c18e4..034a56c7e 100644
--- a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/H5ProjectController.java
+++ b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/H5ProjectController.java
@@ -3,7 +3,7 @@ package com.luban.api.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.luban.api.entity.H5Project;
-import com.luban.api.mongo.entity.H5ProjectContent;
+import com.luban.api.dto.H5ProjectContentDTO;
import com.luban.api.service.H5ProjectService;
import com.luban.api.vo.H5ProjectDetailVO;
import io.swagger.v3.oas.annotations.Operation;
@@ -72,16 +72,9 @@ public class H5ProjectController {
H5ProjectDetailVO detailVO = new H5ProjectDetailVO();
detailVO.setProject(h5Project);
- // 获取项目内容
- if (h5Project != null) {
- H5ProjectContent content = h5ProjectService.getProjectContent(h5Project.getId());
- detailVO.setContent(content);
- }
-
// 获取项目关联的分组ID列表
List groupIds = h5ProjectService.getProjectGroupIds(id);
detailVO.setGroupIds(groupIds);
-
return detailVO;
}
@@ -161,7 +154,7 @@ public class H5ProjectController {
public static class CreateH5ProjectRequest {
private String type;
private String title;
- private H5ProjectContent content;
+ private H5ProjectContentDTO content;
private Long contentUpdatedAt;
private String description;
private String previewUrl;
@@ -171,4 +164,4 @@ public class H5ProjectController {
private Integer status;
private List groupIds;
}
-}
\ No newline at end of file
+}
diff --git a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/mongo/entity/FontContent.java b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/dto/FontDTO.java
similarity index 69%
rename from ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/mongo/entity/FontContent.java
rename to ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/dto/FontDTO.java
index 40975966d..9f71f1bd7 100644
--- a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/mongo/entity/FontContent.java
+++ b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/dto/FontDTO.java
@@ -1,11 +1,10 @@
-package com.luban.api.mongo.entity;
+package com.luban.api.dto;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.luban.api.util.TimestampToLocalDateTimeDeserializer;
import lombok.Data;
-import org.springframework.data.annotation.Id;
-import org.springframework.data.mongodb.core.mapping.Document;
-import java.util.List;
-import java.util.Map;
+import java.time.LocalDateTime;
/**
* 字体内容实体类 (存储在MongoDB中)
@@ -13,17 +12,14 @@ import java.util.Map;
* @author your-name
*/
@Data
-@Document(collection = "h5_font_content")
-public class FontContent {
-
+public class FontDTO {
/**
- * 主键ID,与MySQL中Font的ID对应
+ * 主键ID
*/
- @Id
private Long id;
/**
- * 字体来源ID
+ * 字体来源
*/
private String sourceId;
@@ -33,69 +29,36 @@ public class FontContent {
private String name;
/**
- * 预览信息
+ * 预览(JSON格式)
*/
private Preview preview;
/**
- * 价格
- */
- private Object price;
-
- /**
- * 项目列表
- */
- private List