彩票助手后端1.0

This commit is contained in:
lihanqi
2025-08-01 19:09:57 +08:00
commit 93c8ace8e7
204 changed files with 18805 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
package com.xy.xyaicpzs.domain.dto.user;
import lombok.Data;
import java.io.Serializable;
/**
* 重置密码请求
*/
@Data
public class ResetPasswordRequest implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户手机号
*/
private String phone;
/**
* 短信验证码
*/
private String code;
/**
* 新密码
*/
private String newPassword;
/**
* 确认新密码
*/
private String confirmPassword;
}

View File

@@ -0,0 +1,70 @@
package com.xy.xyaicpzs.domain.dto.user;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 用户创建请求
*/
@Data
public class UserAddRequest implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户昵称
*/
private String userName;
/**
* 账号
*/
private String userAccount;
/**
* 电话
*/
private String phone;
/**
* 用户头像
*/
private String userAvatar;
/**
* 性别
*/
private Integer gender;
/**
* 用户角色user / admin
*/
private String userRole;
/**
* 密码
*/
private String userPassword;
/**
* 密码(兼容格式)
*/
private String password;
/**
* 是否会员0-非会员1-会员
*/
private Integer isVip;
/**
* 会员到期时间
*/
private Date vipExpire;
/**
* 状态0-正常1-封禁
*/
private Integer status;
}

View File

@@ -0,0 +1,18 @@
package com.xy.xyaicpzs.domain.dto.user;
import lombok.Data;
import java.io.Serializable;
/**
* 用户登录请求
*/
@Data
public class UserLoginRequest implements Serializable {
private static final long serialVersionUID = 3191241716373120793L;
private String userAccount;
private String userPassword;
}

View File

@@ -0,0 +1,22 @@
package com.xy.xyaicpzs.domain.dto.user;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
/**
* 用户手机号登录请求
*/
@Data
@Schema(description = "用户手机号登录请求")
public class UserPhoneLoginRequest implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(description = "手机号")
private String phone;
@Schema(description = "验证码")
private String code;
}

View File

@@ -0,0 +1,34 @@
package com.xy.xyaicpzs.domain.dto.user;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
/**
* 用户手机号注册请求
*/
@Data
@Schema(description = "用户手机号注册请求")
public class UserPhoneRegisterRequest implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(description = "用户账号")
private String userAccount;
@Schema(description = "用户名称")
private String userName;
@Schema(description = "用户密码")
private String userPassword;
@Schema(description = "确认密码")
private String checkPassword;
@Schema(description = "手机号")
private String phone;
@Schema(description = "验证码")
private String code;
}

View File

@@ -0,0 +1,57 @@
package com.xy.xyaicpzs.domain.dto.user;
import com.xy.xyaicpzs.common.PageRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* 用户查询请求
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class UserQueryRequest extends PageRequest implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
private Long id;
/**
* 用户昵称
*/
private String userName;
/**
* 账号
*/
private String userAccount;
/**
* 手机号
*/
private String phone;
/**
* 性别
*/
private Integer gender;
/**
* 用户角色user / admin
*/
private String userRole;
/**
* 是否会员0-非会员1-会员
*/
private Integer isVip;
/**
* 状态0-正常1-封禁
*/
private Integer status;
}

View File

@@ -0,0 +1,22 @@
package com.xy.xyaicpzs.domain.dto.user;
import lombok.Data;
import java.io.Serializable;
/**
* 用户注册请求
*/
@Data
public class UserRegisterRequest implements Serializable {
private static final long serialVersionUID = 3191241716373120793L;
private String userAccount;
private String userName;
private String userPassword;
private String checkPassword;
}

View File

@@ -0,0 +1,24 @@
package com.xy.xyaicpzs.domain.dto.user;
import lombok.Data;
import java.io.Serializable;
/**
* 用户状态更新请求
*/
@Data
public class UserStatusUpdateRequest implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户id
*/
private Long id;
/**
* 状态0-正常1-封禁
*/
private Integer status;
}

View File

