mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-09-18 09:35:29 +08:00
项目结构初始化
This commit is contained in:
parent
0cc70434fc
commit
22babfb24f
41
ruoyi-site/ruoyi-h5/doc/http/h5-groups.http
Normal file
41
ruoyi-site/ruoyi-h5/doc/http/h5-groups.http
Normal file
@ -0,0 +1,41 @@
|
||||
### 查询所有H5分组
|
||||
GET http://localhost:19200/h5/h5-groups
|
||||
Accept: application/json
|
||||
|
||||
### 分页查询H5分组
|
||||
GET http://localhost:19200/h5/h5-groups/page?pageNum=1&pageSize=10
|
||||
Accept: application/json
|
||||
|
||||
### 根据ID查询H5分组
|
||||
GET http://localhost:19200/h5/h5-groups/1
|
||||
Accept: application/json
|
||||
|
||||
### 根据父级ID查询子分组
|
||||
GET http://localhost:19200/h5/h5-groups/children/1
|
||||
Accept: application/json
|
||||
|
||||
### 创建H5分组
|
||||
POST http://localhost:19200/h5/h5-groups
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"name": "测试分组",
|
||||
"parentId": 0,
|
||||
"sort": 1,
|
||||
"status": 1
|
||||
}
|
||||
|
||||
### 更新H5分组
|
||||
PUT http://localhost:19200/h5/h5-groups/1
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"name": "更新后的测试分组",
|
||||
"parentId": 0,
|
||||
"sort": 2,
|
||||
"status": 1
|
||||
}
|
||||
|
||||
### 删除H5分组
|
||||
DELETE http://localhost:19200/h5/h5-groups/1
|
||||
Accept: application/json
|
||||
75
ruoyi-site/ruoyi-h5/doc/http/h5-projects.http
Normal file
75
ruoyi-site/ruoyi-h5/doc/http/h5-projects.http
Normal file
@ -0,0 +1,75 @@
|
||||
### 查询所有H5项目
|
||||
GET http://localhost:19200/h5/h5-projects
|
||||
Accept: application/json
|
||||
|
||||
### 分页查询H5项目
|
||||
GET http://localhost:19200/h5/h5-projects/page?pageNum=1&pageSize=10
|
||||
Accept: application/json
|
||||
|
||||
### 根据ID查询H5项目
|
||||
GET http://localhost:19200/h5/h5-projects/1
|
||||
Accept: application/json
|
||||
|
||||
### 创建H5项目
|
||||
POST http://localhost:19200/h5/h5-projects
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"type": "type1",
|
||||
"title": "测试项目",
|
||||
"content": {
|
||||
"version": "6.0.0",
|
||||
"type": "poster",
|
||||
"global": {
|
||||
"zoom": 0.582425068119891,
|
||||
"dpi": 72,
|
||||
"unit": "px"
|
||||
},
|
||||
"layouts": []
|
||||
},
|
||||
"contentUpdatedAt": 1620000000,
|
||||
"description": "这是一个测试项目",
|
||||
"previewUrl": "http://example.com/preview.jpg",
|
||||
"previewUrlWatermark": "http://example.com/preview-watermark.jpg",
|
||||
"previewWidth": 375,
|
||||
"previewHeight": 667,
|
||||
"status": 1,
|
||||
"groupIds": [1, 2]
|
||||
}
|
||||
|
||||
### 更新H5项目
|
||||
PUT http://localhost:19200/h5/h5-projects/1
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"type": "type1",
|
||||
"title": "更新后的测试项目",
|
||||
"content": {
|
||||
"version": "6.0.0",
|
||||
"type": "poster",
|
||||
"global": {
|
||||
"zoom": 0.582425068119891,
|
||||
"dpi": 72,
|
||||
"unit": "px"
|
||||
},
|
||||
"layouts": [
|
||||
{
|
||||
"title": "画板 1",
|
||||
"width": 750,
|
||||
"height": 1468
|
||||
}
|
||||
]
|
||||
},
|
||||
"contentUpdatedAt": 1620000001,
|
||||
"description": "这是更新后的测试项目",
|
||||
"previewUrl": "http://example.com/preview2.jpg",
|
||||
"previewUrlWatermark": "http://example.com/preview2-watermark.jpg",
|
||||
"previewWidth": 375,
|
||||
"previewHeight": 667,
|
||||
"status": 1,
|
||||
"groupIds": [1, 3]
|
||||
}
|
||||
|
||||
### 删除H5项目
|
||||
DELETE http://localhost:19200/h5/h5-projects/1
|
||||
Accept: application/json
|
||||
@ -4,6 +4,7 @@ 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.service.H5ProjectService;
|
||||
import com.luban.api.vo.H5ProjectContentVO;
|
||||
import com.luban.api.vo.H5ProjectDetailVO;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
@ -73,7 +74,7 @@ public class H5ProjectController {
|
||||
|
||||
// 获取项目内容
|
||||
if (h5Project != null) {
|
||||
String content = h5ProjectService.getProjectContent(h5Project.getId());
|
||||
H5ProjectContentVO content = h5ProjectService.getProjectContent(h5Project.getId());
|
||||
detailVO.setContent(content);
|
||||
}
|
||||
|
||||
@ -160,7 +161,7 @@ public class H5ProjectController {
|
||||
public static class CreateH5ProjectRequest {
|
||||
private String type;
|
||||
private String title;
|
||||
private String content;
|
||||
private H5ProjectContentVO content;
|
||||
private Long contentUpdatedAt;
|
||||
private String description;
|
||||
private String previewUrl;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.luban.api.mongo.entity;
|
||||
|
||||
import com.luban.api.vo.H5ProjectContentVO;
|
||||
import lombok.Data;
|
||||
import org.springframework.data.annotation.Id;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
@ -22,7 +23,7 @@ public class H5ProjectContent {
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
private String content;
|
||||
private H5ProjectContentVO content;
|
||||
|
||||
/**
|
||||
* 创建时间戳
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
package com.luban.api.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.luban.api.dto.H5ProjectContentDTO;
|
||||
import com.luban.api.entity.H5Project;
|
||||
import com.luban.api.vo.H5ProjectContentVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -22,7 +24,7 @@ public interface H5ProjectService extends IService<H5Project> {
|
||||
* @param groupIds 分组ID列表
|
||||
* @return 是否保存成功
|
||||
*/
|
||||
boolean saveH5ProjectWithContent(H5Project h5Project, String content, List<Long> groupIds);
|
||||
boolean saveH5ProjectWithContent(H5Project h5Project, H5ProjectContentVO content, List<Long> groupIds);
|
||||
|
||||
/**
|
||||
* 更新H5项目及其内容
|
||||
@ -32,7 +34,7 @@ public interface H5ProjectService extends IService<H5Project> {
|
||||
* @param groupIds 分组ID列表
|
||||
* @return 是否更新成功
|
||||
*/
|
||||
boolean updateH5ProjectWithContent(H5Project h5Project, String content, List<Long> groupIds);
|
||||
boolean updateH5ProjectWithContent(H5Project h5Project, H5ProjectContentVO content, List<Long> groupIds);
|
||||
|
||||
/**
|
||||
* 根据ID获取H5项目及其内容
|
||||
@ -64,5 +66,5 @@ public interface H5ProjectService extends IService<H5Project> {
|
||||
* @param contentId 内容ID
|
||||
* @return 项目内容
|
||||
*/
|
||||
String getProjectContent(Long contentId);
|
||||
H5ProjectContentVO getProjectContent(Long contentId);
|
||||
}
|
||||
@ -8,10 +8,10 @@ import com.luban.api.entity.H5ProjectGroup;
|
||||
import com.luban.api.mongo.dao.H5ProjectContentRepository;
|
||||
import com.luban.api.mongo.entity.H5ProjectContent;
|
||||
import com.luban.api.service.H5ProjectService;
|
||||
import com.luban.api.vo.H5ProjectContentVO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
@ -34,7 +34,7 @@ public class H5ProjectServiceImpl extends ServiceImpl<H5ProjectDao, H5Project> i
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean saveH5ProjectWithContent(H5Project h5Project, String content, List<Long> groupIds) {
|
||||
public boolean saveH5ProjectWithContent(H5Project h5Project, H5ProjectContentVO content, List<Long> groupIds) {
|
||||
// 设置创建和更新时间戳
|
||||
long currentTime = System.currentTimeMillis();
|
||||
h5Project.setCreateTime(currentTime);
|
||||
@ -43,7 +43,7 @@ public class H5ProjectServiceImpl extends ServiceImpl<H5ProjectDao, H5Project> i
|
||||
// 先保存H5Project基本信息到MySQL
|
||||
boolean saved = this.save(h5Project);
|
||||
|
||||
if (saved && StringUtils.hasText(content)) {
|
||||
if (saved && content != null) {
|
||||
// 保存H5ProjectContent到MongoDB
|
||||
H5ProjectContent h5ProjectContent = new H5ProjectContent();
|
||||
h5ProjectContent.setId(h5Project.getId());
|
||||
@ -64,7 +64,7 @@ public class H5ProjectServiceImpl extends ServiceImpl<H5ProjectDao, H5Project> i
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean updateH5ProjectWithContent(H5Project h5Project, String content, List<Long> groupIds) {
|
||||
public boolean updateH5ProjectWithContent(H5Project h5Project, H5ProjectContentVO content, List<Long> groupIds) {
|
||||
// 设置更新时间戳
|
||||
long currentTime = System.currentTimeMillis();
|
||||
h5Project.setUpdateTime(currentTime);
|
||||
@ -72,7 +72,7 @@ public class H5ProjectServiceImpl extends ServiceImpl<H5ProjectDao, H5Project> i
|
||||
// 更新H5Project基本信息到MySQL
|
||||
boolean updated = this.updateById(h5Project);
|
||||
|
||||
if (updated && StringUtils.hasText(content)) {
|
||||
if (updated && content != null) {
|
||||
// 更新或创建H5ProjectContent到MongoDB
|
||||
H5ProjectContent h5ProjectContent = h5ProjectContentRepository.findById(h5Project.getId()).orElse(new H5ProjectContent());
|
||||
h5ProjectContent.setId(h5Project.getId());
|
||||
@ -110,15 +110,10 @@ public class H5ProjectServiceImpl extends ServiceImpl<H5ProjectDao, H5Project> i
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProjectContent(Long contentId) {
|
||||
public H5ProjectContentVO getProjectContent(Long contentId) {
|
||||
if (contentId != null) {
|
||||
try {
|
||||
Long id = Long.valueOf(contentId);
|
||||
H5ProjectContent content = h5ProjectContentRepository.findById(id).orElse(null);
|
||||
return content != null ? content.getContent() : null;
|
||||
} catch (NumberFormatException e) {
|
||||
return null;
|
||||
}
|
||||
H5ProjectContent content = h5ProjectContentRepository.findById(contentId).orElse(null);
|
||||
return content != null ? content.getContent() : null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -27,7 +27,7 @@ public class H5ProjectDetailVO {
|
||||
* 项目内容
|
||||
*/
|
||||
@Schema(title = "项目内容")
|
||||
private String content;
|
||||
private H5ProjectContentVO content;
|
||||
|
||||
/**
|
||||
* 项目关联的分组ID列表
|
||||
|
||||
Loading…
Reference in New Issue
Block a user