diff --git a/src/main/java/com/yolo/keyborad/mapper/KeyboardThemePurchaseMapper.java b/src/main/java/com/yolo/keyborad/mapper/KeyboardThemePurchaseMapper.java new file mode 100644 index 0000000..7833710 --- /dev/null +++ b/src/main/java/com/yolo/keyborad/mapper/KeyboardThemePurchaseMapper.java @@ -0,0 +1,12 @@ +package com.yolo.keyborad.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yolo.keyborad.model.entity.KeyboardThemePurchase; + +/* +* @author: ziin +* @date: 2025/12/10 19:17 +*/ + +public interface KeyboardThemePurchaseMapper extends BaseMapper { +} \ No newline at end of file diff --git a/src/main/java/com/yolo/keyborad/mapper/KeyboardWalletTransactionMapper.java b/src/main/java/com/yolo/keyborad/mapper/KeyboardWalletTransactionMapper.java new file mode 100644 index 0000000..06a843a --- /dev/null +++ b/src/main/java/com/yolo/keyborad/mapper/KeyboardWalletTransactionMapper.java @@ -0,0 +1,12 @@ +package com.yolo.keyborad.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yolo.keyborad.model.entity.KeyboardWalletTransaction; + +/* +* @author: ziin +* @date: 2025/12/10 18:54 +*/ + +public interface KeyboardWalletTransactionMapper extends BaseMapper { +} \ No newline at end of file diff --git a/src/main/java/com/yolo/keyborad/model/entity/KeyboardThemePurchase.java b/src/main/java/com/yolo/keyborad/model/entity/KeyboardThemePurchase.java new file mode 100644 index 0000000..424e96c --- /dev/null +++ b/src/main/java/com/yolo/keyborad/model/entity/KeyboardThemePurchase.java @@ -0,0 +1,117 @@ +package com.yolo.keyborad.model.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 io.swagger.v3.oas.annotations.media.Schema; +import java.util.Date; +import lombok.Data; + +/* +* @author: ziin +* @date: 2025/12/10 19:17 +*/ + +/** + * 皮肤购买记录表(积分支付) + */ +@Schema(description="皮肤购买记录表(积分支付)") +@Data +@TableName(value = "keyboard_theme_purchase") +public class KeyboardThemePurchase { + @TableId(value = "id", type = IdType.AUTO) + @Schema(description="") + private Long id; + + /** + * 业务订单号 + */ + @TableField(value = "order_no") + @Schema(description="业务订单号") + private String orderNo; + + /** + * 购买用户ID + */ + @TableField(value = "user_id") + @Schema(description="购买用户ID") + private Long userId; + + /** + * 主题皮肤ID + */ + @TableField(value = "theme_id") + @Schema(description="主题皮肤ID") + private Long themeId; + + /** + * 皮肤原始所需积分 + */ + @TableField(value = "cost_points") + @Schema(description="皮肤原始所需积分") + private Integer costPoints; + + /** + * 实际扣除积分 + */ + @TableField(value = "paid_points") + @Schema(description="实际扣除积分") + private Integer paidPoints; + + /** + * 支付状态:0待支付 1已支付 2已关闭 3已退款 + */ + @TableField(value = "pay_status") + @Schema(description="支付状态:0待支付 1已支付 2已关闭 3已退款") + private Short payStatus; + + /** + * 关联的积分扣费流水ID + */ + @TableField(value = "wallet_tx_id") + @Schema(description="关联的积分扣费流水ID") + private Long walletTxId; + + /** + * 已退款的积分数量 + */ + @TableField(value = "refund_points") + @Schema(description="已退款的积分数量") + private Integer refundPoints; + + /** + * 积分退款完成时间 + */ + @TableField(value = "refunded_at") + @Schema(description="积分退款完成时间") + private Date refundedAt; + + /** + * 创建时间 + */ + @TableField(value = "created_at") + @Schema(description="创建时间") + private Date createdAt; + + /** + * 支付完成时间 + */ + @TableField(value = "paid_at") + @Schema(description="支付完成时间") + private Date paidAt; + + /** + * 更新时间 + */ + @TableField(value = "updated_at") + @Schema(description="更新时间") + private Date updatedAt; + + /** + * 备注或扩展信息 + */ + @TableField(value = "remark") + @Schema(description="备注或扩展信息") + private String remark; +} \ No newline at end of file diff --git a/src/main/java/com/yolo/keyborad/model/entity/KeyboardWalletTransaction.java b/src/main/java/com/yolo/keyborad/model/entity/KeyboardWalletTransaction.java new file mode 100644 index 0000000..18ffee0 --- /dev/null +++ b/src/main/java/com/yolo/keyborad/model/entity/KeyboardWalletTransaction.java @@ -0,0 +1,83 @@ +package com.yolo.keyborad.model.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 io.swagger.v3.oas.annotations.media.Schema; +import java.math.BigDecimal; +import java.util.Date; +import lombok.Data; + +/* +* @author: ziin +* @date: 2025/12/10 18:54 +*/ + +@Schema +@Data +@TableName(value = "keyboard_wallet_transaction") +public class KeyboardWalletTransaction { + /** + * 主键 Id + */ + @TableId(value = "id", type = IdType.AUTO) + @Schema(description="主键 Id") + private Long id; + + /** + * 用户 Id + */ + @TableField(value = "user_id") + @Schema(description="用户 Id") + private Long userId; + + /** + * 订单 Id + */ + @TableField(value = "order_id") + @Schema(description="订单 Id") + private Long orderId; + + /** + * 金额 + */ + @TableField(value = "amount") + @Schema(description="金额") + private BigDecimal amount; + + /** + * 变动类型 + */ + @TableField(value = "\"type\"") + @Schema(description="变动类型") + private Short type; + + /** + * 变动前余额 + */ + @TableField(value = "before_balance") + @Schema(description="变动前余额") + private BigDecimal beforeBalance; + + /** + * 变动后余额 + */ + @TableField(value = "after_balance") + @Schema(description="变动后余额") + private BigDecimal afterBalance; + + /** + * 描述 + */ + @TableField(value = "description") + @Schema(description="描述") + private String description; + + /** + * 创建时间 + */ + @TableField(value = "created_at") + @Schema(description="创建时间") + private Date createdAt; +} \ No newline at end of file diff --git a/src/main/java/com/yolo/keyborad/service/KeyboardThemePurchaseService.java b/src/main/java/com/yolo/keyborad/service/KeyboardThemePurchaseService.java new file mode 100644 index 0000000..622a5bb --- /dev/null +++ b/src/main/java/com/yolo/keyborad/service/KeyboardThemePurchaseService.java @@ -0,0 +1,13 @@ +package com.yolo.keyborad.service; + +import com.yolo.keyborad.model.entity.KeyboardThemePurchase; +import com.baomidou.mybatisplus.extension.service.IService; + /* +* @author: ziin +* @date: 2025/12/10 19:17 +*/ + +public interface KeyboardThemePurchaseService extends IService{ + + +} diff --git a/src/main/java/com/yolo/keyborad/service/KeyboardWalletTransactionService.java b/src/main/java/com/yolo/keyborad/service/KeyboardWalletTransactionService.java new file mode 100644 index 0000000..2f45cf9 --- /dev/null +++ b/src/main/java/com/yolo/keyborad/service/KeyboardWalletTransactionService.java @@ -0,0 +1,13 @@ +package com.yolo.keyborad.service; + +import com.yolo.keyborad.model.entity.KeyboardWalletTransaction; +import com.baomidou.mybatisplus.extension.service.IService; + /* +* @author: ziin +* @date: 2025/12/10 18:54 +*/ + +public interface KeyboardWalletTransactionService extends IService{ + + +} diff --git a/src/main/java/com/yolo/keyborad/service/impl/KeyboardThemePurchaseServiceImpl.java b/src/main/java/com/yolo/keyborad/service/impl/KeyboardThemePurchaseServiceImpl.java new file mode 100644 index 0000000..3d1a66e --- /dev/null +++ b/src/main/java/com/yolo/keyborad/service/impl/KeyboardThemePurchaseServiceImpl.java @@ -0,0 +1,18 @@ +package com.yolo.keyborad.service.impl; + +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yolo.keyborad.model.entity.KeyboardThemePurchase; +import com.yolo.keyborad.mapper.KeyboardThemePurchaseMapper; +import com.yolo.keyborad.service.KeyboardThemePurchaseService; +/* +* @author: ziin +* @date: 2025/12/10 19:17 +*/ + +@Service +public class KeyboardThemePurchaseServiceImpl extends ServiceImpl implements KeyboardThemePurchaseService{ + +} diff --git a/src/main/java/com/yolo/keyborad/service/impl/KeyboardWalletTransactionServiceImpl.java b/src/main/java/com/yolo/keyborad/service/impl/KeyboardWalletTransactionServiceImpl.java new file mode 100644 index 0000000..d2ac966 --- /dev/null +++ b/src/main/java/com/yolo/keyborad/service/impl/KeyboardWalletTransactionServiceImpl.java @@ -0,0 +1,18 @@ +package com.yolo.keyborad.service.impl; + +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yolo.keyborad.mapper.KeyboardWalletTransactionMapper; +import com.yolo.keyborad.model.entity.KeyboardWalletTransaction; +import com.yolo.keyborad.service.KeyboardWalletTransactionService; +/* +* @author: ziin +* @date: 2025/12/10 18:54 +*/ + +@Service +public class KeyboardWalletTransactionServiceImpl extends ServiceImpl implements KeyboardWalletTransactionService{ + +} diff --git a/src/main/resources/mapper/KeyboardThemePurchaseMapper.xml b/src/main/resources/mapper/KeyboardThemePurchaseMapper.xml new file mode 100644 index 0000000..d1037d9 --- /dev/null +++ b/src/main/resources/mapper/KeyboardThemePurchaseMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + id, order_no, user_id, theme_id, cost_points, paid_points, pay_status, wallet_tx_id, + refund_points, refunded_at, created_at, paid_at, updated_at, remark + + \ No newline at end of file diff --git a/src/main/resources/mapper/KeyboardWalletTransactionMapper.xml b/src/main/resources/mapper/KeyboardWalletTransactionMapper.xml new file mode 100644 index 0000000..6107eac --- /dev/null +++ b/src/main/resources/mapper/KeyboardWalletTransactionMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + id, user_id, order_id, amount, "type", before_balance, after_balance, description, + created_at + + \ No newline at end of file