Browse Source

话题校验参数

master
yinzuomei 3 years ago
committed by zhaoqifeng
parent
commit
358fcf2814
  1. 28
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CreateYtTopicFormDTO.java
  2. 12
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/YtTopicDetailFormDTO.java
  3. 11
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/YtTopicController.java
  4. 4
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/YtTopicService.java
  5. 18
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/YtTopicServiceImpl.java

28
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CreateYtTopicFormDTO.java

@ -1,6 +1,8 @@
package com.epmet.resi.group.dto.topic.form; package com.epmet.resi.group.dto.topic.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.io.Serializable; import java.io.Serializable;
@ -13,12 +15,19 @@ import java.util.List;
@Data @Data
public class CreateYtTopicFormDTO implements Serializable { public class CreateYtTopicFormDTO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
@NotBlank(message = "customerId不能为空",groups =AddUserInternalGroup.class )
private String customerId; private String customerId;
@NotBlank(message ="网格不能为空",groups =AddUserShowGroup.class )
private String gridId; private String gridId;
@Length(max=3000,message ="话题内容最多输入3000字",groups =AddUserShowGroup.class )
private String topicContent; private String topicContent;
/** /**
@ -71,16 +80,21 @@ public class CreateYtTopicFormDTO implements Serializable {
* 图片附件 * 图片附件
*/ */
private List<String> imageList; private List<String> imageList;
/** // /**
* 文件附件 // * 文件附件
*/ // */
private List<FileDTO> docList; // private List<FileDTO> docList;
/** /**
* 语音附件 * 语音附件
*/ */
private List<FileDTO> voiceList; private List<FileDTO> voiceList;
// /**
// * 视频附件
// */
// private List<FileDTO> videoList;
/** /**
* 视频附件 * tokenDto.getUserId
*/ */
private List<FileDTO> videoList; @NotBlank(message = "userId不能为空",groups =AddUserInternalGroup.class )
private String userId;
} }

12
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/YtTopicDetailFormDTO.java

@ -1,6 +1,7 @@
package com.epmet.resi.group.dto.topic.form; package com.epmet.resi.group.dto.topic.form;
import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
@ -16,11 +17,20 @@ import java.io.Serializable;
public class YtTopicDetailFormDTO extends PageFormDTO implements Serializable { public class YtTopicDetailFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
/** /**
* 话题Id * 话题Id
* */ * */
@NotBlank(message = "话题Id不能为空") @NotBlank(message = "话题Id不能为空",groups = AddUserShowGroup.class)
private String topicId; private String topicId;
/**
* tokenDto.getUserId
*/
@NotBlank(message = "userId不能为空",groups = AddUserInternalGroup.class )
private String userId;
} }

11
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/YtTopicController.java

