Explorar el Código

营销活动相关功能修改

wanghao hace 2 meses
padre
commit
02012e9da7

+ 178 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/entity/vo/LocalLivingActivityTableVO.java

@@ -0,0 +1,178 @@
+package com.jzg.quotation.summary.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 本地生活活动规则
+ */
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class LocalLivingActivityTableVO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "ID")
+    private String id;
+
+    @Schema(description = "标题")
+    private String title;
+
+    @Schema(description = "说明")
+    private String instructions;
+
+    @Schema(description = "开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime startTime;
+
+    @Schema(description = "结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime endTime;
+
+    @Schema(description = "用户类型")
+    private String userType;
+
+    @Schema(description = "用户等级ID")
+    private String userLevelId;
+
+    @Schema(description = "产品类型")
+    private String productType;
+
+    @Schema(description = "产品ID")
+    private String productId;
+
+    @Schema(description = "产品名称")
+    private String productName;
+
+    @Schema(description = "奖品类型")
+    private String awardType;
+
+    @Schema(description = "转盘ID")
+    private String turntableId;
+
+    @Schema(description = "积分数量")
+    private Integer pointNumber;
+
+    @Schema(description = "优惠券ID")
+    private String couponId;
+
+    @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @Schema(description = "更新人")
+    private String updateBy;
+
+    @Schema(description = "更新时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    @Schema(description = "删除标识")
+    private Integer delFlag;
+
+    @Schema(description = "备注")
+    private String remark;
+
+    @Schema(description = "类型 6-报价 7-签到 8-出单 9-承保")
+    private String type;
+
+    @Schema(description = "背景图")
+    private String backImage;
+
+    @Schema(description = "商户ID")
+    private String merchantId;
+
+    @Schema(description = "是否商品")
+    private String isProduct;
+
+    @Schema(description = "幸运转盘")
+    private String luckyWheel;
+
+    @Schema(description = "用户参与ID")
+    private String userParticipateId;
+
+    @Schema(description = "项目类型")
+    private String projectType;
+
+    @Schema(description = "报价次数")
+    private String qutNum;
+
+    @Schema(description = "报价获得抽奖次数")
+    private String qutLotteryNum;
+
+    @Schema(description = "报价最大抽奖次数")
+    private String qutLotteryMax;
+
+    @Schema(description = "签到规则列表")
+    private List<SignRule> signRules;
+
+    @Schema(description = "出单规则列表")
+    private List<OrderRule> orderRules;
+
+    @Schema(description = "承保规则列表")
+    private List<UnderwritingRule> underwritingRules;
+
+    @Schema(description = "租户ID")
+    private String tenantId;
+
+    @Schema(description = "租户名称")
+    private String tenantName;
+
+    /**
+     * 签到规则
+     */
+    @Data
+    @JsonIgnoreProperties(ignoreUnknown = true)
+    public static class SignRule implements Serializable {
+
+        private static final long serialVersionUID = 1L;
+
+        @Schema(description = "签到天数")
+        private String signNum;
+
+        @Schema(description = "签到获得抽奖次数")
+        private String signLotteryNum;
+    }
+
+    /**
+     * 出单规则
+     */
+    @Data
+    @JsonIgnoreProperties(ignoreUnknown = true)
+    public static class OrderRule implements Serializable {
+
+        private static final long serialVersionUID = 1L;
+
+        @Schema(description = "出单数量")
+        private String ordNum;
+
+        @Schema(description = "出单获得抽奖次数")
+        private String ordLotteryNum;
+    }
+
+    /**
+     * 承保规则
+     */
+    @Data
+    @JsonIgnoreProperties(ignoreUnknown = true)
+    public static class UnderwritingRule implements Serializable {
+
+        private static final long serialVersionUID = 1L;
+
+        @Schema(description = "最小保费")
+        private BigDecimal uwMinPremium;
+
+        @Schema(description = "最大保费")
+        private BigDecimal uwMaxPremium;
+
+        @Schema(description = "承保获得抽奖次数")
+        private String uwLotteryNum;
+    }
+}

+ 100 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/entity/vo/LocalLivingLotteryActivityAwardVO.java

@@ -0,0 +1,100 @@
+package com.jzg.quotation.summary.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 本地生活抽奖活动奖品
+ */
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class LocalLivingLotteryActivityAwardVO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "奖品ID")
+    private String id;
+
+    @Schema(description = "排序ID")
+    private Integer keyId;
+
+    @Schema(description = "活动ID")
+    private String activityId;
+
+    @Schema(description = "奖品类型")
+    private Integer awardType;
+
+    @Schema(description = "优惠券ID")
+    private String couponId;
+
+    @Schema(description = "优惠券名称")
+    private String couponName;
+
+    @Schema(description = "奖品图标")
+    private String icon;
+
+    @Schema(description = "中奖概率")
+    private Integer winningProbability;
+
+    @Schema(description = "兑换类型")
+    private Integer redemptionType;
+
+    @Schema(description = "活动链接")
+    private String activityUrl;
+
+    @Schema(description = "活动描述")
+    private String activityDescribe;
+
+    @Schema(description = "奖品名称")
+    private String awardName;
+
+    @Schema(description = "积分数量")
+    private Integer pointNum;
+
+    @Schema(description = "红包金额")
+    private BigDecimal redAmount;
+
+    @Schema(description = "操作提示")
+    private String operationPrompt;
+
+    @Schema(description = "截止时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime deadline;
+
+    @Schema(description = "创建人")
+    private String createBy;
+
+    @Schema(description = "更新人")
+    private String updateBy;
+
+    @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @Schema(description = "更新时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    @Schema(description = "红包地址")
+    private String redAddress;
+
+    @Schema(description = "付费会员ID")
+    private String paidMemberId;
+
+    @Schema(description = "付费会员规则ID")
+    private String paidMemberRulesId;
+
+    @Schema(description = "付费会员规则开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime paidMemberRulesStartTime;
+
+    @Schema(description = "付费会员规则结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime paidMemberRulesEndTime;
+}

+ 100 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/entity/vo/LocalLivingLotteryActivityVO.java

@@ -0,0 +1,100 @@
+package com.jzg.quotation.summary.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 本地生活抽奖活动信息
+ */
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class LocalLivingLotteryActivityVO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "活动ID")
+    private String id;
+
+    @Schema(description = "活动名称")
+    private String activityName;
+
+    @Schema(description = "场景编码")
+    private Integer scene;
+
+    @Schema(description = "场景名称")
+    private String sceneName;
+
+    @Schema(description = "类型")
+    private Integer type;
+
+    @Schema(description = "活动开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate activityStartTime;
+
+    @Schema(description = "活动结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate activityEndTime;
+
+    @Schema(description = "参与规则")
+    private Integer participationRules;
+
+    @Schema(description = "活动背景图")
+    private String activityBackgroundImage;
+
+    @Schema(description = "海报背景图")
+    private String posterBackgroundImage;
+
+    @Schema(description = "活动链接")
+    private String activityUrl;
+
+    @Schema(description = "活动描述")
+    private String activityDescribe;
+
+    @Schema(description = "创建人")
+    private String createBy;
+
+    @Schema(description = "更新人")
+    private String updateBy;
+
+    @Schema(description = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @Schema(description = "更新时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    @Schema(description = "最大人数")
+    private Integer maxPeople;
+
+    @Schema(description = "最大抽奖次数")
+    private Integer maxLuckyDraws;
+
+    @Schema(description = "活动二维码")
+    private String activityQr;
+
+    @Schema(description = "奖品列表")
+    private List<LocalLivingLotteryActivityAwardVO> lotteryActivityAwards;
+
+    @Schema(description = "产品规则列表")
+    private List<Object> lotteryActivityRulesProducts;
+
+    @Schema(description = "本地活动规则列表")
+    private List<LocalLivingActivityTableVO> localActivityTables;
+
+    @Schema(description = "公益积分规则列表")
+    private List<Object> gyyPointTables;
+
+    @Schema(description = "一账通地址")
+    private String oneAccountHost;
+
+    @Schema(description = "参与次数")
+    private Integer participateNum;
+}