From 5e619f792461e0f92999a99cc6dd69fd16fe387d Mon Sep 17 00:00:00 2001 From: Github_lizhw <171332584@qq.com> Date: Sat, 21 Mar 2026 23:38:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E7=BA=BFh5=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/MybatisPlusAutoConfigTenant.java | 2 +- .../api/controller/H5ProjectController.java | 23 +++++++++++++++- .../luban/api/service/H5ProjectService.java | 4 +++ .../service/impl/H5ProjectServiceImpl.java | 27 ++++++++++++++++++- .../src/main/resources/application.yml | 2 +- 5 files changed, 54 insertions(+), 4 deletions(-) diff --git a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/config/MybatisPlusAutoConfigTenant.java b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/config/MybatisPlusAutoConfigTenant.java index e3e922344..dd50eff00 100644 --- a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/config/MybatisPlusAutoConfigTenant.java +++ b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/config/MybatisPlusAutoConfigTenant.java @@ -7,7 +7,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration -@ConditionalOnProperty(prefix = "tenant", value = "enabled", havingValue = "true") +@ConditionalOnProperty(prefix = "tenant", value = "enable", havingValue = "true") public class MybatisPlusAutoConfigTenant { @Bean 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 bfe6d3b86..7073e6e5b 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 @@ -139,9 +139,30 @@ public class H5ProjectController { } h5Project.setStatus(status); - return h5ProjectService.updateById(h5Project); + return h5ProjectService.updateStatus(id, status); } + /** + * 更新H5项目状态 + * + * @param id H5项目ID + * @return 是否更新成功 + */ + @Operation(summary = "更新H5项目状态") + @PostMapping("/updateContent") + public Boolean updateContent(@RequestParam Long id, @RequestBody H5ProjectContentDTO contentDTO) { + H5Project h5Project = h5ProjectService.getById(id); + if (h5Project == null) { + throw new ServiceException("项目不存在"); + } + Long currentUserId = LoginHelper.getUserId(); + if (!currentUserId.equals(h5Project.getCreatedBy())) { + throw new ServiceException("无权限操作此项目"); + } + return h5ProjectService.updateContent(id, contentDTO); + } + + /** * 删除H5项目 * diff --git a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/service/H5ProjectService.java b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/service/H5ProjectService.java index 3fa3a3b7d..eda4bd5e3 100644 --- a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/service/H5ProjectService.java +++ b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/service/H5ProjectService.java @@ -69,6 +69,10 @@ public interface H5ProjectService extends IService { */ List getProjectGroupIds(Long projectId); + boolean updateContent(Long projectId, H5ProjectContentDTO content); + + boolean updateStatus(Long projectId, Integer status); + /** * 获取项目内容 * diff --git a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/service/impl/H5ProjectServiceImpl.java b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/service/impl/H5ProjectServiceImpl.java index 8491f2f6d..43532bbe5 100644 --- a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/service/impl/H5ProjectServiceImpl.java +++ b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/service/impl/H5ProjectServiceImpl.java @@ -2,6 +2,7 @@ package com.luban.api.service.impl; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -12,6 +13,7 @@ import com.luban.api.entity.H5ProjectGroup; import com.luban.api.dto.H5ProjectContentDTO; import com.luban.api.dto.query.H5ProjectQueryDTO; import com.luban.api.service.H5ProjectService; +import com.luban.api.util.JSON; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -32,6 +34,9 @@ public class H5ProjectServiceImpl extends ServiceImpl i @Autowired private H5ProjectGroupDao h5ProjectGroupDao; + @Autowired + private JSON json; + @Override @Transactional(rollbackFor = Exception.class) public boolean saveH5ProjectWithContent(H5Project h5Project, H5ProjectContentDTO content, List groupIds) { @@ -82,6 +87,26 @@ public class H5ProjectServiceImpl extends ServiceImpl i return this.getById(id); } + @Override + public boolean updateContent(Long projectId, H5ProjectContentDTO content) { + if (projectId == null || content == null) { + return false; + } + return this.update(new LambdaUpdateWrapper() + .eq(H5Project::getId, projectId) + .set(H5Project::getContent, json.toJSON(content))); + } + + @Override + public boolean updateStatus(Long projectId, Integer status) { + if (projectId == null || status == null) { + return false; + } + return this.update(new LambdaUpdateWrapper() + .eq(H5Project::getId, projectId) + .set(H5Project::getStatus, status)); + } + @Override public String getProjectContent(Long projectId) { if (projectId != null) { @@ -136,4 +161,4 @@ public class H5ProjectServiceImpl extends ServiceImpl i // 执行分页查询 return baseMapper.selectH5ProjectPage(page, queryDTO); } -} +} \ No newline at end of file diff --git a/ruoyi-site/ruoyi-h5/src/main/resources/application.yml b/ruoyi-site/ruoyi-h5/src/main/resources/application.yml index 1ea81bebf..cddbfdda9 100644 --- a/ruoyi-site/ruoyi-h5/src/main/resources/application.yml +++ b/ruoyi-site/ruoyi-h5/src/main/resources/application.yml @@ -90,7 +90,7 @@ mybatis-plus: # 主键类型 # AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID # 如需改为自增 需要将数据库表全部设置为自增 - idType: ASSIGN_ID + idType: AUTO minioplus: # rustfs 部署地址 backend: http://localhost:9000