Browse Source

话题语音相关接口

dev
zhaoqifeng 5 years ago
parent
commit
f8ce942fb4
  1. 2
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/DraftDetailResultDTO.java
  2. 4
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java
  3. 3
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftAttachmentDao.java
  4. 2
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftAttachmentService.java
  5. 2
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java
  6. 5
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftAttachmentServiceImpl.java
  7. 52
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java
  8. 18
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftAttachmentDao.xml

2
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/DraftDetailResultDTO.java

@ -44,6 +44,8 @@ public class DraftDetailResultDTO implements Serializable {
* 驳回理由
*/
private String reason;
private String status;
private String topicId;
/**
* 图片附件集合
*/

4
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java

@ -162,9 +162,9 @@ public class TopicDraftController {
* @return com.epmet.commons.tools.utils.Result
*/
@PostMapping("audit")
public Result audit(@RequestBody AuditDraftTopicFormDTO formDTO) {
public Result audit(@LoginUser TokenDto tokenDto, @RequestBody AuditDraftTopicFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
topicDraftService.audit(formDTO);
topicDraftService.audit(tokenDto, formDTO);
return new Result();
}

3
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftAttachmentDao.java

@ -19,6 +19,7 @@ package com.epmet.modules.topic.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.topic.entity.TopicDraftAttachmentEntity;
import com.epmet.resi.group.dto.topic.TopicDraftAttachmentDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -40,5 +41,5 @@ public interface TopicDraftAttachmentDao extends BaseDao<TopicDraftAttachmentEnt
* @param type
* @return java.util.List<java.lang.String>
*/
List<String> selectFileUrls(@Param("topicDraftId") String topicDraftId, @Param("type") String type);
List<TopicDraftAttachmentDTO> selectFileList(@Param("topicDraftId") String topicDraftId, @Param("type") String type);
}

2
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftAttachmentService.java

@ -101,5 +101,5 @@ public interface TopicDraftAttachmentService extends BaseService<TopicDraftAttac
* @param type
* @return java.util.List<java.lang.String>
*/
List<String> getFileList(String topicDraftId, String type);
List<TopicDraftAttachmentDTO> getFileList(String topicDraftId, String type);
}

2
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java

@ -144,7 +144,7 @@ public interface TopicDraftService extends BaseService<TopicDraftEntity> {
* @param formDTO
* @return void
*/
void audit(AuditDraftTopicFormDTO formDTO);
void audit(TokenDto tokenDto, AuditDraftTopicFormDTO formDTO);
/**
* @param formDTO

5
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftAttachmentServiceImpl.java

@ -36,6 +36,7 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 话题草稿附件表
@ -108,8 +109,8 @@ public class TopicDraftAttachmentServiceImpl extends BaseServiceImpl<TopicDraftA
* @date 2020/12/18 16:42
*/
@Override
public List<String> getFileList(String topicDraftId, String type) {
List<String> list = baseDao.selectFileUrls(topicDraftId, type);
public List<TopicDraftAttachmentDTO> getFileList(String topicDraftId, String type) {
List<TopicDraftAttachmentDTO> list = baseDao.selectFileList(topicDraftId, type);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
}

52
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java

@ -50,10 +50,7 @@ import com.epmet.modules.topic.dao.ResiTopicAttachmentDao;
import com.epmet.modules.topic.dao.ResiTopicDao;
import com.epmet.modules.topic.dao.ResiTopicOperationDao;
import com.epmet.modules.topic.dao.TopicDraftDao;
import com.epmet.modules.topic.entity.ResiTopicAttachmentEntity;
import com.epmet.modules.topic.entity.ResiTopicEntity;
import com.epmet.modules.topic.entity.ResiTopicOperationEntity;
import com.epmet.modules.topic.entity.TopicDraftEntity;
import com.epmet.modules.topic.entity.*;
import com.epmet.modules.topic.service.TopicDraftAttachmentService;
import com.epmet.modules.topic.service.TopicDraftOperationService;
import com.epmet.modules.topic.service.TopicDraftService;
@ -64,6 +61,7 @@ import com.epmet.resi.group.dto.group.ResiGroupInfoRedisDTO;
import com.epmet.resi.group.dto.group.ResiGroupStatisticalInfoRedisDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.TopicDraftAttachmentDTO;
import com.epmet.resi.group.dto.topic.TopicDraftDTO;
import com.epmet.resi.group.dto.topic.TopicDraftOperationDTO;
@ -437,12 +435,18 @@ public class TopicDraftServiceImpl extends BaseServiceImpl<TopicDraftDao, TopicD
result.setReleaseTime(new SimpleDateFormat(DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE).format(entity.getCreatedTime()));
result.setTopicContent(entity.getTopicContent());
result.setReleaseAddress(entity.getAddress());
if (TopicConstant.AUDITING.equals(entity.getDraftStatus()) || TopicConstant.REVIEW.equals(entity.getDraftStatus())) {
result.setStatus(TopicConstant.AUDITING);
} else if (TopicConstant.BLOCK.equals(entity.getDraftStatus()) || TopicConstant.REJECTED.equals(entity.getDraftStatus())) {
result.setStatus(TopicConstant.REJECTED);
}
//2.查询话题图片附件
List<String> imageUrls = topicDraftAttachmentService.getFileList(formDTO.getTopicDraftId(), TopicConstant.IMAGE);
List<String> imageUrls =
topicDraftAttachmentService.getFileList(formDTO.getTopicDraftId(), TopicConstant.IMAGE).stream().map(TopicDraftAttachmentDTO::getAttachmentUrl).collect(Collectors.toList());
result.setImageList(imageUrls);
//3.查询话题音频附件
List<String> voiceUrls = topicDraftAttachmentService.getFileList(formDTO.getTopicDraftId(), TopicConstant.VOICE);
List<String> voiceUrls = topicDraftAttachmentService.getFileList(formDTO.getTopicDraftId(), TopicConstant.VOICE).stream().map(TopicDraftAttachmentDTO::getAttachmentUrl).collect(Collectors.toList());
result.setVoiceList(voiceUrls);
//3.拿取用户信息
@ -481,8 +485,40 @@ public class TopicDraftServiceImpl extends BaseServiceImpl<TopicDraftDao, TopicD
* @date 2020/12/18 15:06
*/
@Override
public void audit(AuditDraftTopicFormDTO formDTO) {
public void audit(TokenDto tokenDto, AuditDraftTopicFormDTO formDTO) {
TopicDraftEntity entity = new TopicDraftEntity();
entity.setId(formDTO.getTopicDraftId());
entity.setDraftReason(formDTO.getReason());
entity.setDraftStatus(formDTO.getAuditType());
baseDao.updateById(entity);
if (TopicConstant.APPROVED.equals(formDTO.getAuditType())) {
TopicDraftEntity draft = baseDao.selectById(formDTO.getTopicDraftId());
//将草稿存入话题表
ResiTopicEntity resiTopic = ConvertUtils.sourceToTarget(entity, ResiTopicEntity.class);
resiTopic.setId(null);
resiTopic.setStatus(TopicConstant.PUBLISHMENT);
resiTopicDao.insert(resiTopic);
//将草稿附件存入附件表
List<TopicDraftAttachmentDTO> attachmentList = topicDraftAttachmentService.getFileList(formDTO.getTopicDraftId(), null);
List<ResiTopicAttachmentEntity> topicAttachments = ConvertUtils.sourceToTarget(attachmentList, ResiTopicAttachmentEntity.class);
topicAttachments.forEach(item -> {
item.setId(null);
});
resiTopicAttachmentDao.insertBatch(topicAttachments);
//将音频状态改为approved
List<TopicDraftAttachmentDTO> voiceList =
attachmentList.stream().filter(item -> TopicConstant.VOICE.equals(item.getAttachmentType()) && TopicConstant.REVIEW.equals(item.getStatus())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(voiceList)) {
voiceList.forEach(item -> item.setStatus(TopicConstant.APPROVED));
topicDraftAttachmentService.updateBatchById(ConvertUtils.sourceToTarget(voiceList, TopicDraftAttachmentEntity.class));
}
}
//记录操作记录
TopicDraftOperationDTO operationDTO = new TopicDraftOperationDTO();
operationDTO.setTopicDraftId(formDTO.getTopicDraftId());
operationDTO.setOperateType(formDTO.getAuditType());
operationDTO.setCreatedBy(tokenDto.getUserId());
topicDraftOperationService.save(operationDTO);
}
/**

18
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftAttachmentDao.xml

@ -4,11 +4,23 @@
<mapper namespace="com.epmet.modules.topic.dao.TopicDraftAttachmentDao">
<select id="selectFileUrls" resultType="java.lang.String">
SELECT ATTACHMENT_URL FROM topic_draft_attachment
<select id="selectFileList" resultType="com.epmet.resi.group.dto.topic.TopicDraftAttachmentDTO">
SELECT ID,
TOPIC_DRAFT_ID,
CUSTOMER_ID,
ATTACHMENT_NAME,
ATTACHMENT_FORMAT,
ATTACHMENT_TYPE,
ATTACHMENT_URL,
SORT,
STATUS,
DURATION
FROM topic_draft_attachment
WHERE DEL_FLAG = '0'
AND TOPIC_DRAFT_ID = #{topicDraftId}
AND ATTACHMENT_TYPE = #{type}
<if test="null != type and type != ''">
AND ATTACHMENT_TYPE = #{type}
</if>
ORDER BY SORT
</select>
</mapper>
Loading…
Cancel
Save