@@ -0,0 +1,75 @@
package com.xy.xyaicpzs.domain.dto.user;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 用户更新请求
*/
@Data
public class UserUpdateRequest implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
private Long id;
/**
* 用户昵称
*/
private String userName;
/**
* 账号
*/
private String userAccount;
/**
* 电话
*/
private String phone;
/**
* 用户头像
*/
private String userAvatar;
/**
* 性别
*/
private Integer gender;
/**
* 用户角色user / admin
*/
private String userRole;
/**
* 密码
*/
private String userPassword;
/**
* 密码(兼容格式)
*/
private String password;
/**
* 是否会员0-非会员1-会员
*/
private Integer isVip;
/**
* 会员到期时间
*/
private Date vipExpire;
/**
* 状态0-正常1-封禁
*/
private Integer status;
}

View File

@@ -0,0 +1,50 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 蓝球最近100期数据表
* @TableName blue_history_100
*/
@TableName(value ="blue_history_100")
@Data
public class BlueHistory100 {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 球号
*/
private Integer ballNumber;
/**
* 出现频次
*/
private Integer frequencyCount;
/**
* 平均隐现期(次)
*/
private Double averageInterval;
/**
* 当前隐现期(次)
*/
private Integer nowInterval;
/**
* 最多连出期(次)
*/
private Integer maxConsecutiveCount;
/**
* 点系数
*/
private Double pointCoefficient;
}

View File

@@ -0,0 +1,55 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 蓝球全部历史数据表
* @TableName blue_history_all
*/
@TableName(value ="blue_history_all")
@Data
public class BlueHistoryAll {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 球号
*/
private Integer ballNumber;
/**
* 出现频次
*/
private Integer frequencyCount;
/**
* 出现频率百分比
*/
private Double frequencyPercentage;
/**
* 平均隐现期(次)
*/
private Double averageInterval;
/**
* 最长隐现期(次)
*/
private Integer maxHiddenInterval;
/**
* 最多连出期(次)
*/
private Integer maxConsecutiveCount;
/**
* 点系数
*/
private Double pointCoefficient;
}

View File

@@ -0,0 +1,35 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 蓝球历史数据排行表
* @TableName blue_history_top
*/
@TableName(value ="blue_history_top")
@Data
public class BlueHistoryTop {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 排行
*/
private Integer no;
/**
* 球号
*/
private Integer ballNumber;
/**
* 点系数
*/
private Double pointCoefficient;
}

View File

@@ -0,0 +1,35 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 创建蓝球100期数据排行表
* @TableName blue_history_top_100
*/
@TableName(value ="blue_history_top_100")
@Data
public class BlueHistoryTop100 {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 排行
*/
private Integer no;
/**
* 球号
*/
private Integer ballNumber;
/**
* 点系数
*/
private Double pointCoefficient;
}

View File

@@ -0,0 +1,56 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;
/**
* 聊天消息表
* @TableName chat_message
*/
@TableName(value ="chat_message")
@Data
public class ChatMessage {
/**
* id
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 会话ID
*/
private String conversationId;
/**
* 用户ID关联用户表
*/
private String studentId;
/**
* 消息类型(如: 用户提问、AI回答
*/
private String messageType;
/**
* 消息内容
*/
private String content;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 是否删除 0-未删除 1-已删除
*/
private Integer isDelete;
}

View File

@@ -0,0 +1,50 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 最近100期数据表
* @TableName history_100
*/
@TableName(value ="history_100")
@Data
public class History100 {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 球号
*/
private Integer ballNumber;
/**
* 出现频次
*/
private Integer frequencyCount;
/**
* 平均隐现期(次)
*/
private Double averageInterval;
/**
* 当前隐现期(次)
*/
private Integer nowInterval;
/**
* 最多连出期(次)
*/
private Integer maxConsecutiveCount;
/**
* 点系数
*/
private Double pointCoefficient;
}

View File

@@ -0,0 +1,55 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 历史数据表
* @TableName history_all
*/
@TableName(value ="history_all")
@Data
public class HistoryAll {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 球号
*/
private Integer ballNumber;
/**
* 出现频次
*/
private Integer frequencyCount;
/**
* 出现频率百分比
*/
private Double frequencyPercentage;
/**
* 平均间隔
*/
private Double averageInterval;
/**
* 最长隐藏间隔
*/
private Integer maxHiddenInterval;
/**
* 最大连续出现次数
*/
private Integer maxConsecutiveCount;
/**
* 点系数
*/
private Double pointCoefficient;
}

View File

@@ -0,0 +1,35 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 历史数据排行表
* @TableName history_top
*/
@TableName(value ="history_top")
@Data
public class HistoryTop {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 排行
*/
private Integer no;
/**
* 球号
*/
private Integer ballNumber;
/**
* 点系数
*/
private Double pointCoefficient;
}

