mitao
2025-03-13 86df207c37502cce1b2043e1c7c0486459eef1d6
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActActivityVO.java
New file
@@ -0,0 +1,345 @@
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<ComActActRegistVO> 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<ComActActPrizeVO> comActActPrizeVOList;
    @ApiModelProperty("活动评价集合")
    private List<ComActActEvaluateVO> 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<Long> 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<ActivitySignVO> activitySignVOList;
    @ApiModelProperty("活动参加志愿者人员集合")
    private List<ActivitySignVO> activityVolunteerList;
    @ApiModelProperty("活动参加党员人员集合")
    private List<ActivitySignVO> 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<ActivityInviteDTO> activityInviteList;
    @ApiModelProperty(value = "街道id", hidden = true)
    private Long streetId;
    @ApiModelProperty("清单信息")
    private ComActNeighborCircleDetailAppVO listDetail;
    @ApiModelProperty("奖励金汇币")
    private String jinhuiCoinAward;
    @ApiModelProperty("惩罚金汇币")
    private String jinhuiCoinPunishment;
}