diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/NoticeDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/NoticeDTO.java index 1ef416538c..d45950bd44 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/NoticeDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/NoticeDTO.java @@ -78,6 +78,11 @@ public class NoticeDTO implements Serializable { */ private Date changeTime; + /** + * 通知过期时间(此时间需大于变更时间) + */ + private Date expirationTime; + /** * 删除标记 0:未删除,1:已删除 */ diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/form/AddNoticeFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/form/AddNoticeFormDTO.java index 2344e94898..ad95a99cd4 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/form/AddNoticeFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/form/AddNoticeFormDTO.java @@ -1,10 +1,14 @@ package com.epmet.resi.group.dto.notice.form; import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; import java.util.List; /** @@ -31,6 +35,13 @@ public class AddNoticeFormDTO { @NotBlank(message = "通知内容不能为空",groups = {AddNoticeFormDTO.AddUserShow.class}) @Length(max = 1000, message = "通知内容不能超过1000个字符",groups = {AddNoticeFormDTO.AddUserShow.class}) private String content; + /** + * 通知过期时间(此时间需大于变更时间) + */ + @NotNull(message = "过期时间不能为空",groups = AddNoticeFormDTO.AddUserShow.class) + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date expirationTime; /** * 图片附件集合 */ @@ -39,7 +50,6 @@ public class AddNoticeFormDTO { * 文件附件url集合 */ private List docList; - /** * token中用户Id */ diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/form/EditNoticeFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/form/EditNoticeFormDTO.java index 940077459f..c43f8d0e69 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/form/EditNoticeFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/notice/form/EditNoticeFormDTO.java @@ -1,10 +1,14 @@ package com.epmet.resi.group.dto.notice.form; import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; import java.util.List; /** @@ -31,6 +35,13 @@ public class EditNoticeFormDTO { @NotBlank(message = "通知内容不能为空",groups = {EditNoticeFormDTO.EditUserShow.class}) @Length(max = 1000, message = "通知内容不能超过1000个字符",groups = {EditNoticeFormDTO.EditUserShow.class}) private String content; + /** + * 通知过期时间(此时间需大于变更时间) + */ + @NotNull(message = "过期时间不能为空",groups = AddNoticeFormDTO.AddUserShow.class) + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date expirationTime; /** * 图片附件集合 */ diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/controller/NoticeController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/controller/NoticeController.java index ad2a0dd9dc..0736625518 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/controller/NoticeController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/controller/NoticeController.java @@ -18,6 +18,7 @@ package com.epmet.modules.notice.controller; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -30,6 +31,8 @@ import com.epmet.resi.group.dto.notice.result.NoticeDetailResultDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.Date; + /** * 小组通知表 @@ -59,6 +62,9 @@ public class NoticeController { @PostMapping(value = "add") public Result add(@LoginUser TokenDto tokenDto, @RequestBody AddNoticeFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, AddNoticeFormDTO.Add.class, AddNoticeFormDTO.AddUserShow.class); + if(formDTO.getExpirationTime().before(new Date())){ + throw new RenException("通知过期时间不能早于当前时间"); + } formDTO.setUserId(tokenDto.getUserId()); noticeService.add(formDTO); return new Result(); @@ -73,6 +79,9 @@ public class NoticeController { @PostMapping(value = "edit") public Result edit(@LoginUser TokenDto tokenDto, @RequestBody EditNoticeFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, EditNoticeFormDTO.Edit.class, EditNoticeFormDTO.EditUserShow.class); + if(formDTO.getExpirationTime().before(new Date())){ + throw new RenException("通知过期时间不能早于当前时间"); + } formDTO.setUserId(tokenDto.getUserId()); noticeService.edit(formDTO); return new Result(); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/entity/NoticeEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/entity/NoticeEntity.java index b12dce96ca..46173d1d3a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/entity/NoticeEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/entity/NoticeEntity.java @@ -78,4 +78,9 @@ public class NoticeEntity extends BaseEpmetEntity { */ private Date changeTime; + /** + * 通知过期时间(此时间需大于变更时间) + */ + private Date expirationTime; + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/impl/NoticeServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/impl/NoticeServiceImpl.java index 65a2ecf861..c7f03be409 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/impl/NoticeServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/notice/service/impl/NoticeServiceImpl.java @@ -180,6 +180,7 @@ public class NoticeServiceImpl extends BaseServiceImpl entity.setContent(formDTO.getContent()); entity.setIsChange("no"); entity.setChangeTime(new Date()); + entity.setExpirationTime(formDTO.getExpirationTime()); insert(entity); //5.保存附件数据 @@ -310,6 +311,7 @@ public class NoticeServiceImpl extends BaseServiceImpl entity.setContent(formDTO.getContent()); entity.setIsChange("yes"); entity.setChangeTime(new Date()); + entity.setExpirationTime(formDTO.getExpirationTime()); baseDao.updateById(entity); //5.通知附件表数据先删后增