From b06162b2966eea4f092b3edf3032de843059af4b Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期四, 12 六月 2025 18:16:10 +0800 Subject: [PATCH] add: 评论开发 --- src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 50 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java b/src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java index 4fa277e..7c7b4e4 100644 --- a/src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java +++ b/src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java @@ -87,8 +87,18 @@ if(StringUtils.isNotBlank(dto.getCreateDateEndStr())){ dto.setCreateDateEnd(DateUtils.dateToLocalDateTime(dto.getCreateDateEndStr(),false)); } + + //todo 这里的用户ID可能为空,用户存在不登录的情况下访问,传null + try { + dto.setUserId(SecurityUtils.getUserId()); + } catch (Exception e) { + dto.setUserId(null); + } + List<FilmWorksVO> list = filmWorksMapper.queryPage(dto,page); page.setRecords(list); + + return page; } @@ -112,6 +122,40 @@ filmWorksMapper.updateById(filmWork); } + + @Override + public void changeTopState(Long id) { + FilmWorks filmWork = filmWorksMapper.selectById(id); + if (filmWork == null) { + throw new ValidationException("找不到id为" + id + "的公告"); + } + if (Constants.COMMON_PUBLISH_STATUS.unpublished.name().equals(filmWork.getStatus())) { + throw new ValidationException("未发布作品不能置顶,请先发布"); + } + + FilmWorks filmWorkTop = filmWorksMapper.getTopStickyWeight(); + if (!ObjectUtils.isEmpty(filmWorkTop)) { + filmWork.setStickyWeight(filmWorkTop.getStickyWeight() + 100); + } else { + filmWork.setStickyWeight(100); + } + filmWorksMapper.updateById(filmWork); + } + + + @Override + public void changeDownState(Long id) { + FilmWorks filmWork = filmWorksMapper.selectById(id); + if (filmWork == null) { + throw new ValidationException("找不到id为" + id + "的公告"); + } + if (Constants.COMMON_PUBLISH_STATUS.unpublished.name().equals(filmWork.getStatus())) { + throw new ValidationException("未发布作品无需清除权重"); + } + filmWork.setStickyWeight(0); + filmWorksMapper.updateById(filmWork); + } + @Override public void batchDelete(BatchDTO dto) { filmWorksMapper.deleteBatchIds(dto.getIds()); @@ -129,13 +173,14 @@ @Override public FilmWorksVO detail(Long id) { - FilmWorks filmWork = filmWorksMapper.selectById(id); - if(filmWork==null){ + // userId 可以是空,因为用户可以登录 + + String userId = SecurityUtils.getUserId(); + FilmWorksVO filmWorksVO = filmWorksMapper.selectInfoById(id,userId); + if(filmWorksVO==null){ return null; } - FilmWorksVO filmWorksVO = new FilmWorksVO(); - BeanUtils.copyProperties(filmWork,filmWorksVO); - CustomerDTO currentCustomer = customerMapper.getCurrentCustomer(filmWork.getCreateBy()); + CustomerDTO currentCustomer = customerMapper.getCurrentCustomer(filmWorksVO.getCreateBy()); filmWorksVO.setNickname(currentCustomer.getNickName()); filmWorksVO.setAvatar(currentCustomer.getCover()); return filmWorksVO; -- Gitblit v1.9.3