Browse Source

发布、提交总结修改img入参;总结详情接口测试

feature/evaluate
yinzuomei 5 years ago
parent
commit
9ad0191095
  1. 8
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/ActSummaryContentDTO.java
  2. 28
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActSummaryDetailFormDTO.java
  3. 42
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActSummaryFormDTO.java
  4. 3
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/PublishGroupActFormDTO.java
  5. 33
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/ActSummaryDetailResultDTO.java
  6. 50
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/ActSummaryTemplateResultDTO.java
  7. 35
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/ActSummaryController.java
  8. 14
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/dao/ActSummaryContentDao.java
  9. 3
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/dao/ActSummaryDao.java
  10. 5
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/entity/ActSummaryContentEntity.java
  11. 22
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/ActSummaryService.java
  12. 241
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/ActSummaryServiceImpl.java
  13. 13
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/GroupActInfoServiceImpl.java
  14. 15
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/act/ActSummaryContentDao.xml
  15. 10
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/act/ActSummaryDao.xml

8
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/ActSummaryContentDTO.java

@ -17,9 +17,10 @@
package com.epmet.resi.group.dto.act;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
@ -43,6 +44,11 @@ public class ActSummaryContentDTO implements Serializable {
*/
private String customerId;
/**
* act_summary.id
*/
private String actSummaryId;
/**
* group_act_info.id
*/

28
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActSummaryDetailFormDTO.java

@ -0,0 +1,28 @@
package com.epmet.resi.group.dto.act.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 014查看活动总结详情
*
* @author yinzuomei@elink-cn.com
* @date 2021/4/21 14:14
*/
@Data
public class ActSummaryDetailFormDTO implements Serializable {
private static final long serialVersionUID = 3937952227893070145L;
public interface AddUserInternalGroup {
}
@NotBlank(message = "groupActId不能为空", groups = AddUserInternalGroup.class)
private String groupActId;
/**
* 当前用户id
*/
@NotBlank(message = "tokenDto获取userId为空", groups = ActReadViewFormDTO.AddUserInternalGroup.class)
private String userId;
}

42
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActSummaryFormDTO.java

@ -0,0 +1,42 @@
package com.epmet.resi.group.dto.act.form;
import com.epmet.resi.group.dto.topic.form.FileDTO;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* 013提交活动总结
*
* @author yinzuomei@elink-cn.com
* @date 2021/4/21 12:58
*/
@Data
public class ActSummaryFormDTO implements Serializable {
private static final long serialVersionUID = 6068480003626532767L;
public interface AddUserInternalGroup {
}
@NotBlank(message = "groupActId不能为空", groups = AddUserInternalGroup.class)
private String groupActId;
/**
* 补充内容限制1000字
*/
private List<String> textList;
/**
* 补充图片列表
*/
private List<FileDTO> imgList;
/**
* 当前用户id
*/
@NotBlank(message = "tokenDto获取userId为空", groups = AddUserInternalGroup.class)
private String userId;
}

3
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/PublishGroupActFormDTO.java

@ -1,6 +1,7 @@
package com.epmet.resi.group.dto.act.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import com.epmet.resi.group.dto.topic.form.FileDTO;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
@ -98,7 +99,7 @@ public class PublishGroupActFormDTO implements Serializable {
/**
* 图片列表最多3张
*/
private List<String> imgList;
private List<FileDTO> imgList;
private String gridId;
}

33
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/ActSummaryDetailResultDTO.java

@ -0,0 +1,33 @@
package com.epmet.resi.group.dto.act.result;
import lombok.Data;
import java.util.List;
/**
* 014查看活动总结详情
*
* @author yinzuomei@elink-cn.com
* @date 2021/4/21 14:17
*/
@Data
public class ActSummaryDetailResultDTO extends ActSummaryTemplateResultDTO{
private static final long serialVersionUID = -6918035750154831223L;
/**
* 活动总结id
*/
private String actSummaryId;
/**
* 补充内容列表
*/
private List<String> extraTextList;
/**
* 补充图片列表
*/
private List<String> extraImgList;
}

50
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/ActSummaryTemplateResultDTO.java

@ -1,5 +1,6 @@
package com.epmet.resi.group.dto.act.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
@ -14,16 +15,65 @@ import java.util.List;
*/
@Data
public class ActSummaryTemplateResultDTO implements Serializable {
/**
* 小组活动id
*/
private String groupActId;
/**
* 活动标题
*/
private String title;
/**
* 标签名称 支部建设-三会一课
*/
private String allCategoryName;
/**
* 活动时间yyyy-MM-dd HH:mm
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date startTime;
/**
* 活动地点
*/
private String address;
/**
* 应参加人数
*/
private Integer shouldAttend;
/**
* 已签到人数
*/
private Integer signedInNum;
/**
* 签到人员名单分隔开
*/
private String signedInUsers;
/**
* 活动内容
*/
private List<String> textList;
/**
* 活动图片
*/
private List<String> imgList;
/**
* 是否填写总结1已填写0未填写
*/
private Integer summaryFlag;
/**
* 签到用户id
*/
private List<String> signedInUserIds;
}

35
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/ActSummaryController.java

@ -17,10 +17,16 @@
package com.epmet.modules.act.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.modules.act.service.ActSummaryService;
import com.epmet.resi.group.dto.act.GroupActIdDTO;
import com.epmet.resi.group.dto.act.form.ActSummaryDetailFormDTO;
import com.epmet.resi.group.dto.act.form.ActSummaryFormDTO;
import com.epmet.resi.group.dto.act.form.InitTemplateFormDTO;
import com.epmet.resi.group.dto.act.result.ActSummaryDetailResultDTO;
import com.epmet.resi.group.dto.act.result.ActSummaryTemplateResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@ -54,4 +60,33 @@ public class ActSummaryController {
ValidatorUtils.validateEntity(formDTO, InitTemplateFormDTO.AddUserInternalGroup.class);
return new Result<ActSummaryTemplateResultDTO>().ok(actSummaryService.initTemplate(formDTO));
}
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.resi.group.dto.act.GroupActIdDTO>
* @author yinzuomei
* @description 013提交活动总结
* @Date 2021/4/21 13:06
**/
@PostMapping("submit")
public Result<GroupActIdDTO> submitActSummary(@LoginUser TokenDto tokenDto, @RequestBody ActSummaryFormDTO formDTO) {
formDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(formDTO, ActSummaryFormDTO.AddUserInternalGroup.class);
return new Result<GroupActIdDTO>().ok(actSummaryService.submitActSummary(formDTO));
}
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.resi.group.dto.act.result.ActSummaryDetailResultDTO>
* @author yinzuomei
* @description 014查看活动总结详情
* @Date 2021/4/21 14:20
**/
@PostMapping("detail")
public Result<ActSummaryDetailResultDTO> queryActSummaryDetail(@LoginUser TokenDto tokenDto,@RequestBody ActSummaryDetailFormDTO formDTO) {
formDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(formDTO, ActSummaryFormDTO.AddUserInternalGroup.class);
return new Result<ActSummaryDetailResultDTO>().ok(actSummaryService.queryActSummaryDetail(formDTO));
}
}

