Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6983e8657b | |||
| cdc0cc8212 | |||
| 7cd19a2338 | |||
| a7a2b73d00 | |||
| 9c0cc31a64 | |||
| 20fcfa778e | |||
| 0fff57492e | |||
| 0dfc209485 |
438
lease_v1.0.0.sql
Normal file
438
lease_v1.0.0.sql
Normal file
@@ -0,0 +1,438 @@
|
||||
-- 第一版租赁系统 只支持自营矿池挖矿
|
||||
|
||||
-- -- 创建用户表,存储用户基本信息
|
||||
-- CREATE TABLE IF NOT EXISTS `lease_user` (
|
||||
-- `id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'ID',
|
||||
-- `user_id` VARCHAR(50) NOT NULL UNIQUE COMMENT '用户id(邮箱)',
|
||||
-- `password` VARCHAR(64) NOT NULL COMMENT '密码',
|
||||
-- `address` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '钱包地址',
|
||||
-- `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
-- `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
||||
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
|
||||
--
|
||||
--
|
||||
|
||||
-- 创建店铺表
|
||||
CREATE TABLE IF NOT EXISTS `lease_shop` (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '店铺ID',
|
||||
`user_email` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '店铺拥有者邮箱',
|
||||
`name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '店铺名称',
|
||||
`image` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '店铺图片路径',
|
||||
`state` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '商铺状态 0 待审核 1 审核通过(店铺开启) 2 店铺关闭',
|
||||
`description` TEXT COMMENT '店铺描述',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除字段',
|
||||
UNIQUE INDEX idx_email (user_email)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='店铺表';
|
||||
|
||||
-- 创建店铺--店铺支持收款地址配置表
|
||||
CREATE TABLE IF NOT EXISTS `lease_shop_config` (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '配置ID',
|
||||
`shop_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商铺ID',
|
||||
`product_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商品 ID (商品id为0代表适用于店铺中所有商品) ------- 该字段删除',
|
||||
`pay_coin` VARCHAR(32) NOT NULL DEFAULT '' COMMENT 'nexa rxd dgbo dgbq dgbs alph enx grs mona usdt usdc busd',
|
||||
`chain` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '卖家地址链名称',
|
||||
`pay_coin_image` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '支付币种图标',
|
||||
`pay_type` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '币种类型 0 虚拟币 1 稳定币',
|
||||
`pay_address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '卖方对应收款钱包',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`qrcode` LONGTEXT COMMENT '卖方对应收款钱包二维码',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除字段'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='店铺支持收款地址配置表';
|
||||
|
||||
|
||||
-- 用于店铺收款钱包配置 时下拉选择链和币
|
||||
CREATE TABLE IF NOT EXISTS `lease_chain_coin_config` (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '配置ID',
|
||||
`coin_full` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '币种全称',
|
||||
`coin_image` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '支付币种图标',
|
||||
`coin` VARCHAR(32) NOT NULL DEFAULT '' COMMENT 'nexa rxd dgbo dgbq dgbs alph enx grs mona usdt usdc busd',
|
||||
`chain` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '链名称'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='店铺支持收款地址配置表(店铺钱包)';
|
||||
|
||||
|
||||
-- 创建商品表,存储挖矿机器和算力套餐信息
|
||||
CREATE TABLE IF NOT EXISTS `lease_product` (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '商品 ID',
|
||||
`shop_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商铺ID',
|
||||
`name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '商品名称',
|
||||
`image` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '商品图片路径',
|
||||
`algorithm` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '算法',
|
||||
`sale_number` INT NOT NULL DEFAULT 0 COMMENT '销售机器数(租赁出一次算一个销售数)',
|
||||
`total_machine_number` INT NOT NULL DEFAULT 0 COMMENT '当前总矿机数(包含已售出矿机数)',
|
||||
`max_price` DECIMAL(30, 18) NOT NULL DEFAULT 0.000000 COMMENT '商品下机器最大价格',
|
||||
`min_price` DECIMAL(30, 18) NOT NULL DEFAULT 0.000000 COMMENT '商品下机器最小价格',
|
||||
`coin` VARCHAR(32) NOT NULL DEFAULT '' COMMENT ' 矿机挖矿币种 nexa rxd dgbo dgbq dgbs alph enx grs mona',
|
||||
`coin_full_name` VARCHAR(32) NOT NULL DEFAULT '' COMMENT ' 矿机挖矿币种 nexa rxd dgbo dgbq dgbs alph enx grs mona',
|
||||
`type` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '商品类型,0 矿机 1 算力 ',
|
||||
`state` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '上下架状态,0 上架,1 下架',
|
||||
`description` TEXT COMMENT '商品描述',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除字段'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `lease_product_machine` (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
|
||||
`shop_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商铺ID',
|
||||
`product_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商品 ID',
|
||||
`user` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '挖矿机器 对应的矿工账号',
|
||||
`type` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '矿机型号',
|
||||
`coin` VARCHAR(32) NOT NULL DEFAULT '' COMMENT ' 矿机挖矿币种 nexa rxd dgbo dgbq dgbs alph enx grs mona',
|
||||
`miner` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '挖矿机器编号',
|
||||
`theory_power` DECIMAL(32, 6) NOT NULL DEFAULT 0.000000 COMMENT '商品机器单机算力(卖方手动填写)理论算力 (如果实时变化可不要这个字段)',
|
||||
`computing_power` DECIMAL(32, 6) NOT NULL DEFAULT 0.000000 COMMENT '实际算力(计算得到,商家不能够自己添加和修改) (如果实时变化可不要这个字段)',
|
||||
`theory_income` DECIMAL(32, 18) NOT NULL DEFAULT 0.00 COMMENT '单机理论收益:单位usdt(每日:根据添加机器时,实时计算的收益值)',
|
||||
-- `actual_income` DECIMAL(18, 2) NOT NULL DEFAULT 0.00 COMMENT '单机预估实际收益(每日)',
|
||||
`unit` VARCHAR(16) NOT NULL DEFAULT '' COMMENT '算力单位 GH/s TH/s PH/s',
|
||||
-- `electricity_bill` DECIMAL(18, 2) NOT NULL DEFAULT 0.00 COMMENT '电费 单位 $/度 (该字段目前未使用,可删除)',
|
||||
`max_lease_days` INT NOT NULL DEFAULT 7 COMMENT '矿机租售天数',
|
||||
`power_dissipation` DECIMAL(18, 2) NOT NULL DEFAULT 0.00 COMMENT '功耗 单位kw/h',
|
||||
`income_rate` DECIMAL(18, 2) NOT NULL DEFAULT 0.00 DEFAULT 0.00 COMMENT '收益率',
|
||||
`cost` DECIMAL(18, 2) NOT NULL DEFAULT 0.00 COMMENT '默认单价单位$ [ 功耗 * 电费 * 24 * (1 + 收益率) ]',
|
||||
`price` DECIMAL(18, 2) NOT NULL DEFAULT 0.00 COMMENT '实际单价',
|
||||
`sale_state` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '售出状态 0未售出 1已售出 2售出中(已下单情况该状态已不存在)',
|
||||
`state` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '上下架状态,0 上架,1 下架',
|
||||
`del` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除字段',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
KEY `idx_user_coin_miner` (`user`, `coin`, `miner`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品表对应的物品机器表';
|
||||
|
||||
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `lease_product_machine_price` (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
|
||||
`product_machine_id` BIGINT NOT NULL DEFAULT 0 COMMENT '矿机id',
|
||||
`price` DECIMAL(30, 18) NOT NULL DEFAULT 0.00 COMMENT '实际单价',
|
||||
`coin` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '价值单位',
|
||||
`chain` VARCHAR(256) NOT NULL DEFAULT '' COMMENT '链',
|
||||
`del` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除字段'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品表对应的物品机器表';
|
||||
|
||||
|
||||
-- 创建已购机器表(租赁表)
|
||||
CREATE TABLE IF NOT EXISTS `lease_user_owned_product` (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'ID',
|
||||
`user_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '用户id(邮箱)',
|
||||
`product_machine_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商品对应的机器id',
|
||||
`user` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '挖矿机器 对应的矿工账号',
|
||||
`order_id` BIGINT NOT NULL DEFAULT 0 COMMENT '订单 ID',
|
||||
`miner` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '挖矿机器编号',
|
||||
`coin` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '矿机挖矿币种 nexa rxd dgbo dgbq dgbs alph enx grs mona',
|
||||
`estimated_end_income` DECIMAL(32, 18) NOT NULL DEFAULT 0.000000 COMMENT '预估商品结束时的总收益',
|
||||
`estimated_end_usdt_income` DECIMAL(32, 18) NOT NULL DEFAULT 0.000000 COMMENT '预估商品结束时的总收益 单价usdt',
|
||||
`current_income` DECIMAL(32, 18) NOT NULL DEFAULT 0.000000 COMMENT '当前收益(根据购买机器到现在的平均算力计算得到)单位 币种',
|
||||
`current_usdt_income` DECIMAL(32, 18) NOT NULL DEFAULT 0.000000 COMMENT '当前收益(根据购买机器到现在的平均算力计算得到----非实时)单位usdt',
|
||||
`settle_income` DECIMAL(32, 18) NOT NULL DEFAULT 0.000000 COMMENT '待结算收益(用于存储某天还未支付情况下的收益)',
|
||||
`settle_usdt_income` DECIMAL(32, 18) NOT NULL DEFAULT 0.000000 COMMENT '待结算收益 (用于存储某天还未支付情况下的收益----非实时)单位usdt',
|
||||
`order_item_id` BIGINT NOT NULL DEFAULT 0 COMMENT '订单明细 ID,关联订单中的购买记录',
|
||||
`address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '卖方对应收款钱包',
|
||||
`start_time` DATETIME NOT NULL COMMENT '商品开始使用时间(购买当天24点生效)',
|
||||
`end_time` DATETIME NOT NULL COMMENT '商品使用结束时间',
|
||||
`purchased_computing_power` DECIMAL(18, 2) NOT NULL DEFAULT 0.00 COMMENT '购买算力时实时算力,当 type 为 1 时有效',
|
||||
`status` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '商品状态,0 表示运行中,1 表示已过期 ',
|
||||
`type` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '商品类型,0 表示挖矿机器,1 表示算力套餐',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '购买时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除字段'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户拥有商品详情表';
|
||||
|
||||
|
||||
-- 创建购物车表,存储用户添加到购物车的商品信息
|
||||
CREATE TABLE IF NOT EXISTS `lease_shopping_cart` (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '购物车 ID',
|
||||
`user_id` varchar(64) NOT NULL DEFAULT '' COMMENT '用户 ID(邮箱)',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='购物车表';
|
||||
|
||||
|
||||
-- 创建购物车详情表
|
||||
CREATE TABLE IF NOT EXISTS `lease_shopping_cart_info` (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'ID',
|
||||
`cart_id` BIGINT NOT NULL DEFAULT 0 COMMENT '购物车ID',
|
||||
`product_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商品 ID',
|
||||
`product_machine_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商品机器ID',
|
||||
`lease_time` int NOT NULL DEFAULT 1 COMMENT '租赁天数',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='购物车详情表';
|
||||
|
||||
-- 创建订单表,存储订单基本信息
|
||||
CREATE TABLE IF NOT EXISTS `lease_order_info` (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '订单 ID',
|
||||
`order_number` VARCHAR(50) NOT NULL DEFAULT '' UNIQUE COMMENT '订单号',
|
||||
`user_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '用户id(邮箱)',
|
||||
`total_price` DECIMAL(18, 2) NOT NULL DEFAULT 0.00 COMMENT '订单总价',
|
||||
`status` TINYINT(1) NOT NULL DEFAULT 7 COMMENT '订单状态,0 表示待支付,1 表示(全部)已支付,2 表示已取消 3售后状态 4已退款 5 支付已超时 6 支付中 ( 目前只有这三种状态 7 订单进行中 8 订单已完成 9 余额不足,订单已取消) 10 部分已支付',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '下单时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除字段'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单表';
|
||||
|
||||
|
||||
|
||||
-- 创建订单明细表,存储订单中的商品明细
|
||||
CREATE TABLE IF NOT EXISTS `lease_order_item` (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '订单明细 ID',
|
||||
`order_id` BIGINT NOT NULL DEFAULT 0 COMMENT '订单 ID',
|
||||
`user_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '用户id(邮箱)',
|
||||
`shop_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商铺ID',
|
||||
`product_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商品 ID',
|
||||
`product_machine_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商品对应的机器id',
|
||||
`user` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '挖矿机器 对应的矿工账号',
|
||||
`miner` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '挖矿机器编号',
|
||||
`name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '商品名称',
|
||||
`theory_income` DECIMAL(18, 2) NOT NULL DEFAULT 0.00 COMMENT '单机理论收益',
|
||||
`lease_time` INT NOT NULL DEFAULT 0 COMMENT '租赁天数',
|
||||
`status` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '0 租约已过期 1 租约生效中 2 等待租约生效 ',
|
||||
`pay_coin` VARCHAR(32) NOT NULL DEFAULT '' COMMENT 'nexa rxd dgbo dgbq dgbs alph enx grs mona usdt usdc busd',
|
||||
`coin` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '矿机挖矿币种 nexa rxd dgbo dgbq dgbs alph enx grs mona',
|
||||
`address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '卖方对应收款钱包',
|
||||
`chain` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '卖家地址链名称',
|
||||
`symbol` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '卖家地址支付币种',
|
||||
`from_address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '买方对应收款钱包(删除,支付时用户必定存在和卖家收款地址相同币种和链的地址,代码中已做处理)',
|
||||
`from_chain` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '买方地址链名称(删除)',
|
||||
`from_symbol` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '买方地址支付币种(删除)',
|
||||
`image` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '商品图片路径',
|
||||
`quantity` INT NOT NULL DEFAULT 1 COMMENT '商品数量(弃用)',
|
||||
`price` DECIMAL(18, 2) NOT NULL DEFAULT 0.00 COMMENT '商品价格',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除字段'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单明细表';
|
||||
|
||||
|
||||
|
||||
|
||||
-- 创建支付记录表,模拟支付信息
|
||||
CREATE TABLE IF NOT EXISTS `lease_payment_record` (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '支付记录 ID',
|
||||
`order_id` BIGINT NOT NULL DEFAULT 0 UNIQUE COMMENT '订单 ID',
|
||||
`shop_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商铺ID',
|
||||
`product_id` BIGINT COMMENT '商品 ID(后续删除)',
|
||||
`pay_coin` VARCHAR(32) NOT NULL DEFAULT '' COMMENT 'nexa rxd dgbo dgbq dgbs alph enx grs mona usdt usdc busd',
|
||||
`amount` DECIMAL(40, 6) NOT NULL DEFAULT 0.000000 COMMENT '需支付总金额',
|
||||
`pay_amount` DECIMAL(40, 6) NOT NULL DEFAULT 0.000000 COMMENT '已支付金额',
|
||||
`status` TINYINT(1) NOT NULL DEFAULT 7 COMMENT '支付状态0支付失败 1支付成功--全部货款已支付 2待支付 5支付已超时 6 支付中( 目前只有这三种状态 7 订单进行中 8 订单已完成 9 余额不足,订单已取消) 10支付成功--已支付部分货款 ',
|
||||
`from` VARCHAR(256) NOT NULL DEFAULT '' COMMENT '买家钱包',
|
||||
`hash` VARCHAR(256) NOT NULL DEFAULT '' COMMENT '交易id 交易成功后生成',
|
||||
`pay_address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '卖方对应收款钱包',
|
||||
`qrcode` LONGTEXT COMMENT '支付地址二维码',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '支付时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除字段'
|
||||
KEY `orderid_shopid` (`order_id`,`shop_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付记录表';
|
||||
|
||||
|
||||
|
||||
-- -- 创建商品收益表,存储每个商品对应的收益信息
|
||||
-- CREATE TABLE IF NOT EXISTS `lease_product_income` (
|
||||
-- `id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '收益记录 ID',
|
||||
-- `user_owned_product_id` BIGINT NOT NULL DEFAULT 0 COMMENT '用户拥有商品详情 ID,关联 lease_user_owned_product 表',
|
||||
-- `estimated_end_income` DECIMAL(18, 2) NOT NULL DEFAULT 0.00 COMMENT '预估商品结束时的总收益',
|
||||
-- `current_actual_income` DECIMAL(18, 2) NOT NULL DEFAULT 0.00 COMMENT '当前实际总收益',
|
||||
-- `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
|
||||
-- `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间'
|
||||
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品收益表';
|
||||
--
|
||||
--
|
||||
-- -- 删除
|
||||
-- CREATE TABLE IF NOT EXISTS `lease_shop_address_config` (
|
||||
-- `id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'ID',
|
||||
-- `user_id` varchar(64) NOT NULL COMMENT '买方账号id(邮箱)',
|
||||
-- `address` VARCHAR(512) NOT NULL DEFAULT '' COMMENT '卖方收款钱包 每个买方对应一个地址(自动生成匹配)',
|
||||
-- `shop_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商铺ID',
|
||||
-- UNIQUE KEY `idx_user_address_shop` (`user_id`,`address`,shop_id)
|
||||
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='矿池nexa机器实时平均算力';
|
||||
|
||||
|
||||
-- 官方自动生成地址存储表
|
||||
CREATE TABLE IF NOT EXISTS `lease_auto_address` (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'ID',
|
||||
`address` VARCHAR(512) NOT NULL DEFAULT '' COMMENT '钱包地址',
|
||||
`from_symbol` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '币种名称',
|
||||
`from_chain` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '链名称',
|
||||
`status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0 未使用 1 已使用 2 钱包已过期',
|
||||
`bind_user` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '绑定者邮箱',
|
||||
UNIQUE INDEX `idx_address_from_symbol_from_chain` (`address`, `from_symbol`, `from_chain`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='官方自动生成地址表';
|
||||
|
||||
|
||||
-- 个人钱包资料表
|
||||
CREATE TABLE IF NOT EXISTS `lease_user_wallet_data` (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'ID',
|
||||
`user_id` VARCHAR(50) NOT NULL UNIQUE COMMENT '用户id(邮箱)',
|
||||
`queue_id` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '钱包唯一id(用于充值功能)',
|
||||
`from_address` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '充值钱包地址(我们提供)',
|
||||
`balance` DECIMAL(40, 6) NOT NULL DEFAULT 0.000000 COMMENT '余额',
|
||||
`blocked_balance` DECIMAL(40, 6) NOT NULL DEFAULT 0.000000 COMMENT '冻结余额(用户购买机器完成租约所需金额)',
|
||||
`to_address` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '收款钱包地址(用户自己填写)',
|
||||
`from_symbol` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '币种名称',
|
||||
`from_chain` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '链名称',
|
||||
`to_symbol` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '币种名称',
|
||||
`to_chain` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '链名称',
|
||||
`qrcode` LONGTEXT COMMENT '支付地址二维码',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除字段' ,
|
||||
UNIQUE INDEX `idx_user_from_info` (`user_id`, `from_address`,`from_symbol`, `from_chain`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户钱包信息表(个人钱包)';
|
||||
|
||||
|
||||
|
||||
-- 支付记录表
|
||||
CREATE TABLE IF NOT EXISTS lease_pay_record_message (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'ID',
|
||||
`queue_id` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '消息ID',
|
||||
`from_address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '买家充值地址',
|
||||
`to_address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '卖家充值地址',
|
||||
`order_number` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '订单号(方便查询,基本未使用)',
|
||||
`order_id` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '订单号',
|
||||
`shop_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商铺ID',
|
||||
`user_id` VARCHAR(50) NOT NULL COMMENT '买方邮箱',
|
||||
`block_amount`DECIMAL(40, 18) NOT NULL DEFAULT 0.00000000 COMMENT '买方钱包冻结金额',
|
||||
`amount` DECIMAL(40, 18) NOT NULL DEFAULT 0.00000000 COMMENT '理论支付金额',
|
||||
`real_amount` DECIMAL(40, 18) NOT NULL DEFAULT 0.000000 COMMENT '实际支付金额',
|
||||
`need_amount` DECIMAL(40, 18) NOT NULL DEFAULT 0.000000 COMMENT '实际应支付金额(支付是一天一次,根据一天内预估算力和实际算力差值计算得来)',
|
||||
`block_height` BIGINT NOT NULL DEFAULT 0 COMMENT '报块高度',
|
||||
`from_symbol` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '币种名称',
|
||||
`from_chain` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '链名称',
|
||||
`to_symbol` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '币种名称',
|
||||
`to_chain` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '链名称',
|
||||
`tx_hash` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '交易id',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '支付时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`status` tinyint(1) NOT NULL DEFAULT 2 COMMENT '0 支付失败 1 支付成功 2 支付中 3 校验失败 4 发送支付消息失败',
|
||||
`del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除字段'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付记录表';
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS lease_pay_record_message_info (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'ID',
|
||||
`queue_id` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '消息ID',
|
||||
`from_address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '买家充值地址',
|
||||
`to_address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '卖家充值地址',
|
||||
`order_number` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '订单号(方便查询,基本未使用)',
|
||||
`order_id` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '订单号',
|
||||
`shop_id` BIGINT NOT NULL DEFAULT 0 COMMENT '商铺ID',
|
||||
`user_id` VARCHAR(50) NOT NULL COMMENT '买方邮箱',
|
||||
`block_amount`DECIMAL(40, 18) NOT NULL DEFAULT 0.00000000 COMMENT '买方钱包冻结金额',
|
||||
`amount` DECIMAL(40, 18) NOT NULL DEFAULT 0.00000000 COMMENT '理论支付金额',
|
||||
`real_amount` DECIMAL(40, 18) NOT NULL DEFAULT 0.000000 COMMENT '实际支付金额',
|
||||
`need_amount` DECIMAL(40, 18) NOT NULL DEFAULT 0.000000 COMMENT '实际应支付金额(支付是一天一次,根据一天内预估算力和实际算力差值计算得来)',
|
||||
`block_height` BIGINT NOT NULL DEFAULT 0 COMMENT '报块高度',
|
||||
`from_symbol` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '币种名称',
|
||||
`from_chain` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '链名称',
|
||||
`to_symbol` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '币种名称',
|
||||
`to_chain` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '链名称',
|
||||
`tx_hash` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '交易id',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '支付时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`status` tinyint(1) NOT NULL DEFAULT 2 COMMENT '0 支付失败 1 支付成功 2 支付中 3 校验失败 4 发送支付消息失败',
|
||||
`del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除字段'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付记录详情表(订单对应每日应支付金额)';
|
||||
|
||||
|
||||
-- 充值记录返回表
|
||||
CREATE TABLE IF NOT EXISTS lease_pay_recharge_message (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'ID',
|
||||
`queue_id` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '消息ID',
|
||||
`address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '充值地址',
|
||||
`amount` DECIMAL(40, 6) NOT NULL DEFAULT 0.00000000 COMMENT '支付金额',
|
||||
`chain` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '链名称',
|
||||
`symbol` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '币种',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '充值时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '0 充值失败 1 充值成功 2 充值中',
|
||||
`tx_hash` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '交易id',
|
||||
`del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除字段' ,
|
||||
UNIQUE INDEX `tx_hash_key` (`tx_hash`);
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='充值记录表';
|
||||
|
||||
-- 提现记录表
|
||||
CREATE TABLE IF NOT EXISTS lease_pay_withdraw_message (
|
||||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'ID',
|
||||
`queue_id` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '消息ID',
|
||||
`from_address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '用户充值地址',
|
||||
`to_address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '提现地址(用户自定义)',
|
||||
`amount` DECIMAL(40, 18) NOT NULL DEFAULT 0.00000000 COMMENT '提现金额',
|
||||
`from_symbol` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '币种名称',
|
||||
`from_chain` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '链名称',
|
||||
`to_symbol` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '币种名称',
|
||||
`service_charge` DECIMAL(40, 6) NOT NULL DEFAULT 0.000000 COMMENT '提现费用',
|
||||
`to_chain` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '链名称',
|
||||
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '充值时间',
|
||||
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`status` tinyint(1) NOT NULL DEFAULT 2 COMMENT '0 提现失败 1 提现成功 2 提现中',
|
||||
`tx_hash` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '交易id',
|
||||
`del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除字段'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='提现记录表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `nexa_real_power` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`user` varchar(64) NOT NULL COMMENT "挖矿账户",
|
||||
`miner` varchar(64) NOT NULL COMMENT "矿工编号",
|
||||
`date` datetime NOT NULL,
|
||||
`power` decimal(32,6) NOT NULL COMMENT "实时算力单位 MH/S",
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `user_miner` (`user`,`miner`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='矿机实时算力';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `grs_real_power` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`user` varchar(64) NOT NULL COMMENT "挖矿账户",
|
||||
`miner` varchar(64) NOT NULL COMMENT "矿工编号",
|
||||
`date` datetime NOT NULL,
|
||||
`power` decimal(32,6) NOT NULL COMMENT "实时算力单位 MH/S",
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `user_miner` (`user`,`miner`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='矿机实时算力';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `mona_real_power` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`user` varchar(64) NOT NULL COMMENT "挖矿账户",
|
||||
`miner` varchar(64) NOT NULL COMMENT "矿工编号",
|
||||
`date` datetime NOT NULL,
|
||||
`power` decimal(32,6) NOT NULL COMMENT "实时算力单位 MH/S",
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `user_miner` (`user`,`miner`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='矿机实时算力';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `rxd_real_power` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`user` varchar(64) NOT NULL COMMENT "挖矿账户",
|
||||
`miner` varchar(64) NOT NULL COMMENT "矿工编号",
|
||||
`date` datetime NOT NULL,
|
||||
`power` decimal(32,6) NOT NULL COMMENT "实时算力单位 MH/S",
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `user_miner` (`user`,`miner`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='矿机实时算力';
|
||||
|
||||
|
||||
ALTER TABLE lease_product MODIFY COLUMN `max_price` DECIMAL(30, 18) NOT NULL DEFAULT 0.000000 COMMENT '商品下机器最大价格';
|
||||
ALTER TABLE lease_product MODIFY COLUMN `min_price` DECIMAL(30, 18) NOT NULL DEFAULT 0.000000 COMMENT '商品下机器最小价格';
|
||||
ALTER TABLE lease_product_machine MODIFY COLUMN `theory_income` DECIMAL(32, 18) NOT NULL DEFAULT 0.000000 COMMENT '单机理论收益:单位usdt(每日:根据添加机器时,实时计算的收益值)';
|
||||
ALTER TABLE lease_user_owned_product MODIFY COLUMN `estimated_end_income` DECIMAL(32, 18) NOT NULL DEFAULT 0.000000 COMMENT '预估商品结束时的总收益';
|
||||
ALTER TABLE lease_user_owned_product MODIFY COLUMN `estimated_end_usdt_income` DECIMAL(32, 18) NOT NULL DEFAULT 0.000000 COMMENT '预估商品结束时的总收益 单价usdt';
|
||||
ALTER TABLE lease_user_owned_product MODIFY COLUMN `current_income` DECIMAL(32, 18) NOT NULL DEFAULT 0.000000 COMMENT '当前收益(根据购买机器到现在的平均算力计算得到)单位 币种';
|
||||
ALTER TABLE lease_user_owned_product MODIFY COLUMN `current_usdt_income` DECIMAL(32, 18) NOT NULL DEFAULT 0.000000 COMMENT '当前收益(根据购买机器到现在的平均算力计算得到----非实时)单位usdt';
|
||||
ALTER TABLE lease_user_owned_product MODIFY COLUMN `settle_income` DECIMAL(32, 18) NOT NULL DEFAULT 0.000000 COMMENT '待结算收益(用于存储某天还未支付情况下的收益)';
|
||||
ALTER TABLE lease_user_owned_product MODIFY COLUMN `settle_usdt_income` DECIMAL(32, 18) NOT NULL DEFAULT 0.000000 COMMENT '待结算收益 (用于存储某天还未支付情况下的收益----非实时)单位usdt';
|
||||
ALTER TABLE lease_pay_record_message MODIFY COLUMN `block_amount`DECIMAL(40, 18) NOT NULL DEFAULT 0.00000000 COMMENT '买方钱包冻结金额';
|
||||
ALTER TABLE lease_pay_record_message MODIFY COLUMN `amount` DECIMAL(40, 18) NOT NULL DEFAULT 0.00000000 COMMENT '理论支付金额';
|
||||
ALTER TABLE lease_pay_record_message MODIFY COLUMN `real_amount` DECIMAL(40, 18) NOT NULL DEFAULT 0.000000 COMMENT '实际支付金额';
|
||||
ALTER TABLE lease_pay_record_message MODIFY COLUMN `need_amount` DECIMAL(40, 18) NOT NULL DEFAULT 0.000000 COMMENT '实际应支付金额(支付是一天一次,根据一天内预估算力和实际算力差值计算得来)';
|
||||
ALTER TABLE lease_pay_withdraw_message MODIFY COLUMN `amount` DECIMAL(40, 18) NOT NULL DEFAULT 0.00000000 COMMENT '提现金额';
|
||||
ALTER TABLE lease_pay_recharge_message ADD COLUMN `block_height` BIGINT NOT NULL DEFAULT 0 COMMENT '报块高度';
|
||||
ALTER TABLE lease_pay_recharge_message ADD COLUMN `from_address` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '充值来源地址(用户自己的钱包)';
|
||||
ALTER TABLE lease_pay_withdraw_message ADD COLUMN `block_height` BIGINT NOT NULL DEFAULT 0 COMMENT '报块高度';
|
||||
ALTER TABLE lease_order_item ADD COLUMN `already_pay_amount` DECIMAL(32, 18) NOT NULL DEFAULT 0.00 COMMENT '已支付总金额(每天加一)';
|
||||
ALTER TABLE lease_order_item ADD COLUMN `already_pay_real_amount` DECIMAL(32, 18) NOT NULL DEFAULT 0.00 COMMENT '已支付实际总金额';
|
||||
ALTER TABLE lease_order_item ADD COLUMN `settle_pay_real_amount` DECIMAL(32, 18) NOT NULL DEFAULT 0.00 COMMENT '当日待确认支付金额';
|
||||
ALTER TABLE lease_order_info ADD COLUMN `fee` DECIMAL(32, 8) NOT NULL DEFAULT 0.00 COMMENT '订单手续费';
|
||||
@@ -27,7 +27,7 @@
|
||||
style="position:relative; display:inline-flex; align-items:center; justify-content:center; margin-top:2vh; width:80%; max-width:300px; height:50px; border-radius:12px; background:#ffffff; border:3px solid #651EFE;">
|
||||
<!-- 合并 th:style 属性 -->
|
||||
<span class="code-text js-code-text" data-default-code="4MKM6AX" th:text="${code}"
|
||||
style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; font-weight:800; font-size:24px; letter-spacing:0.18em; color:#111827;"></span>
|
||||
style="font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; font-weight:800; font-size:24px; letter-spacing:0.18em; color:#111827;margin:auto;"></span>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.m2pool.common.security.interceptor;
|
||||
|
||||
import javax.servlet.ReadListener;
|
||||
import javax.servlet.ServletInputStream;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletRequestWrapper;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class AuthRequestWrapper extends HttpServletRequestWrapper {
|
||||
|
||||
private String body;
|
||||
|
||||
public AuthRequestWrapper(HttpServletRequest request) {
|
||||
super(request);
|
||||
try(BufferedReader reader = request.getReader()){
|
||||
body= reader.lines().collect(Collectors.joining());
|
||||
}catch (Exception e){
|
||||
System.out.println("!!-- read request from requestbody error"+e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public BufferedReader getReader() {
|
||||
return new BufferedReader(new InputStreamReader(this.getInputStream()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ServletInputStream getInputStream() {
|
||||
final ByteArrayInputStream byteArrayIns = new ByteArrayInputStream(body.getBytes());
|
||||
ServletInputStream servletIns = new ServletInputStream() {
|
||||
@Override
|
||||
public boolean isFinished() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isReady() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setReadListener(ReadListener readListener) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int read() {
|
||||
return byteArrayIns.read();
|
||||
}
|
||||
};
|
||||
return servletIns;
|
||||
}
|
||||
|
||||
public String getBody() {
|
||||
return body;
|
||||
}
|
||||
|
||||
public void setBody(String body) {
|
||||
this.body = body;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.m2pool.common.security.interceptor;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.servlet.HandlerInterceptor;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
|
||||
@Component
|
||||
public class CoinInterceptor implements HandlerInterceptor {
|
||||
|
||||
private final ObjectMapper objectMapper = new ObjectMapper();
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
||||
System.out.println("调用Coin拦截器1:" + request);
|
||||
|
||||
// 仅处理 POST、PUT 等有请求体的请求方法
|
||||
if ("POST".equalsIgnoreCase(request.getMethod()) || "PUT".equalsIgnoreCase(request.getMethod())) {
|
||||
try {
|
||||
// 读取请求体内容
|
||||
if (request instanceof AuthRequestWrapper){
|
||||
//BufferedReader reader = request.getReader();
|
||||
//System.out.println("调用Coin拦截器2:" + reader);
|
||||
//
|
||||
//if (!requestBody.isEmpty()) {
|
||||
// // 反序列化请求体为 RequestObject 对象
|
||||
// RequestObject requestObject = objectMapper.readValue(requestBody, RequestObject.class);
|
||||
// System.out.println("调用Coin拦截器3:" + requestObject.toString());
|
||||
// String coin = requestObject.getCoin();
|
||||
// System.out.println("调用Coin拦截器4:" + coin);
|
||||
// if ("enx".equals(coin)) {
|
||||
// response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
|
||||
// response.getWriter().write("enx币种已下架");
|
||||
// return false;
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
// 处理反序列化异常
|
||||
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
|
||||
response.getWriter().write("请求体解析失败");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 读取请求体内容
|
||||
*/
|
||||
private String readRequestBody(HttpServletRequest request) throws IOException {
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
try (BufferedReader reader = request.getReader()) {
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
stringBuilder.append(line);
|
||||
}
|
||||
}
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.m2pool.common.security.interceptor;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.filter.OncePerRequestFilter;
|
||||
import org.springframework.web.util.ContentCachingRequestWrapper;
|
||||
|
||||
import javax.servlet.FilterChain;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.annotation.WebFilter;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
@Component
|
||||
@WebFilter("/*")
|
||||
public class RequestBodyFilter extends OncePerRequestFilter {
|
||||
|
||||
@Override
|
||||
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
|
||||
|
||||
request = new AuthRequestWrapper(request);
|
||||
filterChain.doFilter(request,response);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.m2pool.common.security.interceptor;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
public class RequestObject {
|
||||
private String coin;
|
||||
|
||||
// 添加 getter 和 setter 方法
|
||||
public String getCoin() {
|
||||
return coin;
|
||||
}
|
||||
|
||||
public void setCoin(String coin) {
|
||||
this.coin = coin;
|
||||
}
|
||||
}
|
||||
47
m2pool-gateway/src/main/resources/bootstrap-dev.yml
Normal file
47
m2pool-gateway/src/main/resources/bootstrap-dev.yml
Normal file
@@ -0,0 +1,47 @@
|
||||
|
||||
server:
|
||||
port: 8878
|
||||
# Spring
|
||||
spring:
|
||||
application:
|
||||
# 应用名称
|
||||
name: m2pool-gateway
|
||||
main:
|
||||
allow-circular-references: true
|
||||
allow-bean-definition-overriding: true
|
||||
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: m2_dev
|
||||
group: m2_dev_group
|
||||
config:
|
||||
# 配置中心地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
# 配置文件格式
|
||||
file-extension: yml
|
||||
# 共享配置
|
||||
shared-configs:
|
||||
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
|
||||
namespace: m2_dev
|
||||
group: m2_dev_group
|
||||
sentinel:
|
||||
# 取消控制台懒加载
|
||||
eager: true
|
||||
transport:
|
||||
# 控制台地址
|
||||
dashboard: 127.0.0.1:8718
|
||||
# nacos配置持久化
|
||||
datasource:
|
||||
ds1:
|
||||
nacos:
|
||||
server-addr: 127.0.0.1:8848
|
||||
dataId: sentinel-m2pool-gateway
|
||||
groupId: m2_dev_group
|
||||
data-type: json
|
||||
rule-type: flow
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: 2MB
|
||||
max-request-size: 8MB
|
||||
@@ -3,19 +3,36 @@ package com.m2pool.lease;
|
||||
import com.m2pool.common.security.annotation.EnableCustomConfig;
|
||||
import com.m2pool.common.security.annotation.EnableM2PoolFeignClients;
|
||||
import com.m2pool.common.swagger.annotation.EnableCustomSwagger2;
|
||||
import com.m2pool.lease.netty.server.NettyTcpServer;
|
||||
import io.netty.channel.ChannelFuture;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.CommandLineRunner;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@EnableCustomConfig
|
||||
@EnableCustomSwagger2
|
||||
@EnableM2PoolFeignClients
|
||||
@SpringBootApplication
|
||||
@MapperScan({"com.m2pool.lease.mapper"})
|
||||
public class M2poolLeaseApplication {
|
||||
public class M2poolLeaseApplication implements CommandLineRunner {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(M2poolLeaseApplication.class, args);
|
||||
}
|
||||
|
||||
@Resource
|
||||
NettyTcpServer nettyTcpServer;
|
||||
|
||||
|
||||
@Override
|
||||
public void run(String... args) {
|
||||
//启动服务端
|
||||
ChannelFuture start = nettyTcpServer.start();
|
||||
//服务端管道关闭的监听器并同步阻塞,直到channel关闭,线程才会往下执行,结束进程
|
||||
start.channel().closeFuture().syncUninterruptibly();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.m2pool.lease.constant;
|
||||
import com.m2pool.lease.dto.ChargeDto;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -13,21 +14,24 @@ import java.util.List;
|
||||
*/
|
||||
public enum CoinCharge {
|
||||
|
||||
ETH_USDT("ETH","USDT", BigDecimal.valueOf(1)),
|
||||
TRON_USDT("TRON","USDT", BigDecimal.valueOf(1)),
|
||||
TRON_NEXA("TRON","NEXA", BigDecimal.valueOf(1000));
|
||||
ETH_USDT("ETH","USDT", BigDecimal.valueOf(1), BigDecimal.valueOf(1)),
|
||||
ETH_ETH("ETH","ETH", BigDecimal.valueOf(0.00005),BigDecimal.valueOf(0.01)),
|
||||
TRON_USDT("TRON","USDT", BigDecimal.valueOf(1),BigDecimal.valueOf(1)),
|
||||
TRON_NEXA("TRON","NEXA", BigDecimal.valueOf(1000),BigDecimal.valueOf(0.1));
|
||||
|
||||
private final String chain;
|
||||
/** 币种参数名 */
|
||||
private final String coin;
|
||||
/** 手续费 */
|
||||
private final BigDecimal amount;
|
||||
/** 费率 */
|
||||
private final BigDecimal feeRate;
|
||||
|
||||
|
||||
CoinCharge(String chain, String coin, BigDecimal amount) {
|
||||
CoinCharge(String chain, String coin, BigDecimal amount, BigDecimal feeRate) {
|
||||
this.chain = chain;
|
||||
this.coin = coin;
|
||||
this.amount = amount;
|
||||
this.feeRate = feeRate;
|
||||
}
|
||||
/**
|
||||
* 根据 chain 和 coin 查找对应的手续费,未找到则返回 1
|
||||
@@ -44,6 +48,44 @@ public enum CoinCharge {
|
||||
return BigDecimal.ONE;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据 chain 和 coin 查找对应的手续费,未找到则返回 1
|
||||
* @param chain 链名
|
||||
* @param coin 币种名
|
||||
* @return 对应的手续费,未找到返回 1
|
||||
*/
|
||||
public static BigDecimal getDeductibleAmountByChainAndCoin(String chain, String coin) {
|
||||
for (CoinCharge charge : CoinCharge.values()) {
|
||||
if (charge.chain.equals(chain) && charge.coin.equals(coin)) {
|
||||
return charge.amount.divide(charge.feeRate, 4, RoundingMode.HALF_UP);
|
||||
}
|
||||
}
|
||||
return BigDecimal.ONE;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据 chain 和 coin 找到手续费和费率,然后比较totalPrice是否小于 费率/手续费
|
||||
* @param chain 链名
|
||||
* @param coin 币种名
|
||||
* @return 对应的手续费,未找到返回 1
|
||||
*/
|
||||
public static BigDecimal getFee(String chain, String coin, BigDecimal totalPrice) {
|
||||
BigDecimal fee = BigDecimal.ONE;
|
||||
for (CoinCharge charge : CoinCharge.values()) {
|
||||
if (charge.chain.equals(chain) && charge.coin.equals(coin)) {
|
||||
BigDecimal feeRate = charge.feeRate;
|
||||
BigDecimal deductible= charge.amount.divide(feeRate, 4, RoundingMode.HALF_UP);
|
||||
if(deductible.compareTo(totalPrice) < 0){
|
||||
fee = BigDecimal.ZERO;
|
||||
}else{
|
||||
fee = charge.amount;
|
||||
}
|
||||
}
|
||||
}
|
||||
return fee;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取枚举类中所有枚举,并封装成 List<ChargeDto>
|
||||
@@ -55,7 +97,8 @@ public enum CoinCharge {
|
||||
chargeDtoList.add(new ChargeDto(
|
||||
charge.amount,
|
||||
charge.chain,
|
||||
charge.coin
|
||||
charge.coin,
|
||||
charge.feeRate
|
||||
));
|
||||
}
|
||||
return chargeDtoList;
|
||||
|
||||
@@ -28,9 +28,9 @@ public class PowerUnit {
|
||||
HashMap<String, BigDecimal> map = new HashMap<>();
|
||||
map.put(KH_UNIT, BigDecimal.valueOf(1000));
|
||||
map.put(MH_UNIT, BigDecimal.valueOf(1000 * 1000));
|
||||
map.put(GH_UNIT, BigDecimal.valueOf(1000L * 1000 * 1000 * 1000));
|
||||
map.put(TH_UNIT, BigDecimal.valueOf(1000L * 1000 * 1000 * 1000 * 1000));
|
||||
map.put(PH_UNIT, BigDecimal.valueOf(1000L * 1000 * 1000 * 1000 * 1000 * 1000));
|
||||
map.put(GH_UNIT, BigDecimal.valueOf(1000L * 1000 * 1000));
|
||||
map.put(TH_UNIT, BigDecimal.valueOf(1000L * 1000 * 1000 * 1000 ));
|
||||
map.put(PH_UNIT, BigDecimal.valueOf(1000L * 1000 * 1000 * 1000 * 1000));
|
||||
UNIT_MAP = Collections.unmodifiableMap(map);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
package com.m2pool.lease.controller;
|
||||
|
||||
|
||||
import com.m2pool.lease.dto.PageResult;
|
||||
import com.m2pool.lease.dto.Result;
|
||||
import com.m2pool.lease.dto.v2.CoinAndAlgorithmListDto;
|
||||
import com.m2pool.lease.dto.v2.MiningInfoDto;
|
||||
import com.m2pool.lease.dto.v2.PurchasedMachineDto;
|
||||
import com.m2pool.lease.dto.v2.PurchasedMachineListDto;
|
||||
import com.m2pool.lease.service.LeaseOrderInfoService;
|
||||
import com.m2pool.lease.vo.BaseVo;
|
||||
import com.m2pool.lease.vo.OrderAndCodeVo;
|
||||
import com.m2pool.lease.vo.PageVo;
|
||||
import com.m2pool.lease.vo.v2.CoinAndAlgorithmVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 订单表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Api(tags = "v2版本--订单控制器")
|
||||
@RestController
|
||||
@RequestMapping("/v2/order/info")
|
||||
public class LeaseOrderInfoV2Controller {
|
||||
|
||||
@Resource
|
||||
private LeaseOrderInfoService leaseOrderInfoService;
|
||||
|
||||
@ApiOperation("算法币种选择框:购物车结算获取选中矿机支持的算法和币种列表")
|
||||
@PostMapping("/getMachineSupportCoinAndAlgorithm")
|
||||
public Result<List<CoinAndAlgorithmListDto>> getMachineSupportCoinAndAlgorithm(@RequestBody List<BaseVo> machineIds) {
|
||||
return leaseOrderInfoService.getMachineSupportCoinAndAlgorithm(machineIds);
|
||||
}
|
||||
|
||||
@ApiOperation("矿池选择框:根据矿机id 获取当前矿机支持的矿池币种信息")
|
||||
@PostMapping("/getMachineSupportPool")
|
||||
public Result<List<MiningInfoDto>> getMachineSupportPool(@RequestBody CoinAndAlgorithmVo coinAndAlgorithmVo) {
|
||||
return leaseOrderInfoService.getMachineSupportPool(coinAndAlgorithmVo);
|
||||
}
|
||||
|
||||
@ApiOperation("创建订单及订单详情 + 支付订单(返回二维码内容)")
|
||||
@PostMapping("/addOrdersV2")
|
||||
public Result<String> addOrdersV2(@RequestBody OrderAndCodeVo orderAndCodeVo) {
|
||||
return leaseOrderInfoService.addOrdersV2(orderAndCodeVo);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("买家:已购矿机列表")
|
||||
@PostMapping("/getPurchasedItems")
|
||||
public PageResult<PurchasedMachineListDto> getPurchasedItems(@RequestBody(required = false) PageVo pageVo) {
|
||||
if (pageVo == null){
|
||||
pageVo = new PageVo();
|
||||
}
|
||||
return leaseOrderInfoService.getPurchasedItems(pageVo);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ApiOperation("买家:根据id查询已购矿机详情")
|
||||
@PostMapping("/getPurchasedInfo")
|
||||
public Result<PurchasedMachineDto> getPurchasedInfo(@RequestBody BaseVo baseVo) {
|
||||
return leaseOrderInfoService.getPurchasedInfo(baseVo);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,10 +4,7 @@ package com.m2pool.lease.controller;
|
||||
import com.m2pool.lease.dto.*;
|
||||
import com.m2pool.lease.service.LeaseProductService;
|
||||
import com.m2pool.lease.service.LeaseUserOwnedProductService;
|
||||
import com.m2pool.lease.vo.BaseVo;
|
||||
import com.m2pool.lease.vo.ProductPageVo;
|
||||
import com.m2pool.lease.vo.ProductURDVo;
|
||||
import com.m2pool.lease.vo.UserOwnedProductVo;
|
||||
import com.m2pool.lease.vo.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -17,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -56,8 +54,14 @@ public class LeaseProductController {
|
||||
|
||||
@ApiOperation("查询单个商品详情(包含商品对应的售卖机器详情列表)")
|
||||
@PostMapping("/getMachineInfo")
|
||||
public Result<ProductMachineInfoDto> getProductMachineInfo(@RequestBody BaseVo BaseVo) {
|
||||
return leaseProductService.getProductMachineInfo(BaseVo.getId());
|
||||
public PageResult<ProductMachineDto> getProductMachineInfo(@RequestBody ProductMachineVo productMachineVo) {
|
||||
return leaseProductService.getProductMachineInfo(productMachineVo);
|
||||
}
|
||||
|
||||
@ApiOperation("单个商品矿机列表页面---获取支付方式")
|
||||
@PostMapping("/getPayTypes")
|
||||
public Result<List<PayConfigDto>> getPayTypes() {
|
||||
return leaseProductService.getPayTypes();
|
||||
}
|
||||
|
||||
|
||||
@@ -96,5 +100,29 @@ public class LeaseProductController {
|
||||
public Result<UserOwnedProductDto> getOwnedById(@RequestBody BaseVo baseVo) {
|
||||
return leaseUserOwnedProductService.getOwnedById(baseVo);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("查询用户店铺支持的支付方式")
|
||||
@PostMapping("/getSupportPayType")
|
||||
public Result<List<PayTypeDto>> getSupportPayType() {
|
||||
return leaseProductService.getSupportPayType();
|
||||
}
|
||||
|
||||
|
||||
//TODO 2025-11-21 查询店铺的矿机列表,不存在商品了
|
||||
|
||||
@ApiOperation("获取店铺商品列表用于新增绑定店铺钱包")
|
||||
@PostMapping("/getProductListForShopWalletConfig")
|
||||
public Result<List<ProductForWalletConfigDto>> getProductListForShopWalletConfig() {
|
||||
return leaseProductService.getProductListForShopWalletConfig();
|
||||
}
|
||||
|
||||
//TODO 2025-11-21 修改这些矿机的价格,并且绑定新钱包
|
||||
|
||||
@ApiOperation("新增绑定店铺钱包并设置店铺下面每个矿机该钱包币种的售价 + 钱包绑定")
|
||||
@PostMapping("/updateProductListForShopWalletConfig")
|
||||
public Result<String> updateProductListForShopWalletConfig(@RequestBody ProductMachineForWalletConfigVo productMachineForWalletConfigVo) {
|
||||
return leaseProductService.updateProductListForShopWalletConfig(productMachineForWalletConfigVo);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.m2pool.lease.controller;
|
||||
|
||||
|
||||
import com.m2pool.common.security.annotation.RequiresLogin;
|
||||
import com.m2pool.lease.dto.*;
|
||||
import com.m2pool.lease.dto.PageResult;
|
||||
import com.m2pool.lease.dto.ProductUpdateMachineDto;
|
||||
import com.m2pool.lease.dto.Result;
|
||||
import com.m2pool.lease.dto.UserMinerDto;
|
||||
import com.m2pool.lease.service.LeaseProductMachineService;
|
||||
import com.m2pool.lease.vo.*;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -33,6 +35,7 @@ public class LeaseProductMachineController {
|
||||
@Resource
|
||||
private LeaseProductMachineService leaseProductMachineService;
|
||||
|
||||
|
||||
@ApiOperation("根据 登录账户 获取挖矿账户及挖矿币种集合----用于用户为商品添加实际出售机器库存")
|
||||
@PostMapping("/getUserMinersList")
|
||||
public Result<Map<String, List<UserMinerDto>>> getUserMinersList(@RequestBody UserMinerVo userMinerVo) {
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.m2pool.lease.controller;
|
||||
|
||||
|
||||
import com.m2pool.lease.dto.*;
|
||||
import com.m2pool.lease.dto.v2.MachineInfoDto;
|
||||
import com.m2pool.lease.dto.v2.SellerMachineInfoDto;
|
||||
import com.m2pool.lease.dto.v2.ShopInfoDto;
|
||||
import com.m2pool.lease.service.LeaseMachineService;
|
||||
import com.m2pool.lease.vo.*;
|
||||
import com.m2pool.lease.vo.v2.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品表对应的物品机器表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Api(tags = "v2版本--矿机控制器类")
|
||||
@RestController
|
||||
@RequestMapping("/v2/product/machine")
|
||||
public class LeaseProductMachineV2Controller {
|
||||
|
||||
|
||||
@Resource
|
||||
private LeaseMachineService leaseMachineService;
|
||||
|
||||
@ApiOperation("商城首页---店铺列表")
|
||||
@PostMapping("/getShopList")
|
||||
public PageResult<ShopInfoDto> getShopList(@RequestBody(required = false) ProductPageVo productPageVo) {
|
||||
if(productPageVo == null){
|
||||
productPageVo = new ProductPageVo();
|
||||
}
|
||||
return leaseMachineService.getShopList(productPageVo);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("商城首页---店铺对应矿机详情列表")
|
||||
@PostMapping("/getShopMachineList")
|
||||
public PageResult<MachineInfoDto> getShopMachineList(@RequestBody ShopMachineVo shopMachineVo) {
|
||||
return leaseMachineService.getShopMachineList(shopMachineVo);
|
||||
}
|
||||
|
||||
@ApiOperation("卖家页面---矿机列表")
|
||||
@PostMapping("/getShopMachineListForSeller")
|
||||
public PageResult<SellerMachineInfoDto> getShopMachineListForSeller(@RequestBody(required = false) SellerMachineVo sellerMachineVo) {
|
||||
if (sellerMachineVo == null) {
|
||||
sellerMachineVo = new SellerMachineVo();
|
||||
}
|
||||
return leaseMachineService.getShopMachineListForSeller(sellerMachineVo);
|
||||
}
|
||||
|
||||
@ApiOperation("卖家页面---新增ASIC矿机")
|
||||
@PostMapping("/addAsicMachine")
|
||||
public Result<String> addAsicMachine(@RequestBody AsicMachineParamsVo asicMachineParamsVo) {
|
||||
return leaseMachineService.addAsicMachine(asicMachineParamsVo);
|
||||
}
|
||||
|
||||
@ApiOperation("卖家页面---修改ASIC矿机")
|
||||
@PostMapping("/updateAsicMachine")
|
||||
public Result<String> updateAsicMachine(@RequestBody AsicMachineParamsVo asicMachineParamsVo) {
|
||||
return leaseMachineService.updateAsicMachine(asicMachineParamsVo);
|
||||
}
|
||||
|
||||
@ApiOperation("卖家页面--- 批量修改GPU矿机 和 批量上下架")
|
||||
@PostMapping("/updateGpuMachine")
|
||||
public Result<String> updateGpuMachine(@RequestBody List<GpuMachineParamsVo> gpuMachineParamsVoList) {
|
||||
return leaseMachineService.updateGpuMachine(gpuMachineParamsVoList);
|
||||
}
|
||||
|
||||
@ApiOperation("卖家页面---GPU/ASIC矿机上下架")
|
||||
@PostMapping("/updateMachineState")
|
||||
public Result<String> updateMachineState(@RequestBody MachineStateVo machineStateVo) {
|
||||
return leaseMachineService.updateMachineState(machineStateVo);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("卖家页面---根据矿机id删除GPU/ASIC矿机")
|
||||
@PostMapping("/deleteMachine")
|
||||
public Result<String> deleteMachine(@RequestBody BaseVo baseVo) {
|
||||
return leaseMachineService.deleteMachine(baseVo);
|
||||
}
|
||||
|
||||
@ApiOperation("获取租赁系统支持的币种")
|
||||
@GetMapping("/getSupportCoin")
|
||||
public Result<List<String>> getSupportCoin() {
|
||||
return leaseMachineService.getSupportCoin();
|
||||
}
|
||||
|
||||
@ApiOperation("根据币种获取租赁系统支持的算法")
|
||||
@GetMapping("/getSupportAlgo")
|
||||
public Result<List<String>> getSupportAlgo(@RequestParam String coin) {
|
||||
return leaseMachineService.getSupportAlgo(coin);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -121,8 +121,9 @@ public class LeaseShopController {
|
||||
* @param shopConfigVo 商铺配置信息
|
||||
* @return 操作结果
|
||||
*/
|
||||
@ApiOperation("钱包配置---新增商铺收款钱包绑定配置")
|
||||
@ApiOperation("钱包配置---新增商铺收款钱包绑定配置(弃用,业务移到/product/updateProductListForShopWalletConfig 接口)")
|
||||
@PostMapping("/addShopConfig")
|
||||
@Deprecated
|
||||
public Result<String> addShopConfig(@RequestBody ShopConfigVo shopConfigVo) {
|
||||
return leaseShopService.addShopConfig(shopConfigVo);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.m2pool.lease.controller;
|
||||
|
||||
|
||||
import com.m2pool.lease.dto.*;
|
||||
import com.m2pool.lease.dto.v2.PayWithdrawSellerRecordDto;
|
||||
import com.m2pool.lease.dto.v2.ShopWalletInfoDto;
|
||||
import com.m2pool.lease.service.LeaseShopService;
|
||||
import com.m2pool.lease.vo.BalancePageVo;
|
||||
import com.m2pool.lease.vo.BalanceVo;
|
||||
import com.m2pool.lease.vo.BaseVo;
|
||||
import com.m2pool.lease.vo.PageVo;
|
||||
import com.m2pool.lease.vo.v2.ShopWalletInfoVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 店铺表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-08-05
|
||||
*/
|
||||
@Api(tags = "v2版本--店铺控制器")
|
||||
@RestController
|
||||
@RequestMapping("/v2/shop")
|
||||
public class LeaseShopV2Controller {
|
||||
|
||||
@Resource
|
||||
private LeaseShopService leaseShopService;
|
||||
|
||||
/**
|
||||
* 根据店铺id 查询配置信息列表
|
||||
* @param baseVo
|
||||
* @return 操作结果
|
||||
*/
|
||||
@ApiOperation("钱包配置----根据店铺id查询收款钱包绑定信息列表")
|
||||
@PostMapping("/getShopConfigV2")
|
||||
public Result<List<ShopWalletInfoDto>> getShopConfigV2(@RequestBody BaseVo baseVo) {
|
||||
return leaseShopService.getShopConfigV2(baseVo);
|
||||
}
|
||||
|
||||
@PostMapping("/withdrawBalanceForSeller")
|
||||
@ApiOperation(value = "卖家店铺钱包余额提现")
|
||||
public Result<String> withdrawBalanceForSeller(@RequestBody BalanceVo balanceVo){
|
||||
return leaseShopService.withdrawBalanceForSeller(balanceVo);
|
||||
}
|
||||
|
||||
@ApiOperation("钱包配置----根据配置id 修改商铺收款钱包配置")
|
||||
@PostMapping("/updateShopConfigV2")
|
||||
public Result<String> updateShopConfigV2(@RequestBody ShopWalletInfoVo shopWalletInfoVo) {
|
||||
return leaseShopService.updateShopConfigV2(shopWalletInfoVo);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/balanceWithdrawList")
|
||||
@ApiOperation(value = "卖家:余额提现记录列表")
|
||||
public PageResult<PayWithdrawSellerRecordDto> balanceWithdrawList(@RequestBody PageVo pageVo){
|
||||
return leaseShopService.balanceWithdrawList(pageVo);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -51,6 +51,12 @@ public class LeaseShoppingCartController {
|
||||
return leaseShoppingCartService.getGoodsList(pageVo);
|
||||
}
|
||||
|
||||
@ApiOperation("批量删除购物车中商品")
|
||||
@PostMapping("/deleteBatchGoods")
|
||||
public Result<String> deleteBatchGoods(@RequestBody List<ProductAndMachineVo> baseVoList) {
|
||||
return leaseShoppingCartService.deleteBatchGoods(baseVoList);
|
||||
}
|
||||
|
||||
@ApiOperation("删除购物车中商品")
|
||||
@PostMapping("/deleteGoods")
|
||||
@Deprecated
|
||||
@@ -58,11 +64,6 @@ public class LeaseShoppingCartController {
|
||||
return leaseShoppingCartService.deleteGoods(baseVo);
|
||||
}
|
||||
|
||||
@ApiOperation("批量删除购物车中商品")
|
||||
@PostMapping("/deleteBatchGoods")
|
||||
public Result<String> deleteBatchGoods(@RequestBody List<ProductAndMachineVo> baseVoList) {
|
||||
return leaseShoppingCartService.deleteBatchGoods(baseVoList);
|
||||
}
|
||||
|
||||
@ApiOperation("批量删除购物车中已下架商品")
|
||||
@PostMapping("/deleteBatchGoodsForIsDelete")
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
package com.m2pool.lease.controller;
|
||||
|
||||
|
||||
import com.m2pool.lease.dto.PageResult;
|
||||
import com.m2pool.lease.dto.Result;
|
||||
import com.m2pool.lease.dto.ShopCartDto;
|
||||
import com.m2pool.lease.dto.v2.ShopCartV2Dto;
|
||||
import com.m2pool.lease.service.LeaseShoppingCartService;
|
||||
import com.m2pool.lease.vo.BaseVo;
|
||||
import com.m2pool.lease.vo.PageVo;
|
||||
import com.m2pool.lease.vo.ProductAndMachineVo;
|
||||
import com.m2pool.lease.vo.ShoppingCartInfoURDVo;
|
||||
import com.m2pool.lease.vo.v2.AddGoodsVo;
|
||||
import com.m2pool.lease.vo.v2.CartInfoVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 购物车表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Api(tags = "v2版本---购物车表控制器")
|
||||
@RestController
|
||||
@RequestMapping("/v2/shopping/cart")
|
||||
public class LeaseShoppingCartV2Controller {
|
||||
|
||||
@Resource
|
||||
private LeaseShoppingCartService leaseShoppingCartService;
|
||||
|
||||
@ApiOperation("添加商品到购物车(批量+单个)")
|
||||
@PostMapping("/addGoodsV2")
|
||||
public Result<String> addGoodsV2(@RequestBody List<AddGoodsVo> addGoodsVoList) {
|
||||
return leaseShoppingCartService.addGoodsV2(addGoodsVoList);
|
||||
}
|
||||
|
||||
@ApiOperation("查询购物车中商品列表")
|
||||
@PostMapping("/getGoodsListV2")
|
||||
public PageResult<ShopCartV2Dto> getGoodsListV2(@RequestBody(required = false) PageVo pageVo) {
|
||||
if (pageVo == null){
|
||||
pageVo = new PageVo();
|
||||
}
|
||||
return leaseShoppingCartService.getGoodsListV2(pageVo);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("批量删除购物车中商品")
|
||||
@PostMapping("/deleteBatchGoodsV2")
|
||||
public Result<String> deleteBatchGoodsV2(@RequestBody List<CartInfoVo> baseVoList) {
|
||||
return leaseShoppingCartService.deleteBatchGoodsV2(baseVoList);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("批量删除购物车中已下架商品")
|
||||
@PostMapping("/deleteBatchGoodsForIsDeleteV2")
|
||||
public Result<String> deleteBatchGoodsForIsDeleteV2() {
|
||||
return leaseShoppingCartService.deleteBatchGoodsForIsDeleteV2();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -7,12 +7,11 @@ import com.m2pool.lease.service.LeaseUserService;
|
||||
import com.m2pool.lease.vo.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -98,5 +97,18 @@ public class LeaseUserController {
|
||||
public Result<List<ChargeDto>> getCharge(){
|
||||
return leaseUserService.getCharge();
|
||||
}
|
||||
|
||||
@GetMapping("/downloadClient")
|
||||
@ApiOperation(value = "卖家:下载客户端")
|
||||
public void downloadClient(@RequestParam String userEmail,@RequestParam String type,HttpServletRequest request, HttpServletResponse response){
|
||||
leaseUserService.downloadClient(userEmail,type,request, response);
|
||||
}
|
||||
|
||||
@GetMapping("/getClientVersion")
|
||||
@ApiOperation(value = "获取客户端版本号")
|
||||
public String getClientVersion(){
|
||||
return leaseUserService.getClientVersion();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.m2pool.lease.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 余额提现请求对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ChainAndCoinDto {
|
||||
|
||||
|
||||
private String coin;
|
||||
private String chain;
|
||||
private Long shopId;
|
||||
|
||||
public ChainAndCoinDto( String coin,String chain) {
|
||||
this.chain = chain;
|
||||
this.coin = coin;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
ChainAndCoinDto that = (ChainAndCoinDto) o;
|
||||
return Objects.equals(coin, that.coin) && Objects.equals(chain, that.chain) && Objects.equals(shopId, that.shopId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(coin, chain,shopId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ChainAndCoinDto{" +
|
||||
"coin='" + coin + '\'' +
|
||||
", chain='" + chain + '\'' +
|
||||
", shopId='" + shopId + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
@@ -33,5 +33,7 @@ public class ChargeDto {
|
||||
@ApiModelProperty(value = "币种",required = true)
|
||||
private String coin;
|
||||
|
||||
@ApiModelProperty(value = "手续费率",required = true)
|
||||
private BigDecimal feeRate;
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.m2pool.lease.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 矿机售价配置返回对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "矿机售价配置返回对象",value = "MachinePayTypeDto" )
|
||||
public class MachinePayTypeDto {
|
||||
@ApiModelProperty(value = "矿机币种售价配置id")
|
||||
private Long payTypeId;
|
||||
|
||||
@ApiModelProperty(value = "矿机id(忽略)")
|
||||
private Long productMachineId;
|
||||
|
||||
@ApiModelProperty(value = "售价")
|
||||
private BigDecimal price;
|
||||
|
||||
@ApiModelProperty(value = "链")
|
||||
private String chain;
|
||||
|
||||
@ApiModelProperty(value = "售价单位币种")
|
||||
private String coin;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.m2pool.lease.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 矿机售价配置返回对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "购物车矿机总价返回对象",value = "MachineTotalPriceDto" )
|
||||
public class MachineTotalPriceDto {
|
||||
@ApiModelProperty(value = "售价")
|
||||
private BigDecimal price;
|
||||
|
||||
@ApiModelProperty(value = "链")
|
||||
private String chain;
|
||||
|
||||
@ApiModelProperty(value = "售价单位币种")
|
||||
private String coin;
|
||||
}
|
||||
@@ -71,6 +71,10 @@ public class OrderInfoDto {
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "订单完成时间")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
|
||||
// ---------------------------------------------- 一个普通订单对应一个支付订单(多个封装下面四个字段为一个对象,并返回list)----------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -86,6 +90,9 @@ public class OrderInfoDto {
|
||||
@ApiModelProperty(value = "未支付金额")
|
||||
private Double noPayAmount;
|
||||
|
||||
@ApiModelProperty(value = "店铺名称")
|
||||
private String shopName;
|
||||
|
||||
//---------------------------------------------- 一个普通订单对应一个支付订单(多个封装下面四个字段为一个对象,并返回list)- ----------------------------------------------------------------------
|
||||
/**
|
||||
* 订单详情
|
||||
|
||||
@@ -81,5 +81,12 @@ public class OrderItemDto {
|
||||
private String payCoin;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "租赁矿机数量")
|
||||
private Integer numbers;
|
||||
|
||||
@ApiModelProperty(value = "矿机类型 0 ASIC 1 GPU")
|
||||
private Integer type;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -49,11 +50,18 @@ public class PageResult<T> implements Serializable
|
||||
@ApiModelProperty(value = "查询结果描述", example = "成功")
|
||||
private String msg;
|
||||
|
||||
@ApiModelProperty(value = "表头信息")
|
||||
private List<TableHeadersDto> columns;
|
||||
|
||||
public static <T> PageResult<T> success(List<T> data)
|
||||
{
|
||||
return setPageResult(data, SUCCESS, "成功");
|
||||
}
|
||||
|
||||
public static <T> PageResult<T> successColumns(List<T> data) {
|
||||
return setPageResultAndHeader(data, SUCCESS, "成功");
|
||||
}
|
||||
|
||||
public static <T> PageResult<T> fail(List<T> data, String msg)
|
||||
{
|
||||
return setPageResult(data, FAIL, msg);
|
||||
@@ -67,4 +75,43 @@ public class PageResult<T> implements Serializable
|
||||
rspData.setMsg("查询成功");
|
||||
return rspData;
|
||||
}
|
||||
private static <T> PageResult<T> setPageResultAndHeader(List<T> data, int code, String msg) {
|
||||
List<TableHeadersDto> columns = new ArrayList<>();
|
||||
columns.add(TableHeadersDto.builder()
|
||||
.key("model")
|
||||
.label("型号")
|
||||
.type("text")
|
||||
.fixed("left")
|
||||
.width(100)
|
||||
.build());
|
||||
columns.add(TableHeadersDto.builder()
|
||||
.key("price")
|
||||
.label("价格")
|
||||
.type("amount")
|
||||
.width(100)
|
||||
.build());
|
||||
|
||||
columns.add(TableHeadersDto.builder()
|
||||
.key("monthIncome")
|
||||
.label("最大月收益")
|
||||
.type("amount")
|
||||
.currency("USDT")
|
||||
.period("MONTH")
|
||||
.width(110)
|
||||
.build());
|
||||
|
||||
columns.add(TableHeadersDto.builder()
|
||||
.key("maxLeaseDays")
|
||||
.label("最大租赁天数")
|
||||
.type("days")
|
||||
.width(80)
|
||||
.build());
|
||||
|
||||
PageResult<T> rspData = new PageResult<T>();
|
||||
rspData.setColumns(columns);
|
||||
rspData.setCode(SUCCESS);
|
||||
rspData.setRows(data);
|
||||
rspData.setMsg("查询成功");
|
||||
return rspData;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@ import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 店铺商品配置返回对象
|
||||
@@ -43,4 +45,10 @@ public class PayConfigDto {
|
||||
|
||||
|
||||
private Long shopId;
|
||||
|
||||
@ApiModelProperty(value = "起付金额")
|
||||
private BigDecimal deductibleAmount;
|
||||
|
||||
@ApiModelProperty(value = "手续费")
|
||||
private BigDecimal fee;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.m2pool.lease.dto;
|
||||
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description 店铺支持的支付方式
|
||||
* @Date 2024/6/14 15:57
|
||||
* @Author dy
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ApiModel(description = "店铺支持的支付方式",value = "PayTypeDto")
|
||||
public class PayTypeDto {
|
||||
|
||||
@ApiModelProperty(value = "店铺id(不展示)")
|
||||
private Long shopId;
|
||||
|
||||
@ApiModelProperty(value = "链")
|
||||
private String chain;
|
||||
|
||||
@ApiModelProperty(value = "支付币种")
|
||||
private String coin;
|
||||
|
||||
@ApiModelProperty(value = "支付币种图标")
|
||||
private String image;
|
||||
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.m2pool.lease.dto;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -9,7 +8,6 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
||||
@@ -27,14 +27,15 @@ public class ProductDto {
|
||||
|
||||
@ApiModelProperty(value = "商品id")
|
||||
private Long id;
|
||||
|
||||
|
||||
/**
|
||||
* 店铺id
|
||||
*/
|
||||
@ApiModelProperty(value = "店铺id")
|
||||
private Long shopId;
|
||||
|
||||
@ApiModelProperty(value = "店铺名称")
|
||||
private String shopName;
|
||||
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
@@ -59,19 +60,18 @@ public class ProductDto {
|
||||
@ApiModelProperty(value = "上下架状态,0 上架,1 下架")
|
||||
private Integer state;
|
||||
|
||||
/**
|
||||
* 商品机器单机算力(卖方手动填写)
|
||||
*/
|
||||
//@ApiModelProperty(value = "商品机器单机理论算力(卖方手动填写)")
|
||||
//private BigDecimal power;
|
||||
|
||||
|
||||
/**
|
||||
* 库存中机器价格范围
|
||||
*/
|
||||
@ApiModelProperty(value = "价格范围")
|
||||
@Deprecated
|
||||
private String priceRange;
|
||||
|
||||
@ApiModelProperty(value = "店铺支持的支付方式")
|
||||
private List<PayTypeDto> payTypes;
|
||||
|
||||
/**
|
||||
* 算法
|
||||
*/
|
||||
@@ -83,34 +83,6 @@ public class ProductDto {
|
||||
*/
|
||||
@ApiModelProperty(value = "商品描述")
|
||||
private String description;
|
||||
|
||||
|
||||
/**
|
||||
* 功耗 单位kw/h
|
||||
*/
|
||||
//@ApiModelProperty(value = "功耗 单位kw/h")
|
||||
//private BigDecimal powerDissipation;
|
||||
|
||||
|
||||
/**
|
||||
* 电费 单位 $/度
|
||||
*/
|
||||
//@ApiModelProperty(value = "电费 单位 $/度")
|
||||
//private BigDecimal electricityBill;
|
||||
|
||||
/**
|
||||
* 收益率 单位 %
|
||||
*/
|
||||
//@ApiModelProperty(value = "收益率 单位 %")
|
||||
//private BigDecimal incomeRate;
|
||||
|
||||
|
||||
/**
|
||||
* 机器成本价格单位$ [ 功耗 * 电费 * 24 * (1 + 收益率) ]
|
||||
*/
|
||||
//@ApiModelProperty(value = "机器成本价格单位$ [ 功耗 * 电费 * 24 * (1 + 收益率) ]")
|
||||
// private BigDecimal cost;
|
||||
|
||||
/**
|
||||
* 矿机挖矿币种 nexa rxd dgbo dgbq dgbs alph enx grs mona
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.m2pool.lease.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 钱包配置修改商品支付方式返回对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "钱包配置修改商品支付方式返回对象",value = "ProductForWalletConfigDto" )
|
||||
public class ProductForWalletConfigDto {
|
||||
|
||||
@ApiModelProperty(value = "商品id")
|
||||
private Long productId;
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
@ApiModelProperty(value = "商品名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 商品图片路径
|
||||
*/
|
||||
@ApiModelProperty(value = "商品图片路径")
|
||||
private String image;
|
||||
|
||||
/**
|
||||
* 上下架状态,0 上架,1 下架
|
||||
*/
|
||||
@ApiModelProperty(value = "上下架状态,0 上架,1 下架")
|
||||
private Integer state;
|
||||
|
||||
/**
|
||||
* 算法
|
||||
*/
|
||||
@ApiModelProperty(value = "算法")
|
||||
private String algorithm;
|
||||
|
||||
/**
|
||||
* 商品描述
|
||||
*/
|
||||
@ApiModelProperty(value = "商品描述")
|
||||
private String description;
|
||||
/**
|
||||
* 矿机挖矿币种 nexa rxd dgbo dgbq dgbs alph enx grs mona
|
||||
*/
|
||||
@ApiModelProperty(value = "矿机挖矿币种 nexa rxd dgbo dgbq dgbs alph enx grs mona")
|
||||
private String coin;
|
||||
/**
|
||||
* 总矿机数
|
||||
*/
|
||||
@ApiModelProperty(value = "总矿机数(已售 + 未售出矿机)")
|
||||
private Integer totalMachineNumber;
|
||||
|
||||
@ApiModelProperty(value = "矿机列表")
|
||||
private List<ProductMachineForWalletConfigDto> machineList;
|
||||
}
|
||||
@@ -9,6 +9,7 @@ import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -28,66 +29,44 @@ public class ProductMachineDto {
|
||||
@ApiModelProperty(value = "矿机ID")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "购物车详情id")
|
||||
private Long cartInfoId;
|
||||
|
||||
@ApiModelProperty(value = "店铺id")
|
||||
private Long shopId;
|
||||
|
||||
/**
|
||||
* 商品 ID
|
||||
*/
|
||||
@ApiModelProperty(value = "商品 ID")
|
||||
private Long productId;
|
||||
|
||||
/**
|
||||
* 挖矿机器 对应的矿工账号
|
||||
*/
|
||||
@ApiModelProperty(value = "挖矿机器 对应的矿工账号")
|
||||
private String user;
|
||||
|
||||
/**
|
||||
* 挖矿机器型号
|
||||
*/
|
||||
|
||||
@ApiModelProperty(value = "挖矿机器型号")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 挖矿机器编号
|
||||
*/
|
||||
@ApiModelProperty(value = "挖矿机器编号")
|
||||
private String miner;
|
||||
|
||||
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
@ApiModelProperty(value = "单价")
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 实际算力(计算得到,商家不能够自己添加和修改)
|
||||
*/
|
||||
|
||||
@ApiModelProperty(value = "3天算力平均大小---实际实时算力(计算得到,商家不能够自己添加和修改)")
|
||||
private BigDecimal computingPower;
|
||||
|
||||
|
||||
/**
|
||||
* 理论算力
|
||||
*/
|
||||
|
||||
@ApiModelProperty(value = "理论算力(卖方手动填写)")
|
||||
private BigDecimal theoryPower;
|
||||
|
||||
@ApiModelProperty(value = "算力单位")
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 上下架状态,0 上架,1 下架
|
||||
*/
|
||||
@ApiModelProperty(value = "上下架状态,0 上架,1 下架")
|
||||
private Integer state;
|
||||
|
||||
/**
|
||||
* 售出状态 0未售出 1已售出 2售出中
|
||||
*/
|
||||
@ApiModelProperty(value = "售出状态 0未售出 1已售出 2售出中")
|
||||
private Integer saleState;
|
||||
|
||||
@@ -97,9 +76,7 @@ public class ProductMachineDto {
|
||||
@ApiModelProperty(value = "机器算力最近记录的一次时间")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/**
|
||||
* 单机理论收入
|
||||
*/
|
||||
|
||||
@ApiModelProperty(value = "单机理论收入(每日) 单位币种")
|
||||
private BigDecimal theoryIncome;
|
||||
|
||||
@@ -109,12 +86,6 @@ public class ProductMachineDto {
|
||||
@ApiModelProperty(value = "租赁天数")
|
||||
private Integer leaseTime;
|
||||
|
||||
/**
|
||||
* 单机预估实际收入
|
||||
*/
|
||||
//@ApiModelProperty(value = "单机预估实际收入(每日)")
|
||||
//private BigDecimal actualIncome;
|
||||
|
||||
@ApiModelProperty(value = "算法")
|
||||
private String algorithm;
|
||||
|
||||
@@ -124,7 +95,7 @@ public class ProductMachineDto {
|
||||
@ApiModelProperty(value = "最大可租借天数(默认七天)",example = "7")
|
||||
private Integer maxLeaseDays;
|
||||
|
||||
@ApiModelProperty(value = "币种")
|
||||
@ApiModelProperty(value = "挖矿机器挖矿币种")
|
||||
private String coin;
|
||||
|
||||
@ApiModelProperty(value = "商品名称")
|
||||
@@ -132,4 +103,11 @@ public class ProductMachineDto {
|
||||
|
||||
@ApiModelProperty(value = "是否删除 0否 1是")
|
||||
private Integer del;
|
||||
|
||||
@ApiModelProperty(value = "支付币种")
|
||||
private String payCoin;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "售价集合")
|
||||
private List<MachinePayTypeDto> priceList;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
package com.m2pool.lease.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品对应实际商品返回对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "钱包配置修改矿机支付方式返回对象",value = "ProductMachineForWalletConfigDto" )
|
||||
public class ProductMachineForWalletConfigDto {
|
||||
|
||||
@ApiModelProperty(value = "矿机ID")
|
||||
private Long productMachineId;
|
||||
|
||||
@ApiModelProperty(value = "商品ID")
|
||||
private Long productId;
|
||||
|
||||
/**
|
||||
* 挖矿机器 对应的矿工账号
|
||||
*/
|
||||
@ApiModelProperty(value = "挖矿机器 对应的矿工账号")
|
||||
private String user;
|
||||
|
||||
/**
|
||||
* 挖矿机器型号
|
||||
*/
|
||||
@ApiModelProperty(value = "挖矿机器型号")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 挖矿机器编号
|
||||
*/
|
||||
@ApiModelProperty(value = "挖矿机器编号")
|
||||
private String miner;
|
||||
|
||||
@ApiModelProperty(value = "挖矿币种")
|
||||
private String coin;
|
||||
|
||||
///**
|
||||
// * 实际算力(计算得到,商家不能够自己添加和修改)
|
||||
// */
|
||||
//@ApiModelProperty(value = "3天算力平均大小---实际实时算力(计算得到,商家不能够自己添加和修改)")
|
||||
//private BigDecimal computingPower;
|
||||
|
||||
@ApiModelProperty(value = "算力单位")
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 上下架状态,0 上架,1 下架
|
||||
*/
|
||||
@ApiModelProperty(value = "上下架状态,0 上架,1 下架")
|
||||
private Integer state;
|
||||
|
||||
/**
|
||||
* 售出状态 0未售出 1已售出 2售出中
|
||||
*/
|
||||
@ApiModelProperty(value = "售出状态 0未售出 1已售出 2售出中")
|
||||
private Integer saleState;
|
||||
|
||||
/**
|
||||
* 理论算力
|
||||
*/
|
||||
@ApiModelProperty(value = "理论算力(卖方手动填写)")
|
||||
private BigDecimal theoryPower;
|
||||
|
||||
@ApiModelProperty(value = "单机理论收入(每日) 单位币种")
|
||||
private BigDecimal theoryIncome;
|
||||
|
||||
@ApiModelProperty(value = "单机理论收入(每日) 单位USDT")
|
||||
private BigDecimal theoryUsdtIncome;
|
||||
|
||||
@ApiModelProperty(value = "功耗 单位kw/h",example = "10")
|
||||
private BigDecimal powerDissipation;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
@ApiModelProperty(value = "单价")
|
||||
private BigDecimal price;
|
||||
|
||||
@ApiModelProperty(value = "支付链")
|
||||
private BigDecimal chain;
|
||||
|
||||
@ApiModelProperty(value = "支付币种")
|
||||
private BigDecimal symbol;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.m2pool.lease.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品对应实际商品返回对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "钱包配置修改矿机支付方式请求对象",value = "ProductMachineForWalletConfigVo" )
|
||||
public class ProductMachineForWalletConfigVo {
|
||||
|
||||
@ApiModelProperty(value = "钱包地址")
|
||||
private String payAddress;
|
||||
|
||||
@ApiModelProperty(value = "支付链")
|
||||
private String chain;
|
||||
|
||||
@ApiModelProperty(value = "支付币种,可以多个以逗号隔开")
|
||||
private String symbol;
|
||||
|
||||
@ApiModelProperty(value = "价格列表")
|
||||
private List<PriceVo> productMachineForWalletConfigVoList;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "币(二级) 下拉列表返回对象",value = "PriceVo")
|
||||
public static class PriceVo{
|
||||
@ApiModelProperty(value = "矿机ID")
|
||||
private Long productMachineId;
|
||||
@ApiModelProperty(value = "单价,可以多个以逗号隔开")
|
||||
private String price;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -31,4 +31,6 @@ public class ProductMachineInfoDto {
|
||||
@ApiModelProperty(value = "矿机范围及矿机详情返回对象")
|
||||
private List<ProductMachineRangeInfoDto> machineRangeInfoList;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -50,8 +51,8 @@ public class ProductUpdateMachineDto {
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
@ApiModelProperty(value = "单价")
|
||||
private BigDecimal price;
|
||||
@ApiModelProperty(value = "售价集合")
|
||||
private List<MachinePayTypeDto> priceList;
|
||||
|
||||
/**
|
||||
* 实际算力(计算得到,商家不能够自己添加和修改)
|
||||
@@ -59,7 +60,6 @@ public class ProductUpdateMachineDto {
|
||||
@ApiModelProperty(value = "3天算力平均大小---实际实时算力(计算得到,商家不能够自己添加和修改)")
|
||||
private BigDecimal computingPower;
|
||||
|
||||
|
||||
/**
|
||||
* 理论算力
|
||||
*/
|
||||
|
||||
@@ -38,12 +38,12 @@ public class ShopCartDto {
|
||||
@ApiModelProperty(value = "店铺下机器总数")
|
||||
private Integer totalMachine;
|
||||
|
||||
@ApiModelProperty(value = "总价集合")
|
||||
private List<MachineTotalPriceDto> totalPriceList;
|
||||
|
||||
@ApiModelProperty(value = "商品支持的支付地址")
|
||||
private List<PayConfigDto> payConfigList;
|
||||
|
||||
//@ApiModelProperty(value = "购物车二层商品列表返回对象")
|
||||
//List<ShoppingCartInfoDto> shoppingCartInfoDtoList;
|
||||
|
||||
@ApiModelProperty(value = "商品机器列表")
|
||||
List<ProductMachineDto> productMachineDtoList;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@ import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 店铺表
|
||||
@@ -54,4 +56,8 @@ public class ShopDto {
|
||||
*/
|
||||
@ApiModelProperty(value = "逻辑删除字段")
|
||||
private Boolean del;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "店铺手续费比例 范围0.01-0.1",example = "0.01")
|
||||
private BigDecimal feeRate;
|
||||
}
|
||||
|
||||
@@ -21,52 +21,20 @@ import java.util.List;
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "购物车二层商品列表返回对象",value = "ShoppingCartInfoDto" )
|
||||
@ApiModel(description = "购物车二层商品列表返回对象(不再使用)",value = "ShoppingCartInfoDto" )
|
||||
public class ShoppingCartInfoDto {
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
//@ApiModelProperty(value = "购物车详情ID")
|
||||
//private Long id;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "店铺ID",example = "8")
|
||||
private Long shopId;
|
||||
|
||||
/**
|
||||
* 商品 ID
|
||||
*/
|
||||
@ApiModelProperty(value = "商品 ID")
|
||||
private Long productId;
|
||||
|
||||
/**
|
||||
* 商品机器ID
|
||||
*/
|
||||
@ApiModelProperty(value = "商品机器ID")
|
||||
private Long productMachineId;
|
||||
|
||||
/**
|
||||
* 商品名称
|
||||
* 租期
|
||||
*/
|
||||
@ApiModelProperty(value = "商品名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 商品上下架状态,0 上架,1 下架
|
||||
*/
|
||||
@ApiModelProperty(value = "商品上下架状态,0 上架,1 下架")
|
||||
private Integer productState;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "矿机挖矿币种 nexa rxd dgbo dgbq dgbs alph enx grs mona",example = "nexa")
|
||||
private String coin;
|
||||
|
||||
@ApiModelProperty(value = "商品图片路径")
|
||||
private String image;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "商品机器列表")
|
||||
List<ProductMachineDto> productMachineDtoList;
|
||||
private Integer leaseTime;
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.m2pool.lease.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Description 表头信息
|
||||
* @Date 2025/11/28 13:31
|
||||
* @Author yyb
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "表头信息",value = "TableHeadersDto" )
|
||||
public class TableHeadersDto {
|
||||
|
||||
/**
|
||||
* 动态列第几列
|
||||
*/
|
||||
@ApiModelProperty(value = "动态列第几列")
|
||||
private String key;
|
||||
|
||||
/**
|
||||
* 列名
|
||||
*/
|
||||
@ApiModelProperty(value = "列名")
|
||||
private String label;
|
||||
|
||||
/**
|
||||
* 类型 text/amount/hashrate/days
|
||||
*/
|
||||
@ApiModelProperty(value = "类型 text/amount/hashrate/days")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 固定列 left/right/不传
|
||||
*/
|
||||
@ApiModelProperty(value = "固定列 left/right/不传")
|
||||
private String fixed;
|
||||
|
||||
@ApiModelProperty(value = "价格单位")
|
||||
private String currency;
|
||||
|
||||
@ApiModelProperty(value = "时间间隔")
|
||||
private String period;
|
||||
|
||||
/**
|
||||
* 算力单位
|
||||
*/
|
||||
@ApiModelProperty(value = "算力单位")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty(value = "图标")
|
||||
private String icon;
|
||||
|
||||
/**
|
||||
* 宽度
|
||||
*/
|
||||
@ApiModelProperty(value = "宽度")
|
||||
private Integer width;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品列表分页请求对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "商品对应算法",value = "AlgorithmShopIdMapDto" )
|
||||
public class AlgorithmShopIdMapDto {
|
||||
|
||||
|
||||
@ApiModelProperty(value = "店铺id",example = "1")
|
||||
private Long shopId;
|
||||
|
||||
@ApiModelProperty(value = "算法")
|
||||
private String algorithm;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 机器参数请求对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "asic 矿机新增 算力,币种返回对象",value = "AsicCoinAndAlgoDto" )
|
||||
public class AsicCoinAndAlgoDto {
|
||||
|
||||
@ApiModelProperty(value = "币种算力配置id")
|
||||
private Long coinAndPowerId;
|
||||
|
||||
@ApiModelProperty(value = "矿机id(忽略)")
|
||||
private Long productMachineId;
|
||||
|
||||
@ApiModelProperty(value = "币种(多个逗号隔开)")
|
||||
private String coin;
|
||||
|
||||
@ApiModelProperty(value = "算法(多个逗号隔开)")
|
||||
private String algorithm;
|
||||
|
||||
@ApiModelProperty(value = "理论算力)",example = "0.01")
|
||||
private BigDecimal theoryPower;
|
||||
|
||||
@ApiModelProperty(value = "商品机器单机算力单位",example = "TH/S")
|
||||
private String unit;
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import com.m2pool.lease.dto.MachinePayTypeDto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品对应实际商品返回对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "购物车列表返回对象",value = "CartMachineInfoDto" )
|
||||
public class CartMachineInfoDto{
|
||||
|
||||
@ApiModelProperty(value = "矿机ID")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "购物车详情id")
|
||||
private Long cartInfoId;
|
||||
|
||||
@ApiModelProperty(value = "店铺id")
|
||||
private Long shopId;
|
||||
|
||||
@ApiModelProperty(value = " gpu名称型号 或asic 名称型号")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "矿工账号 (gpu)")
|
||||
private String user;
|
||||
|
||||
@ApiModelProperty(value = "矿机型号 0 ASIC 1 GPU")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty(value = "矿机编号(gpu)")
|
||||
private String miner;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "上下架状态,0 上架,1 下架")
|
||||
private Integer state;
|
||||
|
||||
@ApiModelProperty(value = "售出状态 0未售出 1已售出")
|
||||
private Integer saleState;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "最大可租借天数(默认七天)",example = "7")
|
||||
private Integer maxLeaseDays;
|
||||
|
||||
@ApiModelProperty(value = "是否删除 0否 1是")
|
||||
private Integer del;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "最大月收益 usdt")
|
||||
private BigDecimal monthIncome;
|
||||
|
||||
@ApiModelProperty(value = "最大收益币种功耗 单位kw/h",example = "10")
|
||||
private BigDecimal powerDissipation;
|
||||
|
||||
@ApiModelProperty(value = "理论算力(卖方手动填写)")
|
||||
private BigDecimal theoryPower;
|
||||
|
||||
@ApiModelProperty(value = "最大收益币种算力单位")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty(value = "最大收益币种算法")
|
||||
private String algorithm;
|
||||
|
||||
@ApiModelProperty(value = "售价")
|
||||
private BigDecimal price;
|
||||
|
||||
@ApiModelProperty(value = "最大收益对应币种")
|
||||
private String coin;
|
||||
|
||||
@ApiModelProperty(value = "租赁天数")
|
||||
private Integer leaseTime;
|
||||
|
||||
private Long configId;
|
||||
|
||||
@ApiModelProperty(value = "支付币种")
|
||||
private String payCoin;
|
||||
|
||||
@ApiModelProperty(value = "asic 租赁数量")
|
||||
private Integer numbers;
|
||||
|
||||
@ApiModelProperty(value = "矿机客户端在离线情况 0 离线 1 在线")
|
||||
private Boolean onlineStatus;
|
||||
|
||||
@ApiModelProperty(value = "可售数量")
|
||||
private Integer canSaleNumbers;
|
||||
|
||||
@ApiModelProperty(value = "gpu和asic对应币种算力和月收益信息")
|
||||
private List<PowerIncomeInfoDto> powerIncomeInfoList;
|
||||
|
||||
@ApiModelProperty(value = "店铺售价集合")
|
||||
private List<MachinePayTypeDto> priceList;
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
|
||||
import com.m2pool.lease.dto.PageResult;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class CoinAndAlgorithmDto {
|
||||
|
||||
/**
|
||||
* 币种名称
|
||||
*/
|
||||
private String coin;
|
||||
|
||||
/**
|
||||
* 算法名称
|
||||
*/
|
||||
private String algorithm;
|
||||
|
||||
/**
|
||||
* 矿机id,多个已逗号隔开
|
||||
*/
|
||||
private String machineIds;
|
||||
|
||||
/**
|
||||
* 是否生效
|
||||
*/
|
||||
private Boolean isEffect;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ApiModel(description = "币种算法返回对象",value = "CoinAndAlgorithmListDto")
|
||||
public class CoinAndAlgorithmListDto {
|
||||
|
||||
|
||||
@ApiModelProperty(value = "币种")
|
||||
private String coin;
|
||||
|
||||
@ApiModelProperty(value = "币种对应算法返回对象")
|
||||
private List<AlgorithmListDto> algorithmList;
|
||||
|
||||
@Data
|
||||
@ApiModel(description = "币种对应算法返回对象",value = "AlgorithmListDto")
|
||||
public static class AlgorithmListDto{
|
||||
@ApiModelProperty(value = "算法")
|
||||
private String algorithm;
|
||||
|
||||
@ApiModelProperty(value = "支持该算法的矿机id集合")
|
||||
private List<Long> machineIds;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import com.m2pool.lease.dto.MachinePayTypeDto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品对应实际商品返回对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "gpu公共配置返回对象",value = "GpuConfigDto" )
|
||||
public class GpuConfigDto {
|
||||
|
||||
|
||||
|
||||
@ApiModelProperty(value = "gpu名称/型号")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "gpu品牌")
|
||||
private String brand;
|
||||
|
||||
private Integer memory;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* GPU对应币种挖矿算力(只要gpu类型相同那么就使用这个配置)
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-11-27
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class MachineConfigDto {
|
||||
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 机器id
|
||||
*/
|
||||
private Long machineId;
|
||||
|
||||
/**
|
||||
* gpu/asic品牌
|
||||
*/
|
||||
private String brand;
|
||||
|
||||
/**
|
||||
* gpu 名称/型号
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 内存单位M
|
||||
*/
|
||||
private Integer memory;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 支持的币种
|
||||
*/
|
||||
private String coin;
|
||||
|
||||
/**
|
||||
* 算法
|
||||
*/
|
||||
private String algorithm;
|
||||
|
||||
/**
|
||||
* 是否是临时信息
|
||||
*/
|
||||
private Boolean isTemp;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Description 矿机是否能够上架
|
||||
* @Date 2025/12/12 14:41
|
||||
* @Author yyb
|
||||
*/
|
||||
@Data
|
||||
public class MachineEffectDto {
|
||||
private Long machineId;
|
||||
|
||||
private Boolean effect;
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import com.m2pool.lease.dto.MachinePayTypeDto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品对应实际商品返回对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "矿机返回对象",value = "MachineInfoDto" )
|
||||
public class MachineInfoDto {
|
||||
|
||||
|
||||
private Integer type;
|
||||
|
||||
private BigDecimal theoryPower;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "矿机ID")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "gpu名称 或asic 名称")
|
||||
private String model;
|
||||
|
||||
@ApiModelProperty(value = "矿机mac地址")
|
||||
private String hostMac;
|
||||
|
||||
@ApiModelProperty(value = "上下架状态,0 上架,1 下架")
|
||||
private Integer state;
|
||||
|
||||
@ApiModelProperty(value = "售出状态 0未售出 1已售出")
|
||||
private Integer saleState;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "最大可租借天数(默认七天)",example = "7")
|
||||
private Integer maxLeaseDays;
|
||||
|
||||
@ApiModelProperty(value = "最大月收益 usdt")
|
||||
private BigDecimal monthIncome;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "最大收益币种算法")
|
||||
private String algorithm;
|
||||
|
||||
@ApiModelProperty(value = "售价")
|
||||
private BigDecimal price;
|
||||
|
||||
@ApiModelProperty(value = "最大收益对应币种")
|
||||
private String coin;
|
||||
|
||||
@ApiModelProperty(value = "矿机客户端在离线情况 0 离线 1 在线")
|
||||
private Boolean onlineStatus;
|
||||
|
||||
@ApiModelProperty(value = "可出售机器数量")
|
||||
private Integer saleNumbers;
|
||||
|
||||
@ApiModelProperty(value = "已售出数量")
|
||||
private Integer saleOutNumbers;
|
||||
|
||||
//动态列名(方便前端显示)
|
||||
private BigDecimal c1;
|
||||
|
||||
private BigDecimal c2;
|
||||
|
||||
private BigDecimal c3;
|
||||
|
||||
private BigDecimal c4;
|
||||
|
||||
private BigDecimal c5;
|
||||
|
||||
private BigDecimal c6;
|
||||
|
||||
private BigDecimal c7;
|
||||
|
||||
private BigDecimal c8;
|
||||
|
||||
private BigDecimal c9;
|
||||
|
||||
private BigDecimal c10;
|
||||
|
||||
|
||||
|
||||
//@ApiModelProperty(value = "币种动态列集合")
|
||||
//private List<PowerIncomeInfoDto> powerIncomeInfoList;
|
||||
|
||||
@ApiModelProperty(value = "店铺售价集合")
|
||||
private List<MachinePayTypeDto> priceList;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
public interface MachineInfoInterface {
|
||||
Integer getType();
|
||||
Long getId();
|
||||
String getCoin();
|
||||
String getAlgorithm();
|
||||
BigDecimal getTheoryPower();
|
||||
BigDecimal getMonthIncome();
|
||||
void setPowerIncomeInfoList(List<PowerIncomeInfoDto> powerIncomeInfoList);
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @Description 矿机对应的矿池配置信息
|
||||
* @Date 2025/11/26 14:19
|
||||
* @Author yyb
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "矿池对应币种返回对象",value = "MiningCoinInfoDto" )
|
||||
public class MiningCoinInfoDto {
|
||||
@ApiModelProperty(value = "矿池配置id")
|
||||
private Long coinConfigId;
|
||||
|
||||
@ApiModelProperty(value = "挖矿币种")
|
||||
private String coin;
|
||||
|
||||
@ApiModelProperty(value = "挖矿算法")
|
||||
private String algorithm;
|
||||
|
||||
@ApiModelProperty(value = "挖矿地址 TCP GPU")
|
||||
private String miningTcpGpuUrl;
|
||||
|
||||
@ApiModelProperty(value = "分配模式名")
|
||||
private String modelName;
|
||||
|
||||
@ApiModelProperty(value = "分配模式手续费")
|
||||
private BigDecimal modelFee;
|
||||
|
||||
@ApiModelProperty(value = "是否支持钱包支付0 不支持 1 支持")
|
||||
private Boolean walletMining;
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Description 矿机对应的矿池配置信息
|
||||
* @Date 2025/11/26 14:19
|
||||
* @Author yyb
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class MiningConfigDto {
|
||||
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "挖矿币种")
|
||||
private String coin;
|
||||
|
||||
@ApiModelProperty(value = "挖矿算法")
|
||||
private String algo;
|
||||
|
||||
@ApiModelProperty(value = "矿池名称")
|
||||
private String pool;
|
||||
|
||||
@ApiModelProperty(value = "是否支持钱包挖矿 0 不支持 1支持")
|
||||
private Boolean wallet_mining;
|
||||
|
||||
@ApiModelProperty(value = "挖矿地址")
|
||||
private String pool_url;
|
||||
|
||||
@ApiModelProperty(value = "收款钱包")
|
||||
private String wallet_address;
|
||||
|
||||
@ApiModelProperty(value = "挖矿账户")
|
||||
private String pool_user;
|
||||
|
||||
@ApiModelProperty(value = "矿工号")
|
||||
private String worker_id;
|
||||
|
||||
@ApiModelProperty(value = "挖矿结束时间")
|
||||
private Long end_timestamp;
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @Description 矿机对应的矿池配置信息
|
||||
* @Date 2025/11/26 14:19
|
||||
* @Author yyb
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class MiningConfigSelectDto {
|
||||
|
||||
|
||||
@ApiModelProperty(value = "矿池配置id")
|
||||
private Long coinConfigId;
|
||||
|
||||
@ApiModelProperty(value = "矿池id")
|
||||
private Long poolId;
|
||||
|
||||
@ApiModelProperty(value = "挖矿币种")
|
||||
private String coin;
|
||||
|
||||
@ApiModelProperty(value = "挖矿算法")
|
||||
private String algorithm;
|
||||
|
||||
@ApiModelProperty(value = "矿池名称")
|
||||
private String poolName;
|
||||
|
||||
@ApiModelProperty(value = "是否支持钱包支付0 不支持 1 支持")
|
||||
private Boolean walletMining;
|
||||
|
||||
@ApiModelProperty(value = "挖矿地址 TCP GPU")
|
||||
private String miningTcpGpuUrl;
|
||||
|
||||
@ApiModelProperty(value = "分配模式名")
|
||||
private String modelName;
|
||||
|
||||
@ApiModelProperty(value = "分配模式手续费")
|
||||
private BigDecimal modelFee;
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import scala.math.BigDecimal;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* GPU对应币种挖矿算力(只要gpu类型相同那么就使用这个配置)
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-11-27
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "矿机对应实时算力放回对象",value = "MiningHashrateInfoDto" )
|
||||
public class MiningHashrateInfoDto {
|
||||
@ApiModelProperty(value = "算力")
|
||||
private BigDecimal power;
|
||||
|
||||
@ApiModelProperty(value = "记录时间")
|
||||
private LocalDateTime recordTime;
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description 矿机对应的矿池配置信息
|
||||
* @Date 2025/11/26 14:19
|
||||
* @Author yyb
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "矿池列表返回对象",value = "MiningInfoDto" )
|
||||
public class MiningInfoDto {
|
||||
@ApiModelProperty(value = "矿池id")
|
||||
private Long poolId;
|
||||
|
||||
@ApiModelProperty(value = "矿池名称")
|
||||
private String poolName;
|
||||
|
||||
@ApiModelProperty(value = "矿池支持对应币种信息")
|
||||
private List<MiningCoinInfoDto> miningCoinInfoList;
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description 矿机对应的矿池配置信息
|
||||
* @Date 2025/11/26 14:19
|
||||
* @Author yyb
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "矿池列表返回对象",value = "OrderMiningInfoDto" )
|
||||
public class OrderMiningInfoDto {
|
||||
@ApiModelProperty(value = "矿池名称")
|
||||
private String poolName;
|
||||
|
||||
@ApiModelProperty(value = "矿池配置id")
|
||||
private Long coinConfigId;
|
||||
|
||||
@ApiModelProperty(value = "是否钱包挖矿 0 不支持 1 支持")
|
||||
private Boolean walletMining;
|
||||
|
||||
@ApiModelProperty(value = "矿机id")
|
||||
private Long machineId;
|
||||
|
||||
@ApiModelProperty(value = "挖矿钱包(用户自己输入)")
|
||||
private String walletAddress;
|
||||
|
||||
@ApiModelProperty(value = "挖矿账号(用户自己输入)")
|
||||
private String poolUser;
|
||||
|
||||
@ApiModelProperty(value = "矿工号(用户自己输入)")
|
||||
private String workerId;
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 订单状态修改返回对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OrderTimeInfoDto {
|
||||
|
||||
private Long id;
|
||||
|
||||
private Long orderId;
|
||||
|
||||
private Long orderItemId;
|
||||
|
||||
private Integer leaseTime;
|
||||
|
||||
private LocalDateTime startTime;
|
||||
|
||||
private BigDecimal price;
|
||||
|
||||
private Integer numbers;
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 余额提现返回对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-09-10
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "店铺钱包提现记录返回信息",value = "PayWithdrawSellerRecordDto" )
|
||||
public class PayWithdrawSellerRecordDto {
|
||||
|
||||
private Long id;
|
||||
|
||||
|
||||
|
||||
@ApiModelProperty(value = "用户充值地址")
|
||||
private String fromAddress;
|
||||
|
||||
@ApiModelProperty(value = "提现地址(用户自定义)")
|
||||
private String toAddress;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "提现金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
/**
|
||||
* 币种
|
||||
*/
|
||||
@ApiModelProperty(value = "币种")
|
||||
private String symbol;
|
||||
|
||||
/**
|
||||
* 链名称
|
||||
*/
|
||||
@ApiModelProperty(value = "链名称")
|
||||
private String chain;
|
||||
|
||||
/**
|
||||
* 充值时间
|
||||
*/
|
||||
@ApiModelProperty(value = "提现时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@ApiModelProperty(value = "提现完成时间")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 0 支付失败 1 支付成功 2 支付中
|
||||
*/
|
||||
@ApiModelProperty(value = "记录状态 提现业务: 0 提现失败 1 提现成功 2 提现中 3 校验失败")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 交易hash
|
||||
*/
|
||||
@ApiModelProperty(value = "交易hash")
|
||||
private String txHash;
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品对应实际商品返回对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "gpu配置信息返回对象",value = "PowerIncomeInfoDto" )
|
||||
public class PowerIncomeInfoDto {
|
||||
|
||||
@ApiModelProperty(value = "币种")
|
||||
private String coin;
|
||||
|
||||
//@ApiModelProperty(value = "算法")
|
||||
//private String algorithm;
|
||||
|
||||
@ApiModelProperty(value = "算力")
|
||||
private BigDecimal power;
|
||||
|
||||
@ApiModelProperty(value = "月收益")
|
||||
private BigDecimal monthIncome;
|
||||
|
||||
//@ApiModelProperty(value = "功耗")
|
||||
//private BigDecimal powerDissipation;
|
||||
|
||||
private Long machineId;
|
||||
|
||||
@ApiModelProperty(value = "算力单位")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty(value = "图标")
|
||||
private String icon;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 挖矿中订单
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-12-02
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "买家已购矿机返回对象",value = "PurchasedMachineDto" )
|
||||
public class PurchasedMachineDto {
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
//@ApiModelProperty(value = "订单编号")
|
||||
//private String orderNumbers;
|
||||
|
||||
@ApiModelProperty(value = "矿池所挖币种")
|
||||
private String coin;
|
||||
|
||||
@ApiModelProperty(value = "币种对应算法")
|
||||
private String algorithm;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "矿池名称")
|
||||
private String pool;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "矿池挖矿地址")
|
||||
private String poolUrl;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "矿池挖矿账户")
|
||||
private String poolUser;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "矿工号")
|
||||
private String workerId;
|
||||
|
||||
@ApiModelProperty(value = "收款钱包")
|
||||
private String walletAddress;
|
||||
|
||||
@ApiModelProperty(value = "挖矿信息页面地址")
|
||||
private String watchUrl;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "0 租约已到期 1挖矿中 2卖家矿机启动中")
|
||||
private Boolean status;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "挖矿开始时间")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "挖矿结束时间")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
@ApiModelProperty(value = "算力信息")
|
||||
private MiningHashrateInfoDto miningHashrateInfo;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 挖矿中订单
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-12-02
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "买家已购矿机返回对象",value = "PurchasedMachineListDto" )
|
||||
public class PurchasedMachineListDto {
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
//@ApiModelProperty(value = "订单编号")
|
||||
//private String orderNumbers;
|
||||
|
||||
@ApiModelProperty(value = "矿池所挖币种")
|
||||
private String coin;
|
||||
|
||||
@ApiModelProperty(value = "币种对应算法")
|
||||
private String algorithm;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "矿池名称")
|
||||
private String pool;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "矿池挖矿地址")
|
||||
private String poolUrl;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "矿池挖矿账户")
|
||||
private String poolUser;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "矿工号")
|
||||
private String workerId;
|
||||
|
||||
@ApiModelProperty(value = "收款钱包")
|
||||
private String walletAddress;
|
||||
|
||||
@ApiModelProperty(value = "挖矿信息页面地址")
|
||||
private String watchUrl;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "0 租约已到期 1挖矿中 2卖家矿机启动中")
|
||||
private Integer status;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "挖矿开始时间")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "挖矿结束时间")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
|
||||
private Long orderItemId;
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* GPU对应币种挖矿算力(只要gpu类型相同那么就使用这个配置)
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-11-27
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class RealHashrateInfoDto {
|
||||
|
||||
|
||||
/**
|
||||
* 订单项ID
|
||||
*/
|
||||
private Long orderItemId;
|
||||
|
||||
/**
|
||||
* 算力
|
||||
*/
|
||||
private BigDecimal power;
|
||||
|
||||
|
||||
/**
|
||||
* 矿池名称
|
||||
*/
|
||||
private String pool;
|
||||
|
||||
/**
|
||||
* 收款钱包
|
||||
*/
|
||||
private String walletAddress;
|
||||
|
||||
/**
|
||||
* 矿工名称
|
||||
*/
|
||||
private String miner;
|
||||
|
||||
/**
|
||||
* 币种
|
||||
*/
|
||||
private String coin;
|
||||
|
||||
/**
|
||||
* 币种对应算法
|
||||
*/
|
||||
private String algorithm;
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import com.m2pool.lease.dto.MachinePayTypeDto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品对应实际商品返回对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "卖家矿机列表返回对象",value = "SellerMachineInfoDto" )
|
||||
public class SellerMachineInfoDto {
|
||||
|
||||
@ApiModelProperty(value = "矿机ID")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "店铺id")
|
||||
private Long shopId;
|
||||
|
||||
@ApiModelProperty(value = "gpu名称 或asic 名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "矿机型号 0 ASIC 1 GPU")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty(value = "矿工账号 (gpu)")
|
||||
private String user;
|
||||
|
||||
@ApiModelProperty(value = "矿机编号(gpu)")
|
||||
private String miner;
|
||||
|
||||
@ApiModelProperty(value = "上下架状态,0 上架,1 下架")
|
||||
private Integer state;
|
||||
|
||||
@ApiModelProperty(value = "售出状态 0未售出 1已售出")
|
||||
private Integer saleState;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "最大可租借天数(默认七天)",example = "7")
|
||||
private Integer maxLeaseDays;
|
||||
|
||||
@ApiModelProperty(value = "是否删除 0否 1是")
|
||||
private Integer del;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "最大月收益 usdt")
|
||||
private BigDecimal monthIncome;
|
||||
|
||||
@ApiModelProperty(value = "最大收益币种功耗 单位kw/h",example = "10")
|
||||
private BigDecimal powerDissipation;
|
||||
|
||||
@ApiModelProperty(value = "最大收益币种算力(单机理论算力)")
|
||||
private BigDecimal theoryPower;
|
||||
|
||||
@ApiModelProperty(value = "最大收益币种算力单位")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty(value = "最大收益币种算法")
|
||||
private String algorithm;
|
||||
|
||||
@ApiModelProperty(value = "售价")
|
||||
private BigDecimal price;
|
||||
|
||||
@ApiModelProperty(value = "最大收益对应币种")
|
||||
private String coin;
|
||||
|
||||
@ApiModelProperty(value = "可出售机器数量")
|
||||
private Integer saleNumbers;
|
||||
|
||||
@ApiModelProperty(value = "已售出数量")
|
||||
private Integer saleOutNumbers;
|
||||
|
||||
@ApiModelProperty(value = "矿机客户端在离线情况 0 离线 1 在线")
|
||||
private Boolean onlineStatus;
|
||||
|
||||
@ApiModelProperty(value = "矿机是否能够上架 0 不能 1 能")
|
||||
private Boolean effect;
|
||||
|
||||
//@ApiModelProperty(value = "gpu和asic对应币种算力和月收益信息")
|
||||
//private List<PowerIncomeInfoDto> powerIncomeInfoList;
|
||||
|
||||
@ApiModelProperty(value = "币种算法算力信息")
|
||||
private List<AsicCoinAndAlgoDto> coinAndAlgoList;
|
||||
|
||||
@ApiModelProperty(value = "店铺售价集合")
|
||||
private List<MachinePayTypeDto> priceList;
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import com.m2pool.lease.dto.MachineTotalPriceDto;
|
||||
import com.m2pool.lease.dto.PayConfigDto;
|
||||
import com.m2pool.lease.dto.ProductMachineDto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 购物车一层列表
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-08-05
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "购物车一层商铺列表返回对象V2",value = "ShopCartV2Dto")
|
||||
public class ShopCartV2Dto {
|
||||
|
||||
@ApiModelProperty(value = "店铺id")
|
||||
private Long id;
|
||||
@ApiModelProperty(value = "店铺名称")
|
||||
private String name;
|
||||
@ApiModelProperty(value = "店铺下机器总价")
|
||||
private BigDecimal totalPrice;
|
||||
@ApiModelProperty(value = "店铺下机器总数")
|
||||
private Integer totalMachine;
|
||||
|
||||
@ApiModelProperty(value = "总价集合")
|
||||
private List<MachineTotalPriceDto> totalPriceList;
|
||||
|
||||
@ApiModelProperty(value = "商品支持的支付地址")
|
||||
private List<PayConfigDto> payConfigList;
|
||||
|
||||
@ApiModelProperty(value = "商品机器列表")
|
||||
List<CartMachineInfoDto> cartMachineInfoDtoList;
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import com.m2pool.lease.dto.PayTypeDto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品对应实际商品返回对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "商城首页矿机返回对象",value = "ShopInfoDto" )
|
||||
public class ShopInfoDto {
|
||||
|
||||
@ApiModelProperty(value = "店铺id")
|
||||
private Long shopId;
|
||||
|
||||
@ApiModelProperty(value = "店铺名称")
|
||||
private String shopName;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "店铺图片")
|
||||
private String image;
|
||||
|
||||
@ApiModelProperty(value = "店铺描述")
|
||||
private String description;
|
||||
|
||||
@ApiModelProperty(value = "已售矿机数")
|
||||
private Integer saleNumber;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "店铺售出矿机包含的类型 多个以逗号隔开",example = "gpu,asci")
|
||||
private String type;
|
||||
|
||||
@ApiModelProperty(value = "支持的挖矿币种",example = "NEXA,RXD")
|
||||
private String coin;
|
||||
|
||||
@ApiModelProperty(value = "算法 (多个算法已逗号隔开)",example = "sha256,sha512")
|
||||
private String algorithm;
|
||||
|
||||
@ApiModelProperty(value = "店铺支持的支付方式")
|
||||
private List<PayTypeDto> payTypes;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.m2pool.lease.dto.v2;
|
||||
|
||||
import com.m2pool.lease.vo.BaseVo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 店铺钱包配置返回对象
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-08-05
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(description = "店铺钱包配置返回对象",value = "ShopWalletInfoDto")
|
||||
public class ShopWalletInfoDto extends BaseVo {
|
||||
|
||||
|
||||
@ApiModelProperty(value = "商铺ID")
|
||||
private Long shopId;
|
||||
|
||||
@ApiModelProperty(value = "卖方对应收款钱包")
|
||||
private String payAddress;
|
||||
|
||||
@ApiModelProperty(value = "链")
|
||||
private String chain;
|
||||
|
||||
@ApiModelProperty(value = "商品支付方式及价格单位 取值 虚拟币( nexa rxd dgbo dgbq dgbs alph enx grs mona) 稳定币(usdt usdc busd)")
|
||||
private String payCoin;
|
||||
|
||||
@ApiModelProperty(value = "币种图片")
|
||||
private String image;
|
||||
|
||||
@ApiModelProperty(value = "余额")
|
||||
private BigDecimal balance;
|
||||
|
||||
@ApiModelProperty(value = "手续费")
|
||||
private BigDecimal serviceCharge;
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.m2pool.lease.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* GPU对应币种挖矿算力(只要gpu类型相同那么就使用这个配置)
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-11-27
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class LeaseGpuConfig implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* gpu品牌
|
||||
*/
|
||||
private String brand;
|
||||
|
||||
/**
|
||||
* gpu 名称/型号
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 0 禁用 1 启用
|
||||
*/
|
||||
private Boolean status;
|
||||
|
||||
/**
|
||||
* 内存单位M
|
||||
*/
|
||||
private Integer memory;
|
||||
|
||||
/**
|
||||
* 功耗 单位kw/h
|
||||
*/
|
||||
private BigDecimal powerDissipation;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
private Boolean del;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
package com.m2pool.lease.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* gpu类型出售矿机表
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-11-21
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class LeaseMachine implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 商铺ID
|
||||
*/
|
||||
private Long shopId;
|
||||
|
||||
/**
|
||||
* gpu 挖矿主机mac矿机编号
|
||||
*/
|
||||
private String hostMac;
|
||||
|
||||
/**
|
||||
* 0 ASIC 1 GPU
|
||||
*/
|
||||
private Boolean type;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 矿机最大租售天数
|
||||
*/
|
||||
private Integer maxLeaseDays;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 售出状态 0未售出 1已售出
|
||||
*/
|
||||
private Boolean saleState;
|
||||
|
||||
/**
|
||||
* 上下架状态,0 上架,1 下架
|
||||
*/
|
||||
private Boolean state;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
private Boolean del;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 矿机客户端在离线情况 0 离线 1 在线
|
||||
*/
|
||||
private Boolean onlineStatus;
|
||||
|
||||
/**
|
||||
* 挖矿机器 对应的矿工账号(mac地址代替)
|
||||
*/
|
||||
private String user;
|
||||
|
||||
/**
|
||||
* 挖矿机器编号(gpu编号)
|
||||
*/
|
||||
private String miner;
|
||||
|
||||
/**
|
||||
* asci 类型矿机租售的台数
|
||||
*/
|
||||
private Integer saleNumbers;
|
||||
|
||||
/**
|
||||
* asci 类型矿机已租售的台数
|
||||
*/
|
||||
private Integer saleOutNumbers;
|
||||
|
||||
/**
|
||||
* asci 类型矿机可租售的台数
|
||||
*/
|
||||
private Integer canSaleNumbers;
|
||||
|
||||
/**
|
||||
* asci 类型矿机已锁定的台数 乐观锁
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Integer lockNumbers;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
package com.m2pool.lease.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* GPU对应币种挖矿算力(只要gpu类型相同那么就使用这个配置)
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-11-27
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class LeaseMachineConfig implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 机器id
|
||||
*/
|
||||
private Long machineId;
|
||||
|
||||
/**
|
||||
* gpu/asic品牌
|
||||
*/
|
||||
private String brand;
|
||||
|
||||
/**
|
||||
* gpu 名称/型号
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 内存单位M
|
||||
*/
|
||||
private Integer memory;
|
||||
|
||||
/**
|
||||
* 0 禁用 1 启用
|
||||
*/
|
||||
private Boolean status;
|
||||
|
||||
/**
|
||||
* 支持的币种
|
||||
*/
|
||||
private String coin;
|
||||
|
||||
/**
|
||||
* 算力
|
||||
*/
|
||||
private BigDecimal hashrate;
|
||||
|
||||
/**
|
||||
* 算法
|
||||
*/
|
||||
private String algorithm;
|
||||
|
||||
/**
|
||||
* 币种图片
|
||||
*/
|
||||
private String icon;
|
||||
|
||||
/**
|
||||
* 算力单位 GH/s TH/s PH/s等
|
||||
*/
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 月收益usdt
|
||||
*/
|
||||
private BigDecimal monthIncome;
|
||||
|
||||
/**
|
||||
* 功耗 单位kw/h
|
||||
*/
|
||||
private BigDecimal powerDissipation;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
private Boolean del;
|
||||
|
||||
@TableField(exist = false)
|
||||
private LocalDateTime effectTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.m2pool.lease.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品表对应的物品机器表
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-11-25
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class LeaseMachinePrice implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 矿机id
|
||||
*/
|
||||
private Long machineId;
|
||||
|
||||
/**
|
||||
* 实际单价
|
||||
*/
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 价值单位
|
||||
*/
|
||||
private String coin;
|
||||
|
||||
/**
|
||||
* 链
|
||||
*/
|
||||
private String chain;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
private Boolean del;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
package com.m2pool.lease.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* GPU对应币种挖矿算力临时表(主机gpu信息变更临时表)
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-12-09
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class LeaseMachineTempConfig implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 机器id
|
||||
*/
|
||||
private Long machineId;
|
||||
|
||||
/**
|
||||
* gpu/asic品牌
|
||||
*/
|
||||
private String brand;
|
||||
|
||||
/**
|
||||
* gpu/asic 名称/型号
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 内存单位M
|
||||
*/
|
||||
private Integer memory;
|
||||
|
||||
/**
|
||||
* 0 禁用 1 启用
|
||||
*/
|
||||
private Boolean status;
|
||||
|
||||
/**
|
||||
* 支持的币种
|
||||
*/
|
||||
private String coin;
|
||||
|
||||
/**
|
||||
* 算力
|
||||
*/
|
||||
private BigDecimal hashrate;
|
||||
|
||||
/**
|
||||
* 算法
|
||||
*/
|
||||
private String algorithm;
|
||||
|
||||
/**
|
||||
* 币种图片
|
||||
*/
|
||||
private String icon;
|
||||
|
||||
/**
|
||||
* 算力单位 GH/s TH/s PH/s等
|
||||
*/
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 月收益usdt
|
||||
*/
|
||||
private BigDecimal monthIncome;
|
||||
|
||||
/**
|
||||
* 功耗 单位kw/h
|
||||
*/
|
||||
private BigDecimal powerDissipation;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
private Boolean del;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime effectTime;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.m2pool.lease.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 挖矿软件公共配置表
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-11-27
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class LeaseMiningSoftwareConfig implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 挖矿软件名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 挖矿软件支持的币种
|
||||
*/
|
||||
private String coin;
|
||||
|
||||
/**
|
||||
* 算法
|
||||
*/
|
||||
private String algorithm;
|
||||
|
||||
/**
|
||||
* 币种图片
|
||||
*/
|
||||
private String icon;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
private Boolean del;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.m2pool.lease.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 订单手续费表
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class LeaseOrderFee implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 订单 ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
private Long orderId;
|
||||
|
||||
private BigDecimal fee;
|
||||
|
||||
private String toAddress;
|
||||
|
||||
private Boolean status;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.m2pool.lease.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.*;
|
||||
|
||||
@@ -65,5 +66,21 @@ public class LeaseOrderInfo implements Serializable {
|
||||
*/
|
||||
private Boolean del;
|
||||
|
||||
/**
|
||||
* 手续费
|
||||
*/
|
||||
private BigDecimal fee;
|
||||
|
||||
/**
|
||||
* 店铺名称
|
||||
*/
|
||||
private String shopName;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String chainAndCoinAndShopIdKey;
|
||||
|
||||
|
||||
@TableField(exist = false)
|
||||
private String chainAndCoinKey;
|
||||
|
||||
}
|
||||
|
||||
@@ -154,10 +154,27 @@ public class LeaseOrderItem implements Serializable {
|
||||
private String image;
|
||||
|
||||
/**
|
||||
* 商品类型 0 矿机 1 算力
|
||||
* 已支付金额
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Integer type;
|
||||
private BigDecimal alreadyPayAmount;
|
||||
|
||||
/**
|
||||
* 已支付金额(真实)
|
||||
*/
|
||||
private BigDecimal alreadyPayRealAmount;
|
||||
|
||||
/**
|
||||
* 当日待支付确认金额
|
||||
*/
|
||||
private BigDecimal settlePayRealAmount;
|
||||
|
||||
private Integer numbers;
|
||||
|
||||
|
||||
/**
|
||||
* 0 矿机 asic 1 矿池 gpu
|
||||
*/
|
||||
private Boolean type;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
package com.m2pool.lease.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 挖矿中订单
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-12-02
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class LeaseOrderMining implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 机器 ID
|
||||
*/
|
||||
private Long machineId;
|
||||
|
||||
/**
|
||||
* 用户 ID
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 订单 ID
|
||||
*/
|
||||
private Long orderId;
|
||||
|
||||
private Long orderItemId;
|
||||
|
||||
/**
|
||||
* 币种
|
||||
*/
|
||||
private String coin;
|
||||
|
||||
/**
|
||||
* 算法
|
||||
*/
|
||||
private String algorithm;
|
||||
|
||||
/**
|
||||
* 矿池
|
||||
*/
|
||||
private String pool;
|
||||
|
||||
/**
|
||||
* 挖矿地址
|
||||
*/
|
||||
private String poolUrl;
|
||||
|
||||
/**
|
||||
* 挖矿账户
|
||||
*/
|
||||
private String poolUser;
|
||||
|
||||
/**
|
||||
* 矿工号
|
||||
*/
|
||||
private String workerId;
|
||||
|
||||
/**
|
||||
* 收款钱包
|
||||
*/
|
||||
private String walletAddress;
|
||||
|
||||
/**
|
||||
* 挖矿信息页面
|
||||
*/
|
||||
private String watchUrl;
|
||||
|
||||
/**
|
||||
* 0 租约已到期 1挖矿中 2等待卖家矿机启动中
|
||||
*/
|
||||
private Boolean status;
|
||||
|
||||
/**
|
||||
* 挖矿开始时间
|
||||
*/
|
||||
private LocalDateTime startTime;
|
||||
|
||||
/**
|
||||
* 挖矿结束时间
|
||||
*/
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
private Boolean del;
|
||||
|
||||
|
||||
}
|
||||
@@ -92,4 +92,14 @@ public class LeasePayRechargeMessage implements Serializable {
|
||||
*/
|
||||
private Boolean del;
|
||||
|
||||
/**
|
||||
* 区块高度
|
||||
*/
|
||||
private Long blockHeight;
|
||||
|
||||
/**
|
||||
* 充值来源地址(用户自己的钱包
|
||||
*/
|
||||
private String fromAddress;
|
||||
|
||||
}
|
||||
|
||||
@@ -46,6 +46,12 @@ public class LeasePayRecordMessage implements Serializable {
|
||||
*/
|
||||
private String toAddress;
|
||||
|
||||
|
||||
/**
|
||||
* 订单id
|
||||
*/
|
||||
private String orderId;
|
||||
|
||||
/**
|
||||
* 订单号
|
||||
*/
|
||||
@@ -108,10 +114,6 @@ public class LeasePayRecordMessage implements Serializable {
|
||||
|
||||
private Long blockHeight;
|
||||
|
||||
/**
|
||||
* 订单id
|
||||
*/
|
||||
private String orderId;
|
||||
|
||||
/**
|
||||
* 支付时间
|
||||
|
||||
@@ -0,0 +1,138 @@
|
||||
package com.m2pool.lease.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 支付消息记录表
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-09-10
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class LeasePayRecordMessageInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 消息ID
|
||||
*/
|
||||
private String queueId;
|
||||
|
||||
/**
|
||||
* 买家充值地址
|
||||
*/
|
||||
private String fromAddress;
|
||||
|
||||
/**
|
||||
* 卖家充值地址
|
||||
*/
|
||||
private String toAddress;
|
||||
|
||||
|
||||
/**
|
||||
* 订单id
|
||||
*/
|
||||
private String orderId;
|
||||
|
||||
/**
|
||||
* 订单号
|
||||
*/
|
||||
private String orderNumber;
|
||||
|
||||
/**
|
||||
* 店铺ID
|
||||
*/
|
||||
private Long shopId;
|
||||
|
||||
/**
|
||||
* 用户邮箱
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 理论支付金额(根据商家定价)
|
||||
*/
|
||||
private BigDecimal amount;
|
||||
|
||||
/**
|
||||
*真实支付金额
|
||||
*/
|
||||
private BigDecimal realAmount;
|
||||
|
||||
/**
|
||||
* 实际应支付金额(根据一天内预估算力和实际算力差值计算得来)
|
||||
*/
|
||||
private BigDecimal needAmount;
|
||||
|
||||
/**
|
||||
* 钱包冻结金额
|
||||
*/
|
||||
private BigDecimal blockAmount;
|
||||
/**
|
||||
* 币种
|
||||
*/
|
||||
private String toSymbol;
|
||||
|
||||
/**
|
||||
* 链名称
|
||||
*/
|
||||
private String toChain;
|
||||
|
||||
|
||||
/**
|
||||
* 币种
|
||||
*/
|
||||
private String fromSymbol;
|
||||
|
||||
/**
|
||||
* 链名称
|
||||
*/
|
||||
private String fromChain;
|
||||
|
||||
/**
|
||||
* 交易hash
|
||||
*/
|
||||
private String txHash;
|
||||
|
||||
private Long blockHeight;
|
||||
|
||||
|
||||
/**
|
||||
* 支付时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 0 支付失败 1 支付成功 2 等待校验
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
private boolean del;
|
||||
|
||||
}
|
||||
@@ -31,6 +31,11 @@ public class LeasePayWithdrawMessage implements Serializable {
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 店铺ID
|
||||
*/
|
||||
private Long shopId;
|
||||
|
||||
/**
|
||||
* 消息ID
|
||||
*/
|
||||
@@ -102,4 +107,9 @@ public class LeasePayWithdrawMessage implements Serializable {
|
||||
*/
|
||||
private Boolean del;
|
||||
|
||||
/**
|
||||
* 区块高度
|
||||
*/
|
||||
private Long blockHeight;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.m2pool.lease.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
@@ -8,6 +9,7 @@ import lombok.*;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -142,4 +144,7 @@ public class LeaseProductMachine implements Serializable {
|
||||
private BigDecimal incomeRate;
|
||||
|
||||
private Integer maxLeaseDays;
|
||||
|
||||
@TableField(exist = false)
|
||||
private Integer updateCount;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.m2pool.lease.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品表对应的物品机器表
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class LeaseProductMachinePrice implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
private Long productMachineId;
|
||||
|
||||
/**
|
||||
* 0 自营矿池 1 非自营矿池(gpu 和asic)
|
||||
*/
|
||||
private Boolean type;
|
||||
|
||||
private BigDecimal price;
|
||||
|
||||
private String coin;
|
||||
|
||||
private String chain;
|
||||
|
||||
private Boolean del;
|
||||
}
|
||||
@@ -2,9 +2,11 @@ package com.m2pool.lease.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
@@ -30,6 +32,11 @@ public class LeaseShop implements Serializable {
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 店铺唯一标识码
|
||||
*/
|
||||
private String identityCode;
|
||||
|
||||
/**
|
||||
* 店铺拥有者邮箱
|
||||
*/
|
||||
@@ -70,5 +77,11 @@ public class LeaseShop implements Serializable {
|
||||
*/
|
||||
private Boolean del;
|
||||
|
||||
private BigDecimal feeRate;
|
||||
|
||||
/**
|
||||
* 售出矿机数
|
||||
*/
|
||||
private Integer saleNumber;
|
||||
|
||||
}
|
||||
|
||||
@@ -72,6 +72,11 @@ public class LeaseShopConfig implements Serializable {
|
||||
*/
|
||||
private String qrcode;
|
||||
|
||||
/**
|
||||
* 余额(这个余额是租赁系统的收款余额,而不是卖家钱包真实余额,该余额只能用于提现)
|
||||
*/
|
||||
private BigDecimal balance;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
|
||||
@@ -31,9 +31,14 @@ public class LeaseShoppingCartInfo implements Serializable {
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 购物车ID
|
||||
* 用户ID
|
||||
*/
|
||||
private Long cartId;
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 商店ID
|
||||
*/
|
||||
private Long shopId;
|
||||
|
||||
/**
|
||||
* 商品 ID
|
||||
@@ -50,6 +55,11 @@ public class LeaseShoppingCartInfo implements Serializable {
|
||||
*/
|
||||
private Integer leaseTime;
|
||||
|
||||
/**
|
||||
* ASIC 租售台数
|
||||
*/
|
||||
private Integer numbers;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@@ -60,5 +70,10 @@ public class LeaseShoppingCartInfo implements Serializable {
|
||||
*/
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 版本 0 旧版本 1 新版本
|
||||
*/
|
||||
private Integer version;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -21,6 +21,11 @@ public class GlobalExceptionHandler {
|
||||
return Result.fail(e.getMessage());
|
||||
}
|
||||
|
||||
@ExceptionHandler(MachineException.class)
|
||||
public Result<String> handleMachineException(MachineException e) {
|
||||
return Result.fail(e.getMessage());
|
||||
}
|
||||
|
||||
@ExceptionHandler(PaymentException.class)
|
||||
public Result<String> handlePaymentException(PaymentException e) {
|
||||
return Result.fail(e.getMessage());
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.m2pool.lease.exception;
|
||||
|
||||
/**
|
||||
* 商品已出售异常类,用于表示在添加订单时商品已被出售的异常情况。
|
||||
*/
|
||||
public class MachineException extends RuntimeException {
|
||||
public MachineException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.m2pool.lease.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.m2pool.lease.entity.LeaseGpuConfig;
|
||||
import com.m2pool.lease.netty.message.GpuMessage;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* GPU对应币种挖矿算力(只要gpu类型相同那么就使用这个配置) Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-11-27
|
||||
*/
|
||||
@Mapper
|
||||
public interface LeaseGpuConfigMapper extends BaseMapper<LeaseGpuConfig> {
|
||||
/**
|
||||
* 批量插入或更新
|
||||
* @param gpuMessages
|
||||
* @return
|
||||
*/
|
||||
int insertOrUpdate(@Param("list") Collection<GpuMessage> gpuMessages);
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.m2pool.lease.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.m2pool.lease.dto.v2.CoinAndAlgorithmDto;
|
||||
import com.m2pool.lease.dto.v2.CoinAndAlgorithmListDto;
|
||||
import com.m2pool.lease.dto.v2.MiningConfigSelectDto;
|
||||
import com.m2pool.lease.entity.LeaseMachineConfig;
|
||||
import com.m2pool.lease.vo.BaseVo;
|
||||
import com.m2pool.lease.vo.v2.CoinAndAlgorithmVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* GPU对应币种挖矿算力(只要gpu类型相同那么就使用这个配置) Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-11-27
|
||||
*/
|
||||
@Mapper
|
||||
public interface LeaseMachineConfigMapper extends BaseMapper<LeaseMachineConfig> {
|
||||
/**
|
||||
* 获取配置列表
|
||||
* @param coin
|
||||
* @param algorithm
|
||||
* @return
|
||||
*/
|
||||
List<MiningConfigSelectDto> getConfigList(@Param("coin") String coin,@Param("algorithm") String algorithm);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取矿机支持的币种和算法
|
||||
* @return
|
||||
*/
|
||||
List<CoinAndAlgorithmDto> getMachineSupportCoinAndAlgorithm(@Param("machineIds") List<BaseVo> machineIds);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,149 @@
|
||||
package com.m2pool.lease.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.m2pool.lease.dto.MachinePayTypeDto;
|
||||
import com.m2pool.lease.dto.v2.*;
|
||||
import com.m2pool.lease.entity.LeaseMachine;
|
||||
import com.m2pool.lease.vo.v2.SellerMachineVo;
|
||||
import com.m2pool.lease.vo.v2.ShopMachineVo;
|
||||
import org.apache.ibatis.annotations.MapKey;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* gpu类型出售矿机表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-11-21
|
||||
*/
|
||||
public interface LeaseMachineMapper extends BaseMapper<LeaseMachine> {
|
||||
|
||||
/**
|
||||
* 获取店铺ids
|
||||
* @return
|
||||
*/
|
||||
Set<Long> getShopIds();
|
||||
|
||||
/**
|
||||
* 根据id集合查询店铺信息
|
||||
* @return
|
||||
*/
|
||||
List<ShopInfoDto> getExistsMachineShop(@Param("ids") Set<Long> ids, @Param("coin") String coin , @Param("algorithm") String algorithm);
|
||||
|
||||
|
||||
/**
|
||||
* 获取店铺对应GPU或ASIC矿机信息
|
||||
* @param shopMachineVo
|
||||
* @return
|
||||
*/
|
||||
List<MachineInfoDto> getShopMachineList(@Param("shopMachineVo") ShopMachineVo shopMachineVo);
|
||||
|
||||
|
||||
/**
|
||||
* 根据id集合获取gpu配置信息
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
List<PowerIncomeInfoDto> getGpuConfigList(@Param("ids") List<Long> ids);
|
||||
|
||||
|
||||
/**
|
||||
* 获取店铺Gpu或Asic对应矿机信息
|
||||
* @param sellerMachineVo
|
||||
* @return
|
||||
*/
|
||||
List<SellerMachineInfoDto> getShopMachineListForSeller(@Param("sellerMachineVo") SellerMachineVo sellerMachineVo, @Param("shopId") Long shopId);
|
||||
|
||||
/**
|
||||
* 根据矿机id获取对应的矿机价格列表
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
List<MachinePayTypeDto> getMachinePriceList(@Param("list") List<SellerMachineInfoDto> ids);
|
||||
|
||||
|
||||
/**
|
||||
* 根据矿机id获取对应的矿机价格列表
|
||||
* @param machineIds
|
||||
* @return
|
||||
*/
|
||||
List<Long> getShopIdsByMachineIds(@Param("machineIds") List<Long> machineIds);
|
||||
|
||||
|
||||
/**
|
||||
* 获取购物车对应矿机信息
|
||||
* @param machineIds
|
||||
* @return
|
||||
*/
|
||||
List<CartMachineInfoDto> getMachinesByIds(@Param("machineIds") List<Long> machineIds);
|
||||
|
||||
|
||||
/**
|
||||
* 获取购物车对应矿机信息
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
List<AsicCoinAndAlgoDto> getCoinAndAlgoList(@Param("list") List<SellerMachineInfoDto> ids);
|
||||
|
||||
|
||||
/**
|
||||
* 修改gpu矿机售出状态
|
||||
* @param asicMachines
|
||||
* @return
|
||||
*/
|
||||
int updateLockState(@Param("list") List<LeaseMachine> asicMachines);
|
||||
|
||||
|
||||
/**
|
||||
* 修改asic 矿机售出数量
|
||||
* @param gpuMachines
|
||||
* @return
|
||||
*/
|
||||
int updateLockNumbers(@Param("list") List<LeaseMachine> gpuMachines);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 根据id 获取配置算法和币种
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@MapKey("id")
|
||||
Map<Long, MiningConfigDto> getCoinAndAlgoById(@Param("ids") List<Long> ids);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取矿机详情信息含临时信息
|
||||
* @param machineId
|
||||
* @return
|
||||
*/
|
||||
List<MachineConfigDto> getEffectMachineAndTempMachineList(@Param("machineId") Long machineId);
|
||||
|
||||
|
||||
/**
|
||||
* 获取租赁系统中支持的币种(挖矿软件支持 + 矿池支持的交集)
|
||||
* @return
|
||||
*/
|
||||
List<String> getSupportCoin();
|
||||
|
||||
|
||||
/**
|
||||
* 获取租赁系统中支持的算力(挖矿软件支持 + 矿池支持的交集)
|
||||
* @return
|
||||
*/
|
||||
List<String> getSupportAlgo(@Param("coin") String coin);
|
||||
|
||||
/**
|
||||
* 检测矿机是否能够上架
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@MapKey("machineId")
|
||||
Map<Long, MachineEffectDto> checkIsEffect(@Param("list") List<SellerMachineInfoDto> ids);
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.m2pool.lease.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.m2pool.lease.dto.MachinePayTypeDto;
|
||||
import com.m2pool.lease.entity.LeaseMachinePrice;
|
||||
import com.m2pool.lease.entity.LeaseProductMachinePrice;
|
||||
import com.m2pool.lease.vo.OrderInfoVo;
|
||||
import org.apache.ibatis.annotations.MapKey;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品表对应的物品机器表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-11-25
|
||||
*/
|
||||
@Mapper
|
||||
public interface LeaseMachinePriceMapper extends BaseMapper<LeaseMachinePrice> {
|
||||
/**
|
||||
* 获取机器价格通过id
|
||||
* @param machineIds
|
||||
* @return
|
||||
*/
|
||||
List<MachinePayTypeDto> getMachinePriceByMachineIds(@Param("list") List<Long> machineIds);
|
||||
|
||||
|
||||
/**
|
||||
* 获取订单总金额 按照chain 和 分组 coin -v2
|
||||
* @param orderInfoVoList
|
||||
* @return
|
||||
*/
|
||||
@MapKey("machineId")
|
||||
Map<Long, LeaseMachinePrice> getOrderTotalPriceGroupByChainAndCoin(@Param("list") List<OrderInfoVo> orderInfoVoList);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.m2pool.lease.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.m2pool.lease.entity.LeaseMachineConfig;
|
||||
import com.m2pool.lease.entity.LeaseMachineTempConfig;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* GPU对应币种挖矿算力临时表(主机gpu信息变更临时表) Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-12-09
|
||||
*/
|
||||
@Mapper
|
||||
public interface LeaseMachineTempConfigMapper extends BaseMapper<LeaseMachineTempConfig> {
|
||||
|
||||
/**
|
||||
* 批量插入
|
||||
* @param needUpdateInfo
|
||||
* @return
|
||||
*/
|
||||
int insertBatch(@Param("list") List<LeaseMachineConfig> needUpdateInfo);
|
||||
|
||||
/**
|
||||
* 批量插入
|
||||
* @param needUpdateInfo
|
||||
* @return
|
||||
*/
|
||||
int insertBatchByTempList(@Param("list") List<LeaseMachineTempConfig> needUpdateInfo);
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.m2pool.lease.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.m2pool.lease.dto.v2.CoinAndAlgorithmDto;
|
||||
import com.m2pool.lease.entity.LeaseMiningSoftwareConfig;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 挖矿软件公共配置表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-11-27
|
||||
*/
|
||||
@Mapper
|
||||
public interface LeaseMiningSoftwareConfigMapper extends BaseMapper<LeaseMiningSoftwareConfig> {
|
||||
/**
|
||||
* 查询支持的币种和算法
|
||||
* @param miningsofts
|
||||
* @return
|
||||
*/
|
||||
List<CoinAndAlgorithmDto> selectSupportAlgorithm(@Param("miningsofts") List<String> miningsofts);
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.m2pool.lease.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.m2pool.lease.dto.OrderStatusDto;
|
||||
import com.m2pool.lease.entity.LeaseOrderFee;
|
||||
import com.m2pool.lease.entity.LeaseOrderItem;
|
||||
import com.m2pool.lease.entity.LeasePaymentRecord;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 订单明细表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-07-23
|
||||
*/
|
||||
@Mapper
|
||||
public interface LeaseOrderFeeMapper extends BaseMapper<LeaseOrderFee> {
|
||||
|
||||
|
||||
}
|
||||
@@ -55,4 +55,7 @@ public interface LeaseOrderInfoMapper extends BaseMapper<LeaseOrderInfo> {
|
||||
|
||||
@Pool2DB
|
||||
BigDecimal getCoinPrice(@Param("coin") String coin);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,11 +2,14 @@ package com.m2pool.lease.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.m2pool.lease.dto.OrderStatusDto;
|
||||
import com.m2pool.lease.dto.v2.OrderTimeInfoDto;
|
||||
import com.m2pool.lease.entity.LeaseOrderItem;
|
||||
import com.m2pool.lease.entity.LeasePaymentRecord;
|
||||
import com.m2pool.lease.mq.message.RabbitmqPayAutoReturnInfoMessage;
|
||||
import org.apache.ibatis.annotations.MapKey;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.transaction.Transaction;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -51,4 +54,30 @@ public interface LeaseOrderItemMapper extends BaseMapper<LeaseOrderItem> {
|
||||
*/
|
||||
List<Long> selectOrderInfoIds(@Param("itemIds") Set<Long> itemIds);
|
||||
|
||||
|
||||
/**
|
||||
* 获取需要更新已实际支付总金额的订单详情
|
||||
* @param address
|
||||
* @param transaction
|
||||
* @return
|
||||
*/
|
||||
List<LeaseOrderItem> getNeedUpdateOrderItem(@Param("orderId") Long orderId);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 通过订单id找到订单详情
|
||||
* @param orderIds
|
||||
* @return
|
||||
*/
|
||||
List<LeaseOrderItem> getOrderItemByOrderIds(@Param("orderIds") Set<Long> orderIds);
|
||||
|
||||
|
||||
/**
|
||||
* 获取订单详情id
|
||||
* @return
|
||||
*/
|
||||
List<OrderTimeInfoDto> getOneDayApartOrder();
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
package com.m2pool.lease.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.m2pool.common.datasource.annotation.MiningDB;
|
||||
import com.m2pool.lease.dto.v2.*;
|
||||
import com.m2pool.lease.entity.LeaseOrderMining;
|
||||
import com.m2pool.lease.netty.message.ClientConfigurationMining;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 挖矿中订单 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-12-02
|
||||
*/
|
||||
@Mapper
|
||||
public interface LeaseOrderMiningMapper extends BaseMapper<LeaseOrderMining> {
|
||||
/**
|
||||
* 批量插入
|
||||
*
|
||||
* @param orderMiningList
|
||||
* @return
|
||||
*/
|
||||
int insertBatch(@Param("list") List<LeaseOrderMining> orderMiningList);
|
||||
|
||||
|
||||
/**
|
||||
* 获取矿池正在挖矿中的信息
|
||||
*
|
||||
* @param clientConfigurationMining
|
||||
* @return
|
||||
*/
|
||||
int updateOrderMining(@Param("userEmail") String userEmail,@Param("clientConfigurationMining") ClientConfigurationMining clientConfigurationMining);
|
||||
|
||||
/**
|
||||
* 获取用户购买的机器列表
|
||||
* @param userEmail
|
||||
* @return
|
||||
*/
|
||||
List<PurchasedMachineListDto> getPurchasedItems(@Param("userEmail") String userEmail);
|
||||
|
||||
/**
|
||||
* 根据id获取用户购买的机器信息
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
PurchasedMachineDto getPurchasedInfo(@Param("id") Long id);
|
||||
|
||||
|
||||
/**
|
||||
* 获取最近一次的算力
|
||||
* @param pool
|
||||
* @param wallet
|
||||
* @param coin
|
||||
* @param miner
|
||||
* @return
|
||||
*/
|
||||
@MiningDB
|
||||
MiningHashrateInfoDto getRecentlyHashrate(@Param("pool") String pool,
|
||||
@Param("wallet") String wallet,
|
||||
@Param("coin") String coin,
|
||||
@Param("miner") String miner);
|
||||
|
||||
|
||||
/**
|
||||
* 获取最近24小时的算力
|
||||
* @return
|
||||
*/
|
||||
@MiningDB
|
||||
List<RealHashrateInfoDto> getRecently24HourHashrate(@Param("list") List<PurchasedMachineListDto> list,@Param("tableName") String tableName,@Param("now") Date now);
|
||||
|
||||
|
||||
/**
|
||||
* 根据orderId集合获取挖矿中的信息
|
||||
* @param orderIds
|
||||
* @return
|
||||
*/
|
||||
List<PurchasedMachineListDto> getMiningInfoByOrderId(@Param("orderIds") List<Long> orderIds);
|
||||
|
||||
|
||||
/**
|
||||
* 检查是否存在挖矿中矿工
|
||||
* @param list
|
||||
* @return
|
||||
*/
|
||||
List<OrderMiningInfoDto> checkMiningMinersExist(@Param("list") List<OrderMiningInfoDto> list);
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.m2pool.lease.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.m2pool.lease.dto.CheckAddressDto;
|
||||
import com.m2pool.lease.dto.PayRecordMessageDto;
|
||||
import com.m2pool.lease.dto.RecentlyTransactionDto;
|
||||
import com.m2pool.lease.dto.TransactionRecordDto;
|
||||
import com.m2pool.lease.entity.LeasePayRecordMessage;
|
||||
import com.m2pool.lease.entity.LeasePayRecordMessageInfo;
|
||||
import com.m2pool.lease.entity.LeaseShopConfig;
|
||||
import com.m2pool.lease.entity.LeaseUserWalletData;
|
||||
import org.apache.ibatis.annotations.MapKey;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* LeasePayRecordMessageMapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author yyb
|
||||
* @since 2025-09-10
|
||||
*/
|
||||
@Mapper
|
||||
public interface LeasePayRecordMessageInfoMapper extends BaseMapper<LeasePayRecordMessageInfo> {
|
||||
|
||||
}
|
||||
@@ -64,19 +64,19 @@ public interface LeasePayRecordMessageMapper extends BaseMapper<LeasePayRecordMe
|
||||
List<RecentlyTransactionDto> getRecentlyTransaction(@Param("walletList") List<LeaseUserWalletData> walletList);
|
||||
|
||||
|
||||
/**
|
||||
* 根据订单id 查询当天支付状态
|
||||
* @param orderInfoIds
|
||||
* @return
|
||||
*/
|
||||
@MapKey("orderId")
|
||||
Map<Long,LeasePayRecordMessage> selectOrderInfoMap(@Param("orderInfoIds") Set<Long> orderInfoIds);
|
||||
|
||||
|
||||
/**
|
||||
* 保存或者更新根据txHash
|
||||
* @param leasePayRecordMessage
|
||||
* @return
|
||||
*/
|
||||
int updateByTxHash(@Param("leasePayRecordMessage") LeasePayRecordMessage leasePayRecordMessage,@Param("txHash") String txHash);
|
||||
|
||||
/**
|
||||
* 根据订单id获取队列id
|
||||
* @param infoIds
|
||||
* @return
|
||||
*/
|
||||
@MapKey("orderId")
|
||||
Map<Long,LeasePayRecordMessage> getQueueIdByInfoIds(@Param("infoIds") List<Long> infoIds);
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.m2pool.lease.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.m2pool.lease.dto.*;
|
||||
import com.m2pool.lease.dto.v2.PayWithdrawSellerRecordDto;
|
||||
import com.m2pool.lease.entity.LeasePayWithdrawMessage;
|
||||
import com.m2pool.lease.entity.LeaseUserWalletData;
|
||||
import org.apache.ibatis.annotations.MapKey;
|
||||
@@ -74,4 +75,13 @@ public interface LeasePayWithdrawMessageMapper extends BaseMapper<LeasePayWithdr
|
||||
* @return
|
||||
*/
|
||||
Integer getRecentlyOneData(@Param("fromAddress") String fromAddress,@Param("chain")String chain);
|
||||
|
||||
|
||||
/**
|
||||
* 获取商户提现记录
|
||||
*
|
||||
* @param shopId
|
||||
* @return
|
||||
*/
|
||||
List<PayWithdrawSellerRecordDto> getSellerWithdrawRecord(@Param("shopId") Long shopId);
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user