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;
}
}