package com.panzhihua.common.model.vos.community; import java.math.BigDecimal; import java.util.Date; import java.util.List; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.annotation.JsonFormat; import com.panzhihua.common.model.dtos.community.ActivityInviteDTO; import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleDetailAppVO; import com.panzhihua.common.validated.AddGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 社区活动 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2020-12-07 14:01 **/ @Data @ApiModel("社区活动") public class ComActActivityVO { @ApiModelProperty("自增id") @JsonSerialize(using = ToStringSerializer.class) private Long id; @ApiModelProperty("活动名称") @NotBlank(groups = AddGroup.class, message = "活动名称不可为空") private String activityName; @ApiModelProperty("负责人userID") @JsonSerialize(using = ToStringSerializer.class) private Long sponsorId; @ApiModelProperty("负责人名字") private String sponsorName; @ApiModelProperty("活动地址") @NotBlank(groups = AddGroup.class, message = "活动地址不可为空") private String activityAddr; @ApiModelProperty("纬度") @NotBlank(groups = AddGroup.class, message = "纬度不可为空") private String lat; @ApiModelProperty("经度") @NotBlank(groups = AddGroup.class, message = "经度不可为空") private String lng; @ApiModelProperty("活动状态 1 待发布 2 未开始 3 报名中 4 进行中 5 已结束 6 已取消") private Integer status; @ApiModelProperty("发布时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date publishAt; @ApiModelProperty("活动结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @NotNull(groups = AddGroup.class, message = "活动结束时间不可为空") private Date endAt; @ApiModelProperty("活动开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @NotNull(groups = AddGroup.class, message = "活动开始时间不可为空") private Date beginAt; @ApiModelProperty("报名开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @NotNull(groups = AddGroup.class, message = "报名开始时间不可为空") private Date signUpBegin; @ApiModelProperty("报名结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @NotNull(groups = AddGroup.class, message = "报名结束时间不可为空") private Date signUpEnd; @ApiModelProperty("参加人群(多个以逗号隔开)") private String aattendPeople; @ApiModelProperty("志愿者人数下线") private Integer volunteerMin; @ApiModelProperty("志愿者人数上限(不需要则不填写)") private Integer volunteerMax; @ApiModelProperty("当前志愿者数量") private Integer volunteerNow; @ApiModelProperty("居民人数下线") private Integer participantMin; @ApiModelProperty("居民人数上限(不填写则默认不限人数)") private Integer participantMax; @ApiModelProperty("当前居民数量") private Integer participantNow; @ApiModelProperty("活动封面") @NotBlank(groups = AddGroup.class, message = "活动封面不可为空") private String cover; @ApiModelProperty("是否有奖品 1 有 0 无") private Integer hasPrize; @ApiModelProperty("是否二维码签到 1 是 0否") private Integer isQrCode; @ApiModelProperty("用户签到记录列表") private List activitySignInList; @ApiModelProperty("联系人姓名") private String contactName; @ApiModelProperty("联系人电话") private String contactPhone; @ApiModelProperty("是否签到 1 是 0否") private Integer isRegist; @ApiModelProperty("是否顶部 1 是 0否") private Integer isTop; @ApiModelProperty("奖品备注") private String prizeRemark; @ApiModelProperty("奖励说明") private String rewardDesc; @ApiModelProperty("活动内容") @NotBlank(groups = AddGroup.class, message = "活动内容不可为空") private String content; @ApiModelProperty("活动奖品集合") private List comActActPrizeVOList; @ApiModelProperty("活动评价集合") private List comActActEvaluateVOList; @ApiModelProperty("活动评价总数") private Long evaluateAmount; @ApiModelProperty("活动评分星级平均数") private BigDecimal evaluateLevel; @ApiModelProperty("当前用户对活动的评分") private Integer myRating; @ApiModelProperty("活动是否已默认好评") private Integer isDefaultPraise; @ApiModelProperty(value = "社区id", hidden = true) private Long communityId; @ApiModelProperty(value = "社区id集合", hidden = true) private List communityIds; @ApiModelProperty(value = "社区名称") private String communityName; @ApiModelProperty(value = "当前页数", example = "1") private Long pageNum; @ApiModelProperty(value = "每页记录数", example = "10") private Long pageSize; @ApiModelProperty(value = "取消原因") private String cancelReason; @ApiModelProperty(value = "是否已经报名 1 已报名 0 未报名") private Integer isSign = 0; @ApiModelProperty(value = "以什么身份报名(1.居民 2.党员 3.志愿者)") private Integer signIdentity; @ApiModelProperty(value = "当前登录者id", hidden = true) private Long userId; @ApiModelProperty("活动参加普通人员集合") private List activitySignVOList; @ApiModelProperty("活动参加志愿者人员集合") private List activityVolunteerList; @ApiModelProperty("活动参加党员人员集合") private List activityPbList; @ApiModelProperty("活动类型 1 社区活动 4项目活动 5服务活动") private Integer type; @ApiModelProperty("活动创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createAt; @ApiModelProperty(value = "是否是小程序访问 1 是 ", hidden = true) private Integer isApplets; @ApiModelProperty("活动积分") private Integer integral; @ApiModelProperty(value = "是不是请求进行中 1 是", hidden = true) private Integer isIng; @ApiModelProperty("用户实际报名时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date singDate; @ApiModelProperty("党员活动是否个人发布 1 是 0 否") private Integer isPerson; @ApiModelProperty(value = "查询筛选:0-本小区 1-全部") private Integer choice; @ApiModelProperty("签到范围,默认0无限制") @NotNull(groups = AddGroup.class, message = "签到范围不可为空") private Integer range; @ApiModelProperty("是否有积分奖励(1.是 2.否)") @NotNull(groups = AddGroup.class, message = "是否有积分奖励不可为空") private Integer haveIntegralReward; @ApiModelProperty("居民积分奖励方式(1.按次奖励 2.记时奖励)") private Integer participantRewardWay; @ApiModelProperty("居民参与签到/打卡奖励积分") private Integer participantRewardIntegral; @ApiModelProperty("志愿者积分奖励方式(1.按次奖励 2.记时奖励)") private Integer volunteerRewardWay; @ApiModelProperty("志愿者参与签到/打卡奖励积分") private Integer volunteerRewardIntegral; @ApiModelProperty("党员积分奖励方式(1.按次奖励 2.记时奖励)") private Integer pbRewardWay; @ApiModelProperty("党员参与签到/打卡奖励积分") private Integer pbRewardIntegral; @ApiModelProperty("参与次数上限,按次奖励需传入,无次数限制-1") private Integer limit; @ApiModelProperty("是否允许取消(1.允许 2.不允许)") @NotNull(groups = AddGroup.class, message = "是否允许取消不可为空") private Integer canCancel; @ApiModelProperty("取消活动扣除积分数目") private Integer cancelDeduct; @ApiModelProperty("用户已参与次数") private Integer times; @ApiModelProperty("已获取积分") private Integer award; @ApiModelProperty("二维码类型 1居民,志愿者 2党员") private Integer codeType; @ApiModelProperty("活动类型") private String activityType; private String areaCode; @ApiModelProperty("单次活动时长(小时)") private Integer duration; @ApiModelProperty("项目Id") @JsonSerialize(using = ToStringSerializer.class) private Long projectId; @ApiModelProperty("项目名称") private String projectName; @ApiModelProperty("社工数") private Integer socialCount; /** * 党员参与者人数下线 */ @ApiModelProperty("党员参与者人数下线") private Integer partyMemberMin; /** * 党员参与者人数上限 */ @ApiModelProperty("党员参与者人数上限") private Integer partyMemberMax; @ApiModelProperty("当前党员数量") private Integer partyMemberNow; /** * 签退范围,默认0无限制 */ @ApiModelProperty("签退范围,默认0无限制") private Integer signOutRange; @ApiModelProperty("1签到 2签退") private Integer signType; @ApiModelProperty("是否可以评价 1是 0 否") private Integer isComment; private Integer signCount; private Integer registerCount; private Integer isArticle; private String jumpArticleUrl; @ApiModelProperty("关联服务id") @JsonSerialize(using = ToStringSerializer.class) private Long relationId; @ApiModelProperty("关联手机") private String phone; @ApiModelProperty("单位id") @JsonSerialize(using = ToStringSerializer.class) private Long checkUnitId; @ApiModelProperty("活动话题id") @JsonSerialize(using = ToStringSerializer.class) private Long topicId; @ApiModelProperty("活动邀请人员") private List activityInviteList; @ApiModelProperty(value = "街道id", hidden = true) private Long streetId; @ApiModelProperty("清单信息") private ComActNeighborCircleDetailAppVO listDetail; @ApiModelProperty("奖励金汇币") private String jinhuiCoinAward; @ApiModelProperty("惩罚金汇币") private String jinhuiCoinPunishment; }