update 聊天模块新增异常
This commit is contained in:
@@ -11,6 +11,7 @@ import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@@ -78,7 +79,6 @@ public interface ManageBroadcastMapper extends BaseMapper<ManageBroadcast> {
|
||||
* @param endDate
|
||||
* @return
|
||||
*/
|
||||
@HashRateDB
|
||||
List<ManageMiningUserOnlineDto> getMinerUserOnlineStatus(@Param("minerUser") String minerUser, @Param("coin") String coin, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
|
||||
|
||||
|
||||
@@ -95,4 +95,18 @@ public interface ManageBroadcastMapper extends BaseMapper<ManageBroadcast> {
|
||||
|
||||
@DistributionDB
|
||||
BigDecimal getAccountExpend(@Param("user") String user, @Param("coin") String coin);
|
||||
|
||||
/**
|
||||
* 删除1个月前所有在线离线数据
|
||||
* @param coin
|
||||
* @return
|
||||
*/
|
||||
int deleteOnlineAndOfflineData(@Param("coin") String coin, @Param("date") LocalDateTime date);
|
||||
|
||||
/**
|
||||
* 查询需要删除的行数
|
||||
* @param coin
|
||||
* @return
|
||||
*/
|
||||
int selectNeedDeleteNumbers(@Param("coin") String coin, @Param("date") LocalDateTime date);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.m2pool.manage.task;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.m2pool.manage.entity.ManageWalletOutIn;
|
||||
import com.m2pool.manage.mapper.ManageBroadcastMapper;
|
||||
import com.m2pool.manage.mapper.ManageWalletOutInMapper;
|
||||
import com.m2pool.manage.service.ManageWalletOutInService;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
@@ -30,6 +31,11 @@ public class ManageTask {
|
||||
@Resource
|
||||
private ManageWalletOutInMapper manageWalletOutInMapper;
|
||||
|
||||
@Resource
|
||||
private ManageBroadcastMapper manageBroadcastMapper;
|
||||
/**
|
||||
* 存储交易记录定时任务
|
||||
*/
|
||||
@Scheduled(cron = "22 21 0/1 * * ?")
|
||||
public void insertDataToWalletOutInDb(){
|
||||
ManageWalletOutIn manageWalletOutIn = manageWalletOutInMapper.selectOne(new LambdaQueryWrapper<ManageWalletOutIn>().orderByDesc(
|
||||
@@ -43,4 +49,156 @@ public class ManageTask {
|
||||
boolean b = manageWalletOutInService.saveBatch(walletInfo);
|
||||
System.out.println("walletOutIn 插入结果"+b);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除再离线数据
|
||||
*/
|
||||
@Scheduled(cron = "5 5 1 * * ?")
|
||||
public void deleteOnlineAndOfflineDataForNexa(){
|
||||
// 记录开始时间(纳秒)
|
||||
long startTime = System.nanoTime();
|
||||
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
LocalDateTime oneMonthAgo = now.minusMonths(1);
|
||||
int count = manageBroadcastMapper.selectNeedDeleteNumbers("nexa", oneMonthAgo);
|
||||
while (count > 0) {
|
||||
int deletedCount = manageBroadcastMapper.deleteOnlineAndOfflineData("nexa", oneMonthAgo);
|
||||
count -= deletedCount;
|
||||
}
|
||||
long endTime = System.nanoTime();
|
||||
long duration = (endTime - startTime) / 1_000_000;
|
||||
System.out.println("删除nexa在离线时间: " + duration + " 毫秒");
|
||||
}
|
||||
|
||||
@Scheduled(cron = "10 5 2 * * ?")
|
||||
public void deleteOnlineAndOfflineDataForMona(){
|
||||
// 记录开始时间(纳秒)
|
||||
long startTime = System.nanoTime();
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
LocalDateTime oneMonthAgo = now.minusMonths(1);
|
||||
int count = manageBroadcastMapper.selectNeedDeleteNumbers("mona", oneMonthAgo);
|
||||
while (count > 0) {
|
||||
int deletedCount = manageBroadcastMapper.deleteOnlineAndOfflineData("mona", oneMonthAgo);
|
||||
count -= deletedCount;
|
||||
}
|
||||
long endTime = System.nanoTime();
|
||||
long duration = (endTime - startTime) / 1_000_000;
|
||||
System.out.println("删除mona在离线时间: " + duration + " 毫秒");
|
||||
}
|
||||
|
||||
@Scheduled(cron = "10 5 3 * * ?")
|
||||
public void deleteOnlineAndOfflineDataForRxd(){
|
||||
// 记录开始时间(纳秒)
|
||||
long startTime = System.nanoTime();
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
LocalDateTime oneMonthAgo = now.minusMonths(1);
|
||||
int count = manageBroadcastMapper.selectNeedDeleteNumbers("rxd", oneMonthAgo);
|
||||
while (count > 0) {
|
||||
int deletedCount = manageBroadcastMapper.deleteOnlineAndOfflineData("rxd", oneMonthAgo);
|
||||
count -= deletedCount;
|
||||
}
|
||||
long endTime = System.nanoTime();
|
||||
long duration = (endTime - startTime) / 1_000_000;
|
||||
System.out.println("删除rxd在离线时间: " + duration + " 毫秒");
|
||||
}
|
||||
|
||||
@Scheduled(cron = "10 5 4 * * ?")
|
||||
public void deleteOnlineAndOfflineDataForGrs(){
|
||||
// 记录开始时间(纳秒)
|
||||
long startTime = System.nanoTime();
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
LocalDateTime oneMonthAgo = now.minusMonths(1);
|
||||
int count = manageBroadcastMapper.selectNeedDeleteNumbers("grs", oneMonthAgo);
|
||||
while (count > 0) {
|
||||
int deletedCount = manageBroadcastMapper.deleteOnlineAndOfflineData("grs", oneMonthAgo);
|
||||
count -= deletedCount;
|
||||
}
|
||||
long endTime = System.nanoTime();
|
||||
long duration = (endTime - startTime) / 1_000_000;
|
||||
System.out.println("删除Grs在离线时间: " + duration + " 毫秒");
|
||||
}
|
||||
|
||||
@Scheduled(cron = "10 5 5 * * ?")
|
||||
public void deleteOnlineAndOfflineDataForEnx(){
|
||||
// 记录开始时间(纳秒)
|
||||
long startTime = System.nanoTime();
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
LocalDateTime oneMonthAgo = now.minusMonths(1);
|
||||
int count = manageBroadcastMapper.selectNeedDeleteNumbers("enx", oneMonthAgo);
|
||||
while (count > 0) {
|
||||
int deletedCount = manageBroadcastMapper.deleteOnlineAndOfflineData("enx", oneMonthAgo);
|
||||
count -= deletedCount;
|
||||
}
|
||||
long endTime = System.nanoTime();
|
||||
long duration = (endTime - startTime) / 1_000_000;
|
||||
System.out.println("删除enx在离线时间: " + duration + " 毫秒");
|
||||
}
|
||||
|
||||
@Scheduled(cron = "10 5 6 * * ?")
|
||||
public void deleteOnlineAndOfflineDataForAlph(){
|
||||
// 记录开始时间(纳秒)
|
||||
long startTime = System.nanoTime();
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
LocalDateTime oneMonthAgo = now.minusMonths(1);
|
||||
int count = manageBroadcastMapper.selectNeedDeleteNumbers("alph", oneMonthAgo);
|
||||
while (count > 0) {
|
||||
int deletedCount = manageBroadcastMapper.deleteOnlineAndOfflineData("alph", oneMonthAgo);
|
||||
count -= deletedCount;
|
||||
}
|
||||
long endTime = System.nanoTime();
|
||||
long duration = (endTime - startTime) / 1_000_000;
|
||||
System.out.println("删除alph在离线时间: " + duration + " 毫秒");
|
||||
}
|
||||
|
||||
@Scheduled(cron = "10 5 7 * * ?")
|
||||
public void deleteOnlineAndOfflineDataForDgbo(){
|
||||
// 记录开始时间(纳秒)
|
||||
long startTime = System.nanoTime();
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
LocalDateTime oneMonthAgo = now.minusMonths(1);
|
||||
int count = manageBroadcastMapper.selectNeedDeleteNumbers("dgbo", oneMonthAgo);
|
||||
while (count > 0) {
|
||||
int deletedCount = manageBroadcastMapper.deleteOnlineAndOfflineData("dgbo", oneMonthAgo);
|
||||
count -= deletedCount;
|
||||
}
|
||||
long endTime = System.nanoTime();
|
||||
long duration = (endTime - startTime) / 1_000_000;
|
||||
System.out.println("删除dgbo在离线时间: " + duration + " 毫秒");
|
||||
}
|
||||
|
||||
@Scheduled(cron = "10 5 8 * * ?")
|
||||
public void deleteOnlineAndOfflineDataForDgbq(){
|
||||
// 记录开始时间(纳秒)
|
||||
long startTime = System.nanoTime();
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
LocalDateTime oneMonthAgo = now.minusMonths(1);
|
||||
int count = manageBroadcastMapper.selectNeedDeleteNumbers("dgbq", oneMonthAgo);
|
||||
while (count > 0) {
|
||||
int deletedCount = manageBroadcastMapper.deleteOnlineAndOfflineData("dgbq", oneMonthAgo);
|
||||
count -= deletedCount;
|
||||
}
|
||||
long endTime = System.nanoTime();
|
||||
long duration = (endTime - startTime) / 1_000_000;
|
||||
System.out.println("删除dgbq在离线时间: " + duration + " 毫秒");
|
||||
}
|
||||
|
||||
@Scheduled(cron = "10 5 9 * * ?")
|
||||
public void deleteOnlineAndOfflineDataForDgbs(){
|
||||
// 记录开始时间(纳秒)
|
||||
long startTime = System.nanoTime();
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
LocalDateTime oneMonthAgo = now.minusMonths(1);
|
||||
int count = manageBroadcastMapper.selectNeedDeleteNumbers("dgbs", oneMonthAgo);
|
||||
while (count > 0) {
|
||||
int deletedCount = manageBroadcastMapper.deleteOnlineAndOfflineData("dgbs", oneMonthAgo);
|
||||
count -= deletedCount;
|
||||
}
|
||||
long endTime = System.nanoTime();
|
||||
long duration = (endTime - startTime) / 1_000_000;
|
||||
System.out.println("删除dgbs在离线时间: " + duration + " 毫秒");
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
<mapper namespace="com.m2pool.manage.mapper.ManageBroadcastMapper">
|
||||
|
||||
|
||||
<select id="selectUserListByPage" resultType="com.m2pool.manage.dto.ManageUserDto">
|
||||
SELECT
|
||||
uma.id,
|
||||
@@ -101,7 +102,7 @@
|
||||
sum(case when `state` = "online" then 1 else 0 end) as onlineNum,
|
||||
sum(case when `state` = "offline" then 1 else 0 end) as offlineNum
|
||||
from
|
||||
${coin}_mhsv2
|
||||
${coin}_mhs30m
|
||||
<where>
|
||||
`user` = #{minerUser}
|
||||
<choose>
|
||||
@@ -148,5 +149,12 @@
|
||||
where
|
||||
coin = #{coin} AND `user` = #{user}
|
||||
</select>
|
||||
<select id="selectNeedDeleteNumbers" resultType="java.lang.Integer">
|
||||
select count(*) from ${coin}_mhs30m where `date` <![CDATA[ <= ]]> #{date}
|
||||
</select>
|
||||
|
||||
<delete id="deleteOnlineAndOfflineData">
|
||||
delete from ${coin}_mhs30m where `date` <![CDATA[ <= ]]> #{date} LIMIT 5000
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user