View File

@@ -0,0 +1,35 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 创建100期数据排行表
* @TableName history_top_100
*/
@TableName(value ="history_top_100")
@Data
public class HistoryTop100 {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 排行
*/
private Integer no;
/**
* 球号
*/
private Integer ballNumber;
/**
* 点系数
*/
private Double pointCoefficient;
}

View File

@@ -0,0 +1,60 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;
/**
* 彩票开奖信息表
* @TableName lottery_draws
*/
@TableName(value ="lottery_draws")
@Data
public class LotteryDraws {
/**
* 开奖期号
*/
@TableId
private Long drawId;
/**
* 开奖日期
*/
private Date drawDate;
/**
* 红1
*/
private Integer redBall1;
/**
* 红2
*/
private Integer redBall2;
/**
* 红3
*/
private Integer redBall3;
/**
* 红4
*/
private Integer redBall4;
/**
* 红5
*/
private Integer redBall5;
/**
* 红6
*/
private Integer redBall6;
/**
* 蓝球
*/
private Integer blueBall;
}

View File

@@ -0,0 +1,56 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;
/**
* 操作历史记录表
* @TableName operation_history
*/
@TableName(value ="operation_history")
@Data
public class OperationHistory {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 操作用户ID
*/
private Long userId;
/**
* 操作类型(批量生成会员码/获取可用会员码/Excel导入等
*/
private String operationType;
/**
* 操作模块(会员码管理/Excel导入管理等
*/
private Integer operationModule;
/**
* 操作结果(成功/失败)
*/
private String operationResult;
/**
* 结果消息
*/
private String resultMessage;
/**
* 操作时间
*/
private Date operationTime;
/**
* 更新时间
*/
private Date updateTime;
}

View File

@@ -0,0 +1,96 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;
/**
* 彩票开奖信息表
* @TableName predict_record
*/
@TableName(value ="predict_record")
@Data
public class PredictRecord {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 用户ID
*/
private Long userId;
/**
* 开奖期号
*/
private Long drawId;
/**
* 开奖日期
*/
private Date drawDate;
/**
* 红1
*/
private Integer redBall1;
/**
* 红2
*/
private Integer redBall2;
/**
* 红3
*/
private Integer redBall3;
/**
* 红4
*/
private Integer redBall4;
/**
* 红5
*/
private Integer redBall5;
/**
* 红6
*/
private Integer redBall6;
/**
* 蓝球
*/
private Integer blueBall;
/**
* 预测状态(待开奖/已开奖)
*/
private String predictStatus;
/**
* 预测结果(未中奖/三等奖/二等奖/一等奖)
*/
private String predictResult;
/**
* 预测时间
*/
private Date predictTime;
/**
* 奖金
*/
private Long bonus;
/**
* 类型
*/
private String type;
}

View File

@@ -0,0 +1,35 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* t11表蓝球组红球的面系数
* @TableName t11
*/
@TableName(value ="t11")
@Data
public class T11 {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 主球
*/
private Integer masterBallNumber;
/**
* 从球
*/
private Integer slaveBallNumber;
/**
* 面系数
*/
private Double faceCoefficient;
}

View File

@@ -0,0 +1,35 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* t3表红球组红球的线系数
* @TableName t3
*/
@TableName(value ="t3")
@Data
public class T3 {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 主球
*/
private Integer masterBallNumber;
/**
* 从球
*/
private Integer slaveBallNumber;
/**
* 线系数
*/
private Double lineCoefficient;
}

View File

@@ -0,0 +1,35 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* t4表蓝球组红球的线系数
* @TableName t4
*/
@TableName(value ="t4")
@Data
public class T4 {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 主球
*/
private Integer masterBallNumber;
/**
* 从球
*/
private Integer slaveBallNumber;
/**
* 线系数
*/
private Double lineCoefficient;
}

View File

@@ -0,0 +1,35 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* t5表蓝球组蓝球的线系数
* @TableName t5
*/
@TableName(value ="t5")
@Data
public class T5 {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 主球
*/
private Integer masterBallNumber;
/**
* 从球
*/
private Integer slaveBallNumber;
/**
* 线系数
*/
private Double lineCoefficient;
}

View File

