cloudroam
10 天以前 6392e2a39c07d13066a115e294a87a8cce1cb11e
src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java
@@ -27,6 +27,9 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
@@ -59,11 +62,16 @@
        if (!roleIds.contains("8f9ef89f6b2d4d8e9ea1fc8d2f25ce69")) {
            throw new ValidationException("非编辑角色不能新增");
        }
        // 判断系统是否存在重复的名称+类型+年份,如果有就不保存
        FilmWorks filmWorksByName = filmWorksMapper.getFilmWorksByName(filmWorksDTO.getNameCn(), filmWorksDTO.getType(), filmWorksDTO.getReleaseYear());
        if (!ObjectUtils.isEmpty(filmWorksByName)) {
            throw new ValidationException("系统已存在名称为【" + filmWorksDTO.getNameCn() + "】,类型为【" + filmWorksDTO.getType() + "】,年份为【" + filmWorksDTO.getReleaseYear() + "】的影视作品");
        }
        //  转换
        FilmWorks filmWorks = new FilmWorks();
        BeanUtils.copyProperties(filmWorksDTO, filmWorks);
        filmWorks.create();
        filmWorks.setStatus(Constants.COMMON_PUBLISH_STATUS.pending_review.name());
        filmWorks.setStatus(Constants.COMMON_PUBLISH_STATUS.pending_create.name());
        filmWorksMapper.insert(filmWorks);
    }
@@ -142,6 +150,22 @@
    }
    @Override
    public Page<FilmWorksVO> getFilmWorksCollectList(FilmWorksQueryDTO dto, Page page) {
        dto.setUserId(SecurityUtils.getUserId());
        List<FilmWorksVO> list = filmWorksMapper.getFilmWorksCollectList(dto, page);
        page.setRecords(list);
        return page;
    }
    @Override
    public Page<FilmWorksVO> getFilmWorksLikeList(FilmWorksQueryDTO dto, Page page) {
        dto.setUserId(SecurityUtils.getUserId());
        List<FilmWorksVO> list = filmWorksMapper.getFilmWorksLikeList(dto, page);
        page.setRecords(list);
        return page;
    }
    @Override
    public List<FilmWorksVO> getFilmWorksAll() {
        return filmWorksMapper.getFilmWorksAll();
    }
@@ -176,6 +200,37 @@
            filmWorksMapper.updateById(filmWork);
        }else{
            throw new ValidationException("非审核通过或者发布状态,不能操作");
        }
    }
    @Override
    public void changeCreateStatus(Long id) {
        //获取当前人员角色,判断是不是审核角色
        List<String> roleIds = new ArrayList<>();
        List<Role> roleList = roleService.getUserRoleList(SecurityUtils.getUserId());
        for (Role role : roleList) {
            roleIds.add(role.getId());
        }
        if (!roleIds.contains("8f9ef89f6b2d4d8e9ea1fc8d2f25ce69")) {
            throw new ValidationException("非编辑角色不能操作");
        }
        FilmWorks filmWork = filmWorksMapper.selectById(id);
        if (filmWork == null) {
            throw new ValidationException("找不到id为" + id + "的作品");
        }
        if (Constants.COMMON_PUBLISH_STATUS.pending_create.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.create_cancel.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.rejected.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.create_failed.name().equals(filmWork.getStatus())) {
            if (Constants.COMMON_PUBLISH_STATUS.create_cancel.name().equals(filmWork.getStatus())) {
                filmWork.setStatus(Constants.COMMON_PUBLISH_STATUS.pending_create.name());
            } else if (Constants.COMMON_PUBLISH_STATUS.create_failed.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.rejected.name().equals(filmWork.getStatus()) ) {
                filmWork.setStatus(Constants.COMMON_PUBLISH_STATUS.pending_create.name());
            } else {
                filmWork.setStatus(Constants.COMMON_PUBLISH_STATUS.create_cancel.name());
                filmWork.setPublishDate(LocalDate.now());
            }
            filmWorksMapper.updateById(filmWork);
        }else{
            throw new ValidationException("当前状态,不能操作");
        }
    }
@@ -266,8 +321,11 @@
            return null;
        }
        CustomerDTO currentCustomer = customerMapper.getCurrentCustomer(filmWorksVO.getCreateBy());
        filmWorksVO.setNickname(currentCustomer.getNickName());
        filmWorksVO.setAvatar(currentCustomer.getCover());
        if(!ObjectUtils.isEmpty(currentCustomer)){
            filmWorksVO.setNickname(currentCustomer.getNickName());
            filmWorksVO.setAvatar(currentCustomer.getCover());
        }
        return filmWorksVO;
    }