动态管理功能补充

This commit is contained in:
pserimal
2023-06-29 15:46:23 +08:00
parent 43dc7202bc
commit 6a68fde497
9 changed files with 119 additions and 5 deletions

View File

@@ -4,6 +4,7 @@ import com.cool.store.dto.content.ContentAddDto;
import com.cool.store.dto.content.ContentQueryListDto;
import com.cool.store.dto.content.ContentUpdateDto;
import com.cool.store.entity.HyContentInfoDO;
import com.cool.store.exception.ApiException;
import com.cool.store.vo.HyContentInfoVO;
import java.util.List;
@@ -15,7 +16,7 @@ public interface ContentService {
* @param dto
* @return contentId 新增动态id
*/
String addNews(ContentAddDto dto);
String addNews(ContentAddDto dto) throws ApiException;
/**
* 删除动态
@@ -41,4 +42,9 @@ public interface ContentService {
*/
HyContentInfoDO queryContentInfo(String contentId);
/**
* 标题是否重复
*/
Boolean queryTitles(String title);
}

View File

@@ -1,13 +1,18 @@
package com.cool.store.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.RedisConstant;
import com.cool.store.dao.ContentDAO;
import com.cool.store.dto.content.ContentAddDto;
import com.cool.store.dto.content.ContentQueryListDto;
import com.cool.store.dto.content.ContentUpdateDto;
import com.cool.store.entity.HyContentInfoDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ApiException;
import com.cool.store.mapper.HyContentInfoMapper;
import com.cool.store.service.ContentService;
import com.cool.store.utils.RedisUtilPool;
import com.cool.store.vo.HyContentInfoVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -23,13 +28,21 @@ public class ContentServiceImpl implements ContentService {
@Autowired
private HyContentInfoMapper contentInfoMapper;
@Autowired
private RedisUtilPool redisUtilPool;
/**
*
* @param dto
* @return contentId 新增动态id
*/
@Override
public String addNews(ContentAddDto dto) {
public String addNews(ContentAddDto dto) throws ApiException {
//增加不允许重复标题的逻辑
Boolean isDuplicated = contentInfoMapper.whetherTitleDuplicated(dto.getContentTitle());
if (isDuplicated) {
throw new ApiException(ErrorCodeEnum.DATA_CONVERT_ERROR);
}
HyContentInfoDO hyContentInfoDO = new HyContentInfoDO();
BeanUtil.copyProperties(dto, hyContentInfoDO);
hyContentInfoDO.setUpdateUserId(dto.getCreateUserId());
@@ -62,7 +75,7 @@ public class ContentServiceImpl implements ContentService {
*/
@Override
public List<HyContentInfoVO> queryContentList(ContentQueryListDto dto) {
return contentInfoMapper.queryContentList(dto);
return contentInfoMapper.queryContentListForB(dto);
}
/**
@@ -75,4 +88,18 @@ public class ContentServiceImpl implements ContentService {
return contentInfoMapper.queryContentInfo(contentId);
}
/**
* 标题是否重复
*/
@Override
public Boolean queryTitles(String title) {
List<String> titles = (List<String>) JSONObject.parseObject(redisUtilPool.getString(RedisConstant.CONTENT_TITLES), List.class);
if (titles != null && titles.size() != 0) {
return titles.contains(title);
}
titles = contentInfoMapper.queryTitles();
redisUtilPool.setString(RedisConstant.CONTENT_TITLES, JSONObject.toJSONString(titles), 60);
return titles.contains(title);
}
}

View File

@@ -194,8 +194,9 @@ public class FlowServiceImpl implements FlowService {
//更新面试状态
interviewDAO.updateInterviewWorkflowStatus(request.getInterviewPlanId(), WorkflowStatusEnum.INTERVIEW_5);
hyPartnerInterviewDO.setUpdateTime(new Date());
//获取当前操作人
//注意将 hyPartnerInterviewDO 的 status 设置为 null否则又会修改回 4
hyPartnerInterviewDO.setStatus(null);
//获取当前操作人并添加面试总结/记录信息
LoginUserInfo operator = CurrentUserHolder.getUser();
hyPartnerInterviewDO.setRecorder(operator.getUserId());
hyPartnerInterviewDO.setRecordTime(new Date());