From fb1b493fc597290918b91e5cce2520ba6630bade Mon Sep 17 00:00:00 2001 From: xiao12feng8 <16507319+xiao12feng8@user.noreply.gitee.com> Date: Thu, 8 Jan 2026 15:46:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DWorksServiceImpl=EF=BC=9A?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BC=BA=E5=A4=B1=E7=9A=84updateWorksStatus?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 实现updateWorksStatus方法用于上架/下架作品 - 添加状态值验证(只能是0或1) - 添加作品存在性检查 - 添加日志记录 - 修复编译错误 --- .../service/impl/WorksServiceImpl.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Zhibo/zhibo-h/crmeb-service/src/main/java/com/zbkj/service/service/impl/WorksServiceImpl.java b/Zhibo/zhibo-h/crmeb-service/src/main/java/com/zbkj/service/service/impl/WorksServiceImpl.java index b93b0b5a..c0400239 100644 --- a/Zhibo/zhibo-h/crmeb-service/src/main/java/com/zbkj/service/service/impl/WorksServiceImpl.java +++ b/Zhibo/zhibo-h/crmeb-service/src/main/java/com/zbkj/service/service/impl/WorksServiceImpl.java @@ -299,6 +299,34 @@ public class WorksServiceImpl extends ServiceImpl implements Wo return true; } + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateWorksStatus(Long worksId, Integer status) { + // 验证状态值 + if (status != 0 && status != 1) { + throw new CrmebException("状态值无效,只能是0(下架)或1(上架)"); + } + + // 查询作品 + Works works = getById(worksId); + if (works == null || works.getIsDeleted() == 1) { + throw new CrmebException("作品不存在"); + } + + // 更新状态 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(Works::getId, worksId) + .set(Works::getStatus, status); + + boolean updated = update(updateWrapper); + if (!updated) { + throw new CrmebException("更新作品状态失败"); + } + + log.info("更新作品状态成功,作品ID:{},新状态:{}", worksId, status == 1 ? "上架" : "下架"); + return true; + } + @Override public WorksResponse getWorksDetail(Long worksId, Integer userId) { log.info("=== 获取作品详情 === worksId={}, userId={}", worksId, userId);