@@ -0,0 +1,35 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* t6表红球组蓝球的线系数
* @TableName t6
*/
@TableName(value ="t6")
@Data
public class T6 {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 主球
*/
private Integer masterBallNumber;
/**
* 从球
*/
private Integer slaveBallNumber;
/**
* 线系数
*/
private Double lineCoefficient;
}

View File

@@ -0,0 +1,35 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* t7表红球组红球的面系数
* @TableName t7
*/
@TableName(value ="t7")
@Data
public class T7 {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 主球
*/
private Integer masterBallNumber;
/**
* 从球
*/
private Integer slaveBallNumber;
/**
* 面系数
*/
private Double faceCoefficient;
}

View File

@@ -0,0 +1,35 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* t8表红球组蓝球的面系数
* @TableName t8
*/
@TableName(value ="t8")
@Data
public class T8 {
/**
* 唯一标识符
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 主球
*/
private Integer masterBallNumber;
/**
* 从球
*/
private Integer slaveBallNumber;
/**
* 面系数
*/
private Double faceCoefficient;
}

View File

@@ -0,0 +1,86 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;
/**
* 用户
* @TableName user
*/
@TableName(value ="user")
@Data
public class User {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 用户昵称
*/
private String userName;
/**
* 账号
*/
private String userAccount;
/**
* 电话
*/
private String phone;
/**
* 用户头像
*/
private String userAvatar;
/**
* 性别
*/
private Integer gender;
/**
* 用户角色user / admin
*/
private String userRole;
/**
* 密码
*/
private String userPassword;
/**
* 是否会员0-非会员1-会员
*/
private Integer isVip;
/**
* 会员到期时间
*/
private Date vipExpire;
/**
* 状态0-正常1-封禁
*/
private Integer status;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 是否删除
*/
private Integer isDelete;
}

View File

@@ -0,0 +1,72 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;
/**
* 会员码表
* @TableName vip_code
*/
@TableName(value ="vip_code")
@Data
public class VipCode {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 会员码
*/
private String code;
/**
* 会员有效月数(1/12)
*/
private Integer vipExpireTime;
/**
* 会员编号
*/
private Integer vipNumber;
/**
* 是否使用0-未使用1-已使用
*/
private Integer isUse;
/**
* 创建的用户id
*/
private Long createdUserId;
/**
* 创建的用户名称
*/
private String createdUserName;
/**
* 使用的用户id
*/
private Long usedUserId;
/**
* 使用的用户名称
*/
private String usedUserName;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
}

View File

@@ -0,0 +1,61 @@
package com.xy.xyaicpzs.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;
/**
* 会员兑换表
* @TableName vip_exchange_record
*/
@TableName(value ="vip_exchange_record")
@Data
public class VipExchangeRecord {
/**
* 唯一标识符
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 用户ID
*/
private Long userId;
/**
* 月度会员/年度会员
*/
private String type;
/**
* 兑换方式
*/
private Integer exchangeMode;
/**
* 订单编号
*/
private Long orderNo;
/**
* 订单金额
*/
private Integer orderAmount;
/**
* 是否兑换(未兑换/已兑换)
*/
private Integer isUse;
/**
* 兑换时间
*/
private Date exchangeTime;
/**
* 更新时间
*/
private Date updateTime;
}

View File

@@ -0,0 +1,39 @@
package com.xy.xyaicpzs.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 球号组合分析结果VO
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "球号组合分析结果")
public class BallCombinationAnalysisVO {
@Schema(description = "当前两个球的组合系数")
private Double faceCoefficient;
@Schema(description = "与主球组合系数最高的球号")
private Integer highestBall;
@Schema(description = "与主球组合系数最高的值")
private Double highestCoefficient;
@Schema(description = "与主球组合系数最低的球号")
private Integer lowestBall;
@Schema(description = "与主球组合系数最低的值")
private Double lowestCoefficient;
@Schema(description = "与主球组合的所有系数平均值")
private Double averageCoefficient;
@Schema(description = "最新开奖期号")
private Long latestDrawId;
}

View File

@@ -0,0 +1,27 @@
package com.xy.xyaicpzs.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 球号命中率统计VO
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "球号命中率统计")
public class BallHitRateVO {
@Schema(description = "命中次数")
private Integer hitCount;
@Schema(description = "总次数")
private Integer totalCount;
@Schema(description = "命中率(百分比)")
private Double hitRate;
}

View File

