diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/InitTemplateFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/InitTemplateFormDTO.java new file mode 100644 index 0000000000..d3b115d38e --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/InitTemplateFormDTO.java @@ -0,0 +1,22 @@ +package com.epmet.resi.group.dto.act.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 012、初始化活动总结模板 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/21 12:21 + */ +@Data +public class InitTemplateFormDTO implements Serializable { + private static final long serialVersionUID = 7608480584652986190L; + + public interface AddUserInternalGroup { + } + @NotBlank(message = "groupActId不能为空", groups = AddUserInternalGroup.class) + private String groupActId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/ActSummaryTemplateResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/ActSummaryTemplateResultDTO.java new file mode 100644 index 0000000000..dbfa28b178 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/result/ActSummaryTemplateResultDTO.java @@ -0,0 +1,29 @@ +package com.epmet.resi.group.dto.act.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * 012、初始化活动总结模板 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/21 12:24 + */ +@Data +public class ActSummaryTemplateResultDTO implements Serializable { + private String groupActId; + private String title; + private String allCategoryName; + private Date startTime; + private String address; + private Integer shouldAttend; + private Integer signedInNum; + private String signedInUsers; + private List textList; + private List imgList; + private Integer summaryFlag; + private List signedInUserIds; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/ActSummaryController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/ActSummaryController.java index c9a9568799..0504bac3d6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/ActSummaryController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/ActSummaryController.java @@ -17,8 +17,14 @@ package com.epmet.modules.act.controller; +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.form.InitTemplateFormDTO; +import com.epmet.resi.group.dto.act.result.ActSummaryTemplateResultDTO; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -32,9 +38,20 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("actsummary") public class ActSummaryController { - + @Autowired private ActSummaryService actSummaryService; - + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 012、初始化活动总结模板 + * @Date 2021/4/21 12:30 + **/ + @PostMapping("inittem") + public Result initTemplate(@RequestBody InitTemplateFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, InitTemplateFormDTO.class); + return new Result().ok(actSummaryService.initTemplate(formDTO)); + } } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/dao/ActSignInRecordDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/dao/ActSignInRecordDao.java index bbc4f5fd8d..7ad9df69a4 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/dao/ActSignInRecordDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/dao/ActSignInRecordDao.java @@ -58,4 +58,12 @@ public interface ActSignInRecordDao extends BaseDao { * @return com.epmet.modules.act.entity.ActSignInRecordEntity */ ActSignInRecordEntity queryActSignInRecord(@Param("groupActId") String groupActId, @Param("signUserId")String signUserId); + + /** + * 查询已签到人员id + * + * @param groupActId + * @return String + */ + List selectUserIds(String groupActId); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/ActSummaryService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/ActSummaryService.java index d3c987bed7..e2665a6a8a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/ActSummaryService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/ActSummaryService.java @@ -19,6 +19,8 @@ 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.form.InitTemplateFormDTO; +import com.epmet.resi.group.dto.act.result.ActSummaryTemplateResultDTO; /** * 活动总结 @@ -27,4 +29,12 @@ import com.epmet.modules.act.entity.ActSummaryEntity; * @since v1.0.0 2021-04-16 */ public interface ActSummaryService extends BaseService { + + /** + * 012、初始化活动总结模板 + * + * @param formDTO + * @return com.epmet.resi.group.dto.act.result.ActSummaryTemplateResultDTO + */ + ActSummaryTemplateResultDTO initTemplate(InitTemplateFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/ActSummaryServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/ActSummaryServiceImpl.java index 6cd4a741d8..ab3ee238d0 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/ActSummaryServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/ActSummaryServiceImpl.java @@ -18,18 +18,77 @@ package com.epmet.modules.act.service.impl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; +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.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.resi.group.dto.act.form.InitTemplateFormDTO; +import com.epmet.resi.group.dto.act.result.ActSummaryTemplateResultDTO; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** * 活动总结 * * @author generator generator@elink-cn.com * @since v1.0.0 2021-04-16 */ +@Slf4j @Service public class ActSummaryServiceImpl extends BaseServiceImpl implements ActSummaryService { + @Autowired + private GroupActInfoDao groupActInfoDao; + @Autowired + private GroupActContentDao groupActContentDao; + @Autowired + private ActSignInRecordDao actSignInRecordDao; + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + /** + * 012、初始化活动总结模板 + * + * @param formDTO + * @return com.epmet.resi.group.dto.act.result.ActSummaryTemplateResultDTO + */ + @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())); + } + ActSummaryTemplateResultDTO resultDTO= ConvertUtils.sourceToTarget(groupActInfoEntity,ActSummaryTemplateResultDTO.class); + resultDTO.setTextList(groupActContentDao.selectContentList(formDTO.getGroupActId(), GroupActConstant.TEXT)); + resultDTO.setImgList(groupActContentDao.selectContentList(formDTO.getGroupActId(),GroupActConstant.IMG)); + List signedInUserIds=actSignInRecordDao.selectUserIds(formDTO.getGroupActId()); + resultDTO.setSignedInUserIds(signedInUserIds); + if(CollectionUtils.isNotEmpty(signedInUserIds)){ + Result> result = epmetUserOpenFeignClient.queryUserBaseInfo(signedInUserIds); + if (!result.success()) { + throw new RenException("调用user服务,获取用户基础数据失败"); + } + result.getData().forEach(userBaseInfo->{ + resultDTO.setSignedInUsers(userBaseInfo.getSurname().concat(userBaseInfo.getName())); + }); + }else{ + resultDTO.setSignedInUserIds(new ArrayList<>()); + resultDTO.setSignedInUsers(StrConstant.EPMETY_STR); + } + return resultDTO; + } } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/act/ActSignInRecordDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/act/ActSignInRecordDao.xml index f542750348..ec3207549b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/act/ActSignInRecordDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/act/ActSignInRecordDao.xml @@ -37,4 +37,16 @@ AND acr.GROUP_ACT_ID = #{groupActId} AND acr.SIGN_USER_ID =#{signUserId} + + + \ No newline at end of file