update 定时任务中算力相关计算封装为策略+工厂模式

This commit is contained in:
yyb
2026-01-28 16:21:22 +08:00
parent 96a49c5813
commit 6c1d521605
12 changed files with 482 additions and 147 deletions

View File

@@ -114,7 +114,9 @@
coin,
algorithm,
pool,
practical_power as practicalPower
practical_power as practicalPower,
create_time as createTime,
lease_time as leaseTime
FROM lease_order_item
WHERE status = 1 AND del = false
</select>

View File

@@ -131,51 +131,16 @@
FROM
`${tableName}`
WHERE
datetime >= DATE_SUB(#{now}, INTERVAL 24 HOUR) AND (wallet, coin, miner, algorithm) IN (
<foreach collection="list" item="item" separator=",">
(#{item.walletAddress}, #{item.coin}, #{item.workerId}, #{item.algorithm})
<foreach collection="list" item="item" separator=" OR ">
(wallet = #{item.walletAddress}
AND coin = #{item.coin}
AND miner = #{item.workerId}
AND algorithm = #{item.algorithm}
AND datetime >= #{item.startTime}
AND datetime &lt;= #{item.endTime})
</foreach>
)
</select>
<select id="getRealTimeHashrate" resultType="com.m2pool.lease.dto.v2.RealHashrateInfoDto">
SELECT
hashrate AS power,
pool_name AS pool,
wallet AS walletAddress,
miner AS miner,
algorithm,
coin
FROM
`${tableName}`
WHERE
datetime = #{datetime}
AND (wallet, coin, miner, algorithm) IN (
<foreach collection="list" item="item" separator=",">
(#{item.walletAddress}, #{item.coin}, #{item.miner}, #{item.algorithm})
</foreach>
)
</select>
<select id="getHashrateInRange" resultType="com.m2pool.lease.dto.v2.RealHashrateInfoDto">
SELECT
hashrate AS power,
pool_name AS pool,
wallet AS walletAddress,
miner AS miner,
algorithm,
coin,
datetime
FROM
`${tableName}`
WHERE
datetime >= #{startTime}
AND datetime &lt;= #{endTime}
AND (wallet, coin, miner, algorithm) IN (
<foreach collection="list" item="item" separator=",">
(#{item.walletAddress}, #{item.coin}, #{item.miner}, #{item.algorithm})
</foreach>
)
ORDER BY datetime ASC
</select>
<select id="getMiningInfoByOrderId" resultType="com.m2pool.lease.dto.v2.PurchasedMachineListDto">
select
id ,