@ -48,8 +48,10 @@ public class YtTopicController {
@PostMapping("createTopic") @PostMapping("createTopic")
@NoRepeatSubmit @NoRepeatSubmit
public Result createTopic(@LoginUser TokenDto tokenDto, @RequestBody CreateYtTopicFormDTO formDTO) { public Result createTopic(@LoginUser TokenDto tokenDto, @RequestBody CreateYtTopicFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO); formDTO.setUserId(tokenDto.getUserId());
ytTopicService.createTopic(tokenDto, formDTO); formDTO.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(formDTO,CreateYtTopicFormDTO.AddUserShowGroup.class,CreateYtTopicFormDTO.AddUserInternalGroup.class);
ytTopicService.createTopic(formDTO);
return new Result(); return new Result();
} }
@ -64,8 +66,9 @@ public class YtTopicController {
*/ */
@PostMapping("topicDetail") @PostMapping("topicDetail")
public Result<YtTopicDetailResultDTO> getTopicDetail(@LoginUser TokenDto tokenDto, @RequestBody YtTopicDetailFormDTO topicDetailFormDTO) { public Result<YtTopicDetailResultDTO> getTopicDetail(@LoginUser TokenDto tokenDto, @RequestBody YtTopicDetailFormDTO topicDetailFormDTO) {
ValidatorUtils.validateEntity(topicDetailFormDTO); topicDetailFormDTO.setUserId(tokenDto.getUserId());
return new Result<YtTopicDetailResultDTO>().ok(ytTopicService.getTopicDetail(tokenDto, topicDetailFormDTO)); ValidatorUtils.validateEntity(topicDetailFormDTO,YtTopicDetailFormDTO.AddUserShowGroup.class,YtTopicDetailFormDTO.AddUserInternalGroup.class);
return new Result<YtTopicDetailResultDTO>().ok(ytTopicService.getTopicDetail(topicDetailFormDTO));
} }
/** /**

4
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/YtTopicService.java

@ -26,7 +26,7 @@ public interface YtTopicService extends BaseService<YtTopicEntity> {
* @Author zhaoqifeng * @Author zhaoqifeng
* @Date 2023/1/30 16:18 * @Date 2023/1/30 16:18
*/ */
void createTopic(TokenDto tokenDto, CreateYtTopicFormDTO formDTO); void createTopic(CreateYtTopicFormDTO formDTO);
/** /**
* 话题详情 * 话题详情
@ -37,7 +37,7 @@ public interface YtTopicService extends BaseService<YtTopicEntity> {
* @Author zhaoqifeng * @Author zhaoqifeng
* @Date 2023/1/30 16:39 * @Date 2023/1/30 16:39
*/ */
YtTopicDetailResultDTO getTopicDetail(TokenDto tokenDto, YtTopicDetailFormDTO formDTO); YtTopicDetailResultDTO getTopicDetail(YtTopicDetailFormDTO formDTO);
/** /**
* 话题列表 * 话题列表

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

@ -68,18 +68,12 @@ public class YtTopicServiceImpl extends BaseServiceImpl<YtTopicDao, YtTopicEntit
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void createTopic(TokenDto tokenDto, CreateYtTopicFormDTO formDTO) { public void createTopic(CreateYtTopicFormDTO formDTO) {
if(StringUtils.isBlank(formDTO.getTopicContent()) && CollectionUtils.isEmpty(formDTO.getVoiceList())) { if(StringUtils.isBlank(formDTO.getTopicContent()) && CollectionUtils.isEmpty(formDTO.getVoiceList())) {
//话题内容和语音不能同时为空 //话题内容和语音不能同时为空
log.error(ModuleConstant.TOPIC_CONTENT_AND_VOICE_IS_NULL); log.error(ModuleConstant.TOPIC_CONTENT_AND_VOICE_IS_NULL);
throw new EpmetException(ModuleConstant.TOPIC_CONTENT_AND_VOICE_IS_NULL); throw new EpmetException(ModuleConstant.TOPIC_CONTENT_AND_VOICE_IS_NULL);
} }
if(formDTO.getTopicContent().length() > TopicConstant.MAX_NUMBER_OF_CONTENT){
//内容超过最大限制
log.error(ModuleConstant.TOPIC_CONTENT_NUMBER_OF_WORDS_EXCEEDED);
throw new EpmetException(ModuleConstant.TOPIC_CONTENT_NUMBER_OF_WORDS_EXCEEDED);
}
//1.保存话题 //1.保存话题
YtTopicEntity topic = ConvertUtils.sourceToTarget(formDTO, YtTopicEntity.class); YtTopicEntity topic = ConvertUtils.sourceToTarget(formDTO, YtTopicEntity.class);
//如果只有语音,则话题内容为语音话题 //如果只有语音,则话题内容为语音话题
@ -91,12 +85,12 @@ public class YtTopicServiceImpl extends BaseServiceImpl<YtTopicDao, YtTopicEntit
String msg = "获取网格信息失败"; String msg = "获取网格信息失败";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), msg, msg); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), msg, msg);
} }
ResiUserInfoCache userInfo = CustomerResiUserRedis.getUserBaseInfo(tokenDto.getUserId()); ResiUserInfoCache userInfo = CustomerResiUserRedis.getUserBaseInfo(formDTO.getUserId());
if (null == userInfo) { if (null == userInfo) {
String msg = "获取用户信息失败"; String msg = "获取用户信息失败";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), msg, msg); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), msg, msg);
} }
topic.setCustomerId(tokenDto.getCustomerId()); topic.setCustomerId(formDTO.getCustomerId());
topic.setStatus(TopicConstant.PUBLISHMENT); topic.setStatus(TopicConstant.PUBLISHMENT);
topic.setPids(gridInfo.getPids()); topic.setPids(gridInfo.getPids());
topic.setUserName(userInfo.getRealName()); topic.setUserName(userInfo.getRealName());
@ -125,7 +119,7 @@ public class YtTopicServiceImpl extends BaseServiceImpl<YtTopicDao, YtTopicEntit
attachment.setCustomerId(formDTO.getCustomerId()); attachment.setCustomerId(formDTO.getCustomerId());
attachment.setAttachmentUrl(file.getUrl()); attachment.setAttachmentUrl(file.getUrl());
attachment.setTopicId(topic.getId()); attachment.setTopicId(topic.getId());
attachment.setCreatedBy(tokenDto.getUserId()); attachment.setCreatedBy(formDTO.getUserId());
attachment.setAttachmentFormat(file.getUrl().substring(file.getUrl().lastIndexOf(".") + NumConstant.ONE).toLowerCase()); attachment.setAttachmentFormat(file.getUrl().substring(file.getUrl().lastIndexOf(".") + NumConstant.ONE).toLowerCase());
attachment.setSort(sort++); attachment.setSort(sort++);
attachment.setAttachmentType(TopicConstant.VOICE); attachment.setAttachmentType(TopicConstant.VOICE);
@ -147,7 +141,7 @@ public class YtTopicServiceImpl extends BaseServiceImpl<YtTopicDao, YtTopicEntit
* @Date 2023/1/30 16:39 * @Date 2023/1/30 16:39
*/ */
@Override @Override
public YtTopicDetailResultDTO getTopicDetail(TokenDto tokenDto, YtTopicDetailFormDTO formDTO) { public YtTopicDetailResultDTO getTopicDetail(YtTopicDetailFormDTO formDTO) {
//1.查询话题信息 //1.查询话题信息
YtTopicEntity entity = baseDao.selectById(formDTO.getTopicId()); YtTopicEntity entity = baseDao.selectById(formDTO.getTopicId());
if(null == entity){ if(null == entity){
@ -211,7 +205,7 @@ public class YtTopicServiceImpl extends BaseServiceImpl<YtTopicDao, YtTopicEntit
result.setSupportCount(String.valueOf(voteMap.get(TopicConstant.SUPPORT))); result.setSupportCount(String.valueOf(voteMap.get(TopicConstant.SUPPORT)));
} }
} }
voteWrapper.eq(YtTopicVoteDetailEntity::getCreatedBy, tokenDto.getUserId()); voteWrapper.eq(YtTopicVoteDetailEntity::getCreatedBy, formDTO.getUserId());
voteList = ytTopicVoteDetailDao.selectList(voteWrapper); voteList = ytTopicVoteDetailDao.selectList(voteWrapper);
if (CollectionUtils.isNotEmpty(voteList)) { if (CollectionUtils.isNotEmpty(voteList)) {
result.setVoteStatus(voteList.get(NumConstant.ZERO).getAttitude()); result.setVoteStatus(voteList.get(NumConstant.ZERO).getAttitude());

Loading…
Cancel
Save