diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/FileCommonDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/FileCommonDTO.java new file mode 100644 index 0000000000..494c636a95 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/FileCommonDTO.java @@ -0,0 +1,42 @@ +package com.epmet.commons.tools.dto.form; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/12/21 15:37 + */ +@NoArgsConstructor +@Data +public class FileCommonDTO implements Serializable { + + private static final long serialVersionUID = -5307959406648243353L; + /** + * 文件名 + */ + private String name; + /** + * url地址 + */ + private String url; + /** + * 文件类型(图片 - image、 视频 - video、 语音 - voice、 文档 - doc) + */ + private String type; + /** + * 后缀名 + */ + private String format; + /** + * 文件大小 kb + */ + private Integer size; + /** + * 语音或视频文件时长,单位秒 + */ + private Integer duration; +} diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/ActDetailGovResultDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/ActDetailGovResultDTO.java new file mode 100644 index 0000000000..c10c9cf2ec --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/ActDetailGovResultDTO.java @@ -0,0 +1,141 @@ +package com.epmet.dto.result; + +import com.epmet.commons.tools.dto.form.FileCommonDTO; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * 工作端小组内,活动详情返参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/29 9:30 + */ +@Data +public class ActDetailGovResultDTO implements Serializable { + private static final long serialVersionUID = 3982724635100043221L; + + private String groupActId; + + /** + * 小组id + */ + private String groupId; + + /** + * 活动标题; + */ + private String title; + + /** + * 活动时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date startTime; + + /** + * 活动所属类别编码 + */ + private String categoryCode; + + /** + * 上级类别编码 + */ + private String parentCode; + + private String menuCode; + + /** + * 活动类别名称;eg:支部建设-三会一课 + */ + private String allCategoryName; + + /** + * 活动地点 + */ + private String address; + + /** + * 应参加人数组长填入;此列也是应签到人数; + */ + private Integer shouldAttend; + + /** + * 活动状态:已发布:published;已取消:canceled;已变更:changed;已关闭:closed + */ + private String status; + + /** + * 签到开始时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date signInStartTime; + + /** + * 签到截止时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date signInEndTime; + + /** + * 是否填写总结?1:已填写;0:未填写 + */ + private Integer summaryFlag; + + /** + * 取消时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date canceledTime; + + /** + * 关闭时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date closedTime; + + /** + * 活动发布人用户id + */ + private String publishUserId; + + /** + * 内容列表 + */ + private List textList; + + /** + * 图片列表 + */ + private List imgArrayList; + + /** + * 图片列表,最多3张 + */ + private List imgList; + + //以下字段需要单独赋值 + /** + * 取消原因 + */ + private String canceledReason; + + /** + * 已签到人数(有人签到自动+1) + */ + private Integer signedInNum; + + /** + * 网格id + */ + private String gridId; + + /** + * 客户id + */ + private String customerId; + +} diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java index 4ee3b04ee8..08b7284e19 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java @@ -2,15 +2,15 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.RequirePermission; +import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.enums.RequirePermissionEnum; 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.dto.result.ActDetailGovResultDTO; +import com.epmet.resi.group.dto.act.form.ActDetailFormDTO; import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.*; -import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO; -import com.epmet.resi.group.dto.group.form.GroupAuditedFromDTO; import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import com.epmet.service.ResiGroupService; import org.springframework.beans.factory.annotation.Autowired; @@ -175,5 +175,19 @@ public class ResiGroupController { return groupOpenFeignClient.govAuditEdit(param); } - + /** + * @return com.epmet.commons.tools.utils.Result + * @param tokenDto + * @param actDetailFormDTO + * @author yinzuomei + * @description 工作端查看小组内活动详情 + * @Date 2021/4/29 9:38 + **/ + @PostMapping("actdetail") + public Result queryActDetailForWork(@LoginUser TokenDto tokenDto, @RequestBody ActDetailFormDTO actDetailFormDTO){ + actDetailFormDTO.setUserId(tokenDto.getUserId()); + actDetailFormDTO.setClient(AppClientConstant.APP_GOV); + ValidatorUtils.validateEntity(actDetailFormDTO,ActDetailFormDTO.AddUserInternalGroup.class); + return new Result().ok(resiGroupService.queryActDetailForWork(actDetailFormDTO)); + } } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java index 2fc38efdf0..18f125c969 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java @@ -6,6 +6,8 @@ import com.epmet.controller.TestFormDTO1; import com.epmet.controller.TestResultDTO1; import com.epmet.dto.result.GridProcessingCountResultDTO; import com.epmet.feign.fallback.ResiGroupFeignClientFallBack; +import com.epmet.resi.group.dto.act.form.ActDetailFormDTO; +import com.epmet.resi.group.dto.act.result.ActDetailResultDTO; import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO; import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO; import com.epmet.resi.group.dto.group.form.*; @@ -151,4 +153,14 @@ public interface ResiGroupFeignClient { @PostMapping(value = "/resi/group/group/test",consumes = MediaType.APPLICATION_JSON_VALUE) Result test(@RequestBody TestFormDTO1 testFormDTO1); + + /** + * @return com.epmet.commons.tools.utils.Result + * @param actDetailFormDTO + * @author yinzuomei + * @description 查询活动详情 + * @Date 2021/4/29 9:57 + **/ + @PostMapping(value = "/resi/group/act/actdetail",consumes = MediaType.APPLICATION_JSON_VALUE) + Result queryActDetail(@RequestBody ActDetailFormDTO actDetailFormDTO); } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java index 588142a4f0..01d7ff57ec 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java @@ -7,6 +7,8 @@ import com.epmet.controller.TestFormDTO1; import com.epmet.controller.TestResultDTO1; import com.epmet.dto.result.GridProcessingCountResultDTO; import com.epmet.feign.ResiGroupFeignClient; +import com.epmet.resi.group.dto.act.form.ActDetailFormDTO; +import com.epmet.resi.group.dto.act.result.ActDetailResultDTO; import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO; import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO; import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO; @@ -120,4 +122,16 @@ public class ResiGroupFeignClientFallBack implements ResiGroupFeignClient { public Result test(TestFormDTO1 testFormDTO1) { return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "test", testFormDTO1); } + + /** + * @param actDetailFormDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 查询活动详情 + * @Date 2021/4/29 9:57 + **/ + @Override + public Result queryActDetail(ActDetailFormDTO actDetailFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "queryActDetail", actDetailFormDTO); + } } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiGroupService.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiGroupService.java index 02dc4e458d..2609cb7b87 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiGroupService.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiGroupService.java @@ -1,10 +1,10 @@ package com.epmet.service; import com.epmet.commons.tools.utils.Result; -import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO; -import com.epmet.resi.group.dto.group.form.GroupAuditedFromDTO; -import com.epmet.resi.group.dto.group.result.*; +import com.epmet.dto.result.ActDetailGovResultDTO; +import com.epmet.resi.group.dto.act.form.ActDetailFormDTO; import com.epmet.resi.group.dto.group.form.*; +import com.epmet.resi.group.dto.group.result.*; import java.util.List; @@ -74,4 +74,5 @@ public interface ResiGroupService { **/ Result disagreeApplying(DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO); + ActDetailGovResultDTO queryActDetailForWork(ActDetailFormDTO actDetailFormDTO); } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiGroupServiceImpl.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiGroupServiceImpl.java index 28cb001f5e..7bae657b2b 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiGroupServiceImpl.java @@ -1,11 +1,14 @@ package com.epmet.service.impl; +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.ActDetailGovResultDTO; import com.epmet.feign.ResiGroupFeignClient; -import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO; -import com.epmet.resi.group.dto.group.form.GroupAuditedFromDTO; -import com.epmet.resi.group.dto.group.result.*; +import com.epmet.resi.group.dto.act.form.ActDetailFormDTO; +import com.epmet.resi.group.dto.act.result.ActDetailResultDTO; import com.epmet.resi.group.dto.group.form.*; +import com.epmet.resi.group.dto.group.result.*; import com.epmet.service.ResiGroupService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -57,5 +60,15 @@ public class ResiGroupServiceImpl implements ResiGroupService{ return resiGroupFeignClient.disagreeApplying(disAgreeApplyGroupFormDTO); } + @Override + public ActDetailGovResultDTO queryActDetailForWork(ActDetailFormDTO actDetailFormDTO) { + Result actDetailResult=resiGroupFeignClient.queryActDetail(actDetailFormDTO); + if(actDetailResult.success()&&null!=actDetailResult.getData()){ + ActDetailGovResultDTO resultDTO= ConvertUtils.sourceToTarget(actDetailResult.getData(),ActDetailGovResultDTO.class); + return resultDTO; + } + throw new RenException("调用resi-group服务,查询活动详情异常"); + } + } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActDetailFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActDetailFormDTO.java index 4403b96a48..2cf07cf690 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActDetailFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/act/form/ActDetailFormDTO.java @@ -24,4 +24,12 @@ public class ActDetailFormDTO implements Serializable { */ @NotBlank(message = "tokenDto获取userId为空", groups = AddUserInternalGroup.class) private String userId; + + + + /** + * 工作端:gov; 居民端:resi + * 这个是代码里赋值的 + */ + private String client; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/GroupActInfoController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/GroupActInfoController.java index 6492fe4008..3587ca35d0 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/GroupActInfoController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/controller/GroupActInfoController.java @@ -18,6 +18,7 @@ package com.epmet.modules.act.controller; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -74,6 +75,7 @@ public class GroupActInfoController { @PostMapping("actdetail") public Result queryActDetail(@LoginUser TokenDto tokenDto, @RequestBody ActDetailFormDTO actDetailFormDTO){ actDetailFormDTO.setUserId(tokenDto.getUserId()); + actDetailFormDTO.setClient(AppClientConstant.APP_RESI); ValidatorUtils.validateEntity(actDetailFormDTO,ActDetailFormDTO.AddUserInternalGroup.class); return new Result().ok(groupActInfoService.queryActDetail(actDetailFormDTO)); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/GroupActInfoServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/GroupActInfoServiceImpl.java index 2369c5de2c..fc29566767 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/GroupActInfoServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/act/service/impl/GroupActInfoServiceImpl.java @@ -484,12 +484,15 @@ public class GroupActInfoServiceImpl extends BaseServiceImpl NumConstant.ZERO ? false : true); - //如果活动关闭,则不更新已读记录 - //非关闭状态下,返回详情,并且已读状态 - ActReadRecordEntity actReadRecordEntity = actReadRecordDao.selectUserRec(formDTO.getGroupActId(), formDTO.getUserId()); - if (null != actReadRecordEntity) { - /*if (!GroupActConstant.CLOSED.equals(groupActInfoEntity.getStatus())) { - //插入已读记录,默认不属于应读人。 - ActReadRecordEntity insertEntity = new ActReadRecordEntity(); - insertEntity.setCustomerId(groupActInfoEntity.getCustomerId()); - insertEntity.setGroupActId(formDTO.getGroupActId()); - insertEntity.setReadFlag(GroupActConstant.READ); - insertEntity.setShouldBeRead(Constant.NO); - insertEntity.setUserId(formDTO.getUserId()); - insertEntity.setGridId(groupActInfoEntity.getGridId()); - insertEntity.setGroupId(groupActInfoEntity.getGroupId()); - insertEntity.setViewDetail(GroupActConstant.READ); - actReadRecordDao.insert(insertEntity); - }*/ - // } else { - if(!GroupActConstant.CLOSED.equals(groupActInfoEntity.getStatus())){ - if (GroupActConstant.UN_READ.equals(actReadRecordEntity.getReadFlag())) { - //未读->已读 - actReadRecordEntity.setReadFlag(GroupActConstant.READ); + + //居民端记录已读标志 + if(AppClientConstant.APP_RESI.equals(formDTO.getClient())){ + ActReadRecordEntity actReadRecordEntity = actReadRecordDao.selectUserRec(formDTO.getGroupActId(), formDTO.getUserId()); + if (null != actReadRecordEntity) { + if(!GroupActConstant.CLOSED.equals(groupActInfoEntity.getStatus())){ + //非关闭状态下,返回详情,并且已读状态 + if (GroupActConstant.UN_READ.equals(actReadRecordEntity.getReadFlag())) { + //未读->已读 + actReadRecordEntity.setReadFlag(GroupActConstant.READ); + actReadRecordEntity.setUpdatedTime(new Date()); + actReadRecordEntity.setViewDetail(GroupActConstant.READ); + actReadRecordDao.updateById(actReadRecordEntity); + } + }else{ + //如果活动关闭,则不更新已读、未读。只记录是否查看过详情。 actReadRecordEntity.setUpdatedTime(new Date()); actReadRecordEntity.setViewDetail(GroupActConstant.READ); actReadRecordDao.updateById(actReadRecordEntity); } - }else{ - actReadRecordEntity.setUpdatedTime(new Date()); - actReadRecordEntity.setViewDetail(GroupActConstant.READ); - actReadRecordDao.updateById(actReadRecordEntity); } } return resultDTO;