14
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/dao/ActSummaryContentDao.java

@ -20,6 +20,9 @@ package com.epmet.modules.act.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.act.entity.ActSummaryContentEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 活动总结内容
@ -30,4 +33,15 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ActSummaryContentDao extends BaseDao<ActSummaryContentEntity> {
/**
* 查询总结补充内容
*
* @param groupActId
* @param actSummaryId
* @param contentType
* @return
*/
List<String> selectContentList(@Param("actSummaryId")String actSummaryId,
@Param("groupActId")String groupActId,
@Param("contentType")String contentType);
}

3
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/dao/ActSummaryDao.java

@ -20,6 +20,7 @@ package com.epmet.modules.act.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.act.entity.ActSummaryEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 活动总结
@ -30,4 +31,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ActSummaryDao extends BaseDao<ActSummaryEntity> {
ActSummaryEntity selectUserSummary(@Param("groupActId")String groupActId, @Param("userId")String userId);
}

5
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/entity/ActSummaryContentEntity.java

@ -40,6 +40,11 @@ public class ActSummaryContentEntity extends BaseEpmetEntity {
*/
private String customerId;
/**
* act_summary.id
*/
private String actSummaryId;
/**
* group_act_info.id
*/

22
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/ActSummaryService.java

@ -19,7 +19,11 @@ package com.epmet.modules.act.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.modules.act.entity.ActSummaryEntity;
import com.epmet.resi.group.dto.act.GroupActIdDTO;
import com.epmet.resi.group.dto.act.form.ActSummaryDetailFormDTO;
import com.epmet.resi.group.dto.act.form.ActSummaryFormDTO;
import com.epmet.resi.group.dto.act.form.InitTemplateFormDTO;
import com.epmet.resi.group.dto.act.result.ActSummaryDetailResultDTO;
import com.epmet.resi.group.dto.act.result.ActSummaryTemplateResultDTO;
/**
@ -37,4 +41,22 @@ public interface ActSummaryService extends BaseService<ActSummaryEntity> {
* @return com.epmet.resi.group.dto.act.result.ActSummaryTemplateResultDTO
*/
ActSummaryTemplateResultDTO initTemplate(InitTemplateFormDTO formDTO);
/**
* 013提交活动总结
*
* @param formDTO
* @return com.epmet.resi.group.dto.act.GroupActIdDTO
*/
GroupActIdDTO submitActSummary(ActSummaryFormDTO formDTO);
/**
* 014查看活动总结详情
*
* @param formDTO
* @return com.epmet.resi.group.dto.act.result.ActSummaryDetailResultDTO
*/
ActSummaryDetailResultDTO queryActSummaryDetail(ActSummaryDetailFormDTO formDTO);
}

