From b278dabcfc80c474f510e721f4811f852a4378bc Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 21 Jul 2020 17:48:35 +0800 Subject: [PATCH] =?UTF-8?q?heart-work:=E4=BF=9D=E5=AD=98=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E8=8D=89=E7=A8=BFapi=20=E8=A1=A5=E5=85=85=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/work/DraftActInfoFormDTO.java | 172 ++++++++++++++++++ ...ormDTO.java => PublishActInfoFormDTO.java} | 70 ++++--- .../work/ActPreviewContentResultDTO.java | 25 +++ .../dto/result/work/ActPreviewResultDTO.java | 76 ++++++++ .../work/LatestDraftActInfoResultDTO.java | 12 +- .../service/LatestActContentService.java | 10 + .../epmet/service/LatestActInfoService.java | 10 + .../impl/LatestActContentServiceImpl.java | 13 ++ .../impl/LatestActInfoServiceImpl.java | 13 ++ .../service/impl/WorkActDraftServiceImpl.java | 9 +- 10 files changed, 373 insertions(+), 37 deletions(-) create mode 100644 epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/DraftActInfoFormDTO.java rename epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/{SaveActInfoFormDTO.java => PublishActInfoFormDTO.java} (76%) create mode 100644 epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/ActPreviewContentResultDTO.java diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/DraftActInfoFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/DraftActInfoFormDTO.java new file mode 100644 index 0000000000..90255794a9 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/DraftActInfoFormDTO.java @@ -0,0 +1,172 @@ +package com.epmet.dto.form.work; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.Valid; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * 预览-保存活动草稿入参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/7/21 13:17 + */ +@Data +public class DraftActInfoFormDTO implements Serializable { + private static final long serialVersionUID = -4967079570884814526L; + + public interface AddUserInternalGroup { + } + + public interface AddDraftUserShowGroup extends CustomerClientShowGroup { + } + + @Valid + private List actContent; + + /** + * 活动草稿id,如果是编辑之前的活动草稿,此列是有值的 + */ + private String actDraftId; + + + /** + * 如果是重新发布活动,此列是有值的 + */ + private String actId; + + /** + * 客户id + */ + @NotBlank(message = "客户id不能为空", groups = {AddUserInternalGroup.class}) + private String customerId; + + /** + * 活动标题 + */ + @NotBlank(message = "活动标题不能为空", groups = {AddDraftUserShowGroup.class}) + private String title; + + /** + * 封面图 + */ + private String coverPic; + + /** + * 活动地点 + */ + private String actAddress; + + /** + * 活动地点-经度 + */ + private String actLongitude; + + /** + * 活动地点-纬度 + */ + private String actLatitude; + + /** + * 活动预计开始时间yyyy-MM-dd HH:mm + */ + private String actStartTime; + + /** + * 活动预计结束时间yyyy-MM-dd HH:mm + */ + private String actEndTime; + + /** + * 活动人数 + */ + @Min(0) + private Integer actQuota; + + /** + * 活动积分 + */ + @Min(0) + private Integer reward; + + /** + * 报名审核:true:只有志愿者才可以参加活动,false: 只要是居民就可以参加活动 + */ + private Boolean volunteerLimit; + + /** + * 报名审核: true: 需人工审核 false: 无需审核 + */ + private Boolean auditSwitch; + + /** + * 报名截止时间:yyyy-MM-dd HH:mm + */ + private String signUpEndTime; + + /** + * 报名条件 + */ + private String requirement; + + /** + * 签到开始时间:yyyy-MM-dd HH:mm + */ + private String signInStartTime; + + /** + * 签到结束时间: yyyy-MM-dd HH:mm + */ + private String signInEndTime; + + /** + * 签到地址 + */ + private String signInAddress; + + /** + * 签到地址-纬度 + */ + private String signInLatitude; + + /** + * 签到地址-经度 + */ + private String signInLongitude; + + /** + * 签到有效范围(米) + */ + @Min(0) + private Integer signInRadius; + + /** + * 主办方id + */ + private String sponsorId; + + /** + * 主办方类型:以网格名义:grid , 以机关名义: agency + */ + private String sponsorType; + + /** + * 主办方名称 + */ + private String sponsorName; + + /** + * 联系人 + */ + private String sponsorContacts; + + /** + * 联系电话 + */ + private String sponsorTel; + +} diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/SaveActInfoFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/PublishActInfoFormDTO.java similarity index 76% rename from epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/SaveActInfoFormDTO.java rename to epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/PublishActInfoFormDTO.java index 39df684d03..bafb5f2a0f 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/SaveActInfoFormDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/PublishActInfoFormDTO.java @@ -11,18 +11,23 @@ import java.io.Serializable; import java.util.List; /** - * 预览-保存活动草稿入参DTO + * 发布活动-入参 * * @author yinzuomei@elink-cn.com - * @date 2020/7/21 13:17 + * @date 2020/7/21 16:15 */ @Data -public class SaveActInfoFormDTO implements Serializable { - private static final long serialVersionUID = -4967079570884814526L; - public interface AddUserInternalGroup {} - public interface AddUserShowGroup extends CustomerClientShowGroup {} +public class PublishActInfoFormDTO implements Serializable { + private static final long serialVersionUID = -2066903357493362692L; + + public interface AddUserInternalGroup { + } + + public interface AddUserShowGroup extends CustomerClientShowGroup { + } + @Valid - private List actContent; + private List actContent; /** * 活动草稿id,如果是编辑之前的活动草稿,此列是有值的 @@ -35,46 +40,52 @@ public class SaveActInfoFormDTO implements Serializable { */ private String actId; + /** + * 客户id + */ + @NotBlank(message = "客户id不能为空", groups = {AddUserInternalGroup.class}) + private String customerId; + /** * 活动标题 */ - @NotBlank(message = "活动标题不能为空", groups = {AddUserShowGroup.class }) + @NotBlank(message = "活动标题不能为空", groups = {AddUserShowGroup.class}) private String title; /** * 封面图 */ - @NotBlank(message = "封面图不能为空", groups = {AddUserShowGroup.class }) + @NotBlank(message = "封面图不能为空", groups = {AddUserShowGroup.class}) private String coverPic; /** * 活动地点 */ - @NotBlank(message = "活动地点不能为空", groups = {AddUserShowGroup.class }) + @NotBlank(message = "活动地点不能为空", groups = {AddUserShowGroup.class}) private String actAddress; /** * 活动地点-经度 */ - @NotBlank(message = "活动地点经度不能为空", groups = {AddUserInternalGroup.class }) + @NotBlank(message = "活动地点经度不能为空", groups = {AddUserInternalGroup.class}) private String actLongitude; /** * 活动地点-纬度 */ - @NotBlank(message = "活动地点经度不能为空", groups = {AddUserInternalGroup.class }) + @NotBlank(message = "活动地点经度不能为空", groups = {AddUserInternalGroup.class}) private String actLatitude; /** * 活动预计开始时间yyyy-MM-dd HH:mm */ - @NotBlank(message = "活动预计开始时间不能为空", groups = {AddUserShowGroup.class }) + @NotBlank(message = "活动预计开始时间不能为空", groups = {AddUserShowGroup.class}) private String actStartTime; /** * 活动预计结束时间yyyy-MM-dd HH:mm */ - @NotBlank(message = "活动预计结束时间不能为空", groups = {AddUserShowGroup.class }) + @NotBlank(message = "活动预计结束时间不能为空", groups = {AddUserShowGroup.class}) private String actEndTime; /** @@ -92,55 +103,55 @@ public class SaveActInfoFormDTO implements Serializable { /** * 报名审核:true:只有志愿者才可以参加活动,false: 只要是居民就可以参加活动 */ - @NotNull(message = "报名身份不能为空",groups = {AddUserInternalGroup.class}) + @NotNull(message = "报名身份不能为空", groups = {AddUserInternalGroup.class}) private Boolean volunteerLimit; /** * 报名审核: true: 需人工审核 false: 无需审核 */ - @NotNull(message = "报名审核方式不能为空",groups = {AddUserInternalGroup.class}) + @NotNull(message = "报名审核方式不能为空", groups = {AddUserInternalGroup.class}) private Boolean auditSwitch; /** * 报名截止时间:yyyy-MM-dd HH:mm */ - @NotBlank(message = "报名截止时间不能为空", groups = {AddUserShowGroup.class }) + @NotBlank(message = "报名截止时间不能为空", groups = {AddUserShowGroup.class}) private String signUpEndTime; /** * 报名条件 */ - @NotBlank(message = "报名条件不能为空", groups = {AddUserShowGroup.class }) + @NotBlank(message = "报名条件不能为空", groups = {AddUserShowGroup.class}) private String requirement; /** * 签到开始时间:yyyy-MM-dd HH:mm */ - @NotBlank(message = "签到开始时间不能为空", groups = {AddUserShowGroup.class }) + @NotBlank(message = "签到开始时间不能为空", groups = {AddUserShowGroup.class}) private String signInStartTime; /** * 签到结束时间: yyyy-MM-dd HH:mm */ - @NotBlank(message = "签到结束时间不能为空", groups = {AddUserShowGroup.class }) + @NotBlank(message = "签到结束时间不能为空", groups = {AddUserShowGroup.class}) private String signInEndTime; /** * 签到地址 */ - @NotBlank(message = "签到地址不能为空", groups = {AddUserShowGroup.class }) + @NotBlank(message = "签到地址不能为空", groups = {AddUserShowGroup.class}) private String signInAddress; /** * 签到地址-纬度 */ - @NotBlank(message = "签到地址-纬度不能为空", groups = {AddUserInternalGroup.class }) + @NotBlank(message = "签到地址-纬度不能为空", groups = {AddUserInternalGroup.class}) private String signInLatitude; /** * 签到地址-经度 */ - @NotBlank(message = "签到地址-经度不能为空", groups = {AddUserInternalGroup.class }) + @NotBlank(message = "签到地址-经度不能为空", groups = {AddUserInternalGroup.class}) private String signInLongitude; /** @@ -152,31 +163,30 @@ public class SaveActInfoFormDTO implements Serializable { /** * 主办方id */ - @NotBlank(message = "主办方id不能为空", groups = {AddUserInternalGroup.class }) + @NotBlank(message = "主办方id不能为空", groups = {AddUserInternalGroup.class}) private String sponsorId; /** * 主办方类型:以网格名义:grid , 以机关名义: agency */ - @NotBlank(message = "主办方类型不能为空", groups = {AddUserInternalGroup.class }) + @NotBlank(message = "主办方类型不能为空", groups = {AddUserInternalGroup.class}) private String sponsorType; /** * 主办方名称 */ - @NotBlank(message = "主办方名称不能为空", groups = {AddUserShowGroup.class }) + @NotBlank(message = "主办方名称不能为空", groups = {AddUserShowGroup.class}) private String sponsorName; /** - * 联系人 + * 联系人 */ - @NotBlank(message = "联系人不能为空", groups = {AddUserShowGroup.class }) + @NotBlank(message = "联系人不能为空", groups = {AddUserShowGroup.class}) private String sponsorContacts; /** * 联系电话 */ - @NotBlank(message = "联系电话不能为空", groups = {AddUserShowGroup.class }) + @NotBlank(message = "联系电话不能为空", groups = {AddUserShowGroup.class}) private String sponsorTel; - } diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/ActPreviewContentResultDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/ActPreviewContentResultDTO.java new file mode 100644 index 0000000000..73609e486f --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/ActPreviewContentResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.result.work; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 活动预览详情页-活动内容详情 + * + * @author yinzuomei@elink-cn.com + * @date 2020/7/21 17:39 + */ +@Data +public class ActPreviewContentResultDTO implements Serializable { + private static final long serialVersionUID = -3351984717336783565L; + /** + * 内容 + */ + private String content; + + /** + * 内容类型 图片:img;文字:text + */ + private String contentType; +} diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/ActPreviewResultDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/ActPreviewResultDTO.java index 5b0aedee40..f5869bdb87 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/ActPreviewResultDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/ActPreviewResultDTO.java @@ -1,8 +1,11 @@ package com.epmet.dto.result.work; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; +import java.util.Date; +import java.util.List; /** * 活动预览-查看活动详情返参修改 @@ -13,4 +16,77 @@ import java.io.Serializable; @Data public class ActPreviewResultDTO implements Serializable { private static final long serialVersionUID = 8655407962470027973L; + + /** + * 活动草稿id + */ + private String actDraftId; + + /** + * 活动标题 + */ + private String title; + + /** + * 活动人数 + */ + private Integer actQuota; + + /** + * true:固定名额 false: 不限制名额 + */ + private Boolean actQuotaCategory; + + /** + * 活动积分 + */ + private Integer reward; + + /** + * 活动开始时间yyyy-MM-dd HH:mm + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date actStartTime; + + /** + * 活动结束时间yyyy-MM-dd HH:mm + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date actEndTime; + + /** + * 活动地点 + */ + private String actAddress; + + /** + * 报名截止时间:yyyy-MM-dd HH:mm + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date signUpEndTime; + + /** + * 报名条件 + */ + private String requirement; + + /** + * 主办方名称 + */ + private String sponsorName; + + /** + * 联系人 + */ + private String sponsorContacts; + + /** + * 联系电话 + */ + private String sponsorTel; + + /** + * 活动详情 + */ + private List actContent; } diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/LatestDraftActInfoResultDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/LatestDraftActInfoResultDTO.java index 4e3e933be4..89d5c1e4ec 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/LatestDraftActInfoResultDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/work/LatestDraftActInfoResultDTO.java @@ -39,13 +39,13 @@ public class LatestDraftActInfoResultDTO implements Serializable { /** * 报名开始时间 */ - @JsonFormat(pattern="yyyy-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") private Date signUpStartTime; /** * 报名截止时间 */ - @JsonFormat(pattern="yyyy-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") private Date signUpEndTime; /** @@ -56,13 +56,13 @@ public class LatestDraftActInfoResultDTO implements Serializable { /** * 活动预计开始时间 */ - @JsonFormat(pattern="yyyy-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") private Date actStartTime; /** * 活动预计结束时间 */ - @JsonFormat(pattern="yyyy-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") private Date actEndTime; /** @@ -83,13 +83,13 @@ public class LatestDraftActInfoResultDTO implements Serializable { /** * 签到开始时间 */ - @JsonFormat(pattern="yyyy-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") private Date signInStartTime; /** * 签到截止时间 */ - @JsonFormat(pattern="yyyy-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") private Date signInEndTime; /** diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/LatestActContentService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/LatestActContentService.java index c33aea0235..39a067055f 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/LatestActContentService.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/LatestActContentService.java @@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.LatestActContentDTO; import com.epmet.dto.result.work.ActDraftContentDTOResultDTO; +import com.epmet.dto.result.work.ActPreviewContentResultDTO; import com.epmet.entity.LatestActContentEntity; import java.util.List; @@ -121,4 +122,13 @@ public interface LatestActContentService extends BaseService selectActContentList(String actId); + + /** + * @return java.util.List + * @param actDraftId latest_act_info主键 + * @author yinzuomei + * @description 预览-查看活动详情 + * @Date 2020/7/21 17:47 + **/ + List previewActContent(String actDraftId); } \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/LatestActInfoService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/LatestActInfoService.java index 2de8222a44..0102ea76ee 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/LatestActInfoService.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/LatestActInfoService.java @@ -20,6 +20,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.LatestActInfoDTO; +import com.epmet.dto.result.work.ActPreviewResultDTO; import com.epmet.dto.result.work.LatestDraftActInfoResultDTO; import com.epmet.entity.LatestActInfoEntity; @@ -130,4 +131,13 @@ public interface LatestActInfoService extends BaseService { * @Date 2020/7/20 22:59 **/ LatestDraftActInfoResultDTO getLatestActDraft(String userId); + + /** + * @return com.epmet.dto.result.work.ActPreviewResultDTO + * @param actDraftId latest_act_info主键 + * @author yinzuomei + * @description 预览-查看活动详情 + * @Date 2020/7/21 17:45 + **/ + ActPreviewResultDTO previewActInfo(String actDraftId); } \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LatestActContentServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LatestActContentServiceImpl.java index 5b5ba78400..03c0e5621d 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LatestActContentServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LatestActContentServiceImpl.java @@ -26,6 +26,7 @@ import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.dao.LatestActContentDao; import com.epmet.dto.LatestActContentDTO; import com.epmet.dto.result.work.ActDraftContentDTOResultDTO; +import com.epmet.dto.result.work.ActPreviewContentResultDTO; import com.epmet.entity.LatestActContentEntity; import com.epmet.redis.LatestActContentRedis; import com.epmet.service.LatestActContentService; @@ -140,4 +141,16 @@ public class LatestActContentServiceImpl extends BaseServiceImpl + * @author yinzuomei + * @description 预览-查看活动详情 + * @Date 2020/7/21 17:47 + **/ + @Override + public List previewActContent(String actDraftId) { + return null; + } + } \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LatestActInfoServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LatestActInfoServiceImpl.java index c467ffa148..dba3dc1f94 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LatestActInfoServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/LatestActInfoServiceImpl.java @@ -26,6 +26,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.LatestActInfoDao; import com.epmet.dto.LatestActInfoDTO; +import com.epmet.dto.result.work.ActPreviewResultDTO; import com.epmet.dto.result.work.LatestDraftActInfoResultDTO; import com.epmet.entity.LatestActInfoEntity; import com.epmet.redis.LatestActInfoRedis; @@ -164,5 +165,17 @@ public class LatestActInfoServiceImpl extends BaseServiceImpl actContent = latestActContentService.previewActContent(formDTO.getActDraftId()); + if (null != actContent && actContent.size() > 0) { + actPreviewResultDTO.setActContent(actContent); + } + } + return actPreviewResultDTO; } private List constructLatestActContent(List actContent,String actDraftId) {