@@ -0,0 +1,39 @@
package com.xy.xyaicpzs.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 球号持续性分析结果VO
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "球号持续性分析结果")
public class BallPersistenceAnalysisVO {
@Schema(description = "当前两个球的组合线系数")
private Double lineCoefficient;
@Schema(description = "与主球组合线系数最高的球号")
private Integer highestBall;
@Schema(description = "与主球组合线系数最高的值")
private Double highestCoefficient;
@Schema(description = "与主球组合线系数最低的球号")
private Integer lowestBall;
@Schema(description = "与主球组合线系数最低的值")
private Double lowestCoefficient;
@Schema(description = "与主球组合的所有线系数平均值")
private Double averageCoefficient;
@Schema(description = "最新开奖期号")
private Long latestDrawId;
}

View File

@@ -0,0 +1,47 @@
package com.xy.xyaicpzs.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.List;
/**
* 奖金估算VO
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "奖金估算信息")
public class PrizeEstimateVO {
@Schema(description = "总奖金合计")
private BigDecimal totalPrize;
@Schema(description = "奖项明细")
private List<PrizeDetailItem> prizeDetails;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Schema(description = "奖项明细项")
public static class PrizeDetailItem {
@Schema(description = "中奖等级,例如:一等奖、二等奖等")
private String prizeLevel;
@Schema(description = "中奖注数")
private Integer winningCount;
@Schema(description = "单注奖金(元)")
private BigDecimal singlePrize;
@Schema(description = "该等级奖金小计(元)")
private BigDecimal subtotal;
}
}

View File

@@ -0,0 +1,27 @@
package com.xy.xyaicpzs.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 红球命中率统计VO
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "红球命中率统计")
public class RedBallHitRateVO {
@Schema(description = "命中总红球数")
private Integer totalHitCount;
@Schema(description = "总预测红球数")
private Integer totalPredictedCount;
@Schema(description = "红球命中率(百分比)")
private Double hitRate;
}

View File

@@ -0,0 +1,46 @@
package com.xy.xyaicpzs.domain.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.math.BigDecimal;
/**
* 用户预测统计数据VO
*/
@Data
public class UserPredictStatVO {
/**
* 用户ID
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long userId;
/**
* 预测次数(总记录数)
*/
private Long predictCount;
/**
* 待开奖次数
*/
private Long pendingCount;
/**
* 命中次数
*/
private Long hitCount;
/**
* 命中率保留4位小数
*/
private BigDecimal hitRate;
/**
* 已开奖次数(总次数 - 待开奖次数)
*/
private Long drawnCount;
}

View File

@@ -0,0 +1,78 @@
package com.xy.xyaicpzs.domain.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 用户视图(脱敏)
*/
@Data
public class UserVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
* 用户昵称
*/
private String userName;
/**
* 用户昵称
*/
private String userAccount;
/**
* 用户头像
*/
private String userAvatar;
/**
* 性别
*/
private Integer gender;
/**
* 用户角色user / admin
*/
private String userRole;
/**
* 用户角色user / admin
*/
private String phone;
/**
* 是否会员0-非会员1-会员
*/
private Integer isVip;
/**
* 会员到期时间
*/
private Date vipExpire;
/**
* 状态0-正常1-封禁
*/
private Integer status;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
}

View File

@@ -0,0 +1,74 @@
package com.xy.xyaicpzs.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
/**
* 会员码视图对象
*/
@Data
@Schema(description = "会员码视图对象")
public class VipCodeVO {
/**
* 会员码
*/
@Schema(description = "会员码")
private String code;
/**
* 会员有效月数(1/12)
*/
@Schema(description = "会员有效月数")
private Integer vipExpireTime;
/**
* 会员编号6位数如100001
*/
@Schema(description = "会员编号6位数")
private Integer vipNumber;
/**
* 是否使用0-未使用1-已使用
*/
@Schema(description = "是否使用0-未使用1-已使用")
private Integer isUse;
/**
* 创建人ID
*/
@Schema(description = "创建人ID")
private Long createdUserId;
/**
* 创建人名称
*/
@Schema(description = "创建人名称")
private String createdUserName;
/**
* 使用人ID
*/
@Schema(description = "使用人ID")
private Long usedUserId;
/**
* 使用人名称
*/
@Schema(description = "使用人名称")
private String usedUserName;
/**
* 创建时间
*/
@Schema(description = "创建时间")
private Date createTime;
/**
* 创建时间
*/
@Schema(description = "更新时间")
private Date updateTime;
}