241
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/ActSummaryServiceImpl.java

@ -17,30 +17,48 @@
package com.epmet.modules.act.service.impl;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.scan.param.ImgScanParamDTO;
import com.epmet.commons.tools.scan.param.ImgTaskDTO;
import com.epmet.commons.tools.scan.param.TextScanParamDTO;
import com.epmet.commons.tools.scan.param.TextTaskDTO;
import com.epmet.commons.tools.scan.result.SyncScanResult;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.ScanContentUtils;
import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.modules.act.dao.ActSignInRecordDao;
import com.epmet.modules.act.dao.ActSummaryDao;
import com.epmet.modules.act.dao.GroupActContentDao;
import com.epmet.modules.act.dao.GroupActInfoDao;
import com.epmet.modules.act.dao.*;
import com.epmet.modules.act.entity.ActSummaryContentEntity;
import com.epmet.modules.act.entity.ActSummaryEntity;
import com.epmet.modules.act.entity.GroupActInfoEntity;
import com.epmet.modules.act.service.ActSummaryService;
import com.epmet.modules.constant.GroupActConstant;
import com.epmet.modules.member.service.ResiGroupMemberService;
import com.epmet.resi.group.dto.act.GroupActIdDTO;
import com.epmet.resi.group.dto.act.form.ActSummaryDetailFormDTO;
import com.epmet.resi.group.dto.act.form.ActSummaryFormDTO;
import com.epmet.resi.group.dto.act.form.InitTemplateFormDTO;
import com.epmet.resi.group.dto.act.result.ActSummaryDetailResultDTO;
import com.epmet.resi.group.dto.act.result.ActSummaryTemplateResultDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import com.epmet.resi.group.dto.topic.form.FileDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/**
* 活动总结
@ -51,6 +69,13 @@ import java.util.List;
@Slf4j
@Service
public class ActSummaryServiceImpl extends BaseServiceImpl<ActSummaryDao, ActSummaryEntity> implements ActSummaryService {
@Value("${openapi.scan.server.url}")
private String scanApiUrl;
@Value("${openapi.scan.method.textSyncScan}")
private String textSyncScanMethod;
@Value("${openapi.scan.method.imgSyncScan}")
private String imgSyncScanMethod;
@Autowired
private GroupActInfoDao groupActInfoDao;
@Autowired
@ -59,6 +84,11 @@ public class ActSummaryServiceImpl extends BaseServiceImpl<ActSummaryDao, ActSum
private ActSignInRecordDao actSignInRecordDao;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private ResiGroupMemberService resiGroupMemberService;
@Autowired
private ActSummaryContentDao actSummaryContentDao;
/**
* 012初始化活动总结模板
@ -68,27 +98,202 @@ public class ActSummaryServiceImpl extends BaseServiceImpl<ActSummaryDao, ActSum
*/
@Override
public ActSummaryTemplateResultDTO initTemplate(InitTemplateFormDTO formDTO) {
GroupActInfoEntity groupActInfoEntity=groupActInfoDao.selectById(formDTO.getGroupActId());
if(null==groupActInfoEntity){
throw new RenException(String.format("根据groupActId:%s,查询活动信息为null",formDTO.getGroupActId()));
GroupActInfoEntity groupActInfoEntity = groupActInfoDao.selectById(formDTO.getGroupActId());
if (null == groupActInfoEntity) {
throw new RenException(String.format("根据groupActId:%s,查询活动信息为null", formDTO.getGroupActId()));
}
ActSummaryTemplateResultDTO resultDTO= ConvertUtils.sourceToTarget(groupActInfoEntity,ActSummaryTemplateResultDTO.class);
ActSummaryTemplateResultDTO resultDTO = ConvertUtils.sourceToTarget(groupActInfoEntity, ActSummaryTemplateResultDTO.class);
resultDTO.setTextList(groupActContentDao.selectContentList(formDTO.getGroupActId(), GroupActConstant.TEXT));
resultDTO.setImgList(groupActContentDao.selectContentList(formDTO.getGroupActId(),GroupActConstant.IMG));
List<String> signedInUserIds=actSignInRecordDao.selectUserIds(formDTO.getGroupActId());
resultDTO.setImgList(groupActContentDao.selectContentList(formDTO.getGroupActId(), GroupActConstant.IMG));
//签到人员姓名集合
List<String> signedInUserIds = actSignInRecordDao.selectUserIds(formDTO.getGroupActId());
resultDTO.setSignedInUserIds(signedInUserIds);
if(CollectionUtils.isNotEmpty(signedInUserIds)){
Result<List<UserBaseInfoResultDTO>> result = epmetUserOpenFeignClient.queryUserBaseInfo(signedInUserIds);
if (!result.success()) {
List<String> signedInUsers = querySignedInUsers(signedInUserIds);
resultDTO.setSignedInUsers(StringUtils.strip(signedInUsers.toString(), "[]").replace(", ", StrConstant.COMMA_ZH));
resultDTO.setGroupActId(formDTO.getGroupActId());
return resultDTO;
}
/**
* 013提交活动总结
*
* @param formDTO
* @return com.epmet.resi.group.dto.act.GroupActIdDTO
*/
@Transactional(rollbackFor = Exception.class)
@Override
public GroupActIdDTO submitActSummary(ActSummaryFormDTO formDTO) {
GroupActIdDTO result = new GroupActIdDTO();
result.setGroupActId(formDTO.getGroupActId());
//已经提交,无需重复提交
GroupActInfoEntity groupActInfoEntity = groupActInfoDao.selectById(formDTO.getGroupActId());
if (null == groupActInfoEntity) {
throw new RenException(String.format("根据groupActId:%s,查询活动信息为null", formDTO.getGroupActId()));
}
if (groupActInfoEntity.getSummaryFlag() == NumConstant.ONE) {
log.warn("已填写活动总结,无需重复提交");
return result;
}
checkActSummaryFormDTO(formDTO, groupActInfoEntity.getGroupId());
//插入总结主表
ActSummaryEntity insertEntity = new ActSummaryEntity();
insertEntity.setCustomerId(groupActInfoEntity.getCustomerId());
insertEntity.setGroupActId(formDTO.getGroupActId());
insertEntity.setShouldAttend(groupActInfoEntity.getShouldAttend());
insertEntity.setUserId(formDTO.getUserId());
//签到人员姓名集合
List<String> signedInUserIds = actSignInRecordDao.selectUserIds(formDTO.getGroupActId());
List<String> signedInUsers = querySignedInUsers(signedInUserIds);
insertEntity.setSignedInUsers(StringUtils.strip(signedInUsers.toString(), "[]").replace(", ", StrConstant.COMMA_ZH));
insertEntity.setSignedInNum(signedInUsers.size());
baseDao.insert(insertEntity);
//插入补充内容表
int textNum = NumConstant.ONE;
for (String content : formDTO.getTextList()) {
ActSummaryContentEntity insert = new ActSummaryContentEntity();
insert.setCustomerId(groupActInfoEntity.getCustomerId());
insert.setContent(content);
insert.setContentType(GroupActConstant.TEXT);
insert.setGroupActId(groupActInfoEntity.getId());
insert.setSort(textNum);
insert.setActSummaryId(insertEntity.getId());
actSummaryContentDao.insert(insert);
textNum++;
}
int imgNum = NumConstant.ONE;
for (FileDTO fileDTO : formDTO.getImgList()) {
ActSummaryContentEntity insert = new ActSummaryContentEntity();
insert.setCustomerId(groupActInfoEntity.getCustomerId());
insert.setContent(fileDTO.getUrl());
insert.setContentType(GroupActConstant.IMG);
insert.setGroupActId(groupActInfoEntity.getId());
insert.setSort(imgNum);
insert.setActSummaryId(insertEntity.getId());
actSummaryContentDao.insert(insert);
imgNum++;
}
//更新总结标识
groupActInfoEntity.setSummaryFlag(NumConstant.ONE);
groupActInfoDao.updateById(groupActInfoEntity);
return result;
}
private List<String> querySignedInUsers(List<String> signedInUserIds) {
List<String> nameList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(signedInUserIds)) {
Result<List<UserBaseInfoResultDTO>> userResult = epmetUserOpenFeignClient.queryUserBaseInfo(signedInUserIds);
if (!userResult.success()) {
throw new RenException("调用user服务,获取用户基础数据失败");
}
result.getData().forEach(userBaseInfo->{
resultDTO.setSignedInUsers(userBaseInfo.getSurname().concat(userBaseInfo.getName()));
for (String signedInUserId : signedInUserIds) {
for (UserBaseInfoResultDTO userBaseInfo : userResult.getData()) {
if (signedInUserId.equals(userBaseInfo.getUserId())) {
nameList.add(userBaseInfo.getSurname().concat(userBaseInfo.getName()));
break;
}
}
}
}
return nameList;
}
private void checkActSummaryFormDTO(ActSummaryFormDTO formDTO, String groupId) {
//只有组长才可以填写活动总结
ResiGroupMemberDTO groupMemberDTO = resiGroupMemberService.getLeaderMember(groupId);
if (!formDTO.getUserId().equals(groupMemberDTO.getCustomerUserId())) {
throw new RenException(EpmetErrorCode.GROUP_LEADER_CAN_EDIT_GROUP_INFO.getCode(), EpmetErrorCode.GROUP_LEADER_CAN_EDIT_GROUP_INFO.getMsg());
}
if (!org.springframework.util.CollectionUtils.isEmpty(formDTO.getTextList())) {
//活动文本内容,目前只有一段,限制1000字
if (formDTO.getTextList().get(NumConstant.ZERO).length() > 1000) {
throw new RenException(EpmetErrorCode.GROUP_ACT_CONTENT_MAX.getCode(), EpmetErrorCode.GROUP_ACT_CONTENT_MAX.getMsg());
}
}
if (!org.springframework.util.CollectionUtils.isEmpty(formDTO.getImgList())) {
//最多选择3张图片
if (formDTO.getImgList().size() > NumConstant.THREE) {
throw new RenException(EpmetErrorCode.GROUP_ACT_IMG_MAX.getCode(), EpmetErrorCode.GROUP_ACT_IMG_MAX.getMsg());
}
}
//内容审核
//补充内容
if (!org.springframework.util.CollectionUtils.isEmpty(formDTO.getTextList())) {
TextScanParamDTO textScanParamDTO = new TextScanParamDTO();
formDTO.getTextList().forEach(content -> {
TextTaskDTO taskDTO = new TextTaskDTO();
taskDTO.setContent(content);
taskDTO.setDataId(UUID.randomUUID().toString().replace("-", ""));
textScanParamDTO.getTasks().add(taskDTO);
});
Result<SyncScanResult> textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO);
if (!textSyncScanResult.success()) {
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode());
} else {
if (!textSyncScanResult.getData().isAllPass()) {
log.warn(String.format("补充内容审核失败【%s】", JSON.toJSONString(formDTO.getTextList())));
throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode(), EpmetErrorCode.TEXT_SCAN_FAILED.getMsg());
}
}
}
//补充图片
if (!org.springframework.util.CollectionUtils.isEmpty(formDTO.getImgList())) {
ImgScanParamDTO imgScanParamDTO = new ImgScanParamDTO();
formDTO.getImgList().forEach(fileDTO -> {
ImgTaskDTO task = new ImgTaskDTO();
task.setDataId(UUID.randomUUID().toString().replace("-", ""));
task.setUrl(fileDTO.getUrl());
imgScanParamDTO.getTasks().add(task);
});
}else{
resultDTO.setSignedInUserIds(new ArrayList<>());
resultDTO.setSignedInUsers(StrConstant.EPMETY_STR);
Result<SyncScanResult> imgScanResult = ScanContentUtils.imgSyncScan(scanApiUrl.concat(imgSyncScanMethod), imgScanParamDTO);
if (!imgScanResult.success()) {
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode());
} else {
if (!imgScanResult.getData().isAllPass()) {
log.warn("补充图片审核失败");
throw new RenException(EpmetErrorCode.IMG_SCAN_FAILED.getCode(), EpmetErrorCode.IMG_SCAN_FAILED.getMsg());
}
}
}
}
/**
* 014查看活动总结详情
*
* @param formDTO
* @return com.epmet.resi.group.dto.act.result.ActSummaryDetailResultDTO
*/
@Override
public ActSummaryDetailResultDTO queryActSummaryDetail(ActSummaryDetailFormDTO formDTO) {
GroupActInfoEntity groupActInfoEntity = groupActInfoDao.selectById(formDTO.getGroupActId());
if (null == groupActInfoEntity) {
throw new RenException(String.format("根据groupActId:%s,查询活动信息为null", formDTO.getGroupActId()));
}
ActSummaryEntity actSummaryEntity = baseDao.selectUserSummary(formDTO.getGroupActId(),formDTO.getUserId());
if (null == actSummaryEntity || groupActInfoEntity.getSummaryFlag() == NumConstant.ZERO) {
throw new RenException(String.format("根据groupActId:%s,查询活动总结信息为null", formDTO.getGroupActId()));
}
ActSummaryDetailResultDTO resultDTO = ConvertUtils.sourceToTarget(groupActInfoEntity, ActSummaryDetailResultDTO.class);
resultDTO.setTextList(groupActContentDao.selectContentList(formDTO.getGroupActId(), GroupActConstant.TEXT));
resultDTO.setImgList(groupActContentDao.selectContentList(formDTO.getGroupActId(), GroupActConstant.IMG));
resultDTO.setActSummaryId(actSummaryEntity.getId());
resultDTO.setSignedInUsers(actSummaryEntity.getSignedInUsers());
//按签到顺序
resultDTO.setSignedInUserIds(actSignInRecordDao.selectUserIds(formDTO.getGroupActId()));
resultDTO.setGroupActId(formDTO.getGroupActId());
resultDTO.setExtraImgList(actSummaryContentDao.selectContentList(actSummaryEntity.getId(), formDTO.getGroupActId(), GroupActConstant.IMG));
resultDTO.setExtraTextList(actSummaryContentDao.selectContentList(actSummaryEntity.getId(), formDTO.getGroupActId(), GroupActConstant.TEXT));
return resultDTO;
}
}

