first commit

This commit is contained in:
2026-09-21 19:21:35 +08:00
commit 6c944c4ffd
2733 changed files with 296956 additions and 0 deletions
@@ -0,0 +1,45 @@
package com.ruoyi.domain.common.constant;
// 发货订单状态(0发起提货 1待发货 3待收货 10订单完成 11订单取消)
public enum DeliveryOrderStatus {
// 0发起提货(多余)
//CREATE_ORDER(0,"0发起提货"),
// 1待发货
DELIVERY_BEFORE(1,"1待发货"),
// 2已发货
DELIVERY_AFTER(2,"2已发货"),
// 3客户确认已收货
OWN_BEFORE(3,"3客户确认已收货"),
// // 4客户确认已收货
// OWN_BEFORE(4,"3客户确认已收货"),
// 10订单完成
ORDER_COMPLETE(10,"10订单完成"),
//11订单取消
ORDER_CANCEL(11,"11订单取消"),
// 12订单异常冻结
ORDER_FREEZE(12,"12订单异常冻结");
private final Integer code;
private final String msg;
DeliveryOrderStatus(Integer code,String msg){
this.code = code;
this.msg = msg;
}
public Integer getCode(){
return this.code;
}
public String getMsg(){
return this.msg;
}
}
@@ -0,0 +1,23 @@
package com.ruoyi.domain.common.constant;
// 提货方式
public enum DeliveryPattern {
// 手动
MANUAL(1),
// 自动
AUTO(2),
// 主播提货
ANCHOR(3);
private Integer code;
DeliveryPattern(Integer code){
this.code = code;
}
public Integer getCode(){
return this.code;
}
}
@@ -0,0 +1,17 @@
package com.ruoyi.domain.common.constant.LockKey;
public enum UpgradeLock {
UPGRADE_LOCK("upgrade_lock:");
private String lock;
UpgradeLock(String lock){
this.lock = lock;
}
public String getLock(){
return this.lock;
}
}
@@ -0,0 +1,78 @@
package com.ruoyi.domain.common.constant;
/**
* 邮件/消息分类枚举
*
* 用于区分邮件弹窗中“系统”与“游戏”两个 Tab:
* - GAME_* 前缀:归入游戏 Tab
* - SYS_* 前缀:归入系统 Tab
*/
public enum MessageCategoryEnum {
// ==================== 游戏类消息 ====================
GAME_PVP_TOP("GAME_PVP_TOP", "天选之战"),
GAME_PVP_LOW("GAME_PVP_LOW", "逆袭之战"),
GAME_BOX("GAME_BOX", "常规补给"),
GAME_LUCKY_UPGRADE("GAME_LUCKY_UPGRADE", "进阶风暴"),
GAME_WHEEL("GAME_WHEEL", "狂欢转盘"),
GAME_OLYMPUS("GAME_OLYMPUS", "玫瑰女郎"),
// ==================== 系统类消息 ====================
SYS_ROLL_OFFICIAL("SYS_ROLL_OFFICIAL", "Roll房"),
SYS_ROLL_STREAMER("SYS_ROLL_STREAMER", "Roll房"),
SYS_ANNOUNCEMENT("SYS_ANNOUNCEMENT", "系统公告"),
SYS_PERSONAL("SYS_PERSONAL", "个人公告"),
SYS_RANK_REWARD("SYS_RANK_REWARD", "消费排行"),
SYS_VIP_REBATE("SYS_VIP_REBATE", "VIP返利"),
SYS_PROMO_REBATE("SYS_PROMO_REBATE", "招商返利"),
SYS_RECHARGE("SYS_RECHARGE", "充值"),
SYS_EVENT_LOTTERY("SYS_EVENT_LOTTERY", "活动抽奖"),
SYS_TRANSFER("SYS_TRANSFER", "转赠"),
SYS_PICKUP("SYS_PICKUP", "提货"),
SYS_LOSS_REBATE("SYS_LOSS_REBATE", "亏损返利");
private final String code;
private final String title;
MessageCategoryEnum(String code, String title) {
this.code = code;
this.title = title;
}
public String getCode() {
return code;
}
public String getTitle() {
return title;
}
/**
* 是否属于游戏 Tab
*/
public boolean isGame() {
return code != null && code.startsWith("GAME_");
}
/**
* 是否属于系统 Tab
*/
public boolean isSystem() {
return code != null && code.startsWith("SYS_");
}
/**
* 根据 code 查找枚举
*/
public static MessageCategoryEnum fromCode(String code) {
if (code == null || code.trim().isEmpty()) {
return null;
}
for (MessageCategoryEnum value : values()) {
if (value.code.equals(code)) {
return value;
}
}
return null;
}
}
@@ -0,0 +1,41 @@
package com.ruoyi.domain.common.constant;
// 第三方平台
public enum PartyType {
// 发货平台-----------------
// 扎比特
ZBT(1),
// yy有品
YY_YOU_PING(2),
// 支付平台------------------
// 支付宝
ZFB(3),
// 微信
VX(4),
// 聚合支付
JU_HE_ZHI_FU(5),
// 九嘉支付宝
JIU_JIA_ZFB(6),
V5ITEM(7),
CS340(8),
INNER_PICTURE_PAY(9),
;
private final Integer code;
PartyType(Integer code){
this.code = code;
}
public Integer getCode(){
return this.code;
}
}
@@ -0,0 +1,35 @@
package com.ruoyi.domain.common.constant;
import lombok.Getter;
// 支付订单状态
@Getter
public enum PayOrderStatus {
/** 订单状态:-1超时未付款 0未付款,1已付款,2已取消 */
// 0未付款
NO_PAY("0"),
// 用户支付成功
PAY_YET("1"),
// 用户支付失败
PAY_FAIL("-1"),
// 用户取消(超时未付款)
CANCEL("2"),
// 用户已支付,但回调处理异常
CALL_BACK_ERRO("3"),
// 支付完成
PAY_COMPLE("4");
private final String code;
PayOrderStatus(String code){
this.code = code;
}
}
@@ -0,0 +1,61 @@
package com.ruoyi.domain.common.constant;
// 支付方式
public enum PayType {
// 中云 支付宝
ZY_ZFB("1"),
// 卡密
MK_CARD("2"),
// 支付宝
ZFB("3"),
// 微信
VX("4"),
// 聚合支付(蚂蚁支付)
JU_HE_ZHI_FU("5"),
// 九嘉支付宝
JIU_JIA_ZFB("6"),
// 星火支付宝
XIN_HUO_ZFB("7"),
//QS聚合支付
QS_PAY("8"),
// 国富汇通
GFHT_PAY("9"),
// hipay
HI_PAY("10"),
// chengduhipay
CHENGDU_HI_PAY("11"),
// RichKu
RICH_KU("12"),
// itpay
IT_PAY("13"),
// abkpay
ABK_PAY("14"),
// snappay
SNAP_PAY("15");
private final String code;
PayType(String code){
this.code = code;
}
public String getCode(){
return this.code;
}
}
@@ -0,0 +1,281 @@
package com.ruoyi.domain.common.constant;
import java.util.Set;
// 账户流水来源类型(这个类型金币和积分通用)
public enum TtAccountRecordSource {
// 充值
RECHARGE(1, TtAccountRecordType.INPUT, "充值收入"),
// 经典开箱
GAME_TYPE_01(2, TtAccountRecordType.OUTPUT, "经典开箱消费"),
// 经典开箱游戏奖励
GAME_TYPE_01_AWARD(3, TtAccountRecordType.INPUT, "经典开箱游戏奖励"),
// 对战
GAME_TYPE_02(4, TtAccountRecordType.OUTPUT, "对战消费"),
// 对战游戏奖励
GAME_TYPE_02_AWARD(5, TtAccountRecordType.INPUT, "对战游戏奖励"),
// roll房
GAME_TYPE_03(6, TtAccountRecordType.OUTPUT, "roll房消费"),
// roll房游戏奖励
GAME_TYPE_03_AWARD(7, TtAccountRecordType.INPUT, "roll房游戏奖励"),
// 逐梦前行
GAME_TYPE_04(8, TtAccountRecordType.OUTPUT, "逐梦前行消费"),
// 逐梦前行游戏奖励
GAME_TYPE_04_AWARD(9, TtAccountRecordType.INPUT, "逐梦前行游戏奖励"),
// 分解饰品
DECOMPOSE_ORNAMENT(10, TtAccountRecordType.INPUT, "背包分解饰品收入"),
// 任务
TASK(11, TtAccountRecordType.INPUT, "首次下载任务奖励"),
// 商城兑换
EXCHANGE(12, TtAccountRecordType.OUTPUT, "商城兑换消费"),
// 推广福利
P_WELFARE(13, TtAccountRecordType.INPUT, "推广福利收入"),
// 后台操作
ADMIN_UPDATA(14, TtAccountRecordType.INPUT, "后台操作"),
// 奖励津贴(暂时没啥用)
BONUS(15, TtAccountRecordType.INPUT, "奖励津贴"),
// 积分兑换金币
INTEGRATING_CONVERSION(16, TtAccountRecordType.INPUT, "积分兑换金币"),
// 口令红包
RECEIVE_RED_PACKET(17, TtAccountRecordType.INPUT, "福利CDK收入"),
// 注册奖励
REGIST_AWARD(18, TtAccountRecordType.INPUT, "注册奖励"),
RANK_BLEND_ERCASH(19, TtAccountRecordType.INPUT, "综合流水排行榜奖励"),
RANK_AMOUNT(20, TtAccountRecordType.INPUT, "金币消费排行榜奖励"),
RANK_CREDITS(21, TtAccountRecordType.INPUT, "积分消费排行榜奖励"),
RANK_PROD_ORN(22, TtAccountRecordType.INPUT, "出货排行榜奖励"),
FIRST_CHARGE(23, TtAccountRecordType.INPUT, "首充赠送"),
PROMOTION_LEVEL_CHARGE(24, TtAccountRecordType.INPUT, "推广等级充值赠送"),
// 充值红包
CHARGE_RED_PACKET(25, TtAccountRecordType.INPUT, "充值红包收入"),
// 推广等级达标
PROMOTION_LEVEL_REACH(26, TtAccountRecordType.INPUT, "推广等级达标赠送"),
// 推广充值返佣
PROMOTION_CHARGE_COMMISSION(27, TtAccountRecordType.INPUT, "充值返利"),
// 对战排行榜奖励
FIGHT_RANKING_REWARD(28, TtAccountRecordType.INPUT, "对战排行榜奖励"),
// 消费排行榜奖励
RECHARGE_RANKING_REWARD(29, TtAccountRecordType.INPUT, "消费排行榜奖励"),
// VIP等级达标
VIP_LEVEL_REACH(30, TtAccountRecordType.INPUT, "VIP等级达标赠送"),
// 主播发放工资
PROMOTION_RECHARGE(31, TtAccountRecordType.INPUT, "主播日常发放工资"),
// 充值金额达到门槛奖励
RECHARGE_RESEARCH_BONUS(32, TtAccountRecordType.INPUT, "充值金额达到门槛奖励"),
// 玩转指数盲盒
EXPONENT_GAME_TYPE_01(33, TtAccountRecordType.OUTPUT, "玩转指数盲盒消费"),
BULLET_SPIN(34, TtAccountRecordType.OUTPUT, "荒野争锋消费"),
BULLET_REWARD(37, TtAccountRecordType.INPUT, "荒野争锋奖励"),
LUCKLY_WHEEL_SPIN(38, TtAccountRecordType.OUTPUT, "疯狂转盘消费"),
LUCKLY_WHEEL_REWARD(39, TtAccountRecordType.INPUT, "疯狂转盘奖励"),
GOLD_DEVICE(40, TtAccountRecordType.OUTPUT, "幸运升级消费"),
GOLD_DEVICE_REWARD(41, TtAccountRecordType.INPUT, "幸运升级奖励"),
ZHUBO_EXTRACT(42, TtAccountRecordType.OUTPUT, "主播后台提取消费"),
RECHARGE_AWARD(43, TtAccountRecordType.INPUT, "充值福利奖励"),
VIP_CONSUME_AWARD(44, TtAccountRecordType.INPUT, "VIP流水奖励"),
CARD_MERCHANT_GENERATE(45, TtAccountRecordType.OUTPUT, "卡商生成卡密消费"),
CARD_MERCHANT_RECHARGE(46, TtAccountRecordType.INPUT, "卡商充值收入"),
// 游戏消费返佣(下级游戏消费产生的佣金发放到上级)- 特殊游戏(新游戏)
GAME_CONSUME_COMMISSION(47, TtAccountRecordType.INPUT, "特殊游戏返利"),
// 经典游戏消费返佣(经典玩法消费产生的佣金发放到上级)
CLASSIC_GAME_CONSUME_COMMISSION(49, TtAccountRecordType.INPUT, "经典游戏返利"),
// 推广CDKEY兑换收入
PROMO_CDKEY_REDEEM(48, TtAccountRecordType.INPUT, "推广CDKEY兑换收入"),
// 主播创建CDKEY消费
PROMO_CDKEY_GENERATE(53, TtAccountRecordType.OUTPUT, "主播创建CDKEY消费"),
// 主播CDKEY过期/兑完结束后的预扣差额退还
PROMO_CDKEY_REFUND(54, TtAccountRecordType.INPUT, "主播CDKEY结束退还"),
// 卡商主动销毁未使用卡密,按面值退回卡商余额
CARD_MERCHANT_DESTROY_REFUND(55, TtAccountRecordType.INPUT, "卡商销毁卡密退还"),
// Roll房未发放饰品折算退回主播(开奖后未抽出的剩余饰品 / 未开奖删除全额退回),与玩家Roll房奖励(7)区分
ROLL_UNISSUED_REFUND(56, TtAccountRecordType.INPUT, "Roll房未发放退回主播"),
// 管理后台生成CDK口令红包扣款
ADMIN_RED_PACKET_GENERATE(57, TtAccountRecordType.OUTPUT, "管理后台生成主播CDK红包扣款"),
// 福利开箱奖励
WELFARE_BOX_REWARD(58, TtAccountRecordType.INPUT, "福利开箱奖励"),
// 主播Roll房奖池扣款(创建房/向奖池追加饰品时扣减主播余额)。
// 注意:不能复用 GAME_TYPE_03(6),否则会被计入 getGameBetCodes() 的"游戏投注流水",
// 导致主播建房+删房循环刷 VIP 流水返利/消费排行榜奖励并污染投注统计。
PROMO_ROLL_DEDUCT(59, TtAccountRecordType.OUTPUT, "主播Roll房奖池扣款"),
// 玫瑰女郎电子游戏消费
OLYMPUS_SPIN(60, TtAccountRecordType.OUTPUT, "玫瑰女郎消费"),
// 玫瑰女郎电子游戏奖励
OLYMPUS_REWARD(61, TtAccountRecordType.INPUT, "玫瑰女郎奖励"),
// 招商周结佣金(每周一结算上一周,与主播实时返佣 27/47/49 区分)
BUSINESS_WEEKLY_COMMISSION(62, TtAccountRecordType.INPUT, "招商周结佣金"),
// 流水抽奖奖励 (仅用于奖励发放记录)
TURNOVER_LOTTERY_REWARD(63, TtAccountRecordType.INPUT, "流水抽奖奖励"),
// 疯狂转盘注单退款(兜底结算专用,与消费/奖励区分以便审计)
WHEEL_BET_REFUND(64, TtAccountRecordType.INPUT, "疯狂转盘注单退款"),
// 管理员手动调整用户余额(写入余额变动流水,操作人/IP 见 remark)
ADMIN_ADJUST_BALANCE(65, TtAccountRecordType.INPUT, "管理员调整余额"),
// 管理员手动调整用户积分(写入积分变动流水,操作人/IP 见 remark)
ADMIN_ADJUST_CREDITS(66, TtAccountRecordType.INPUT, "管理员调整积分"),
// 管理员手动调整卡商余额(写入卡商余额变动流水,操作人/IP 见 remark;与 45/46/55 一样复用 credits 列记账)
ADMIN_ADJUST_MERCHANT_BALANCE(67, TtAccountRecordType.INPUT, "管理员调整卡商余额")
;
private final Integer code;
private final TtAccountRecordType type;
private final String msg;
TtAccountRecordSource(Integer code, TtAccountRecordType t, String msg) {
this.code = code;
this.msg = msg;
this.type = t;
}
public Integer getCode() {
return this.code;
}
public String getMsg() {
return this.msg;
}
// 计算推广福利的流水类型
public static Set<Integer> getWelfarePrizeCodes() {
return Set.of(RECHARGE.getCode(),
GAME_TYPE_01.getCode(),
GAME_TYPE_02.getCode(),
GOLD_DEVICE.getCode(),
LUCKLY_WHEEL_SPIN.getCode(),
OLYMPUS_SPIN.getCode());
}
// 计算流水返利的游戏类型
public static Set<Integer> getGameConsumeCodes() {
return Set.of(GAME_TYPE_01.getCode(),
GAME_TYPE_02.getCode(),
GOLD_DEVICE.getCode(),
LUCKLY_WHEEL_SPIN.getCode(),
OLYMPUS_SPIN.getCode());
}
// 今日总投注:所有游戏消费 source
public static Set<Integer> getGameBetCodes() {
return Set.of(
GAME_TYPE_01.getCode(), // 经典开箱消费
GAME_TYPE_02.getCode(), // 对战消费
GAME_TYPE_03.getCode(), // roll 房消费
LUCKLY_WHEEL_SPIN.getCode(), // 疯狂转盘消费
GOLD_DEVICE.getCode(), // 幸运升级消费
OLYMPUS_SPIN.getCode() // 玫瑰女郎消费
);
}
// 今日总赢奖:所有游戏奖励 source
public static Set<Integer> getGameRewardCodes() {
return Set.of(
GAME_TYPE_01_AWARD.getCode(), // 经典开箱奖励
GAME_TYPE_02_AWARD.getCode(), // 对战奖励
GAME_TYPE_03_AWARD.getCode(), // roll房奖励
GOLD_DEVICE_REWARD.getCode(), // 幸运升级奖励
LUCKLY_WHEEL_REWARD.getCode(), // 疯狂转盘奖励
OLYMPUS_REWARD.getCode() // 玫瑰女郎奖励
);
}
/** 普通游戏消费:经典开箱、对战、roll房、幸运升级、疯狂转盘 */
public static boolean isNormalGameConsume(int code) {
return code == GAME_TYPE_01.getCode()
|| code == GAME_TYPE_02.getCode()
|| code == GAME_TYPE_03.getCode()
|| code == GOLD_DEVICE.getCode()
|| code == LUCKLY_WHEEL_SPIN.getCode();
}
/** 新游戏消费:玫瑰女郎 */
public static boolean isSpecialGameConsume(int code) {
return code == OLYMPUS_SPIN.getCode();
}
/** 新游戏消费(对应 newGameCommissionRate):玫瑰女郎 */
public static boolean isNewGameConsumeForCommission(int code) {
return code == OLYMPUS_SPIN.getCode();
}
/** 经典游戏消费(对应 classicGameCommissionRate):经典开箱、对战、幸运升级、疯狂转盘 */
public static boolean isClassicGameConsumeForCommission(int code) {
return code == GAME_TYPE_01.getCode()
|| code == GAME_TYPE_02.getCode()
|| code == GOLD_DEVICE.getCode()
|| code == LUCKLY_WHEEL_SPIN.getCode();
}
/** 是否是需要分发佣金的游戏消费类型 */
public static boolean isGameConsumeForCommission(int code) {
return isNewGameConsumeForCommission(code) || isClassicGameConsumeForCommission(code);
}
/**
* 获取符合流水抽奖条件的游戏消费类型
* 排除 Roll 房 (6)、商城 (12)、福利类等
*/
public static Set<Integer> getTurnoverLotteryCodes() {
return Set.of(
GAME_TYPE_01.getCode(), // 经典开箱消费
GAME_TYPE_02.getCode(), // 对战消费
GOLD_DEVICE.getCode(), // 幸运升级消费
LUCKLY_WHEEL_SPIN.getCode(), // 疯狂转盘消费
OLYMPUS_SPIN.getCode() // 玫瑰女郎消费
);
}
}
@@ -0,0 +1,21 @@
package com.ruoyi.domain.common.constant;
// 流水类型
public enum TtAccountRecordType {
// 收入
INPUT(1),
// 支出
OUTPUT(0);
private Integer code;
TtAccountRecordType(Integer code){
this.code = code;
}
public Integer getCode(){
return this.code;
}
}
@@ -0,0 +1,50 @@
package com.ruoyi.domain.common.constant;
// 账户流水来源类型
// 注意和TtboxRecordSource区分
public enum TtboxRecordSource {
// 玩转盲盒
BLIND_BOX(1,"玩转盲盒"),
// 急速对战
FIGHT(2,"急速对战"),
// roll房
ROLL(3,"roll房"),
// 急速对战
UPGRADE(4,"幸运升级"),
// roll房
SYS_GRANT(5,"系统发放"),
MALL_EXCHANGE(6,"商城兑换"),
REPLACEMENT(7,"汰换"),
EXPONENT_BOX(8,"指数盲盒"),
TRANSFER(9,"转赠"),
WELFARE_BOX(10,"福利开箱"),
BULLET_BOX(12,"荒野争锋"),
OLYMPUS_BOX(13,"玫瑰女郎"),
WHEEL_BOX(99,"疯狂转盘"),
TURNOVER_LOTTERY(14,"流水抽奖"),
;
private Integer code;
private String msg;
TtboxRecordSource(Integer code, String msg){
this.code = code;
this.msg = msg;
}
public Integer getCode(){
return this.code;
}
public String getMsg(){
return this.msg;
}
}
@@ -0,0 +1,34 @@
package com.ruoyi.domain.common.constant;
// 开箱记录状态/背包饰品状态
public enum TtboxRecordStatus {
IN_PACKSACK_ON(0,"在背包显示"),
// 用于对战模式,游戏完全结束才显示
IN_PACKSACK_OFF(1,"在背包不显示"),
APPLY_DELIVERY(2,"申请提货"),
DELIVERY_YET(3,"已经提货"),
RESOLVE(5,"分解"),
ADMIN_DELETE(10,"管理员删除"),
// 转赠审核中:饰品不在任何人背包显示,等待后台审核通过或驳回
TRANSFER_PENDING(20,"转赠审核中");
private final Integer code;
private final String msg;
TtboxRecordStatus(Integer code, String msg){
this.code = code;
this.msg = msg;
}
public Integer getCode(){
return this.code;
}
public String getMsg(){
return this.msg;
}
}
@@ -0,0 +1,41 @@
package com.ruoyi.domain.common.constant;
//用户类型
public enum UserType {
// 主播
ANCHOR("01"),
// 普通用户
COMMON_USER("02"),
// 机器人
ROBOT_USER("03"),
// 招商号
BUSINESS_USER("04"),
// 卡商
CARD_MERCHANT("05"),
// 白号
BLANK_ACCOUNT("06"),
// 超级管理员
SUPER_ADMIN("99"),
;
private String code;
UserType(String code){
this.code = code;
}
public String getCode(){
return this.code;
}
public static UserType fromCode(String code){
for (UserType userType : UserType.values()){
if (userType.getCode().equals(code)){
return userType;
}
}
return null;
}
}
@@ -0,0 +1,21 @@
package com.ruoyi.domain.common.constant.roll;
// roll房玩家获奖方式
public enum RollGetPrizeWay {
// 系统指定
SYS(0),
// 随机
COMMON(1);
private final Integer code;
RollGetPrizeWay(Integer code){
this.code = code;
}
public Integer getCode(){
return this.code;
}
}
@@ -0,0 +1,21 @@
package com.ruoyi.domain.common.constant.roll;
// roll房状态
public enum RollStatus {
// 未开奖
ING("0"),
// 已开奖
END("1");
private final String code;
RollStatus(String code){
this.code = code;
}
public String getCode(){
return this.code;
}
}
@@ -0,0 +1,21 @@
package com.ruoyi.domain.common.constant.roll;
// roll房状态
public enum RollType {
// 主播
ANCHOR("1"),
// 官方
OFFICIAL("0");
private final String code;
RollType(String code){
this.code = code;
}
public String getCode(){
return this.code;
}
}
@@ -0,0 +1,21 @@
package com.ruoyi.domain.common.constant.sys;
//用户类型
public enum MoneyType {
// 金币
GOLD(1),
// 积分
CREDITS(2);
private final Integer code;
MoneyType(Integer code){
this.code = code;
}
public Integer getCode(){
return this.code;
}
}
@@ -0,0 +1,18 @@
package com.ruoyi.domain.common.constant.sys;
public enum UserStatus {
// 金币
NORMAL(0);
private final Integer code;
UserStatus(Integer code){
this.code = code;
}
public Integer getCode(){
return this.code;
}
}
@@ -0,0 +1,40 @@
package com.ruoyi.domain.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class ChildDetailByBoss {
private Integer bossId;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String beginTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String endTime;
@Min(value = 1,message = "最小1")
@NotNull(message = "页码不能为空")
private Integer page;
@Range(min = 1,max = 20)
@NotNull(message = "分页长度不能为空")
private Integer size;
// 消费正序1 消费逆序2
@NotNull(message = "排序方式不能为空")
private Integer orderType;
private Integer lim;
}
@@ -0,0 +1,23 @@
package com.ruoyi.domain.dto.boxRecords;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;
import jakarta.validation.constraints.Min;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class BoxRecordPageRequest {
@Min(value = 1, message = "页码最小1")
private Integer page;
@Range(min = 1, max = 50, message = "每页条数1-50")
private Integer size;
/** 当前选中的箱子id,传入后仅返回该箱子的开箱记录 */
private Integer boxId;
}
@@ -0,0 +1,30 @@
package com.ruoyi.domain.dto.boxRecords;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;
import jakarta.validation.constraints.Min;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public class TenTopQuery {
// 来源
private List<Integer> source;
// 状态
private List<Integer> status;
@Min(value = 1,message = "最小1")
private Integer page;
@Range(min = 1,max = 20)
private Integer size;
private Integer limit;
}
@@ -0,0 +1,38 @@
package com.ruoyi.domain.dto.boxRecords;
import lombok.Data;
@Data
public class TtBoxRecordsNum {
private Integer boxId;
private Long ornamentId;
/**
* 数量(全部非白号开箱记录总数)
*/
private Integer num;
/**
* 非主播非机器人(普通玩家/招商/卡商/超管等,含历史删号)开箱数,对应真实爆率池
*/
private Integer realNum;
/**
* 主播(user_type=01)开箱数,对应主播爆率池
*/
private Integer anchorNum;
/**
* 机器人(user_type=03)开箱数,对应机器人普通爆率池(非欧皇/非酋对战的机器人记录)
*/
private Integer robotNum;
/**
* 机器人欧皇对战(tt_fight.model=0)开箱数,对应机器人爆率(欧皇)池
*/
private Integer robotLuckyNum;
/**
* 机器人非酋对战(tt_fight.model=1)开箱数,对应机器人爆率 (非酋)池
*/
private Integer robotUnluckyNum;
/**
* 白号(is_blank_account=1)开箱数,对应白号爆率池
*/
private Integer whiteNum;
}
@@ -0,0 +1,50 @@
package com.ruoyi.domain.dto.boxRecords;
import lombok.Data;
import java.math.BigDecimal;
/**
* 某宝箱某天的开箱记录按开箱人类型(奖池)汇总
* 口径与 TtBoxRecordsMapper.selectBoxRecordsByOrnamentIds 的分池规则保持一致
*/
@Data
public class TtBoxRecordsPoolStat {
/**
* 主播(user_type=01),对应主播池
*/
private Integer anchorNum;
private BigDecimal anchorPrice;
/**
* 非主播非机器人非白号(普通/招商/卡商/超管等),对应真实池
*/
private Integer realNum;
private BigDecimal realPrice;
/**
* 机器人(user_type=03)且对战模式非欧皇/非酋,对应机器人池
*/
private Integer robotNum;
private BigDecimal robotPrice;
/**
* 机器人欧皇对战(tt_fight.model=0),对应机器人欧皇池
*/
private Integer robotLuckyNum;
private BigDecimal robotLuckyPrice;
/**
* 机器人非酋对战(tt_fight.model=1),对应机器人非酋池
*/
private Integer robotUnluckyNum;
private BigDecimal robotUnluckyPrice;
/**
* 白号(is_blank_account=1),对应白号池
*/
private Integer whiteNum;
private BigDecimal whitePrice;
}
@@ -0,0 +1,9 @@
package com.ruoyi.domain.dto.boxRecords;
import lombok.Data;
@Data
public class TtBoxRecordsRemark {
private String realOddsChange;
}
@@ -0,0 +1,56 @@
package com.ruoyi.domain.dto.boxRecords;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;
import jakarta.validation.constraints.Min;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public class queryCondition {
private Long boxRecordId;
// 用户ID
private Integer userId;
// 宝箱id
private Integer boxId;
// 用户类型
private String userType;
// 来源
private List<Integer> source;
// 物品价格区间
@Min(value = 0,message = "最小0")
private BigDecimal ornamentPriceMin;
@Min(value = 0,message = "最小0")
private BigDecimal ornamentPriceMax;
// 物品等级
private List<Integer> ornamentLevelIds;
// 状态
private List<Integer> status;
// 0时间升序 1时间降序
private Integer orderByFie;
@Min(value = 1,message = "最小1")
private Integer page;
@Range(min = 1,max = 20)
private Integer size;
private Integer limit;
}
@@ -0,0 +1,25 @@
package com.ruoyi.domain.dto.deliver;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class TradeBuyParam {
// 提货记录id
private Integer deliveryRecordId;
// 提货平台
private Integer partyType;
// 平台的物品在售记录id
private Long productId;
/** 物品价格 */
private BigDecimal price;
}
@@ -0,0 +1,31 @@
package com.ruoyi.domain.dto.deliver;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class TradeManualConfirmParam {
// 提货记录id
private Integer deliveryRecordId;
/** 物品价格 */
private BigDecimal price;
/**
* 交易订单号
*/
private String orderNo;
/**
* 发货状态
*/
private int status;
/**
* 发货原因
*/
private String message;
}
@@ -0,0 +1,18 @@
package com.ruoyi.domain.dto.exponent;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class ExponentBoxVo {
private Integer boxId;
private Integer boxTypeId;
private String boxName;
private BigDecimal price;
private String boxImg01;
private String boxImg02;
private String boxType;
private int buy_forward_up;
private int buy_forward_down;
}
@@ -0,0 +1,79 @@
package com.ruoyi.domain.dto.exponent;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* {
* "id": 361971,
* "exponent": 0,
* "period": "202412292560",
* "end_time": 1735481055,
* "points": "",
* "state": 0,
* "number": 2560,
* "forward": 0,
* "createtime": 1735481025,
* "updatetime": 1735481025,
* "timer": 17,
* "last": {
* "id": 361970,
* "exponent": 30003467,
* "period": "202412292559",
* "end_time": 1735481024,
* "points": "30000833,29994529,30007775,30006661,30002185,30005613,30003447,29991295,29990895,29995306,30003467",
* "state": 2,
* "number": 2559,
* "forward": 1,
* "createtime": 1735480994,
* "updatetime": 1735480994
* },
* "buy": 0,
* "buy_forward_up": 0,
* "buy_forward_down": 0,
* "jieguo": {
* "skinarr": [
* {
* "id": 297,
* "image": "https:\/\/guangdun.oss-cn-beijing.aliyuncs.com\/uploads\/20241030\/9839b86148a39d2c69ea882dc40cccc3.webp",
* "count": 1
* }
* ],
* "period": "202412292559",
* "exponent": 30003467,
* "forward": 1,
* "buy_forward_down": 0,
* "buy_forward_up": 10,
* "buy": 10,
* "buy_money": 10
* }
* }
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class ExponentInfoVo {
private Integer id;
private Integer exponent;
private String period;
private Integer end_time;
private String points;
private Integer state;
private Integer number;
private Integer forward;
private Integer createtime;
private Integer updatetime;
private Integer timer;
private ExponentInfoVo last;
private Integer buy = 0;
private BigDecimal buy_forward_up = BigDecimal.ZERO;
private BigDecimal buy_forward_down = BigDecimal.ZERO;
private ExponentJieguoVo jieguo;
}
@@ -0,0 +1,72 @@
package com.ruoyi.domain.dto.exponent;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.util.List;
/**
* {
* "id": 361971,
* "exponent": 0,
* "period": "202412292560",
* "end_time": 1735481055,
* "points": "",
* "state": 0,
* "number": 2560,
* "forward": 0,
* "createtime": 1735481025,
* "updatetime": 1735481025,
* "timer": 17,
* "last": {
* "id": 361970,
* "exponent": 30003467,
* "period": "202412292559",
* "end_time": 1735481024,
* "points": "30000833,29994529,30007775,30006661,30002185,30005613,30003447,29991295,29990895,29995306,30003467",
* "state": 2,
* "number": 2559,
* "forward": 1,
* "createtime": 1735480994,
* "updatetime": 1735480994
* },
* "buy": 0,
* "buy_forward_up": 0,
* "buy_forward_down": 0,
* "jieguo": {
* "skinarr": [
* {
* "id": 297,
* "image": "https:\/\/guangdun.oss-cn-beijing.aliyuncs.com\/uploads\/20241030\/9839b86148a39d2c69ea882dc40cccc3.webp",
* "count": 1
* }
* ],
* "period": "202412292559",
* "exponent": 30003467,
* "forward": 1,
* "buy_forward_down": 0,
* "buy_forward_up": 10,
* "buy": 10,
* "buy_money": 10
* }
* }
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class ExponentJieguoVo {
private List<ExponentSkinarrVo> skinarr;
private Integer exponent;
private String period;
private Integer forward;
private Integer buy = 0;
private BigDecimal buy_money = BigDecimal.ZERO;
private BigDecimal buy_forward_up = BigDecimal.ZERO;
private BigDecimal buy_forward_down = BigDecimal.ZERO;
}
@@ -0,0 +1,25 @@
package com.ruoyi.domain.dto.exponent;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
public class ExponentJoinParam {
/**
* 指数ID
*/
private Integer id;
/**
* 盒子ID
*/
private Integer boxId;
/**
* 1上升2下降
*/
private Integer forward;
}
@@ -0,0 +1,21 @@
package com.ruoyi.domain.dto.exponent;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class ExponentOpenBoxVo {
private Integer id;
private Integer forward;
private Integer boxId;
private Integer success;
private Integer failed;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
private String image;
private String image2;
// 1成功 2失败
private int state;
}
@@ -0,0 +1,65 @@
package com.ruoyi.domain.dto.exponent;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* {
* "id": 361971,
* "exponent": 0,
* "period": "202412292560",
* "end_time": 1735481055,
* "points": "",
* "state": 0,
* "number": 2560,
* "forward": 0,
* "createtime": 1735481025,
* "updatetime": 1735481025,
* "timer": 17,
* "last": {
* "id": 361970,
* "exponent": 30003467,
* "period": "202412292559",
* "end_time": 1735481024,
* "points": "30000833,29994529,30007775,30006661,30002185,30005613,30003447,29991295,29990895,29995306,30003467",
* "state": 2,
* "number": 2559,
* "forward": 1,
* "createtime": 1735480994,
* "updatetime": 1735480994
* },
* "buy": 0,
* "buy_forward_up": 0,
* "buy_forward_down": 0,
* "jieguo": {
* "skinarr": [
* {
* "id": 297,
* "image": "https:\/\/guangdun.oss-cn-beijing.aliyuncs.com\/uploads\/20241030\/9839b86148a39d2c69ea882dc40cccc3.webp",
* "count": 1
* }
* ],
* "period": "202412292559",
* "exponent": 30003467,
* "forward": 1,
* "buy_forward_down": 0,
* "buy_forward_up": 10,
* "buy": 10,
* "buy_money": 10
* }
* }
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class ExponentSkinarrVo {
private Integer id;
private String image;
private String image2;
private Integer count;
}
@@ -0,0 +1,26 @@
package com.ruoyi.domain.dto.fight;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class BaiJiaFightParam {
// 0:超神(全历史总产出最高),1:最大金额(今日总产出最高),2:最大增长(今日净赚最多),3:最大倍数(今日回报率最高)
private Integer maxType;
// 模式: 0-欧皇, 1-非酋
private String model;
// 价格区间下限(含)
private Integer minPrice;
// 价格区间上限(含)
private Integer maxPrice;
// 房主昵称关键词(模糊搜索tt_user.nick_name)
private String keyword;
}
@@ -0,0 +1,31 @@
package com.ruoyi.domain.dto.fight;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class FightDetailParam {
@NotNull(message = "fightId不能为空")
private Integer fightId;
/** 指定入座的座位号(可选;null=自动坐第一个空位),与 FightSeat.code 对应 */
private Integer seatCode;
@Min(value = 1,message = "最小1")
private Integer page;
@Min(value = 1,message = "最小1")
@Max(value = 20,message = "最大20")
private Integer size;
private Integer limit;
}
@@ -0,0 +1,36 @@
package com.ruoyi.domain.dto.fight;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class FightOnMyOwnParam {
private Integer fightId;
private Integer playerId;
// 模式
private String model;
// 状态列表
private List<Integer> statusList;
// 价格区间下限(含)
private Integer minPrice;
// 价格区间上限(含)
private Integer maxPrice;
private Integer page;
private Integer size;
// 房主昵称关键词(模糊搜索tt_user.nick_name)
private String keyword;
}
@@ -0,0 +1,13 @@
package com.ruoyi.domain.dto.fight;
import lombok.Data;
/**
* 快速加入对战房间请求
*/
@Data
public class QuickJoinFightParam {
/** 房间模式(大厅阵营):0-欧皇 1-非酋 */
private String model;
}
@@ -0,0 +1,61 @@
package com.ruoyi.domain.dto.mayi;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class ApiPayAddOrderParam {
//平台分配商户号
private String pay_memberid;
//上送订单号唯一
private String pay_orderid;
//提交时间 2016-12-26 18:18:18
private String pay_applydate;
//银行编码
private String pay_bankcode;
//服务端通知
private String pay_notifyurl;
//页面跳转通知
private String pay_callbackurl;
//订单金额
private String pay_amount;
//MD5 签名
private String pay_md5sign;
//附加字段
private String pay_attach;
//商品名称
private String pay_productname;
//商户品数量
private String pay_productnum;
//商品描述
private String pay_productdesc;
//商户链接地址
private String pay_producturl;
//分账绑卡 id
private String pay_bindid;
//客户端 ip
private String pay_clientip;
//返回数据格式
private String type;
}
@@ -0,0 +1,28 @@
package com.ruoyi.domain.dto.mayi;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class ApiPayAddOrderResponse {
//状态
private String status;
//消息
private String msg;
//金额
private String pay_amount;
//订单号
private String pay_orderid;
//支付地址
private String payUrl;
}
@@ -0,0 +1,41 @@
package com.ruoyi.domain.dto.mayi;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
// 回调参数
@AllArgsConstructor
@NoArgsConstructor
@Data
public class PayNotifyRequest {
//商户编号
private String memberid;
//订单号
private String orderid;
//订单金额
private String amount;
//实付金额
private String true_amount;
//交易流水号
private String transaction_id;
//交易时间
private String datetime;
//交易状态
private String returncode;
//扩展返回
private String attach;
//签名
private String sign;
}
@@ -0,0 +1,27 @@
package com.ruoyi.domain.dto.packSack;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class DecomposeLogCondition {
@Min(value = 1,message = "最小值1")
private Integer page;
@Min(value = 1,message = "最小值1")
@Max(value = 20,message = "最大值20")
private Integer size;
private Integer boxRecordStatus;
private Integer limit;
private Integer userId;
}
@@ -0,0 +1,23 @@
package com.ruoyi.domain.dto.packSack;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.validation.constraints.NotNull;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class DecomposeParam {
private List<Long> packSackIds;
@NotNull(message = "是否全选为必填项")
private Boolean isAll;
/**
* 分解场景:backpack=从背包分解(默认),game=游戏结果页立即分解。
* 游戏内分解时,根据饰品来源写入对应的游戏奖励流水;
* 背包分解时,统一写入 DECOMPOSE_ORNAMENT(背包分解饰品收入)。
*/
private String decomposeType;
}
@@ -0,0 +1,26 @@
package com.ruoyi.domain.dto.packSack;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class DeliveryParam {
private List<Long> packSackIds;
@NotNull(message = "是否全选为必填项")
private Boolean isAll;
/**
* 安全密码(6位),用户通过 /api/user/setSafePassword 单独设置,与登录密码无关
*/
@NotBlank(message = "请输入安全密码")
@Pattern(regexp = "^\\d{6}$", message = "安全密码必须为6位数字")
private String twoFactorAuth;
}
@@ -0,0 +1,35 @@
package com.ruoyi.domain.dto.packSack;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class PackSackCondition {
@ApiModelProperty("背包类型(1我的库存 2提货背包 3福利箱子)")
private Integer packType;
private List<Integer> uidList;
private List<Integer> statusList;
private List<Integer> sourceList;
private String name;
private String beginTime;
private String endTime;
@ApiModelProperty("价格排序方向(1升序 2降序,null不排序)")
private Integer priceSort;
@ApiModelProperty("时间排序方向(1升序 2降序,null不排序)")
private Integer timeSort;
}
@@ -0,0 +1,71 @@
package com.ruoyi.domain.dto.queryCondition;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class OrnamentCondition implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableField(value = "id", fill = FieldFill.INSERT)
private Long id;
@Excel(name = "长名称")
@TableField("name")
private String name;
private BigDecimal minPrice;
private BigDecimal maxPrice;
@Excel(name = "类别")
private String type;
@Excel(name = "品质")
private String quality;
@Excel(name = "稀有度")
private String rarity;
@Excel(name = "外观")
private String exterior;
// 1上架 0下架
private String isPutaway;
// 0是本网站自定义道具 1否
private Boolean isProprietaryProperty;
@Min(value = 1,message = "最小1")
private Integer page;
@Max(value = 20,message = "最大20")
private Integer size;
@Min(value = 1,message = "最小1")
private Integer pageNum;
@Max(value = 20,message = "最大20")
private Integer pageSize;
private Integer limit;
}
@@ -0,0 +1,29 @@
package com.ruoyi.domain.dto.queryCondition;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class RollPrizesCondition {
@NotNull(message = "rollId不能为空。")
private Integer rollId;
@Min(value = 1,message = "最小1")
@NotNull(message = "page不能为空")
private Integer page;
@Max(value = 20,message = "最大20")
@NotNull(message = "page不能为空")
private Integer size;
private Integer limit;
}
@@ -0,0 +1,24 @@
package com.ruoyi.domain.dto.recharge;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class RechargeConfigOrderVo {
@Excel(name = "商品ID")
private Integer goodsId;
@Excel(name = "商品价格")
private BigDecimal goodsPrice;
@Excel(name = "商品数量")
private Integer goodsNum;
@Excel(name = "商品总价")
private BigDecimal totalAmount;
@Excel(name = "支付图片")
private String picture;
}
@@ -0,0 +1,27 @@
package com.ruoyi.domain.dto.roll;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class GetRollOpenPrizeParam {
@NotNull(message = "不能为空")
private Integer rollId;
@Min(value = 1,message = "最小1")
private Integer page;
@Min(value = 1,message = "最小1")
@Max(value = 20,message = "最大20")
private Integer size;
private Integer limit;
}
@@ -0,0 +1,27 @@
package com.ruoyi.domain.dto.roll;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class GetRollPlayersParam {
@NotNull(message = "不能为空")
private Integer rollId;
@Min(value = 1, message = "页码最小为1")
private Integer page;
@Min(value = 1, message = "长度最小为1")
@Max(value = 20, message = "长度最大为20")
private Integer size;
private Integer limit;
}
@@ -0,0 +1,29 @@
package com.ruoyi.domain.dto.roll;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class GetRollPrizePool {
@NotNull(message = "不能为空")
private Integer rollId;
private Integer jackpotId;
@Min(value = 1,message = "最小1")
private Integer page;
@Min(value = 1,message = "最小1")
@Max(value = 20,message = "最大20")
private Integer size;
private Integer limit;
}
@@ -0,0 +1,24 @@
package com.ruoyi.domain.dto.roll;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class InviteRollUser {
@NotNull(message = "rollId不能为空")
private Integer rollId;
@NotEmpty
private List<Integer> userIds;
}
@@ -0,0 +1,60 @@
package com.ruoyi.domain.dto.rollJackpotOrnament;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class RollJOEdit {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
private Integer id;
@Excel(name = "Roll房奖池ID")
private Integer jackpotId;
@Excel(name = "Roll房奖池饰品ID")
private Long ornamentsId;
@Excel(name = "饰品价格")
private BigDecimal price;
@Excel(name = "饰品图片id")
private String ornamentImgId;
@Excel(name = "饰品图片")
private String imgUrl;
@Excel(name = "饰品名称")
private String ornamentName;
@Excel(name = "饰品级别ID")
private Integer ornamentsLevelId;
@Excel(name = "饰品数量")
private Integer ornamentsNum;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,25 @@
package com.ruoyi.domain.dto.share;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 分享记录列表查询参数
*/
@Data
@ApiModel("分享记录列表查询参数")
public class ShareRecordQueryDTO {
/** 可选;按被邀请人用户ID过滤 */
@ApiModelProperty("下级用户ID(可选)")
private Long subUserId;
/** 页码(由前端传入) */
@ApiModelProperty(value = "页码", required = true, example = "1")
private Integer pageNum;
/** 每页大小(由前端传入) */
@ApiModelProperty(value = "每页大小", required = true, example = "10")
private Integer pageSize;
}
@@ -0,0 +1,47 @@
package com.ruoyi.domain.dto.sys;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class OrderQueryCondition {
private List<Integer> uidList;
private List<Integer> statusList;
// 时间区间
private String beginTime;
private String endTime;
// 订单号
private String orderId;
// 外部订单号
private String outTradeNo;
// 排序字段: time、totalAmount
private String orderByFie;
// 升1 降2
private Integer orderByType;
@Min(value = 1,message = "最小1")
private Integer page;
@Min(value = 1,message = "最小1")
@Max(value = 20,message = "最大20")
private Integer size;
private Integer limit;
}
@@ -0,0 +1,34 @@
package com.ruoyi.domain.dto.sys;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class TeamUsersParam {
private String userName;
private List<Integer> bossIds;
private List<Integer> employeeIds;
// 排序字段 1、充值金额 2、综合消费 3、金币消费 4、积分消费
private Integer orderByFie;
// 1升 2降
private Integer orderType;
// 时间区间 格式:yyyy-MM-dd HH:mm:ss
private String beginTime;
private String endTime;
@Min(value = 1,message = "最小值1")
private Integer page;
@Min(value = 1,message = "最小值1")
@Max(value = 20,message = "最大值20")
private Integer size;
}
@@ -0,0 +1,26 @@
package com.ruoyi.domain.dto.upgrade;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;
import jakarta.validation.constraints.Min;
/**
* 个人幸运升级历史记录查询请求
* 不区分成功/失败,全部记录都返回,按 open_time 倒序。
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
public class MyUpgradeRecordRequest {
/** 页码,从1开始 */
@Min(value = 1, message = "页码最小1")
private Integer page = 1;
/** 每页条数,最大20 */
@Range(min = 1, max = 20, message = "每页条数范围1-20")
private Integer size = 10;
}
@@ -0,0 +1,29 @@
package com.ruoyi.domain.dto.upgrade;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class UpgradeCondition {
private Long upgradeRecordId;
//@NotNull(message = "升级饰品id不能为空。")
private Long ornamentId;
private String userType;
private Integer userId;
@Min(value = 1,message = "页码最小1")
private Integer page;
@Range(min = 1,max = 20)
private Integer size;
private Integer limit;
}
@@ -0,0 +1,35 @@
package com.ruoyi.domain.dto.upgrade;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;
import jakarta.validation.constraints.Min;
/**
* 幸运升级记录分页查询请求
* <p>通过 scope(我的/全服) 与 itemScope(当前饰品/全部饰品) 两个维度组合,按 open_time 倒序分页。</p>
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
public class UpgradeRecordPageRequest {
/** 范围:0=全服(所有用户) 1=我的(当前登录用户) */
private Integer scope = 0;
/** 饰品:0=全部饰品 1=当前饰品 */
private Integer itemScope = 0;
/** 当前可升级饰品ID(tt_upgrade_ornaments.id),itemScope=1(当前饰品) 时必填 */
private Long upgradeId;
/** 页码,从1开始 */
@Min(value = 1, message = "页码最小1")
private Integer page = 1;
/** 每页条数,最大20 */
@Range(min = 1, max = 20, message = "每页条数范围1-20")
private Integer size = 10;
}
@@ -0,0 +1,40 @@
package com.ruoyi.domain.dto.userRecord;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import java.util.Date;
@Data
public class AmountRecordsDetailCondition {
private Integer userId;
private String nickName;
private String phoneNumber;
// 收入1 支出0
private Integer type;
private String source;
// 1金币 2积分
@NotNull(message = "moneyType不能为空")
private Integer moneyType;
@Min(value = 1,message = "最小值1")
private Integer page;
@Min(value = 1,message = "最小值1")
private Integer size;
private Integer limit;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
}
@@ -0,0 +1,45 @@
package com.ruoyi.domain.dto.userRecord;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class BlendErcashCondition {
private Integer userId;
private Integer source;
private Integer type;
private String userName;
private Integer moneyType;
private String phoneNumber;
/** 查询开始时间,为空时默认最近 15 天 */
private String startTime;
/** 查询结束时间,为空时默认当前时间 */
private String endTime;
@NotNull(message = "页码不能为空")
@Min(value = 1,message = "最小1")
private Integer page;
@NotNull(message = "分页长度不能为空")
@Min(value = 1,message = "最小1")
@Max(value = 20,message = "最大20")
private Integer size;
private Integer limit;
}
@@ -0,0 +1,32 @@
package com.ruoyi.domain.dto.userRecord;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
public class DeliveryRecordsConfition {
private List<Integer> statusList;
private List<Integer> uIdList;
@Min(value = 1,message = "最小1")
private Integer page;
@Min(value = 1,message = "最小1")
@Max(value = 20,message = "最大20")
private Integer size;
private Integer limit;
}
@@ -0,0 +1,32 @@
package com.ruoyi.domain.dto.userRecord;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class OrderCondition {
private List<Integer> userIdList;
@Min(value = 1,message = "最小1")
private Integer page;
@Min(value = 1,message = "最小1")
private Integer size;
private Integer limit;
// 1时间升序 2 时间降序
private Integer orderBy;
@NotNull(message = "订单状态不能为空")
private Integer status;
}
@@ -0,0 +1,52 @@
package com.ruoyi.domain.dto.userRecord;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 个人资产详情 - 我的记录 统一请求参数
* tab 1=余额记录 2=充值记录 3=提货记录 4=赠送记录
* timeRange 1=今日 2=昨日 3=近7日(可选,默认 3;接口只返回近 7 天数据,三种取值均不超过 7 天)
* subFilter 二级筛选(语义随 tab 变化),不传或传 0 默认全部:
* - tab=1 余额:0=全部 1=消费 2=充值 4=结算 5=奖励
* 过滤条件:amount 与 credits 不同时为 0;金额取值优先 amount,为 0 时走 credits(分解饰品等结算收入仅写 credits 列)
* 按 source 集合过滤:
* 充值={1}
* 奖励={3,5,7,9,11,13,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,39,41,43,44}(金额取正)
* 消费={2,4,6,8,12,33,34,38,40}(金额取负)
* 结算={10,16,17,37,42}
* - tab=4 赠送:0=全部 1=赠送(我送出) 2=受赠(我收到)
* - tab=2/3 忽略该参数
* pageNum/pageSize 分页(默认 1/20,pageSize 上限 100),total 返回当前筛选条件下的真实总条数
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
public class ProfileRecordsRequest {
@NotNull(message = "tab不能为空")
@Min(value = 1, message = "tab最小1")
@Max(value = 4, message = "tab最大4")
private Integer tab;
/** 时间范围,可选;不传默认 3=近7日 */
@Min(value = 1, message = "timeRange最小1")
@Max(value = 3, message = "timeRange最大3")
private Integer timeRange = 3;
/** 二级筛选,可选;不传默认 0=全部 */
private Integer subFilter;
/** 页码,从 1 开始;不传默认 1 */
@Min(value = 1, message = "pageNum最小1")
private Integer pageNum = 1;
/** 每页条数;不传默认 20,最大 100 */
@Min(value = 1, message = "pageSize最小1")
@Max(value = 100, message = "pageSize最大100")
private Integer pageSize = 20;
}
@@ -0,0 +1,9 @@
package com.ruoyi.domain.dto.yyyouping;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
public class OnSaleCommodityDTO {
}
@@ -0,0 +1,67 @@
package com.ruoyi.domain.dto.yyyouping;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.sql.Timestamp;
// yy平台下载的饰品信息
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class OrnamentYY implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "id",type = IdType.AUTO)
private Long id;
@Excel(name = "名称")
@TableField("name")
private String name;
@Excel(name = "哈希名称")
@TableField("hash_name")
private String hashName;
@Excel(name = "类型id")
@TableField("type_id")
private String typeId;
@Excel(name = "type_name")
@TableField("type_name")
private String typeName;
@Excel(name = "type_hash_name")
@TableField("type_hash_name")
private String typeHashName;
@Excel(name = "weapon_id")
@TableField("weapon_id")
private Integer weaponId;
@Excel(name = "weapon_name")
@TableField("weapon_name")
private String weaponName;
@Excel(name = "weapon_hash_name")
@TableField("weapon_hash_name")
private String weaponHashName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField("update_time")
private Timestamp updateTime;
}
@@ -0,0 +1,128 @@
package com.ruoyi.domain.dto.zbt;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;
// zbt平台下载的饰品信息
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class OrnamentZBT implements Serializable {
@AllArgsConstructor
@NoArgsConstructor
@Data
public static class PriceInfo{
private Long userId;
private BigDecimal price;
private Integer quantity;
private BigDecimal autoDeliverPrice;
private Integer autoDeliverQuantity;
private BigDecimal manualDeliverPrice;
private Integer manualQuantity;
}
@TableField(exist = false)
private static final long serialVersionUID = 1L;
private String appId;
@Excel(name = "ZBT官网饰品ID")
private Long itemId;
@Excel(name = "价格和在售信息")
private PriceInfo priceInfo;
@Excel(name = "长名称")
@TableField("name")
private String itemName;
@Excel(name = "饰品唯一名称英文")
private String marketHashName;
@Excel(name = "短名称")
private String shortName;
@Excel(name = "图片")
private String imageUrl;
@Excel(name = "类别")
private String type;
@Excel(name = "类别中文名")
private String typeName;
@Excel(name = "品质")
private String quality;
@Excel(name = "品质名称")
private String qualityName;
@Excel(name = "品质颜色")
private String qualityColor;
@Excel(name = "稀有度")
private String rarity;
@Excel(name = "稀有度名称")
private String rarityName;
@Excel(name = "稀有度颜色")
private String rarityColor;
@Excel(name = "外观")
private String exterior;
@Excel(name = "外观名称")
private String exteriorName;
// @Excel(name = "本网站使用价格")
// private BigDecimal usePrice;
// @Excel(name = "在售最低价")
// private BigDecimal price;
// @Excel(name = "在售数量")
// private Integer quantity;
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// private Date createTime;
//
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// private Date updateTime;
//
// private String remark;
//
// private String isPutaway;
//
// private String isProprietaryProperty;
// @Override
// public boolean equals(Object o) {
// if (this == o) return true;
// if (o == null || getClass() != o.getClass()) return false;
// OrnamentZBT that = (OrnamentZBT) o;
// return Objects.equals(marketHashName, that.marketHashName);
// }
//
// @Override
// public int hashCode() {
// return Objects.hash(marketHashName);
// }
}
@@ -0,0 +1,76 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@TableName("tt_box_transfer_record")
public class BoxTransferRecord implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 转增人uid
*/
private Long srcUid;
/**
* 授予人uid
*/
private Long dstUid;
/**
* 宝箱记录ID
*/
private Long boxRecordId;
/**
* 宝箱中饰品ID
*/
private Long ornamentId;
private String marketHashName;
private String ornamentsZbtId;
private String ornamentsYyId;
private String ornamentName;
private BigDecimal ornamentsPrice;
private String imageUrl;
private Integer ornamentsLevelId;
private String ornamentLevelImg;
/**
* 转赠状态:0-审核中,1-成功,2-失败
*/
private Integer status;
/**
* 记录创建时间
*/
private LocalDateTime createTime;
/**
* 记录更新时间
*/
private LocalDateTime updateTime;
}
@@ -0,0 +1,28 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "game_sugar_spin")
public class GameSugarSpin implements Serializable {
private Long gid;
private BigDecimal score;
private Integer count;
private String feature;
private Integer extraFree;
private LocalDateTime createTime;
private LocalDateTime updateTime;
}
@@ -0,0 +1,44 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "game_sugar_step_info")
public class GameSugarStepInfo implements Serializable {
private Long id;
private Long gid;
private Integer freeSpinId;
private Integer aes;
private String multipler;
private List<Integer> multipler2;
private String grid;
private String symbolLinks;
private List<SymbolLink> symbolLinks2;
private BigDecimal score;
private LocalDateTime createTime;
private LocalDateTime updateTime;
@Data
public static class SymbolLink implements Serializable {
private String symbol;
private List<Integer> loc;
private List<Integer> multipler;
private Integer totalMulti;
private Double baseScore;
private Double score;
}
}
@@ -0,0 +1,30 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "game_sugar_user")
public class GameSugarUser implements Serializable {
private Long id;
private Integer userId;
private BigDecimal totalBet;
private BigDecimal totalWin;
private Integer count;
private Integer freeCount;
private Integer superFreeCount;
private LocalDateTime createTime;
private LocalDateTime updateTime;
}
@@ -0,0 +1,31 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "game_sugar_win")
public class GameSugarWin implements Serializable {
private Long id;
private LocalDateTime date;
private BigDecimal initBet;
private BigDecimal totalBet;
private BigDecimal totalWin;
private Integer count;
private Integer freeCount;
private Integer superFreeCount;
private LocalDateTime createTime;
private LocalDateTime updateTime;
}
@@ -0,0 +1,64 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.ibatis.type.Alias;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 推广CDKEY兑换记录表
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Alias("AdminPromoCdkeyRedeem")
@TableName("promo_cdkey_redeem")
public class PromoCdkeyRedeem implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 关联promo_cdkey.id */
private Long cdkeyId;
/** CDKEY码 */
private String cdkeyCode;
/** 兑换者ID */
private Long redeemerId;
/** 兑换者名称 */
private String redeemerName;
/** 单个价值(金币) */
private BigDecimal unitValue;
/** 兑换时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date redeemTime;
/** 生成者名称(来自promo_cdkey表) */
@TableField(exist = false)
private String creatorName;
/** 生成者用户ID(查询条件,来自promo_cdkey表) */
@TableField(exist = false)
private Long creatorId;
/** 兑换者昵称(来自tt_user表) */
@TableField(exist = false)
private String redeemerNickName;
}
@@ -0,0 +1,55 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 空白卡密(管理后台生成,独立于卡商卡密表)
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("tt_blank_card_key")
public class TtBlankCardKey implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 卡密编码(唯一) */
private String cardCode;
/** 面值金额 */
private BigDecimal amount;
/** 使用者ID */
private Long usedById;
/** 使用者名称 */
private String usedByName;
/** 使用时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date usedTime;
/** 状态: 0=未使用, 1=已使用 */
private Integer status;
/** 创建者名称 */
private String creatorName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
}
@@ -0,0 +1,112 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_box_records")
public class TtBoxRecords implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId
private Long id;
@Excel(name = "用户ID")
private Integer userId;
@Excel(name = "宝箱ID")
private Integer boxId;
@Excel(name = "宝箱名称")
private String boxName;
@Excel(name = "宝箱价格")
private BigDecimal boxPrice;
@Excel(name = "转盘期号")
@TableField("period_no")
private Long periodNo;
@Excel(name = "饰品ID")
@TableField("ornament_id")
private Long ornamentId;
@Excel(name = "市场唯一hash名称")
@TableField("market_hash_name")
private String marketHashName;
@Excel(name = "zbt ID")
@TableField("ornaments_zbt_id")
private String ornamentsZbtId;
@Excel(name = "yy ID")
@TableField("ornaments_yy_id")
private String ornamentsYyId;
@Excel(name = "饰品名称")
private String ornamentName;
@Excel(name = "饰品价格")
private BigDecimal ornamentsPrice;
@Excel(name = "饰品图片")
private String imageUrl;
@Excel(name = "饰品级别ID")
private Integer ornamentsLevelId;
@Excel(name = "饰品级别图片")
private String ornamentLevelImg;
// 0、在背包显示 1、已分解
@Excel(name = "状态")
private Integer status;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
// 0、对战
@Excel(name = "饰品来源")
private Integer source;
@Excel(name = "对战ID")
private Integer fightId;
@Excel(name = "对战模式:回合数")
private Integer fightRoundNumber;
@Excel(name = "Roll房ID")
private Integer rollId;
@Excel(name = "持有者_用户ID")
private Integer holderUserId;
// 用于对战模式,游戏完全结束才显示
@TableField("is_show")
private Integer isShow;
@Excel(name = "外观名称")
@TableField(exist = false)
private String exteriorName;
}
@@ -0,0 +1,65 @@
package com.ruoyi.domain.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class TtCommissionRecord {
/**
* ID
*/
private Integer id;
/**
* 推广人员ID
*/
private Integer userId;
/**
* 佣金
*/
private BigDecimal commission;
/**
* 汇总时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date summaryTime;
/**
* 结算周期开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date settlementStartTime;
/**
* 结算周期结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date settlementEndTime;
/**
* 结算周期内参与计算的流水总额
*/
private BigDecimal totalFlow;
/**
* 结算时使用的费率快照(百分比数值,如 0.5 表示 0.5%)
*/
private BigDecimal rate;
/**
* 领取状态(0未领取 1已领取)
*/
private String claimStatus;
/**
* 领取时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date claimTime;
}
@@ -0,0 +1,92 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 亏损返水结算明细 tt_loss_rebate
* <p>
* 每个自然半月每个亏损玩家一条记录,是后台「CDK管理 - 亏损返水」页面的数据源。
* 定时任务结算时写入;status=0(超过单期上限)的记录等运营在该页面点「发放CDK」人工发放。
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName("tt_loss_rebate")
public class TtLossRebate implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 期次,格式 yyyy-MM-dd~yyyy-MM-dd(区分上下半月) */
private String period;
@TableField("user_id")
private Integer userId;
@TableField("user_name")
private String userName;
@TableField("nick_name")
private String nickName;
/** 本期游戏投入(bet 类 source 绝对值之和) */
@TableField("bet_amount")
private BigDecimal betAmount;
/** 本期游戏产出(reward 类 source 绝对值之和) */
@TableField("win_amount")
private BigDecimal winAmount;
/** 净亏 = 投入 - 产出,>0 才落记录 */
@TableField("loss_amount")
private BigDecimal lossAmount;
/** 应返水 = 净亏 × lossRebateRate */
@TableField("rebate_amount")
private BigDecimal rebateAmount;
/** 0=待人工发放(超单期上限) 1=已自动发放 2=已人工发放 */
private Integer status;
/** 关联 tt_red_packet.id */
@TableField("red_packet_id")
private Integer redPacketId;
/** 发放的CDK口令,后台可直接复制给玩家 */
private String cdkey;
@TableField("grant_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date grantTime;
@TableField("grant_by")
private String grantBy;
private String remark;
@TableField("create_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@TableField("update_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,80 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_order")
public class TtOrder implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
private Integer id;
@Excel(name = "用户ID")
private Integer userId;
// 见PartyType
@Excel(name = "第三方")
private String thirdParty;
/**
* 0卡密 1支付宝 2微信 见PayType
*/
@Excel(name = "订单类型")
private String type;
@Excel(name = "商品ID")
private Integer goodsId;
@Excel(name = "商品价格")
private BigDecimal goodsPrice;
@Excel(name = "商品数量")
private Integer goodsNum;
@Excel(name = "商品总价")
private BigDecimal totalAmount;
@Excel(name = "订单号")
private String orderId;
@Excel(name = "外部订单号")
private String outTradeNo;
@Excel(name = "sign验签密钥")
private String sign;
@Excel(name = "支付状态")
private String status;
@Excel(name = "支付跳转链接")
private String payUrl;
@Excel(name = "百度推广bdVid")
private String bdVid;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,126 @@
package com.ruoyi.domain.entity;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_ornament")
public class TtOrnament implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@Excel(name = "饰品唯一名称英文")
@TableId(value = "market_hash_name", type = IdType.INPUT)
private String marketHashName;
@TableField(value = "id", fill = FieldFill.INSERT)
private Long id;
@Excel(name = "zbt_id")
@TableField("zbt_id")
private Long zbtId;
@Excel(name = "yyyouping_id")
@TableField("yyyouping_id")
private Long yyyoupingId;
@Excel(name = "长名称")
@TableField("name")
private String name;
@Excel(name = "本网站使用价格(rmb)")
private BigDecimal usePrice;
@Excel(name = "图片")
private String imageUrl;
@Override
public int hashCode() {
return Objects.hash(this.marketHashName);
}
@Excel(name = "在售最低价")
private BigDecimal price;
@Excel(name = "商城价格")
private BigDecimal storePrice;
@Excel(name = "在售数量")
private Integer quantity;
@Excel(name = "短名称")
private String shortName;
@Excel(name = "类别")
private String type;
@Excel(name = "类别中文名")
private String typeName;
@Excel(name = "类别hash名")
@TableField("type_hash_name")
private String typeHashName;
@Excel(name = "品质")
private String quality;
@Excel(name = "品质hash")
private String qualityHashName;
@Excel(name = "品质名称")
private String qualityName;
@Excel(name = "品质颜色")
private String qualityColor;
@Excel(name = "稀有度")
private String rarity;
private String rarityHashName;
@Excel(name = "稀有度名称")
private String rarityName;
@Excel(name = "稀有度颜色")
private String rarityColor;
@Excel(name = "外观")
private String exterior;
@Excel(name = "外观")
private String exteriorHashName;
@Excel(name = "外观名称")
private String exteriorName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
private String remark;
// 0上架 1下架
private String isPutaway;
// 0是本网站自定义道具 1否
private String isProprietaryProperty;
}
@@ -0,0 +1,72 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_ornament_yy")
public class TtOrnamentsYY implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
@Excel(name = "哈希名称")
@TableField("hash_name")
private String hashName;
@Excel(name = "名称")
@TableField("name")
private String name;
@Excel(name = "类型id")
@TableField("type_id")
private Integer typeId;
@Excel(name = "type_name")
@TableField("type_name")
private String typeName;
@Excel(name = "type_hash_name")
@TableField("type_hash_name")
private String typeHashName;
@Excel(name = "weapon_id")
@TableField("weapon_id")
private Integer weaponId;
@Excel(name = "weapon_name")
@TableField("weapon_name")
private String weaponName;
@Excel(name = "weapon_hash_name")
@TableField("weapon_hash_name")
private String weaponHashName;
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField("update_time")
private Timestamp updateTime;
}
@@ -0,0 +1,61 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 卡商生成的卡密 promo_card_key
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("promo_card_key")
public class TtPromoCardKey implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 卡密编码(唯一) */
private String cardCode;
/** 面值金额 */
private BigDecimal amount;
/** 充值列表ID */
private Integer rechargeListId;
/** 创建者ID(卡商userId) */
private Long creatorId;
/** 创建者名称 */
private String creatorName;
/** 使用者ID */
private Long usedById;
/** 使用者名称 */
private String usedByName;
/** 使用时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date usedTime;
/** 状态: 0=未使用, 1=已使用 */
private Integer status;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
}
@@ -0,0 +1,57 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_promotion_level")
public class TtPromotionLevel implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId
private Integer id;
@Excel(name = "推广等级名称")
private String name;
@Excel(name = "推广等级图标")
private String icon;
@Excel(name = "推广等级达标金额")
private BigDecimal rechargeThreshold;
@Excel(name = "推广返佣比例")
private BigDecimal commissions;
@Excel(name = "等级达标奖励红包金额")
private BigDecimal addedBonus;
@Excel(name = "充值赠送比例")
private BigDecimal rechargeGiftRatio;
@Excel(name = "描述")
private String description;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,60 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_promotion_record")
public class TtPromotionRecord implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId
private Integer id;
@Excel(name = "用户ID")
private Integer userId;
@Excel(name = "下级用户ID")
private Integer subordinateUserId;
@Excel(name = "下级用户充值金额")
private BigDecimal rechargePrice;
/**
* 下级用户总消费
*/
@TableField(exist = false)
private BigDecimal totalConsumption;
@Excel(name = "返佣金额")
private BigDecimal rebate;
@Excel(name = "充值记录ID")
private Integer rechargeRecordId;
private String status;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,48 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_recharge_config")
public class TtRechargeConfig implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId
private Integer id;
// 名称
private String name;
@Excel(name = "充值金额")
private BigDecimal price;
// 0启用,1禁用
@Excel(name = "状态")
private String status;
// 产品:金币
@TableField("product_a")
private BigDecimal productA;
// 图片信息
@TableField("picture")
private String picture;
}
@@ -0,0 +1,57 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_recharge_prod")
public class TtRechargeProd implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId
private Integer id;
// 名称
private String name;
@Excel(name = "充值金额")
private BigDecimal price;
// 0启用,1禁用
@Excel(name = "状态")
private String status;
@Excel(name = "卡密链接")
private String cardLink;
// 产品:金币
@TableField("product_a")
private BigDecimal productA;
// 产品:积分
@TableField("product_c")
private BigDecimal productC;
// 图片信息
@TableField("picture")
private String picture;
@Excel(name = "交易链接")
private String transactionLink;
}
@@ -0,0 +1,102 @@
package com.ruoyi.domain.entity;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;
import java.util.Objects;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_user_blend_ercash")
public class TtUserBlendErcash implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@Excel(name = "id")
@TableId(value = "id",type = IdType.AUTO)
private Long id;
@Excel(name = "user_id")
@TableField("user_id")
private Integer userId;
/**
* 上级主播 ID(消费时的直属上级主播)
* 用于防借流水风控 - 记录消费时的归属关系快照
*/
@Excel(name = "上级主播 ID")
@TableField("anchor_id")
private Integer anchorId;
/**
* 最终招商 ID(上级主播所属的招商)
* 用于防借流水风控 - 记录消费时的归属关系快照
*/
@Excel(name = "招商 ID")
@TableField("business_id")
private Integer businessId;
@Excel(name = "金币")
@TableField("amount")
private BigDecimal amount;
@Excel(name = "final_amount")
@TableField("final_amount")
private BigDecimal finalAmount;
@Excel(name = "积分")
@TableField("credits")
private BigDecimal credits;
@Excel(name = "final_credits")
@TableField("final_credits")
private BigDecimal finalCredits;
@Excel(name = "合计")
@TableField("total")
private BigDecimal total;
/**
* @see com.ruoyi.domain.common.constant.TtAccountRecordSource
*/
@Excel(name = "来源")
@TableField("source")
private Integer source;
/**
* @see com.ruoyi.domain.common.constant.TtAccountRecordType
*/
@Excel(name = "收支类型")
@TableField("type")
private Integer type;
@Excel(name = "create_time")
@TableField("create_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp createTime;
@Excel(name = "update_time")
@TableField("update_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp updateTime;
@Excel(name = "笔记")
@TableField("remark")
private String remark;
}
@@ -0,0 +1,71 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 流水归档表 —— 存储 7 天前的历史流水数据。
* 结构与 tt_user_blend_ercash 保持一致,额外增加 archive_time 标记归档时间。
* id 不使用 AUTO_INCREMENT,直接搬运原表 id。
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("tt_user_blend_ercash_archive")
public class TtUserBlendErcashArchive implements Serializable {
private static final long serialVersionUID = 1L;
/** 与原表 id 一致(迁移后原表删除) */
@TableId(value = "id", type = IdType.INPUT)
private Long id;
@TableField("user_id")
private Integer userId;
@TableField("amount")
private BigDecimal amount;
@TableField("final_amount")
private BigDecimal finalAmount;
@TableField("credits")
private BigDecimal credits;
@TableField("final_credits")
private BigDecimal finalCredits;
@TableField("total")
private BigDecimal total;
@TableField("source")
private Integer source;
@TableField("type")
private Integer type;
@TableField("remark")
private String remark;
@TableField("create_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@TableField("update_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/** 归档时间 */
@TableField("archive_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date archiveTime;
}
@@ -0,0 +1,58 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 用户来源日报表 —— 按 user_id + source + report_date 维度统计累计流水。
* 凌晨 3 点由定时任务增量生成:今日 total = 昨日 total + 今日 delta。
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("tt_user_source_report")
public class TtUserSourceReport implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 用户ID */
@TableField("user_id")
private Integer userId;
/** 邀请人ID(来自 tt_user.parent_id) */
@TableField("parent_id")
private Integer parentId;
/** 来源 source 码(对应 TtAccountRecordSource.code) */
@TableField("source")
private Integer source;
/** 截至当日的累计金额绝对值总和(与 tt_user_blend_ercash.total 语义对齐) */
@TableField("total")
private BigDecimal total;
/** 报表日期 */
@TableField("report_date")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date reportDate;
@TableField("create_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@TableField("update_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,47 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 主号-副号关联表(一个主号最多绑定5个副号)
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("tt_user_sub_account")
public class TtUserSubAccount implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 主号用户ID
*/
private Long mainUid;
/**
* 副号用户ID
*/
private Long subUid;
/**
* 绑定时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
}
@@ -0,0 +1,48 @@
package com.ruoyi.domain.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("tt_welfare_box_inventory")
public class TtWelfareBoxInventory implements Serializable {
private static final long serialVersionUID = 1L;
@TableId
private Long id;
/** 用户ID */
private Long userId;
/** 福利ID */
private Integer welfareId;
/** 箱子ID */
private Integer boxId;
/** 状态:0=未开启 1=已开启 */
private Integer status;
/** 领取日期 */
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
private Date claimDate;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "Asia/Shanghai")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date updateTime;
}
@@ -0,0 +1,41 @@
package com.ruoyi.domain.entity.box;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_box_third_explosive_user")
public class TtBoxThirdExplosiveUser implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
private Integer id;
@Excel(name = "宝箱ID")
private Integer boxId;
@Excel(name = "参与者_用户ID")
private Integer userId;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
}
@@ -0,0 +1,102 @@
package com.ruoyi.domain.entity.delivery;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_delivery_record")
public class TtDeliveryRecord implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId
private Integer id;
@Excel(name = "用户ID")
private Integer userId;
@Excel(name = "用户背包记录ID")
private Long boxRecordsId;
@Excel(name = "饰品ID")
@TableField("ornament_id")
private Long ornamentId;
@Excel(name = "市场唯一hashName")
@TableField("market_hash_name")
private String marketHashName;
@Excel(name = "饰品价格")
private BigDecimal ornamentsPrice;
@Excel(name = "网站订单号")
private String outTradeNo;
/**
* 批次号,同一申请的多饰品共用(用于批量处理次数)
*/
@Excel(name = "批次号")
private String batchId;
/**
* 申请提货时的 VIP 等级(锁定值,不随用户升级而变化)
*/
@Excel(name = "申请时VIP等级")
private Integer applyVipLevelId;
/**
* 网站发货模式(1人工发货 2自动发货 3主播号提取)
*/
@Excel(name = "网站发货模式")
private Integer delivery;
@Excel(name = "实际购买价格")
private BigDecimal buyPrice;
@Excel(name = "第三方平台订单号")
private String orderId;
@Excel(name = "第三方发货模式")
private Integer thirdpartyDelivery;
/**
* 发货订单状态(1待发货 3待收货 10订单完成 11订单取消)
*/
@Excel(name = "发货订单状态")
private Integer status;
/**
* 该批次次数是否已扣:0=未扣,1=已扣
*/
@Excel(name = "次数已扣")
private Integer timesDeducted;
private String message;
private String createBy;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
private String updateBy;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,48 @@
package com.ruoyi.domain.entity.exponent;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_exponent")
public class TtExponent implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
private Integer id;
@Excel(name = "指数结果")
private Integer exponent;
@Excel(name = "指数生成点")
private String points;
// 1上升 2下降
@Excel(name = "")
private Integer forward;
@Excel(name = "当天第几期")
private Integer number;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
}
@@ -0,0 +1,49 @@
package com.ruoyi.domain.entity.exponent;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_exponent_user")
public class TtExponentUser implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
private Integer id;
@Excel(name = "指数ID")
private Integer exponentId;
@Excel(name = "盒子ID")
private Integer boxId;
@Excel(name = "用户ID")
private Integer userId;
@Excel(name = "盒子ID")
private BigDecimal price;
// 1上升 2下降
@Excel(name = "1上升 2下降")
private Integer forward;
@Excel(name = "0默认,1成功,2失败")
private Integer status;
@Excel(name = "成功开箱结果ID")
private Long boxRecordId;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,39 @@
package com.ruoyi.domain.entity.exponent;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_exponent_user_box")
public class TtExponentUserBox implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
private Integer id;
@Excel(name = "盒子ID")
private Integer boxId;
@Excel(name = "用户ID")
private Integer userId;
@Excel(name = "宝箱数量")
private Integer number;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,84 @@
package com.ruoyi.domain.entity.fight;
import cn.hutool.core.util.ObjectUtil;
import lombok.*;
import java.math.BigDecimal;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class FightSeat {
private Integer fightId;
// 座位号
private Integer code;
private Integer playerId;
// 玩家状态(0空位 1入座 2就绪)
private Integer status;
// 头像
private String avatar;
private String nickName;
private Integer vipLevel;
private BigDecimal awardTotalPrices;
public FightSeat(Integer fightId, Integer code) {
this.fightId = fightId;
this.code = code;
this.status = 0;
}
public FightSeat(Integer code) {
this.code = code;
this.status = 0;
}
// 入座
public FightSeat sitDown(Integer playerId) {
if (ObjectUtil.isEmpty(code)) return null;
if (!status.equals(0)) return null;
this.playerId = playerId;
status = 1;
return this;
}
// 离开座位
public Boolean sitUp() {
if (ObjectUtil.isEmpty(this.playerId) || ObjectUtil.isEmpty(this.code)) {
return false;
}
if (!this.status.equals(1)) return false;
this.playerId = null;
this.status = 0;
// 与新建空位保持一致,使用 null 而非空串,避免前端把 "" 当作有效 URL 渲染破损头像
this.nickName = null;
this.avatar = null;
this.vipLevel = null;
return true;
}
// 准备
public FightSeat ready() {
if (ObjectUtil.isEmpty(code) || ObjectUtil.isEmpty(playerId)) return null;
if (status.equals(0)) return null;
this.status = 2;
return this;
}
// 取消准备
public FightSeat readyCancel() {
if (ObjectUtil.isEmpty(code) || ObjectUtil.isEmpty(playerId)) return null;
if (status.equals(0)) return null;
if (status.equals(1)) return this;
this.status = 1;
return this;
}
}
@@ -0,0 +1,100 @@
package com.ruoyi.domain.entity.fight;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.domain.entity.fight.FightSeat;
import com.ruoyi.domain.vo.fight.FightBoxVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_fight",autoResultMap = true)
public class TtFight implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId
private Integer id;
@Excel(name = "创建者ID")
private Integer userId;
@Excel(name = "座位")
@TableField(value = "seats",typeHandler = JacksonTypeHandler.class)
private List<FightSeat> seats;
// 1、欧皇 2、非酋
@Excel(name = "对战模式")
private String model;
// 组队模式(0或null=个人对战 1=2v2组队,座位0/1为一队、座位2/3为二队)
@Excel(name = "组队模式")
private Integer teamMode;
@Excel(name = "对战人数")
private Integer playerNum;
/**
* 观战人数
*/
@TableField(exist = false)
private Integer spectatorNum;
@Excel(name = "回合数")
private Integer roundNumber;
@TableField(value = "winner_ids",typeHandler = JacksonTypeHandler.class)
private List<Integer> winnerIds;
@Excel(name = "选择宝箱数据")
@TableField(value = "box_data",typeHandler = JacksonTypeHandler.class)
private Map<String, FightBoxVO> boxData;
@Excel(name = "创建宝箱价格总数")
private BigDecimal boxPriceTotal;
// 对战状态(0准备 1进行中 2结束 3超时强制结束)
@Excel(name = "对战状态")
private Integer status;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
// 开始时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp beginTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
@Excel(name = "备注")
private String remark;
/**
* 房主昵称(入库,用户被物理删除后仍可展示)
*/
@Excel(name = "房主昵称")
private String ownerNickName;
}
@@ -0,0 +1,72 @@
package com.ruoyi.domain.entity.lottery;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 流水抽奖活动表
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_turnover_lottery")
public class TtTurnoverLottery implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@Excel(name = "抽奖 ID")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@Excel(name = "抽奖名称")
private String lotteryName;
@Excel(name = "状态:0 关闭 1 开启")
private Integer status;
@Excel(name = "类型:0 普通宝箱 1 流水抽奖")
private Integer lotteryType;
@Excel(name = "该宝箱所需的流水门槛")
private Integer turnoverThreshold;
@Excel(name = "宝箱封面图")
private String imageUrl;
@Excel(name = "排序")
private Integer sort;
@Excel(name = "奖品总价值")
private BigDecimal totalValue;
@Excel(name = "每轮利润")
private Integer profitPerRound;
@Excel(name = "利润率")
private BigDecimal profitRate;
@Excel(name = "创建者")
private String createBy;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@Excel(name = "更新者")
private String updateBy;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,96 @@
package com.ruoyi.domain.entity.lottery;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 流水抽奖奖品表
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_turnover_lottery_prize")
public class TtTurnoverLotteryPrize implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@Excel(name = "奖品 ID")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@Excel(name = "关联抽奖活动 ID")
private Long lotteryId;
@Excel(name = "饰品 ID")
private Long ornamentId;
@Excel(name = "饰品名称")
private String ornamentName;
@Excel(name = "图片 URL")
private String imageUrl;
@Excel(name = "饰品价格")
private BigDecimal price;
@Excel(name = "饰品等级")
private Integer ornamentLevel;
@Excel(name = "磨损度")
private String exteriorName;
@Excel(name = "展示数量")
private Integer displayCount;
@Excel(name = "真实数量")
private Integer realCount;
@Excel(name = "初始真实数量")
private Integer initialRealCount;
@Excel(name = "排序")
private Integer sort;
@Excel(name = "已发放次数")
private Integer totalCount;
// 计算字段 (不映射数据库,仅用于展示)
@TableField(exist = false)
@Excel(name = "显示爆率 (%)")
private Double theoreticalRate;
@TableField(exist = false)
@Excel(name = "真实爆率 (%)")
private Double realRate;
@TableField(exist = false)
private String displayPercent;
@TableField(exist = false)
private String realPercent;
@TableField(exist = false)
private Integer realRemaining;
@TableField(exist = false)
private String levelImg;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
}
@@ -0,0 +1,60 @@
package com.ruoyi.domain.entity.lottery;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 流水抽奖记录表
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_turnover_lottery_record")
public class TtTurnoverLotteryRecord implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@Excel(name = "记录 ID")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@Excel(name = "用户 ID")
private Integer userId;
@Excel(name = "抽奖活动 ID")
private Long lotteryId;
@Excel(name = "奖品 ID")
private Long prizeId;
@Excel(name = "饰品 ID")
private Long ornamentId;
@Excel(name = "饰品名称")
private String ornamentName;
@Excel(name = "图片 URL")
private String imageUrl;
@Excel(name = "奖品价值")
private BigDecimal ornamentsPrice;
@Excel(name = "消耗的流水值")
private Integer costTurnover;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
}
@@ -0,0 +1,58 @@
package com.ruoyi.domain.entity.recorde;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
@TableName(value = "tt_user_amount_records")
public class TtUserAmountRecords implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
@TableId
private Integer id;
@Excel(name = "用户ID")
private Integer userId;
// 1、收入 2、支出
private Integer type;
// 来源
private Integer source;
@Excel(name = "变动金额")
private BigDecimal amount;
@Excel(name = "最终金额")
private BigDecimal finalAmount;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
private String remark;
private Integer pwChildId;
private String pwChildName;
private BigDecimal pwChildAccount;
@TableField("task_id")
private Integer taskId;
}

Some files were not shown because too many files have changed in this diff Show More