13
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/GroupActInfoServiceImpl.java

@ -66,6 +66,7 @@ import com.epmet.resi.group.dto.group.ResiGroupDTO;
import com.epmet.resi.group.dto.invitation.InvitationRecordDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import com.epmet.resi.group.dto.notice.result.NoticeReadListResultDTO;
import com.epmet.resi.group.dto.topic.form.FileDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -308,7 +309,7 @@ public class GroupActInfoServiceImpl extends BaseServiceImpl<GroupActInfoDao, Gr
* @description
* @Date 2021/4/19 16:39
**/
private void scanActContent(String title, List<String> textList, List<String> imgList) {
private void scanActContent(String title, List<String> textList, List<FileDTO> imgList) {
//活动标题
if (StringUtils.isNotBlank(title)) {
TextScanParamDTO textScanParamDTO = new TextScanParamDTO();
@ -348,10 +349,10 @@ public class GroupActInfoServiceImpl extends BaseServiceImpl<GroupActInfoDao, Gr
//活动图片
if (!CollectionUtils.isEmpty(imgList)) {
ImgScanParamDTO imgScanParamDTO = new ImgScanParamDTO();
imgList.forEach(url -> {
imgList.forEach(fileDTO -> {
ImgTaskDTO task = new ImgTaskDTO();
task.setDataId(UUID.randomUUID().toString().replace("-", ""));
task.setUrl(url);
task.setUrl(fileDTO.getUrl());
imgScanParamDTO.getTasks().add(task);
});
Result<SyncScanResult> imgScanResult = ScanContentUtils.imgSyncScan(scanApiUrl.concat(imgSyncScanMethod), imgScanParamDTO);
@ -375,13 +376,13 @@ public class GroupActInfoServiceImpl extends BaseServiceImpl<GroupActInfoDao, Gr
return actOperationRecordEntity;
}
private List<GroupActContentEntity> constructImg(String groupActId, String customerId, List<String> imgList) {
private List<GroupActContentEntity> constructImg(String groupActId, String customerId, List<FileDTO> imgList) {
List<GroupActContentEntity> list = new ArrayList<>();
int imgSort = NumConstant.ONE;
for (String img : imgList) {
for (FileDTO img : imgList) {
GroupActContentEntity entity = new GroupActContentEntity();
entity.setGroupActId(groupActId);
entity.setContent(img);
entity.setContent(img.getUrl());
entity.setContentType(GroupActConstant.IMG);
entity.setCustomerId(customerId);
entity.setSort(imgSort);

15
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/act/ActSummaryContentDao.xml

@ -3,6 +3,17 @@
<mapper namespace="com.epmet.modules.act.dao.ActSummaryContentDao">
<select id="selectContentList" parameterType="map" resultType="java.lang.String">
SELECT
M.CONTENT
FROM
act_summary_content m
WHERE
m.DEL_FLAG = '0'
AND m.GROUP_ACT_ID = #{groupActId}
AND m.act_summary_id = #{actSummaryId}
AND m.CONTENT_TYPE = #{contentType}
ORDER BY
m.SORT ASC
</select>
</mapper>

10
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/act/ActSummaryDao.xml

@ -3,6 +3,14 @@
<mapper namespace="com.epmet.modules.act.dao.ActSummaryDao">
<select id="selectUserSummary" parameterType="map" resultType="com.epmet.modules.act.entity.ActSummaryEntity">
SELECT
*
FROM
act_summary a
where a.DEL_FLAG='0'
and a.GROUP_ACT_ID=#{groupActId}
and a.USER_ID=#{userId}
</select>
</mapper>
Loading…
Cancel
Save